fix: reduce platinum cost of rushing recipes based on progress (#1393)
Reviewed-on: OpenWF/SpaceNinjaServer#1393 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:
		
							parent
							
								
									d3d966a503
								
							
						
					
					
						commit
						23f8901505
					
				@ -116,9 +116,15 @@ export const claimCompletedRecipeController: RequestHandler = async (req, res) =
 | 
				
			|||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (req.query.rush) {
 | 
					        if (req.query.rush) {
 | 
				
			||||||
 | 
					            const end = Math.trunc(pendingRecipe.CompletionDate.getTime() / 1000);
 | 
				
			||||||
 | 
					            const start = end - recipe.buildTime;
 | 
				
			||||||
 | 
					            const secondsElapsed = Math.trunc(Date.now() / 1000) - start;
 | 
				
			||||||
 | 
					            const progress = secondsElapsed / recipe.buildTime;
 | 
				
			||||||
 | 
					            logger.debug(`rushing recipe at ${Math.trunc(progress * 100)}% completion`);
 | 
				
			||||||
 | 
					            const cost = Math.round(recipe.skipBuildTimePrice * (1 - (progress - 0.5)));
 | 
				
			||||||
            InventoryChanges = {
 | 
					            InventoryChanges = {
 | 
				
			||||||
                ...InventoryChanges,
 | 
					                ...InventoryChanges,
 | 
				
			||||||
                ...updateCurrency(inventory, recipe.skipBuildTimePrice, true)
 | 
					                ...updateCurrency(inventory, cost, true)
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (recipe.secretIngredientAction != "SIA_UNBRAND") {
 | 
					        if (recipe.secretIngredientAction != "SIA_UNBRAND") {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user