diff --git a/script/state_manager.js b/script/state_manager.js index e07ea37..c6455fe 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) { + if(source != 'thieves') ok = false; + } + } + if(ok){ + $SM.addM('stores', income.stores, true); + } + changed = true; if(typeof income.delay == 'number') { income.timeLeft = income.delay; }