From 0087da9b5e8f8bd6fcbecbc81fb460aec902e27f Mon Sep 17 00:00:00 2001 From: Tony Lambregts Date: Wed, 23 Jul 2014 19:00:36 -0600 Subject: [PATCH] stop creating income without enough resources Fix issue where there worker created income without enough resources available. --- script/state_manager.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/script/state_manager.js b/script/state_manager.js index e07ea37..9e2ddb9 100644 --- a/script/state_manager.js +++ b/script/state_manager.js @@ -342,9 +342,20 @@ var StateManager = { if(income.timeLeft <= 0) { Engine.log('collection income from ' + source); - if(source == 'thieves') $SM.addStolen(income.stores); - $SM.addM('stores', income.stores, true); - changed = true; + if(source == 'thieves') $SM.addStolen(income.stores); + + var cost = income.stores; + var ok = true; + for(var k in cost) { + var have = $SM.get('stores["'+k+'"]', true); + if(have + cost[k] < 0) { + ok = false; + } + } + if(ok){ + $SM.addM('stores', income.stores, true); + } + changed = true; if(typeof income.delay == 'number') { income.timeLeft = income.delay; }