Merge pull request #756 from Citadel-Station-13/upstream-merge-26848
[MIRROR] Adds spewium toxin in traitor kits
This commit is contained in:
@@ -484,7 +484,7 @@
|
||||
adjustBruteLoss(3)
|
||||
else
|
||||
if(T)
|
||||
T.add_vomit_floor(src, 0)//toxic barf looks different
|
||||
T.add_vomit_floor(src, toxic)//toxic barf looks different
|
||||
nutrition -= lost_nutrition
|
||||
adjustToxLoss(-3)
|
||||
T = get_step(T, dir)
|
||||
@@ -492,6 +492,16 @@
|
||||
break
|
||||
return 1
|
||||
|
||||
/mob/living/carbon/proc/spew_organ(power = 5)
|
||||
if(!internal_organs.len)
|
||||
return //Guess we're out of organs
|
||||
var/obj/item/organ/guts = pick(internal_organs)
|
||||
var/turf/T = get_turf(src)
|
||||
guts.Remove(src)
|
||||
guts.forceMove(T)
|
||||
var/atom/throw_target = get_edge_target_turf(guts, dir)
|
||||
guts.throw_at(throw_target, power, 4, src)
|
||||
|
||||
|
||||
/mob/living/carbon/fully_replace_character_name(oldname,newname)
|
||||
..()
|
||||
|
||||
@@ -961,8 +961,7 @@
|
||||
/datum/reagent/medicine/antitoxin/on_mob_life(mob/living/M)
|
||||
M.adjustToxLoss(-2*REM, 0)
|
||||
for(var/datum/reagent/toxin/R in M.reagents.reagent_list)
|
||||
if(R != src)
|
||||
M.reagents.remove_reagent(R.id,1)
|
||||
M.reagents.remove_reagent(R.id,1)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
|
||||
@@ -648,6 +648,34 @@
|
||||
M.losebreath += 5
|
||||
return ..()
|
||||
|
||||
/datum/reagent/toxin/spewium
|
||||
name = "Spewium"
|
||||
id = "spewium"
|
||||
description = "A powerful emetic, causes uncontrollable vomiting. May result in vomiting organs at high doses."
|
||||
reagent_state = LIQUID
|
||||
color = "#2f6617" //A sickly green color
|
||||
metabolization_rate = REAGENTS_METABOLISM
|
||||
overdose_threshold = 29
|
||||
toxpwr = 0
|
||||
taste_description = "vomit"
|
||||
|
||||
/datum/reagent/toxin/spewium/on_mob_life(mob/living/M)
|
||||
.=..()
|
||||
if(current_cycle >=11 && prob(min(50,current_cycle)) && ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.vomit(lost_nutrition = 10, blood = prob(10), stun = prob(50), distance = rand(0,4), message = TRUE, toxic = prob(30))
|
||||
for(var/datum/reagent/toxin/R in M.reagents.reagent_list)
|
||||
if(R != src)
|
||||
H.reagents.remove_reagent(R.id,1)
|
||||
|
||||
/datum/reagent/toxin/spewium/overdose_process(mob/living/M)
|
||||
. = ..()
|
||||
if(current_cycle >=33 && prob(15) && ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.spew_organ()
|
||||
H.vomit(lost_nutrition = 0, blood = 1, stun = 1, distance = 4)
|
||||
to_chat(H, "<span class='userdanger'>You feel something lumpy come up as you vomit.</span>")
|
||||
|
||||
/datum/reagent/toxin/curare
|
||||
name = "Curare"
|
||||
id = "curare"
|
||||
|
||||
@@ -58,6 +58,12 @@
|
||||
icon_state = "bottle12"
|
||||
list_reagents = list("cyanide" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/spewium
|
||||
name = "spewium bottle"
|
||||
desc = "A small bottle of spewium."
|
||||
icon_state = "bottle12"
|
||||
list_reagents = list("spewium" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/morphine
|
||||
name = "morphine bottle"
|
||||
desc = "A small bottle of morphine."
|
||||
|
||||
Reference in New Issue
Block a user