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")