diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm
index 615eefbcf5a..b79924e30e5 100644
--- a/code/modules/reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents.dm
@@ -471,25 +471,35 @@ datum
process_flags = ORGANIC | SYNTHETIC
on_mob_life(var/mob/living/M as mob)
- if(ishuman(M))
- if((M.mind in ticker.mode.cult) && prob(10))
- M << "\blue A cooling sensation from inside you brings you an untold calmness."
+ if(!data) data = 1
+ data++
+ M.jitteriness = max(M.jitteriness-5,0)
+ if(data >= 30) // 12 units, 60 seconds @ metabolism 0.4 units & tick rate 2.0 sec
+ if (!M.stuttering) M.stuttering = 1
+ M.stuttering += 4
+ M.Dizzy(5)
+ if(iscultist(M) && prob(5))
+ M.say(pick("Av'te Nar'sie","Pa'lid Mors","INO INO ORA ANA","SAT ANA!","Daim'niodeis Arc'iai Le'eones","Egkau'haom'nai en Chaous","Ho Diak'nos tou Ap'iron","R'ge Na'sie","Diabo us Vo'iscum","Si gn'um Co'nu"))
+ if(data >= 75 && prob(33)) // 30 units, 150 seconds
+ if (!M.confused) M.confused = 1
+ M.confused += 3
+ if(iscultist(M))
ticker.mode.remove_cultist(M.mind)
- ticker.mode.remove_all_cult_icons_from_client(M.client) // fixes the deconverted's own client not removing their mob's cult icon
- for(var/mob/O in viewers(M, null))
- O.show_message(text("\blue []'s eyes blink and become clearer.", M), 1) // So observers know it worked.
- // Vampires who ingest holy water combust if it's in their system for long enough.
+ holder.remove_reagent(src.id, src.volume) // maybe this is a little too perfect and a max() cap on the statuses would be better??
+ M.jitteriness = 0
+ M.stuttering = 0
+ M.confused = 0
+ if(ishuman(M)) .
if(((M.mind in ticker.mode.vampires) || M.mind.vampire) && (!(VAMP_FULL in M.mind.vampire.powers)) && prob(80))
- data++
switch(data)
- if(1 to 3)
+ if(1 to 4)
M << "Something sizzles in your veins!"
M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2)
- if(4 to 10)
+ if(5 to 12)
M << "You feel an intense burning inside of you!"
M.adjustFireLoss(1)
M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2)
- if(11 to INFINITY)
+ if(13 to INFINITY)
M << "You suddenly ignite in a holy fire!"
for(var/mob/O in viewers(M, null))
O.show_message(text("[] suddenly bursts into flames!", M), 1)
@@ -497,7 +507,8 @@ datum
M.IgniteMob() //Only problem with igniting people is currently the commonly availible fire suits make you immune to being on fire
M.adjustFireLoss(3) //Hence the other damages... ain't I a bastard?
M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2)
- holder.remove_reagent(src.id, 10 * REAGENTS_METABOLISM) //high metabolism to prevent extended uncult rolls.
+ holder.remove_reagent(src.id, 0.4) //fixed consumption to prevent balancing going out of whack
+ return
reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
@@ -2242,11 +2253,11 @@ datum
M.AdjustWeakened(-1)
..()
return
-
+
overdose_process(var/mob/living/M as mob)
if(volume > 45)
M.Jitter(5)
-
+
..()
return