Chem Tweaks

This commit is contained in:
Fox-McCloud
2016-03-10 00:28:49 -05:00
parent e92e389918
commit 2dfe617998
14 changed files with 328 additions and 183 deletions
@@ -333,7 +333,6 @@ var/const/INGEST = 2
qdel(A)
update_total()
my_atom.on_reagent_change()
check_ignoreslow(my_atom)
check_gofast(my_atom)
check_goreallyfast(my_atom)
return 0
+48 -17
View File
@@ -23,6 +23,9 @@
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
M.adjustStaminaLoss(-1*REM)
if(current_cycle >= 25)
if(prob(50))
M.jitteriness += 5
..()
return
@@ -43,17 +46,23 @@
/datum/reagent/crank/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
var/high_message = pick("You feel jittery.", "You feel like you gotta go fast.", "You feel like you need to step it up.")
if(prob(5))
M << "<span class='notice'>[high_message]</span>"
M.AdjustParalysis(-2)
M.AdjustStunned(-2)
M.AdjustWeakened(-2)
if(prob(15))
M.emote(pick("twitch", "twitch_s", "grumble", "laugh"))
if(prob(8))
M.reagents.add_reagent("methamphetamine",2)
M << "<span class='notice'>You feel great!</span>"
M.reagents.add_reagent("methamphetamine", rand(1,2))
M.emote(pick("laugh", "giggle"))
if(prob(6))
M << "<span class='notice'>You feel warm.</span>"
M.bodytemperature += rand(1,10)
if(prob(4))
M.Jitter(10)
M.adjustToxLoss(1.0)
M << "<span class='notice'>You feel kinda awful!</span>"
M.adjustToxLoss(1)
M.jitteriness += 30
M.emote(pick("groan", "moan"))
..()
return
/datum/reagent/crank/overdose_process(var/mob/living/M as mob)
@@ -109,9 +118,25 @@
/datum/reagent/krokodil/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
var/high_message = pick("You feel calm.", "You feel collected.", "You feel like you need to relax.")
M.jitteriness -= 40
if(prob(25))
M.adjustBrainLoss(1)
if(prob(15))
M.emote(pick("smile", "grin", "yawn", "laugh", "drool"))
if(prob(10))
M << "<span class='notice'>You feel pretty chill.</span>"
M.bodytemperature--
M.emote("smile")
if(prob(5))
M << "<span class='notice'>[high_message]</span>"
M << "<span class='notice'>You feel too chill!</span>"
M.emote(pick("yawn", "drool"))
M.Stun(1)
M.adjustToxLoss(1)
M.adjustBrainLoss(1)
M.bodytemperature -= 20
if(prob(2))
M << "<span class='warning'>Your skin feels all rough and dry.</span>"
M.adjustBruteLoss(2)
..()
return
@@ -172,19 +197,19 @@
/datum/reagent/methamphetamine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
var/high_message = pick("You feel hyper.", "You feel like you need to go faster.", "You feel like you can run the world.")
if(prob(5))
M << "<span class='notice'>[high_message]</span>"
M.emote(pick("twitch","blink_r","shiver"))
if(current_cycle >= 25)
M.jitteriness += 5
M.drowsyness = max(M.drowsyness-10, 0)
M.AdjustParalysis(-2.5)
M.AdjustStunned(-2.5)
M.AdjustWeakened(-2.5)
M.adjustStaminaLoss(-2)
M.SetSleeping(0)
M.status_flags |= GOTTAGOREALLYFAST
M.Jitter(3)
if(prob(50))
M.adjustBrainLoss(1.0)
if(prob(5))
M.emote(pick("twitch", "shiver"))
..()
return
@@ -396,10 +421,16 @@
/datum/reagent/thc/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(prob(8))
M.emote(pick("smile","giggle","laugh"))
if(prob(50))
M.stuttering += 2
M.stuttering += rand(0,2)
if(prob(5))
M.emote(pick("laugh","giggle","smile"))
if(prob(5))
M << "[pick("You feel hungry.","Your stomach rumbles.","You feel cold.","You feel warm.")]"
if(prob(4))
M.confused = max(M.confused, 10)
if(holder.get_reagent_amount(src.id) >= 50 && prob(25))
if(prob(10))
M.drowsyness = max(M.drowsyness, 10)
..()
return
+86 -49
View File
@@ -203,7 +203,7 @@ datum/reagent/calomel/on_mob_life(var/mob/living/M as mob)
M.reagents.remove_reagent(R.id,5)
if(M.health > 20)
M.adjustToxLoss(5*REM)
if(prob(10))
if(prob(6))
M.fakevomit()
..()
return
@@ -322,8 +322,7 @@ datum/reagent/salbutamol
datum/reagent/salbutamol/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustOxyLoss(-6*REM)
if(M.losebreath >= 4)
M.losebreath -= 4
M.losebreath = max(0, M.losebreath-4)
..()
return
@@ -347,7 +346,9 @@ datum/reagent/perfluorodecalin
datum/reagent/perfluorodecalin/on_mob_life(var/mob/living/carbon/human/M as mob)
if(!M) M = holder.my_atom
M.adjustOxyLoss(-25*REM)
M.silent = max(M.silent, 5)
if(volume >= 4)
M.losebreath = max(M.losebreath, 6)
M.silent = max(M.silent, 6)
if(prob(33))
M.adjustBruteLoss(-1*REM)
M.adjustFireLoss(-1*REM)
@@ -376,10 +377,18 @@ datum/reagent/ephedrine
datum/reagent/ephedrine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.drowsyness = max(0, M.drowsyness-5)
M.AdjustParalysis(-1)
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
M.adjustStaminaLoss(-1*REM)
if(M.losebreath > 5)
M.losebreath = max(5, M.losebreath-1)
if(M.oxyloss > 75)
M.adjustOxyLoss(-1)
if(M.health < 0 || M.health > 0 && prob(33))
M.adjustToxLoss(-1)
M.heal_organ_damage(1,1)
..()
return
@@ -429,12 +438,18 @@ datum/reagent/diphenhydramine
description = "Anti-allergy medication. May cause drowsiness, do not operate heavy machinery while using this."
reagent_state = LIQUID
color = "#5BCBE1"
datum/reagent/diphenhydramine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.drowsyness += 1
M.jitteriness -= 1
M.jitteriness = max(0, M.jitteriness-20)
M.reagents.remove_reagent("histamine",3)
M.reagents.remove_reagent("itching_powder",3)
if(prob(7))
M.emote("yawn")
if(prob(3))
M.Stun(2)
M.drowsyness += 1
M.visible_message("<span class='notice'>[M] looks a bit dazed.</span>")
..()
return
@@ -459,16 +474,16 @@ datum/reagent/morphine
datum/reagent/morphine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.status_flags |= IGNORESLOWDOWN
M.jitteriness = max(0, M.jitteriness-25)
switch(current_cycle)
if(0 to 15)
if(prob(5))
if(1 to 15)
if(prob(7))
M.emote("yawn")
if(16 to 35)
M.drowsyness = max(M.drowsyness, 10)
M.drowsyness = max(M.drowsyness, 20)
if(36 to INFINITY)
M.Paralyse(10)
M.drowsyness = max(M.drowsyness, 15)
M.Paralyse(15)
M.drowsyness = max(M.drowsyness, 20)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.traumatic_shock < 100)
@@ -575,18 +590,21 @@ datum/reagent/atropine
datum/reagent/atropine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(M.health > -60)
M.adjustToxLoss(1*REM)
if(M.health < -25)
M.adjustBruteLoss(-3*REM)
M.adjustFireLoss(-3*REM)
M.dizziness += 1
M.confused = max(M.confused, 5)
if(prob(4))
M.emote("collapse")
if(M.losebreath > 5)
M.losebreath = max(5, M.losebreath-5)
if(M.oxyloss > 65)
M.adjustOxyLoss(-10*REM)
if(M.losebreath > 5)
M.losebreath = 5
if(M.confused > 60)
M.confused += 5
M.reagents.remove_reagent("tabun",10)
if(M.health < -25)
M.adjustToxLoss(-1)
M.adjustBruteLoss(-3*REM)
M.adjustFireLoss(-3*REM)
else if (M.health > -60)
M.adjustToxLoss(1)
M.reagents.remove_reagent("sarin", 20)
..()
return
@@ -617,14 +635,26 @@ datum/reagent/epinephrine
datum/reagent/epinephrine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.drowsyness = max(0, M.drowsyness-5)
if(prob(20))
M.AdjustParalysis(-1)
if(prob(20))
M.AdjustStunned(-1)
if(prob(20))
M.AdjustWeakened(-1)
if(prob(5))
M.SetSleeping(0)
if(prob(5))
M.adjustBrainLoss(-1)
holder.remove_reagent("histamine", 15)
if(M.losebreath > 3)
M.losebreath--
if(M.oxyloss > 35)
M.adjustOxyLoss(-10*REM)
if(M.health < -10 && M.health > -65)
M.adjustToxLoss(-1*REM)
M.adjustBruteLoss(-1*REM)
M.adjustFireLoss(-1*REM)
if(M.oxyloss > 35)
M.adjustOxyLoss(-10*REM)
if(M.losebreath >= 3)
M.losebreath = 3
..()
return
@@ -806,12 +836,9 @@ datum/reagent/antihol
color = "#009CA8"
datum/reagent/antihol/on_mob_life(var/mob/living/M as mob)
M.dizziness = 0
M.drowsyness = 0
M.slurring = 0
M.confused = 0
M.reagents.remove_all_type(/datum/reagent/ethanol, 8, 0, 1)
if(M.health < 25)
if(M.toxloss <= 25)
M.adjustToxLoss(-2.0)
..()
@@ -833,21 +860,29 @@ datum/reagent/antihol/on_mob_life(var/mob/living/M as mob)
datum/reagent/stimulants/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustOxyLoss(-5*REM)
M.adjustToxLoss(-5*REM)
M.adjustBruteLoss(-10*REM)
M.adjustFireLoss(-10*REM)
M.setStaminaLoss(0)
var/status = CANSTUN | CANWEAKEN | CANPARALYSE
M.status_flags &= ~status
if(volume > 5)
M.adjustOxyLoss(-5*REM)
M.adjustToxLoss(-5*REM)
M.adjustBruteLoss(-10*REM)
M.adjustFireLoss(-10*REM)
M.setStaminaLoss(0)
M.dizziness = max(0,M.dizziness-10)
M.drowsyness = max(0,M.drowsyness-10)
M.confused = 0
M.SetSleeping(0)
var/status = CANSTUN | CANWEAKEN | CANPARALYSE
M.status_flags &= ~status
else
M.status_flags |= CANSTUN | CANWEAKEN | CANPARALYSE
M.adjustToxLoss(2)
M.adjustBruteLoss(1)
if(prob(10))
M.Stun(3)
..()
datum/reagent/stimulants/reagent_deleted(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.status_flags |= CANSTUN | CANWEAKEN | CANPARALYSE
M.adjustBruteLoss(12)
M.adjustToxLoss(24)
M.Stun(4)
..()
return
@@ -948,14 +983,15 @@ datum/reagent/haloperidol/on_mob_life(var/mob/living/M as mob)
M.reagents.remove_reagent("psilocybin", 5)
M.reagents.remove_reagent("ephedrine", 5)
M.reagents.remove_reagent("epinephrine", 5)
M.reagents.remove_reagent("stimulants", 5)
M.reagents.remove_reagent("stimulants", 3)
M.reagents.remove_reagent("bath_salts", 5)
M.reagents.remove_reagent("lsd", 5)
M.reagents.remove_reagent("thc", 5)
M.druggy -= 5
M.hallucination -= 5
M.jitteriness -= 5
if(prob(40))
M.drowsyness = max(M.drowsyness, 2)
if(prob(50))
M.drowsyness = max(M.drowsyness, 3)
if(prob(10))
M.emote("drool")
if(prob(20))
@@ -981,15 +1017,16 @@ datum/reagent/haloperidol/on_mob_life(var/mob/living/M as mob)
/datum/reagent/ether/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.jitteriness = max(M.jitteriness-25,0)
switch(current_cycle)
if(0 to 15)
if(prob(5))
if(1 to 15)
if(prob(7))
M.emote("yawn")
if(16 to 35)
M.drowsyness = max(M.drowsyness, 10)
M.drowsyness = max(M.drowsyness, 20)
if(36 to INFINITY)
M.Paralyse(10)
M.drowsyness = max(M.drowsyness, 15)
M.Paralyse(15)
M.drowsyness = max(M.drowsyness, 20)
..()
return
@@ -1034,7 +1071,7 @@ datum/reagent/haloperidol/on_mob_life(var/mob/living/M as mob)
M.AdjustParalysis(-1)
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
M.confused -= 5
M.confused = max(0, M.confused-5)
for(var/datum/reagent/R in M.reagents.reagent_list)
if(R != src)
if(R.id == "ultralube" || R.id == "lube")
@@ -3,7 +3,7 @@ datum/reagent
var/addiction_threshold = 0
var/addiction_stage = 0
var/overdosed = 0 // You fucked up and this is now triggering it's overdose effects, purge that shit quick.
var/current_cycle = 0
var/current_cycle = 1
datum/reagents
var/chem_temp = 300
var/addiction_tick = 1
@@ -101,13 +101,6 @@ datum/reagents/proc/reagent_on_tick()
R.on_tick()
return
datum/reagents/proc/check_ignoreslow(var/mob/M)
if(istype(M, /mob))
if(M.reagents.has_reagent("morphine"))
return 1
else
M.status_flags &= ~IGNORESLOWDOWN
datum/reagents/proc/check_gofast(var/mob/M)
if(istype(M, /mob))
if(M.reagents.has_reagent("unholywater")||M.reagents.has_reagent("nuka_cola")||M.reagents.has_reagent("stimulative_agent"))
+165 -84
View File
@@ -120,21 +120,32 @@
metabolization_rate = 1
/datum/reagent/neurotoxin2/on_mob_life(var/mob/living/M as mob)
if(current_cycle <= 4)
M.reagents.add_reagent("neurotoxin2", 1.0)
if(current_cycle >= 5)
if(prob(5))
M.emote("drool")
if(M.getBrainLoss() < 60)
M.adjustBrainLoss(1*REM)
M.adjustToxLoss(1*REM)
if(current_cycle >= 9)
M.drowsyness = max(M.drowsyness, 10)
if(current_cycle >= 13)
M.Paralyse(8)
switch(current_cycle)
if(5 to 45)
M.confused = max(M.confused, 15)
if(1 to 4)
current_cycle++
return
if(5 to 8)
M.dizziness += 1
M.confused = max(M.confused, 10)
if(9 to 12)
M.drowsyness = max(M.drowsyness, 10)
M.dizziness += 1
M.confused = max(M.confused, 20)
if(13)
M.emote("faint")
if(14 to INFINITY)
M.Paralyse(10)
M.drowsyness = max(M.drowsyness, 20)
M.jitteriness = max(0, M.jitteriness-30)
if(M.getBrainLoss() <= 80)
M.adjustBrainLoss(1)
else
if(prob(10))
M.adjustBrainLoss(1)
if (prob(10))
M.emote("drool")
M.adjustToxLoss(1)
..()
return
@@ -349,12 +360,27 @@
/datum/reagent/pancuronium/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(current_cycle >= 10)
M.Weaken(3)
if(prob(10))
M.losebreath += 1
if(prob(7))
M.losebreath += 3
switch(current_cycle)
if(1 to 5)
if(prob(10))
M.emote(pick("drool", "tremble"))
if(6 to 10)
if(prob(8))
M << "<span class='danger'>You feel [pick("weak", "horribly weak", "numb", "like you can barely move", "tingly")].</span>"
M.Stun(1)
else if (prob(8))
M.emote(pick("drool", "tremble"))
if(11 to INFINITY)
M.Stun(20)
M.Weaken(20)
if(prob(10))
M.emote(pick("drool", "tremble", "gasp"))
M.losebreath++
if(prob(9))
M << "<span class='danger'>You can't [pick("move", "feel your legs", "feel your face", "feel anything")]!</span>"
if(prob(7))
M << "<span class='danger'>You can't breathe!</span>"
M.losebreath += 3
..()
return
@@ -368,12 +394,21 @@
/datum/reagent/sodium_thiopental/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(current_cycle == 1)
switch(current_cycle)
if (1)
M.emote("drool")
M.confused = max(M.confused, 5)
if (2 to 4)
M.drowsyness = max(M.drowsyness, 20)
if (5)
M.emote("faint")
M.Weaken(5)
if (6 to INFINITY)
M.Paralyse(20)
M.jitteriness = max(0, M.jitteriness-50)
if (prob(10))
M.emote("drool")
if(current_cycle >= 2)
M.drowsyness = max(M.drowsyness, 20)
if(current_cycle >= 5)
M.Paralyse(4)
M.adjustBrainLoss(1)
..()
return
@@ -388,13 +423,19 @@
/datum/reagent/ketamine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(current_cycle <= 10)
if(prob(20))
M.emote("yawn")
if(current_cycle == 6)
M.eye_blurry = max(M.eye_blurry, 5)
if(current_cycle >= 10)
M.Paralyse(10)
switch(current_cycle)
if(1 to 5)
if(prob(25))
M.emote("yawn")
if(6 to 9)
M.eye_blurry += 5
if (prob(35))
M.emote("yawn")
if(10)
M.emote("faint")
M.Weaken(5)
if(11 to INFINITY)
M.Paralyse(25)
..()
return
@@ -417,18 +458,21 @@
/datum/reagent/sulfonal/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss(1)
if(current_cycle >= 11)
M.drowsyness = max(M.drowsyness, 20)
M.jitteriness = max(0, M.jitteriness-30)
switch(current_cycle)
if(0 to 10)
if(prob(5))
if(1 to 10)
if (prob(7))
M.emote("yawn")
if(22)
if(11 to 20)
M.drowsyness = max(M.drowsyness, 20)
if(21)
M.emote("faint")
if(23 to INFINITY)
if(22 to INFINITY)
if(prob(20))
M.emote("faint")
M.Paralyse(5)
M.drowsyness = max(M.drowsyness, 20)
M.adjustToxLoss(1)
..()
return
@@ -503,65 +547,94 @@
/datum/reagent/curare/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(prob(5))
M.emote(pick("gasp","drool", "pale"))
if(current_cycle >= 11)
M.Weaken(15)
M.adjustToxLoss(1)
M.adjustOxyLoss(1)
switch(current_cycle)
if(1 to 5)
if(prob(20))
M.emote(pick("drool", "pale", "gasp"))
if(6 to 10)
M.eye_blurry += 5
if(prob(8))
M << "<span class='danger'>You feel [pick("weak", "horribly weak", "numb", "like you can barely move", "tingly")].</span>"
M.Stun(1)
else if (prob(8))
M.emote(pick("drool","pale", "gasp"))
if(11 to INFINITY)
M.Stun(30)
M.drowsyness = max(M.drowsyness, 20)
if(prob(20))
M.emote(pick("drool", "faint", "pale", "gasp", "collapse"))
else if (prob(8))
M << "<span class='danger'>You can't [pick("breathe", "move", "feel your legs", "feel your face", "feel anything")]!</span>"
M.losebreath++
..()
return
/datum/reagent/tabun
name = "Tabun"
id = "tabun"
/datum/reagent/sarin
name = "Sarin"
id = "sarin"
description = "An extremely deadly neurotoxin."
reagent_state = LIQUID
color = "#C7C7C7"
metabolization_rate = 0.1
penetrates_skin = 1
/datum/chemical_reaction/tabun
name = "tabun"
id = "tabun"
result = "tabun"
required_reagents = list("phenol" = 1, "diethylamine" = 1, "phosphorus" = 1, "oxygen" = 1, "chlorine" = 1, "sodiumchloride" = 1, "ethanol" = 1, "cyanide" = 1)
result_amount = 8
/datum/chemical_reaction/sarin
name = "sarin"
id = "sarin"
result = "sarin"
required_reagents = list("chlorine" = 1, "fuel" = 1, "oxygen" = 1, "phosphorus" = 1, "fluorine" = 1, "hydrogen" = 1, "acetone" = 1, "atrazine" = 1)
result_amount = 3
mix_message = "The mixture yields a colorless, odorless liquid."
min_temp = 374
mix_sound = 'sound/goonstation/misc/drinkfizz.ogg'
/datum/reagent/tabun/on_mob_life(var/mob/living/M as mob)
/datum/reagent/sarin/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustFireLoss(1)
if(prob(20))
M.emote(pick("twitch","drool", "quiver"))
if(prob(10))
M.emote("scream")
M.drop_l_hand()
M.drop_r_hand()
if(prob(5))
M.confused = max(M.confused, 3)
if(prob(15))
M.fakevomit()
if(prob(2))
M.visible_message("<span class='danger'>[M] starts having a seizure!</span>", "<span class='danger'>You have a seizure!</span>")
M.Paralyse(5)
M.jitteriness = 1000
if(current_cycle >= 5)
M.jitteriness += 10
if(current_cycle >= 20)
if(prob(5))
M.emote("collapse")
switch(current_cycle)
if(0 to 60)
M.adjustBrainLoss(1)
M.adjustToxLoss(1)
if(1 to 15)
M.jitteriness += 20
if(prob(20))
M.emote(pick("twitch","twitch_v","quiver"))
if(16 to 30)
if(prob(25))
M.emote(pick("twitch","twitch_v","drool","quiver","tremble"))
M.eye_blurry += 5
M.stuttering = max(M.stuttering, 5)
if(prob(10))
M.confused = max(M.confused, 15)
if(prob(15))
M.Stun(1)
M.emote("scream")
if(30 to 60)
M.eye_blurry += 5
M.stuttering = max(M.stuttering, 5)
if(prob(10))
M.Stun(1)
M.emote(pick("twitch","twitch_v","drool","shake","tremble"))
if(prob(5))
M.emote("collapse")
if(prob(5))
M.Weaken(3)
M.visible_message("<span class='warning'>[M] has a seizure!</span>")
M.jitteriness = 1000
if(prob(5))
M << "<span class='warning'>You can't breathe!</span>"
M.emote(pick("gasp", "choke", "cough"))
M.losebreath++
if(61 to INFINITY)
M.adjustBrainLoss(2)
M.adjustToxLoss(2)
M.Paralyse(5)
M.losebreath += 5
if(prob(15))
M.emote(pick("gasp", "choke", "cough","twitch", "shake", "tremble","quiver","drool", "twitch_v","collapse"))
M.losebreath = max(5, M.losebreath + 5)
M.adjustToxLoss(1)
M.adjustBrainLoss(1)
M.Weaken(4)
if (prob(8))
M.fakevomit()
M.adjustToxLoss(1)
M.adjustBrainLoss(1)
M.adjustFireLoss(1)
..()
return
@@ -646,10 +719,18 @@
/datum/reagent/capulettium/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.eye_blurry = max(M.eye_blurry, 2)
if(current_cycle == 12)
M.emote("deathgasp")
M.Paralyse(10)
switch(current_cycle)
if(1 to 5)
M.eye_blurry += 10
if(6 to 10)
M.drowsyness = max(M.drowsyness, 10)
if(11)
M.Paralyse(10)
M.visible_message("<B>[M]</B> seizes up and falls limp, their eyes dead and lifeless...") //so you can't trigger deathgasp emote on people. Edge case, but necessary.
if(12 to 60)
M.Paralyse(10)
if(61 to INFINITY)
M.eye_blurry += 10
..()
return
@@ -21,8 +21,9 @@
/datum/reagent/lithium/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(M.canmove && !M.restrained() && istype(M.loc, /turf/space))
step(M, pick(cardinal))
if(isturf(M.loc) && !istype(M.loc, /turf/space))
if(M.canmove && !M.restrained())
step(M, pick(cardinal))
if(prob(5)) M.emote(pick("twitch","drool","moan"))
..()
return
@@ -71,6 +72,7 @@
/datum/reagent/lsd/on_mob_life(var/mob/living/M)
if(!M) M = holder.my_atom
M.druggy = max(M.druggy, 15)
M.hallucination += 10
..()
return
@@ -89,7 +91,7 @@
M.druggy = max(M.druggy, 15)
if(isturf(M.loc) && !istype(M.loc, /turf/space))
if(M.canmove && !M.restrained())
if(prob(10)) step(M, pick(cardinal))
step(M, pick(cardinal))
if(prob(7)) M.emote(pick("twitch","drool","moan","giggle"))
..()
return
@@ -443,7 +443,7 @@
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
if(current_cycle >= 90)
M.jitteriness += 10
M.jitteriness += 2
..()
return
@@ -57,9 +57,11 @@
/datum/reagent/synaptizine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.drowsyness = max(0, M.drowsyness-5)
M.AdjustParalysis(-1)
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
M.SetSleeping(0)
if(prob(50))
M.adjustBrainLoss(-1.0)
..()
@@ -188,7 +188,7 @@
/datum/reagent/radium/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(M.radiation < 80)
M.apply_effect(4,IRRADIATE,0)
M.apply_effect(4, IRRADIATE, negate_armor = 1)
// radium may increase your chances to cure a disease
if(istype(M,/mob/living/carbon)) // make sure to only use it on carbon mobs
var/mob/living/carbon/C = M
@@ -197,7 +197,7 @@
var/datum/disease2/disease/V = C.virus2[ID]
if(prob(5))
if(prob(50))
M.apply_effect(50,IRRADIATE,0) // curing it that way may kill you instead
M.apply_effect(50, IRRADIATE, negate_armor = 1) // curing it that way may kill you instead
M.adjustToxLoss(100)
C.antibodies |= V.antigen
..()
@@ -235,7 +235,7 @@
/datum/reagent/mutagen/on_mob_life(var/mob/living/M as mob)
if(!M.dna) return //No robots, AIs, aliens, Ians or other mobs should be affected by this.
if(!M) M = holder.my_atom
M.apply_effect(2*REM,IRRADIATE,0)
M.apply_effect(2*REM, IRRADIATE, negate_armor = 1)
if(prob(4))
randmutb(M)
..()
@@ -251,7 +251,7 @@
/datum/reagent/uranium/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.apply_effect(2,IRRADIATE,0)
M.apply_effect(2, IRRADIATE, negate_armor = 1)
..()
return
@@ -299,4 +299,4 @@
New()
..()
reagents.add_reagent(pick("polonium","initropidril","concentrated_initro","pancuronium","sodium_thiopental","ketamine","sulfonal","amanitin","coniine","curare","tabun","histamine","venom","cyanide"), 40)
reagents.add_reagent(pick("polonium","initropidril","concentrated_initro","pancuronium","sodium_thiopental","ketamine","sulfonal","amanitin","coniine","curare","sarin","histamine","venom","cyanide"), 40)