fix: refund personal decos when destroying dojo room
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Build / build (pull_request) Successful in 1m11s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Build / build (pull_request) Successful in 1m11s
				
			This commit is contained in:
		
							parent
							
								
									56aa3e3331
								
							
						
					
					
						commit
						214badaed7
					
				@ -13,6 +13,7 @@ import {
 | 
			
		||||
    IDojoComponentDatabase,
 | 
			
		||||
    IDojoContributable,
 | 
			
		||||
    IDojoDecoClient,
 | 
			
		||||
    IDojoDecoDatabase,
 | 
			
		||||
    IGuildClient,
 | 
			
		||||
    IGuildMemberClient,
 | 
			
		||||
    IGuildMemberDatabase,
 | 
			
		||||
@ -309,7 +310,7 @@ export const removeDojoRoom = async (
 | 
			
		||||
        guild.DojoEnergy -= meta.energy;
 | 
			
		||||
    }
 | 
			
		||||
    moveResourcesToVault(guild, component);
 | 
			
		||||
    component.Decos?.forEach(deco => moveResourcesToVault(guild, deco));
 | 
			
		||||
    component.Decos?.forEach(deco => refundDojoDeco(guild, component, deco));
 | 
			
		||||
 | 
			
		||||
    if (guild.RoomChanges) {
 | 
			
		||||
        const index = guild.RoomChanges.findIndex(x => x.componentId.equals(component._id));
 | 
			
		||||
@ -344,6 +345,14 @@ export const removeDojoDeco = (
 | 
			
		||||
        component.Decos!.findIndex(x => x._id.equals(decoId)),
 | 
			
		||||
        1
 | 
			
		||||
    )[0];
 | 
			
		||||
    refundDojoDeco(guild, component, deco);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const refundDojoDeco = (
 | 
			
		||||
    guild: TGuildDatabaseDocument,
 | 
			
		||||
    component: IDojoComponentDatabase,
 | 
			
		||||
    deco: IDojoDecoDatabase
 | 
			
		||||
): void => {
 | 
			
		||||
    const meta = Object.values(ExportDojoRecipes.decos).find(x => x.resultType == deco.Type);
 | 
			
		||||
    if (meta) {
 | 
			
		||||
        if (meta.capacityCost) {
 | 
			
		||||
@ -369,7 +378,7 @@ export const removeDojoDeco = (
 | 
			
		||||
            ]);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    moveResourcesToVault(guild, deco);
 | 
			
		||||
    moveResourcesToVault(guild, deco); // Refund resources spent on construction
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const moveResourcesToVault = (guild: TGuildDatabaseDocument, component: IDojoContributable): void => {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user