chore: enforce that account only owns one of 'singleton items' (#969)
Reviewed-on: #969
This commit is contained in:
		
							parent
							
								
									00a75a33fa
								
							
						
					
					
						commit
						6acb0f5dca
					
				@ -830,6 +830,9 @@ const addCrewShip = (
 | 
				
			|||||||
    typeName: string,
 | 
					    typeName: string,
 | 
				
			||||||
    inventoryChanges: IInventoryChanges = {}
 | 
					    inventoryChanges: IInventoryChanges = {}
 | 
				
			||||||
): IInventoryChanges => {
 | 
					): IInventoryChanges => {
 | 
				
			||||||
 | 
					    if (inventory.CrewShips.length != 0) {
 | 
				
			||||||
 | 
					        throw new Error("refusing to add CrewShip because account already has one");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    const index = inventory.CrewShips.push({ ItemType: typeName }) - 1;
 | 
					    const index = inventory.CrewShips.push({ ItemType: typeName }) - 1;
 | 
				
			||||||
    inventoryChanges.CrewShips ??= [];
 | 
					    inventoryChanges.CrewShips ??= [];
 | 
				
			||||||
    (inventoryChanges.CrewShips as object[]).push(inventory.CrewShips[index].toJSON());
 | 
					    (inventoryChanges.CrewShips as object[]).push(inventory.CrewShips[index].toJSON());
 | 
				
			||||||
@ -841,6 +844,9 @@ const addCrewShipHarness = (
 | 
				
			|||||||
    typeName: string,
 | 
					    typeName: string,
 | 
				
			||||||
    inventoryChanges: IInventoryChanges = {}
 | 
					    inventoryChanges: IInventoryChanges = {}
 | 
				
			||||||
): IInventoryChanges => {
 | 
					): IInventoryChanges => {
 | 
				
			||||||
 | 
					    if (inventory.CrewShips.length != 0) {
 | 
				
			||||||
 | 
					        throw new Error("refusing to add CrewShipHarness because account already has one");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    const index = inventory.CrewShipHarnesses.push({ ItemType: typeName }) - 1;
 | 
					    const index = inventory.CrewShipHarnesses.push({ ItemType: typeName }) - 1;
 | 
				
			||||||
    inventoryChanges.CrewShipHarnesses ??= [];
 | 
					    inventoryChanges.CrewShipHarnesses ??= [];
 | 
				
			||||||
    (inventoryChanges.CrewShipHarnesses as object[]).push(inventory.CrewShipHarnesses[index].toJSON());
 | 
					    (inventoryChanges.CrewShipHarnesses as object[]).push(inventory.CrewShipHarnesses[index].toJSON());
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user