From 190a94f2e59a67b5365a4d25aaee07ed012588c8 Mon Sep 17 00:00:00 2001 From: Tad Hardesty Date: Wed, 5 Sep 2018 12:19:08 -0700 Subject: [PATCH] Fix research points generating during lobby (#40081) --- code/controllers/subsystem/research.dm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/code/controllers/subsystem/research.dm b/code/controllers/subsystem/research.dm index 30502de6443..295d5fe541f 100644 --- a/code/controllers/subsystem/research.dm +++ b/code/controllers/subsystem/research.dm @@ -24,7 +24,7 @@ SUBSYSTEM_DEF(research) //---------------------------------------------- var/list/single_server_income = list(TECHWEB_POINT_TYPE_GENERIC = 54.3) var/multiserver_calculation = FALSE - var/last_income = 0 + var/last_income //^^^^^^^^ ALL OF THESE ARE PER SECOND! ^^^^^^^^ //Aiming for 1.5 hours to max R&D @@ -41,9 +41,6 @@ SUBSYSTEM_DEF(research) return ..() /datum/controller/subsystem/research/fire() - handle_research_income() - -/datum/controller/subsystem/research/proc/handle_research_income() var/list/bitcoins = list() if(multiserver_calculation) var/eff = calculate_server_coefficient() @@ -57,11 +54,12 @@ SUBSYSTEM_DEF(research) if(miner.working) bitcoins = single_server_income.Copy() break //Just need one to work. - var/income_time_difference = world.time - last_income - science_tech.last_bitcoins = bitcoins // Doesn't take tick drift into account - for(var/i in bitcoins) - bitcoins[i] *= income_time_difference / 10 - science_tech.add_point_list(bitcoins) + if (!isnull(last_income)) + var/income_time_difference = world.time - last_income + science_tech.last_bitcoins = bitcoins // Doesn't take tick drift into account + for(var/i in bitcoins) + bitcoins[i] *= income_time_difference / 10 + science_tech.add_point_list(bitcoins) last_income = world.time /datum/controller/subsystem/research/proc/calculate_server_coefficient() //Diminishing returns.