From d171cedada1e3c3927b8aef834dbb668b2fa795d Mon Sep 17 00:00:00 2001 From: monster860 Date: Sat, 28 May 2016 21:10:13 -0400 Subject: [PATCH] Makes upgrading the experimentor acutally make it better. --- code/modules/research/experimentor.dm | 32 ++++++++++++++------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 8c6ded8312b..38004bd49fa 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -492,8 +492,21 @@ ejectItem() //Global reactions - if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) - var/globalMalf = rand(1,100) + + if(prob(EFFECT_PROB_VERYLOW) && prob(13)) + visible_message("[src] improves [exp_on], drawing the life essence of those nearby!") + for(var/mob/living/m in view(4,src)) + to_chat(m, "You feel your flesh being torn from you, mists of blood drifting to [src]!") + m.take_overall_damage(50) + investigate_log("Experimentor has taken 50 brute a blood sacrifice from [m]", "experimentor") + var/list/reqs = ConvertReqString2List(exp_on.origin_tech) + for(var/T in reqs) + reqs[T] = reqs[T] + 1 + exp_on.origin_tech = list2params(reqs) + investigate_log("Experimentor has set the origin tech of [exp_on] to [exp_on.origin_tech]", "experimentor") + + if(prob(EFFECT_PROB_VERYLOW-badThingCoeff) && prob(87)) + var/globalMalf = rand(1,87) if(globalMalf < 15) visible_message("[src]'s onboard detection system has malfunctioned!") item_reactions["[exp_on.type]"] = pick(SCANTYPE_POKE,SCANTYPE_IRRADIATE,SCANTYPE_GAS,SCANTYPE_HEAT,SCANTYPE_COLD,SCANTYPE_OBLITERATE) @@ -509,18 +522,7 @@ new /mob/living/simple_animal/pet/corgi(src.loc) investigate_log("Experimentor has spawned a new corgi.", "experimentor") ejectItem(TRUE) - if(globalMalf > 36 && globalMalf < 50) - visible_message("[src] improves [exp_on], drawing the life essence of those nearby!") - for(var/mob/living/m in view(4,src)) - to_chat(m, "You feel your flesh being torn from you, mists of blood drifting to [src]!") - m.take_overall_damage(50) - investigate_log("Experimentor has taken 50 brute a blood sacrifice from [m]", "experimentor") - var/list/reqs = ConvertReqString2List(exp_on.origin_tech) - for(var/T in reqs) - reqs[T] = reqs[T] + 1 - exp_on.origin_tech = list2params(reqs) - investigate_log("Experimentor has set the origin tech of [exp_on] to [exp_on.origin_tech]", "experimentor") - if(globalMalf > 51 && globalMalf < 75) + if(globalMalf > 36 && globalMalf < 59) visible_message("[src] encounters a run-time error!") throwSmoke(src.loc) if(trackedRuntime) @@ -531,7 +533,7 @@ new /mob/living/simple_animal/pet/cat(src.loc) investigate_log("Experimentor failed to steal runtime, and instead spawned a new cat.", "experimentor") ejectItem(TRUE) - if(globalMalf > 76) + if(globalMalf > 60) visible_message("[src] begins to smoke and hiss, shaking violently!") use_power(500000) investigate_log("Experimentor has drained power from its APC", "experimentor")