chore: use SubdocumentArray.id in upgradesController #1238
@ -69,92 +69,68 @@ export const upgradesController: RequestHandler = async (req, res) => {
|
|||||||
} else
|
} else
|
||||||
switch (operation.UpgradeRequirement) {
|
switch (operation.UpgradeRequirement) {
|
||||||
case "/Lotus/Types/Items/MiscItems/OrokinReactor":
|
case "/Lotus/Types/Items/MiscItems/OrokinReactor":
|
||||||
case "/Lotus/Types/Items/MiscItems/OrokinCatalyst":
|
case "/Lotus/Types/Items/MiscItems/OrokinCatalyst": {
|
||||||
for (const item of inventory[payload.ItemCategory]) {
|
const item = inventory[payload.ItemCategory].id(payload.ItemId.$oid)!;
|
||||||
if (item._id.toString() == payload.ItemId.$oid) {
|
item.Features ??= 0;
|
||||||
item.Features ??= 0;
|
item.Features |= EquipmentFeatures.DOUBLE_CAPACITY;
|
||||||
item.Features |= EquipmentFeatures.DOUBLE_CAPACITY;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case "/Lotus/Types/Items/MiscItems/UtilityUnlocker":
|
case "/Lotus/Types/Items/MiscItems/UtilityUnlocker":
|
||||||
case "/Lotus/Types/Items/MiscItems/WeaponUtilityUnlocker":
|
case "/Lotus/Types/Items/MiscItems/WeaponUtilityUnlocker": {
|
||||||
for (const item of inventory[payload.ItemCategory]) {
|
const item = inventory[payload.ItemCategory].id(payload.ItemId.$oid)!;
|
||||||
if (item._id.toString() == payload.ItemId.$oid) {
|
item.Features ??= 0;
|
||||||
item.Features ??= 0;
|
item.Features |= EquipmentFeatures.UTILITY_SLOT;
|
||||||
item.Features |= EquipmentFeatures.UTILITY_SLOT;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case "/Lotus/Types/Items/MiscItems/HeavyWeaponCatalyst":
|
}
|
||||||
|
case "/Lotus/Types/Items/MiscItems/HeavyWeaponCatalyst": {
|
||||||
console.assert(payload.ItemCategory == "SpaceGuns");
|
console.assert(payload.ItemCategory == "SpaceGuns");
|
||||||
for (const item of inventory[payload.ItemCategory]) {
|
const item = inventory[payload.ItemCategory].id(payload.ItemId.$oid)!;
|
||||||
if (item._id.toString() == payload.ItemId.$oid) {
|
item.Features ??= 0;
|
||||||
item.Features ??= 0;
|
item.Features |= EquipmentFeatures.GRAVIMAG_INSTALLED;
|
||||||
item.Features |= EquipmentFeatures.GRAVIMAG_INSTALLED;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case "/Lotus/Types/Items/MiscItems/WeaponPrimaryArcaneUnlocker":
|
case "/Lotus/Types/Items/MiscItems/WeaponPrimaryArcaneUnlocker":
|
||||||
case "/Lotus/Types/Items/MiscItems/WeaponSecondaryArcaneUnlocker":
|
case "/Lotus/Types/Items/MiscItems/WeaponSecondaryArcaneUnlocker":
|
||||||
case "/Lotus/Types/Items/MiscItems/WeaponMeleeArcaneUnlocker":
|
case "/Lotus/Types/Items/MiscItems/WeaponMeleeArcaneUnlocker":
|
||||||
case "/Lotus/Types/Items/MiscItems/WeaponAmpArcaneUnlocker":
|
case "/Lotus/Types/Items/MiscItems/WeaponAmpArcaneUnlocker": {
|
||||||
for (const item of inventory[payload.ItemCategory]) {
|
const item = inventory[payload.ItemCategory].id(payload.ItemId.$oid)!;
|
||||||
if (item._id.toString() == payload.ItemId.$oid) {
|
item.Features ??= 0;
|
||||||
item.Features ??= 0;
|
item.Features |= EquipmentFeatures.ARCANE_SLOT;
|
||||||
item.Features |= EquipmentFeatures.ARCANE_SLOT;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case "/Lotus/Types/Items/MiscItems/Forma":
|
case "/Lotus/Types/Items/MiscItems/Forma":
|
||||||
case "/Lotus/Types/Items/MiscItems/FormaUmbra":
|
case "/Lotus/Types/Items/MiscItems/FormaUmbra":
|
||||||
case "/Lotus/Types/Items/MiscItems/FormaAura":
|
case "/Lotus/Types/Items/MiscItems/FormaAura":
|
||||||
case "/Lotus/Types/Items/MiscItems/FormaStance":
|
case "/Lotus/Types/Items/MiscItems/FormaStance": {
|
||||||
for (const item of inventory[payload.ItemCategory]) {
|
const item = inventory[payload.ItemCategory].id(payload.ItemId.$oid)!;
|
||||||
if (item._id.toString() == payload.ItemId.$oid) {
|
item.XP = 0;
|
||||||
item.XP = 0;
|
setSlotPolarity(item, operation.PolarizeSlot, operation.PolarizeValue);
|
||||||
setSlotPolarity(item, operation.PolarizeSlot, operation.PolarizeValue);
|
item.Polarized ??= 0;
|
||||||
item.Polarized ??= 0;
|
item.Polarized += 1;
|
||||||
item.Polarized += 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case "/Lotus/Types/Items/MiscItems/ModSlotUnlocker":
|
}
|
||||||
for (const item of inventory[payload.ItemCategory]) {
|
case "/Lotus/Types/Items/MiscItems/ModSlotUnlocker": {
|
||||||
if (item._id.toString() == payload.ItemId.$oid) {
|
const item = inventory[payload.ItemCategory].id(payload.ItemId.$oid)!;
|
||||||
item.ModSlotPurchases ??= 0;
|
item.ModSlotPurchases ??= 0;
|
||||||
item.ModSlotPurchases += 1;
|
item.ModSlotPurchases += 1;
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case "/Lotus/Types/Items/MiscItems/CustomizationSlotUnlocker":
|
}
|
||||||
for (const item of inventory[payload.ItemCategory]) {
|
case "/Lotus/Types/Items/MiscItems/CustomizationSlotUnlocker": {
|
||||||
if (item._id.toString() == payload.ItemId.$oid) {
|
const item = inventory[payload.ItemCategory].id(payload.ItemId.$oid)!;
|
||||||
item.CustomizationSlotPurchases ??= 0;
|
item.CustomizationSlotPurchases ??= 0;
|
||||||
item.CustomizationSlotPurchases += 1;
|
item.CustomizationSlotPurchases += 1;
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case "":
|
}
|
||||||
|
case "": {
|
||||||
console.assert(operation.OperationType == "UOT_SWAP_POLARITY");
|
console.assert(operation.OperationType == "UOT_SWAP_POLARITY");
|
||||||
for (const item of inventory[payload.ItemCategory]) {
|
const item = inventory[payload.ItemCategory].id(payload.ItemId.$oid)!;
|
||||||
if (item._id.toString() == payload.ItemId.$oid) {
|
for (let i = 0; i != operation.PolarityRemap.length; ++i) {
|
||||||
for (let i = 0; i != operation.PolarityRemap.length; ++i) {
|
if (operation.PolarityRemap[i].Slot != i) {
|
||||||
if (operation.PolarityRemap[i].Slot != i) {
|
setSlotPolarity(item, i, operation.PolarityRemap[i].Value);
|
||||||
setSlotPolarity(item, i, operation.PolarityRemap[i].Value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
throw new Error("Unsupported upgrade: " + operation.UpgradeRequirement);
|
throw new Error("Unsupported upgrade: " + operation.UpgradeRequirement);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user