From 0087da9b5e8f8bd6fcbecbc81fb460aec902e27f Mon Sep 17 00:00:00 2001 From: Tony Lambregts Date: Wed, 23 Jul 2014 19:00:36 -0600 Subject: [PATCH 1/2] 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; } From 08277b33ae8e64a39f8122416379c4ab4a9ca409 Mon Sep 17 00:00:00 2001 From: Tony Lambregts Date: Thu, 24 Jul 2014 21:38:02 -0600 Subject: [PATCH 2/2] Let thieves Steal. --- script/state_manager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/state_manager.js b/script/state_manager.js index 9e2ddb9..c6455fe 100644 --- a/script/state_manager.js +++ b/script/state_manager.js @@ -349,7 +349,7 @@ var StateManager = { for(var k in cost) { var have = $SM.get('stores["'+k+'"]', true); if(have + cost[k] < 0) { - ok = false; + if(source != 'thieves') ok = false; } } if(ok){