fix: refuse to add items non-fatally (#1476)

This is needed to complete to the railjack quest when already owning a railjack

Reviewed-on: OpenWF/SpaceNinjaServer#1476
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2025-04-06 06:04:30 -07:00 committed by Sainan
parent 5f6b2330af
commit b2497ded19

View File

@ -1060,11 +1060,12 @@ const addCrewShip = (
inventoryChanges: IInventoryChanges = {} inventoryChanges: IInventoryChanges = {}
): IInventoryChanges => { ): IInventoryChanges => {
if (inventory.CrewShips.length != 0) { if (inventory.CrewShips.length != 0) {
throw new Error("refusing to add CrewShip because account already has one"); logger.warn("refusing to add CrewShip because account already has one");
} } else {
const index = inventory.CrewShips.push({ ItemType: typeName }) - 1; const index = inventory.CrewShips.push({ ItemType: typeName }) - 1;
inventoryChanges.CrewShips ??= []; inventoryChanges.CrewShips ??= [];
inventoryChanges.CrewShips.push(inventory.CrewShips[index].toJSON<IEquipmentClient>()); inventoryChanges.CrewShips.push(inventory.CrewShips[index].toJSON<IEquipmentClient>());
}
return inventoryChanges; return inventoryChanges;
}; };
@ -1074,11 +1075,12 @@ const addCrewShipHarness = (
inventoryChanges: IInventoryChanges = {} inventoryChanges: IInventoryChanges = {}
): IInventoryChanges => { ): IInventoryChanges => {
if (inventory.CrewShipHarnesses.length != 0) { if (inventory.CrewShipHarnesses.length != 0) {
throw new Error("refusing to add CrewShipHarness because account already has one"); logger.warn("refusing to add CrewShipHarness because account already has one");
} } else {
const index = inventory.CrewShipHarnesses.push({ ItemType: typeName }) - 1; const index = inventory.CrewShipHarnesses.push({ ItemType: typeName }) - 1;
inventoryChanges.CrewShipHarnesses ??= []; inventoryChanges.CrewShipHarnesses ??= [];
inventoryChanges.CrewShipHarnesses.push(inventory.CrewShipHarnesses[index].toJSON<IEquipmentClient>()); inventoryChanges.CrewShipHarnesses.push(inventory.CrewShipHarnesses[index].toJSON<IEquipmentClient>());
}
return inventoryChanges; return inventoryChanges;
}; };
@ -1088,11 +1090,12 @@ const addMotorcycle = (
inventoryChanges: IInventoryChanges = {} inventoryChanges: IInventoryChanges = {}
): IInventoryChanges => { ): IInventoryChanges => {
if (inventory.Motorcycles.length != 0) { if (inventory.Motorcycles.length != 0) {
throw new Error("refusing to add Motorcycle because account already has one"); logger.warn("refusing to add Motorcycle because account already has one");
} } else {
const index = inventory.Motorcycles.push({ ItemType: typeName }) - 1; const index = inventory.Motorcycles.push({ ItemType: typeName }) - 1;
inventoryChanges.Motorcycles ??= []; inventoryChanges.Motorcycles ??= [];
inventoryChanges.Motorcycles.push(inventory.Motorcycles[index].toJSON<IEquipmentClient>()); inventoryChanges.Motorcycles.push(inventory.Motorcycles[index].toJSON<IEquipmentClient>());
}
return inventoryChanges; return inventoryChanges;
}; };