返回提交历史
Modified
src/services/inventoryService.ts
+25
-36
XFEstudio/XFESpaceNinjaServer
chore: remove undefined as a possible argument when committing inventory change (#1047)
Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1047
cfaafc2c
代码差异
1 个文件
+25
-36
@@ -890,12 +890,12 @@ const addDrone = (
890
890
//TODO: wrong id is not erroring
891
891
export const addGearExpByCategory = (
892
892
inventory: TInventoryDatabaseDocument,
893
gearArray: IEquipmentClient[] | undefined,
893
gearArray: IEquipmentClient[],
894
894
categoryName: TEquipmentKey
895
895
): void => {
896
896
const category = inventory[categoryName];
897
897
898
gearArray?.forEach(({ ItemId, XP }) => {
898
gearArray.forEach(({ ItemId, XP }) => {
899
899
if (!XP) {
900
900
return;
901
901
}
@@ -919,10 +919,10 @@ export const addGearExpByCategory = (
919
919
});
920
920
};
921
921
922
export const addMiscItems = (inventory: TInventoryDatabaseDocument, itemsArray: IMiscItem[] | undefined): void => {
922
export const addMiscItems = (inventory: TInventoryDatabaseDocument, itemsArray: IMiscItem[]): void => {
923
923
const { MiscItems } = inventory;
924
924
925
itemsArray?.forEach(({ ItemCount, ItemType }) => {
925
itemsArray.forEach(({ ItemCount, ItemType }) => {
926
926
if (ItemCount == 0) {
927
927
return;
928
928
}
@@ -941,13 +941,10 @@ export const addMiscItems = (inventory: TInventoryDatabaseDocument, itemsArray:
941
941
});
942
942
};
943
943
944
export const addShipDecorations = (
945
inventory: TInventoryDatabaseDocument,
946
itemsArray: IConsumable[] | undefined
947
): void => {
944
export const addShipDecorations = (inventory: TInventoryDatabaseDocument, itemsArray: IConsumable[]): void => {
948
945
const { ShipDecorations } = inventory;
949
946
950
itemsArray?.forEach(({ ItemCount, ItemType }) => {
947
itemsArray.forEach(({ ItemCount, ItemType }) => {
951
948
const itemIndex = ShipDecorations.findIndex(miscItem => miscItem.ItemType === ItemType);
952
949
953
950
if (itemIndex !== -1) {
@@ -958,10 +955,10 @@ export const addShipDecorations = (
958
955
});
959
956
};
960
957
961
export const addConsumables = (inventory: TInventoryDatabaseDocument, itemsArray: IConsumable[] | undefined): void => {
958
export const addConsumables = (inventory: TInventoryDatabaseDocument, itemsArray: IConsumable[]): void => {
962
959
const { Consumables } = inventory;
963
960
964
itemsArray?.forEach(({ ItemCount, ItemType }) => {
961
itemsArray.forEach(({ ItemCount, ItemType }) => {
965
962
const itemIndex = Consumables.findIndex(i => i.ItemType === ItemType);
966
963
967
964
if (itemIndex !== -1) {
@@ -972,13 +969,10 @@ export const addConsumables = (inventory: TInventoryDatabaseDocument, itemsArray
972
969
});
973
970
};
974
971
975
export const addCrewShipRawSalvage = (
976
inventory: TInventoryDatabaseDocument,
977
itemsArray: ITypeCount[] | undefined
978
): void => {
972
export const addCrewShipRawSalvage = (inventory: TInventoryDatabaseDocument, itemsArray: ITypeCount[]): void => {
979
973
const { CrewShipRawSalvage } = inventory;
980
974
981
itemsArray?.forEach(({ ItemCount, ItemType }) => {
975
itemsArray.forEach(({ ItemCount, ItemType }) => {
982
976
const itemIndex = CrewShipRawSalvage.findIndex(i => i.ItemType === ItemType);
983
977
984
978
if (itemIndex !== -1) {
@@ -989,10 +983,10 @@ export const addCrewShipRawSalvage = (
989
983
});
990
984
};
991
985
992
export const addCrewShipAmmo = (inventory: TInventoryDatabaseDocument, itemsArray: ITypeCount[] | undefined): void => {
986
export const addCrewShipAmmo = (inventory: TInventoryDatabaseDocument, itemsArray: ITypeCount[]): void => {
993
987
const { CrewShipAmmo } = inventory;
994
988
995
itemsArray?.forEach(({ ItemCount, ItemType }) => {
989
itemsArray.forEach(({ ItemCount, ItemType }) => {
996
990
const itemIndex = CrewShipAmmo.findIndex(i => i.ItemType === ItemType);
997
991
998
992
if (itemIndex !== -1) {
@@ -1003,10 +997,10 @@ export const addCrewShipAmmo = (inventory: TInventoryDatabaseDocument, itemsArra
1003
997
});
1004
998
};
1005
999
1006
export const addRecipes = (inventory: TInventoryDatabaseDocument, itemsArray: ITypeCount[] | undefined): void => {
1000
export const addRecipes = (inventory: TInventoryDatabaseDocument, itemsArray: ITypeCount[]): void => {
1007
1001
const { Recipes } = inventory;
1008
1002
1009
itemsArray?.forEach(({ ItemCount, ItemType }) => {
1003
itemsArray.forEach(({ ItemCount, ItemType }) => {
1010
1004
const itemIndex = Recipes.findIndex(i => i.ItemType === ItemType);
1011
1005
1012
1006
if (itemIndex !== -1) {
@@ -1017,10 +1011,10 @@ export const addRecipes = (inventory: TInventoryDatabaseDocument, itemsArray: IT
1017
1011
});
1018
1012
};
1019
1013
1020
export const addMods = (inventory: TInventoryDatabaseDocument, itemsArray: IRawUpgrade[] | undefined): void => {
1014
export const addMods = (inventory: TInventoryDatabaseDocument, itemsArray: IRawUpgrade[]): void => {
1021
1015
const { RawUpgrades } = inventory;
1022
1016
1023
itemsArray?.forEach(({ ItemType, ItemCount }) => {
1017
itemsArray.forEach(({ ItemType, ItemCount }) => {
1024
1018
if (ItemCount == 0) {
1025
1019
return;
1026
1020
}
@@ -1039,12 +1033,9 @@ export const addMods = (inventory: TInventoryDatabaseDocument, itemsArray: IRawU
1039
1033
});
1040
1034
};
1041
1035
1042
export const addFusionTreasures = (
1043
inventory: TInventoryDatabaseDocument,
1044
itemsArray: IFusionTreasure[] | undefined
1045
): void => {
1036
export const addFusionTreasures = (inventory: TInventoryDatabaseDocument, itemsArray: IFusionTreasure[]): void => {
1046
1037
const { FusionTreasures } = inventory;
1047
itemsArray?.forEach(({ ItemType, ItemCount, Sockets }) => {
1038
itemsArray.forEach(({ ItemType, ItemCount, Sockets }) => {
1048
1039
const itemIndex = FusionTreasures.findIndex(i => i.ItemType == ItemType && (i.Sockets || 0) == (Sockets || 0));
1049
1040
1050
1041
if (itemIndex !== -1) {
@@ -1055,7 +1046,7 @@ export const addFusionTreasures = (
1055
1046
});
1056
1047
};
1057
1048
1058
export const addFocusXpIncreases = (inventory: TInventoryDatabaseDocument, focusXpPlus: number[] | undefined): void => {
1049
export const addFocusXpIncreases = (inventory: TInventoryDatabaseDocument, focusXpPlus: number[]): void => {
1059
1050
enum FocusType {
1060
1051
AP_UNIVERSAL,
1061
1052
AP_ATTACK,
@@ -1069,14 +1060,12 @@ export const addFocusXpIncreases = (inventory: TInventoryDatabaseDocument, focus
1069
1060
AP_ANY
1070
1061
}
1071
1062
1072
if (focusXpPlus) {
1073
inventory.FocusXP ??= { AP_ATTACK: 0, AP_DEFENSE: 0, AP_TACTIC: 0, AP_POWER: 0, AP_WARD: 0 };
1074
inventory.FocusXP.AP_ATTACK += focusXpPlus[FocusType.AP_ATTACK];
1075
inventory.FocusXP.AP_DEFENSE += focusXpPlus[FocusType.AP_DEFENSE];
1076
inventory.FocusXP.AP_TACTIC += focusXpPlus[FocusType.AP_TACTIC];
1077
inventory.FocusXP.AP_POWER += focusXpPlus[FocusType.AP_POWER];
1078
inventory.FocusXP.AP_WARD += focusXpPlus[FocusType.AP_WARD];
1079
}
1063
inventory.FocusXP ??= { AP_ATTACK: 0, AP_DEFENSE: 0, AP_TACTIC: 0, AP_POWER: 0, AP_WARD: 0 };
1064
inventory.FocusXP.AP_ATTACK += focusXpPlus[FocusType.AP_ATTACK];
1065
inventory.FocusXP.AP_DEFENSE += focusXpPlus[FocusType.AP_DEFENSE];
1066
inventory.FocusXP.AP_TACTIC += focusXpPlus[FocusType.AP_TACTIC];
1067
inventory.FocusXP.AP_POWER += focusXpPlus[FocusType.AP_POWER];
1068
inventory.FocusXP.AP_WARD += focusXpPlus[FocusType.AP_WARD];
1080
1069
};
1081
1070
1082
1071
export const updateChallengeProgress = async (