mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 15:45:25 +01:00
part III
This commit is contained in:
@@ -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,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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user