This commit is contained in:
Fox-McCloud
2016-03-10 23:03:39 -05:00
parent 1979e47eac
commit 76ee7168dc
12 changed files with 183 additions and 168 deletions
+7 -6
View File
@@ -97,6 +97,7 @@
required_reagents = list("diphenhydramine" = 1, "ammonia" = 1, "lithium" = 1, "sacid" = 1, "fuel" = 1)
result_amount = 5
mix_message = "The mixture violently reacts, leaving behind a few crystalline shards."
mix_sound = 'sound/goonstation/effects/crystalshatter.ogg'
min_temp = 390
/datum/chemical_reaction/crank/on_reaction(var/datum/reagents/holder, var/created_volume)
@@ -217,7 +218,7 @@
if(prob(20))
M.emote("laugh")
if(prob(33))
M.visible_message("<span class = 'danger'>[M]'s hands flip out and flail everywhere!</span>")
M.visible_message("<span class='danger'>[M]'s hands flip out and flail everywhere!</span>")
var/obj/item/I = M.get_active_hand()
if(I)
M.drop_item()
@@ -400,7 +401,7 @@
M.adjustStaminaLoss(-40)
if(prob(90))
M.adjustToxLoss(1)
if (prob(5))
if(prob(5))
M.emote(pick("twitch", "shake", "tremble","quiver", "twitch_s"))
var/high_message = pick("really buff", "on top of the world","like you're made of steel", "energized", "invigorated", "full of energy")
if(prob(8))
@@ -484,7 +485,7 @@
M.AdjustStunned(-1.5)
M.AdjustWeakened(-1.5)
M.adjustStaminaLoss(-1.5)
M.setSleeping(0)
M.SetSleeping(0)
..()
return
@@ -499,11 +500,11 @@
M.emote("laugh")
M.adjustToxLoss(1)
if(2)
M << "<span class = 'danger'>[M] can't seem to control their legs!</span>"
M << "<span class='danger'>[M] can't seem to control their legs!</span>"
M.Weaken(8)
M.adjustToxLoss(1)
if(3)
M << "<span class = 'danger'>[M]'s hands flip out and flail everywhere!</span>"
M << "<span class='danger'>[M]'s hands flip out and flail everywhere!</span>"
M.drop_l_hand()
M.drop_r_hand()
M.adjustToxLoss(1)
@@ -559,7 +560,7 @@
if(prob(20))
M.emote("ping")
if(prob(33))
M.visible_message("<span class = 'danger'>[M]'s hands flip out and flail everywhere!</span>")
M.visible_message("<span class='danger'>[M]'s hands flip out and flail everywhere!</span>")
var/obj/item/I = M.get_active_hand()
if(I)
M.drop_item()
+11 -11
View File
@@ -11,7 +11,7 @@ datum/reagent/questionmark/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
return
if(method == INGEST)
M.Weaken(2)
M << "<span class = 'danger'>Ugh! Eating that was a terrible idea!</span>"
M << "<span class='danger'>Ugh! Eating that was a terrible idea!</span>"
datum/reagent/egg
name = "Egg"
@@ -201,11 +201,11 @@ datum/reagent/fungus/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
if(method == INGEST)
var/ranchance = rand(1,10)
if(ranchance == 1)
M << "<span class = 'warning'>You feel very sick.</span>"
M << "<span class='warning'>You feel very sick.</span>"
M.reagents.add_reagent("toxin", rand(1,5))
else if (ranchance <= 5 && ranchance != 1)
M << "<span class = 'warning'>That tasted absolutely FOUL.</span>"
else M << "<span class = 'warning'>Yuck!</span>"
else if(ranchance <= 5 && ranchance != 1)
M << "<span class='warning'>That tasted absolutely FOUL.</span>"
else M << "<span class='warning'>Yuck!</span>"
/datum/reagent/chicken_soup
name = "Chicken soup"
@@ -232,12 +232,12 @@ datum/reagent/msg/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
if(!istype(M, /mob/living))
return
if(method == INGEST)
M << "<span class = 'notice'>That tasted amazing!</span>"
M << "<span class='notice'>That tasted amazing!</span>"
/datum/reagent/msg/on_mob_life(var/mob/living/M as mob)
if(prob(5))
if (prob(10))
if(prob(10))
M.adjustToxLoss(rand(2.4))
if(prob(7))
M << "<span class='warning'>A horrible migraine overpowers you.</span>"
@@ -281,7 +281,7 @@ datum/reagent/cheese/reaction_turf(var/turf/T, var/volume)
/datum/reagent/fake_cheese/overdose_process(var/mob/living/M as mob)
if(prob(8))
M << "<span class = 'warning'>You feel something squirming in your stomach. Your thoughts turn to cheese and you begin to sweat.</span>"
M << "<span class='warning'>You feel something squirming in your stomach. Your thoughts turn to cheese and you begin to sweat.</span>"
M.adjustToxLoss(rand(1,2))
..()
@@ -379,7 +379,7 @@ datum/reagent/ectoplasm/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
return
if(method == INGEST)
var/spooky_eat = pick("Ugh, why did you eat that? Your mouth feels haunted. Haunted with bad flavors.", "Ugh, why did you eat that? It has the texture of ham aspic. From the 1950s. Left out in the sun.", "Ugh, why did you eat that? It tastes like a ghost fart.", "Ugh, why did you eat that? It tastes like flavor died.")
M << "<span class = 'warning'>[spooky_eat]</span>"
M << "<span class='warning'>[spooky_eat]</span>"
/datum/reagent/ectoplasm/on_mob_life(var/mob/living/M as mob)
var/spooky_message = pick("You notice something moving out of the corner of your eye, but nothing is there...", "Your eyes twitch, you feel like something you can't see is here...", "You've got the heebie-jeebies.", "You feel uneasy.", "You shudder as if cold...", "You feel something gliding across your back...")
@@ -577,11 +577,11 @@ datum/reagent/pepperoni/reaction_mob(var/mob/living/M, var/method=TOUCH, var/vol
if(holder.get_reagent_amount(src.id) >= 25 && prob(holder.get_reagent_amount(src.id)*0.15))
M << "<span class='warning'>Your chest feels [pick("weird","uncomfortable","nasty","gross","odd","unusual","warm")]!</span>"
M.adjustToxLoss(rand(1,2))
else if (holder.get_reagent_amount(src.id) >= 45 && prob(holder.get_reagent_amount(src.id)*0.08))
else if(holder.get_reagent_amount(src.id) >= 45 && prob(holder.get_reagent_amount(src.id)*0.08))
M << "<span class='warning'>Your chest [pick("hurts","stings","aches","burns")]!</span>"
M.adjustToxLoss(rand(2,4))
M.stunned ++
else if (holder.get_reagent_amount(src.id) >= 150 && prob(holder.get_reagent_amount(src.id)*0.01))
else if(holder.get_reagent_amount(src.id) >= 150 && prob(holder.get_reagent_amount(src.id)*0.01))
M << "<span class='warning'>Your chest is burning with pain!</span>"
M.Stun(1)
M.Weaken(1)
+1 -1
View File
@@ -596,7 +596,7 @@ datum/reagent/atropine/on_mob_life(var/mob/living/M as mob)
M.adjustToxLoss(-1)
M.adjustBruteLoss(-3*REM)
M.adjustFireLoss(-3*REM)
else if (M.health > -60)
else if(M.health > -60)
M.adjustToxLoss(1)
M.reagents.remove_reagent("sarin", 20)
..()
@@ -83,7 +83,7 @@ datum/reagents/proc/metabolize(var/mob/M)
R.addiction_act_stage4(M)
R.addiction_stage++
if(R.addiction_stage > 40)
M << "<span class = 'notice'>You feel like you've gotten over your need for [R.name].</span>"
M << "<span class='notice'>You feel like you've gotten over your need for [R.name].</span>"
addiction_list.Remove(R)
addiction_tick++
update_total()
@@ -132,22 +132,22 @@ datum/reagent/proc/overdose_start(var/mob/living/M as mob)
datum/reagent/proc/addiction_act_stage1(var/mob/living/M as mob)
if(prob(30))
M << "<span class = 'notice'>You feel like some [name] right about now.</span>"
M << "<span class='notice'>You feel like some [name] right about now.</span>"
return
datum/reagent/proc/addiction_act_stage2(var/mob/living/M as mob)
if(prob(30))
M << "<span class = 'notice'>You feel like you need [name]. You just can't get enough.</span>"
M << "<span class='notice'>You feel like you need [name]. You just can't get enough.</span>"
return
datum/reagent/proc/addiction_act_stage3(var/mob/living/M as mob)
if(prob(30))
M << "<span class = 'danger'>You have an intense craving for [name].</span>"
M << "<span class='danger'>You have an intense craving for [name].</span>"
return
datum/reagent/proc/addiction_act_stage4(var/mob/living/M as mob)
if(prob(30))
M << "<span class = 'danger'>You're not feeling good at all! You really need some [name].</span>"
M << "<span class='danger'>You're not feeling good at all! You really need some [name].</span>"
return
/datum/reagent/proc/reagent_deleted()
+14 -19
View File
@@ -265,7 +265,7 @@ datum/reagent/super_hairgrownium/on_mob_life(var/mob/living/M as mob)
H.unEquip(H.wear_mask)
var/obj/item/clothing/mask/fakemoustache = new /obj/item/clothing/mask/fakemoustache
H.equip_to_slot(fakemoustache, slot_wear_mask)
H << "<span class = 'notice'>Hair bursts forth from your every follicle!"
H << "<span class='notice'>Hair bursts forth from your every follicle!"
..()
return
@@ -286,25 +286,20 @@ datum/reagent/fartonium
datum/reagent/fartonium/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.emote("fart")
if(prob(66))
M.emote("fart")
if(holder.has_reagent("simethicone"))
if(prob(30))
switch(pick(1,2))
if(1)
M << "<span class = 'danger'>Something isn't right!"
M.adjustBruteLoss(1)
if(2)
M.custom_emote(1,"strains, but nothing happens.")
M.adjustBruteLoss(2)
if(3)
M.emote("scream")
M.adjustBruteLoss(2)
if(4)
M << "<span class = 'danger'>Oh gosh, the pain!"
M.adjustBruteLoss(1)
if(5)
M << "<span class = 'danger'>THE PAIN!"
M.adjustBruteLoss(1)
if(prob(25))
M << "<span class='danger'>[pick("Oh god, something doesn't feel right!", "IT HURTS!", "FUCK!", "Something is seriously wrong!", "THE PAIN!", "You feel like you're gunna die!")]</span>"
M.adjustBruteLoss(1)
if(prob(10))
M.custom_emote(1,"strains, but nothing happens.")
M.adjustBruteLoss(2)
if(prob(5))
M.emote("scream")
M.adjustBruteLoss(4)
..()
return
+2 -2
View File
@@ -541,7 +541,7 @@ datum/reagent/pyrosium/on_tick()
/datum/chemical_reaction/azide/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
explosion(location,0,1,3)
explosion(location,0,1,4)
return
datum/reagent/firefighting_foam
@@ -609,7 +609,7 @@ datum/reagent/firefighting_foam/reaction_obj(var/obj/O, var/volume)
/datum/chemical_reaction/clf3_firefighting/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
explosion(location,0,0,3)
explosion(location,-1,0,2)
return
/datum/chemical_reaction/shock_explosion
+129 -93
View File
@@ -27,34 +27,49 @@
reagent_state = LIQUID
color = "#E7C4C4"
metabolization_rate = 0.2
overdose_threshold = 30
overdose_threshold = 40
/datum/reagent/histamine/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume) //dumping histamine on someone is VERY mean.
if(iscarbon(M))
if(method == TOUCH)
M.reagents.add_reagent("histamine",10)
else
M << "<span class='danger'>You feel a burning sensation in your throat...</span>"
M.emote("drool")
/datum/reagent/histamine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
switch(pick(1, 2, 3, 4))
if(1)
M << "<span class='danger'>You can barely see!</span>"
M.eye_blurry = 3
if(2)
M.emote("cough")
if(3)
M.emote("sneeze")
if(4)
if(prob(75))
M << "You scratch at an itch."
M.adjustBruteLoss(2*REM)
if(prob(20))
M.emote(pick("twitch", "grumble", "sneeze", "cough"))
if(prob(10))
M << "<span class='notice'>Your eyes itch.</span>"
M.emote(pick("blink", "sneeze"))
M.eye_blurry += 3
if(prob(10))
M.visible_message("<span class='danger'>[M] scratches at an itch.</span>")
M.adjustBruteLoss(1)
M.emote("grumble")
if(prob(5))
M << "<span class='danger'>You're getting a rash!</span>"
M.adjustBruteLoss(2)
..()
return
/datum/reagent/histamine/overdose_process(var/mob/living/M as mob)
M.adjustOxyLoss(pick(1,3)*REM)
M.adjustBruteLoss(pick(1,3)*REM)
M.adjustToxLoss(pick(1,3)*REM)
if(prob(2))
M << "<span class='danger'>You feel mucus running down the back of your throat.</span>"
M.adjustToxLoss(1)
M.jitteriness += 4
M.emote("sneeze", "cough")
else if(prob(4))
M.stuttering += rand(0,5)
if(prob(25))
M.emote(pick("choke","gasp"))
M.adjustOxyLoss(5)
else if(prob(7))
M << "<span class='danger'>Your chest hurts!</span>"
M.emote(pick("cough","gasp"))
M.adjustOxyLoss(3)
..()
return
@@ -86,7 +101,7 @@
/datum/reagent/venom
name = "Venom"
id = "venom"
description = "Will deal scaling amounts of Toxin and Brute damage over time. 25% chance to decay into 5-10 histamine."
description = "An incredibly potent poison. Origin unknown."
reagent_state = LIQUID
color = "#CF3600"
metabolization_rate = 0.2
@@ -94,20 +109,27 @@
/datum/reagent/venom/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss(1*REM)
M.adjustBruteLoss(1*REM)
if(volume >= 20)
M.adjustToxLoss(1*REM)
M.adjustBruteLoss(1*REM)
if(prob(25))
M.reagents.add_reagent("histamine",rand(5,10))
if(volume < 20)
M.adjustToxLoss(1)
M.adjustBruteLoss(1)
else if(volume < 40)
if(prob(8))
M.fakevomit()
M.adjustToxLoss(2)
M.adjustBruteLoss(2)
..()
return
/datum/reagent/venom/overdose_process(var/mob/living/M as mob)
if(volume >= 40)
if(prob(4))
M.gib()
M.visible_message("<span class='danger'><B>[M]</B> starts convulsing violently!</span>", "You feel as if your body is tearing itself apart!")
M.Weaken(15)
M.jitteriness += 1000
spawn(rand(20, 100))
M.gib()
..()
return
@@ -143,7 +165,7 @@
else
if(prob(10))
M.adjustBrainLoss(1)
if (prob(10))
if(prob(10))
M.emote("drool")
M.adjustToxLoss(1)
..()
@@ -170,16 +192,17 @@
/datum/reagent/cyanide/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss(1.5*REM)
if(prob(5))
M.emote("drool")
M.adjustToxLoss(1.5*REM)
if(prob(10))
M << "<span class = 'danger'>You cannot breathe!</span>"
M << "<span class='danger'>You cannot breathe!</span>"
M.losebreath += 1
M.emote("gasp")
if(prob(8))
M << "<span class = 'danger'>You feel horrendously weak!</span>"
M << "<span class='danger'>You feel horrendously weak!</span>"
M.Stun(2)
M.adjustToxLoss(2*REM)
M.adjustToxLoss(2)
..()
return
@@ -205,17 +228,28 @@
/datum/reagent/itching_powder/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(prob(rand(5,50)))
M << "You scratch at your head."
M.adjustBruteLoss(0.2*REM)
if(prob(rand(5,50)))
M << "You scratch at your leg."
M.adjustBruteLoss(0.2*REM)
if(prob(rand(5,50)))
M << "You scratch at your arm."
M.adjustBruteLoss(0.2*REM)
if(prob(25))
M.emote(pick("twitch", "laugh", "sneeze", "cry"))
if(prob(20))
M << "<span class='notice'>Something tickles!</span>"
M.emote(pick("laugh", "giggle"))
if(prob(15))
M.visible_message("<span class='danger'>[M] scratches at an itch.</span>")
M.adjustBruteLoss(1)
M.Stun(rand(0,1))
M.emote("grumble")
if(prob(10))
M << "<span class='danger'>So itchy!</span>"
M.adjustBruteLoss(2)
if(prob(6))
M.reagents.add_reagent("histamine",rand(1,3))
M.reagents.add_reagent("histamine", rand(1,3))
if(prob(2))
M << "<span class='danger'>AHHHHHH!</span>"
M.adjustBruteLoss(5)
M.Weaken(5)
M.jitteriness += 6
M.visible_message("<span class='danger'>[M] falls to the floor, scratching themselves violently!</span>")
M.emote("scream")
..()
return
@@ -251,7 +285,7 @@
var/mob/living/carbon/human/H = M
if(volume < 5)
M << "<span class = 'danger'>The blueish acidic substance stings you, but isn't concentrated enough to harm you!</span>"
M << "<span class='danger'>The blueish acidic substance stings you, but isn't concentrated enough to harm you!</span>"
if(volume >=5 && volume <=10)
if(!H.unacidable)
@@ -316,23 +350,24 @@
/datum/reagent/initropidril/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(prob(33))
switch(pick(1,2))
if(1)
M << "<span class = 'danger'>You feel horrendously weak!</span>"
M.Stun(2)
if(2)
M.adjustToxLoss(rand(5,25))
M.adjustToxLoss(rand(5,25))
if(prob(33))
M << "<span class='danger'>You feel horribly weak.</span>"
M.Stun(2)
if(prob(10))
switch(pick(1,2))
if(1)
M << "<span class = 'danger'>You cannot breathe!</span>"
M.losebreath += 5
M.adjustOxyLoss(10)
if(2)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(!H.heart_attack)
H.heart_attack = 1 // rip in pepperoni
M << "<span class='danger'>You cannot breathe!</span>"
M.adjustOxyLoss(10)
M.losebreath++
if(prob(10))
M << "<span class='danger'>Your chest is burning with pain!</span>"
M.adjustOxyLoss(10)
M.losebreath++
M.Stun(3)
M.Weaken(2)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(!H.heart_attack)
H.heart_attack = 1 // rip in pepperoni
..()
return
@@ -347,9 +382,10 @@
/datum/reagent/concentrated_initro/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(volume >=5)
var/mob/living/carbon/human/H = M
if(!H.heart_attack)
H.heart_attack = 1 // rip in pepperoni
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(!H.heart_attack)
H.heart_attack = 1 // rip in pepperoni
/datum/reagent/pancuronium
name = "Pancuronium"
@@ -369,7 +405,7 @@
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))
else if(prob(8))
M.emote(pick("drool", "tremble"))
if(11 to INFINITY)
M.Stun(20)
@@ -396,18 +432,18 @@
/datum/reagent/sodium_thiopental/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
switch(current_cycle)
if (1)
if(1)
M.emote("drool")
M.confused = max(M.confused, 5)
if (2 to 4)
if(2 to 4)
M.drowsyness = max(M.drowsyness, 20)
if (5)
if(5)
M.emote("faint")
M.Weaken(5)
if (6 to INFINITY)
if(6 to INFINITY)
M.Paralyse(20)
M.jitteriness = max(0, M.jitteriness-50)
if (prob(10))
if(prob(10))
M.emote("drool")
M.adjustBrainLoss(1)
..()
@@ -430,7 +466,7 @@
M.emote("yawn")
if(6 to 9)
M.eye_blurry += 5
if (prob(35))
if(prob(35))
M.emote("yawn")
if(10)
M.emote("faint")
@@ -462,7 +498,7 @@
M.jitteriness = max(0, M.jitteriness-30)
switch(current_cycle)
if(1 to 10)
if (prob(7))
if(prob(7))
M.emote("yawn")
if(11 to 20)
M.drowsyness = max(M.drowsyness, 20)
@@ -512,13 +548,18 @@
/datum/reagent/lipolicide/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(!holder.has_reagent("nutriment"))
if(prob(30))
M.adjustToxLoss(1)
M.nutrition -= 10 * REAGENTS_METABOLISM
M.overeatduration = 0
if(M.nutrition < 0)//Prevent from going into negatives.
M.nutrition = 0
if(!M.nutrition)
switch(rand(1,3))
if(1)
M << "<span class='warning'>You feel hungry...</span>"
if(2)
M.adjustToxLoss(1)
M << "<span class='warning'>Your stomach grumbles painfully!</span>"
else
if(prob(60))
var/fat_to_burn = max(round(M.nutrition/100,1), 5)
M.nutrition = max(0, M.nutrition-fat_to_burn)
M.overeatduration = 0
..()
return
@@ -532,8 +573,8 @@
/datum/reagent/coniine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.losebreath += 5
M.adjustToxLoss(2)
M.losebreath += 5
..()
return
@@ -559,14 +600,14 @@
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))
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))
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++
..()
@@ -631,7 +672,7 @@
M.adjustToxLoss(1)
M.adjustBrainLoss(1)
M.Weaken(4)
if (prob(8))
if(prob(8))
M.fakevomit()
M.adjustToxLoss(1)
M.adjustBrainLoss(1)
@@ -766,14 +807,12 @@
/datum/reagent/toxic_slurry/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(prob(10))
M.adjustToxLoss(rand(2,4))
M.adjustToxLoss(rand(2.4))
if(prob(7))
switch(pick(1,2))
if(1)
M.fakevomit(1)
if(2)
M.Stun(rand(4,10))
M << "<span class='warning'>A horrible migraine overpowers you.</span>"
M << "<span class='danger'>A horrible migraine overpowers you.</span>"
M.Stun(rand(2,5))
if(prob(7))
M.fakevomit(1)
..()
return
@@ -788,21 +827,18 @@
if(!..()) return
if(!M.dna) return //No robots, AIs, aliens, Ians or other mobs should be affected by this.
src = null
if((method==TOUCH && prob(33)) || method==INGEST)
if(prob(98))
randmutb(M)
else
randmutg(M)
if((method==TOUCH && prob(50)) || method==INGEST)
randmutb(M)
domutcheck(M, null)
M.UpdateAppearance()
return
/datum/reagent/glowing_slurry/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.apply_effect(2*REM, IRRADIATE, 0, negate_armor = 1)
M.apply_effect(2, IRRADIATE, 0, negate_armor = 1)
if(prob(15))
randmutb(M)
if(prob(5))
if(prob(3))
randmutg(M)
domutcheck(M, null)
M.UpdateAppearance()
@@ -820,9 +856,9 @@
/datum/reagent/ants/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume) //NOT THE ANTS
if(iscarbon(M))
if(method == TOUCH || method==INGEST)
M.adjustBruteLoss(4)
M.emote("scream")
M << "<span class='warning'>OH SHIT ANTS!!!!</span>"
M.emote("scream")
M.adjustBruteLoss(4)
/datum/reagent/ants/on_mob_life(var/mob/living/M as mob)
@@ -13,12 +13,6 @@
return
..()
/datum/reagent/fuel/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss(1)
..()
return
/datum/reagent/fuel/unholywater //if you somehow managed to extract this from someone, dont splash it on yourself and have a smoke
name = "Unholy Water"
id = "unholywater"
@@ -84,13 +78,6 @@
T.overlays = image('icons/effects/effects.dmi',icon_state = "thermite")
return
/datum/reagent/thermite/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustFireLoss(1)
..()
return
/datum/reagent/glycerol
name = "Glycerol"
id = "glycerol"
@@ -436,22 +436,25 @@
overdose_threshold = 200 // Hyperglycaemic shock
/datum/reagent/sugar/on_mob_life(var/mob/living/M as mob)
if(prob(4))
M.reagents.add_reagent("epinephrine", 1.2)
M.drowsyness = max(0, M.drowsyness-5)
if(current_cycle >= 90)
M.jitteriness += 2
if(prob(50))
M.AdjustParalysis(-1)
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
if(current_cycle >= 90)
M.jitteriness += 2
if(prob(4))
M.reagents.add_reagent("epinephrine", 1.2)
..()
return
/datum/reagent/sugar/overdose_process(var/mob/living/M as mob)
if(volume > 200)
M << "<span class = 'danger'>You pass out from hyperglycemic shock!</span>"
M.Paralyse(1)
M << "<span class='danger'>You pass out from hyperglycemic shock!</span>"
M.emote("collapse")
M.Paralyse(3)
M.Weaken(4)
if(prob(8))
M.adjustToxLoss(rand(1,2))
M.adjustToxLoss(1)
..()
return
@@ -99,8 +99,8 @@
if(M.bodytemperature < 265)
M.adjustCloneLoss(-4)
M.adjustOxyLoss(-10)
M.heal_organ_damage(12,12)
M.adjustToxLoss(-3)
M.heal_organ_damage(12,12)
M.status_flags &= ~DISFIGURED
..()
return
@@ -134,8 +134,4 @@
description = "An all-purpose antibiotic agent extracted from space fungus."
reagent_state = LIQUID
color = "#0AB478"
metabolization_rate = 0.2
/datum/reagent/spaceacillin/on_mob_life(var/mob/living/M as mob)
..()
return
metabolization_rate = 0.2
@@ -224,10 +224,7 @@
if(!M.dna) return //No robots, AIs, aliens, Ians or other mobs should be affected by this.
src = null
if((method==TOUCH && prob(33)) || method==INGEST)
if(prob(98))
randmutb(M)
else
randmutg(M)
randmutb(M)
domutcheck(M, null)
M.UpdateAppearance()
return
@@ -327,7 +324,7 @@
var/mob/living/carbon/human/H = M
if(volume < 10)
M << "<span class = 'danger'>The greenish acidic substance stings you, but isn't concentrated enough to harm you!</span>"
M << "<span class='danger'>The greenish acidic substance stings you, but isn't concentrated enough to harm you!</span>"
if(volume >=10 && volume <=25)
if(!H.unacidable)