Changes, adjustments, NEW CHEMICAL: Epinephrine

This commit is contained in:
Iamgoofball
2015-01-16 17:56:55 -08:00
parent 38070820f3
commit fec3b3e9dd
9 changed files with 88 additions and 122 deletions
@@ -444,6 +444,40 @@ datum/reagent/atropine/on_mob_life(var/mob/living/M as mob)
required_reagents = list("ethanol" = 1, "acetone" = 1, "diethylamine" = 1, "phenol" = 1, "sacid" = 1)
result_amount = 5
datum/reagent/epinephrine
name = "Epinephrine"
id = "epinephrine"
description = "Reduces most of the knockout/stun effects, minor stamina regeneration buff. Attempts to cap OXY damage at 35 and LOSEBREATH at 3. If health is between -10 to -65, heals 1 TOX, 1 BRUTE, 1 BURN."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
metabolization_rate = 0.2
datum/reagent/epinephrine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(M.health > -10 && M.health < -65)
M.adjustToxLoss(-1*REM)
M.adjustBruteLoss(-1*REM)
M.adjustFireLoss(-1*REM)
if(M.oxyloss > 35)
M.setOxyLoss(35)
if(M.losebreath > 3)
M.losebreath = 3
M.adjustStaminaLoss(-1*REM)
if(prob(30))
M.AdjustParalysis(-1)
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
M.sleeping -= 1
..()
return
/datum/chemical_reaction/epinephrine
name = "Epinephrine"
id = "epinephrine"
result = "epinephrine"
required_reagents = list("phenol" = 1, "acetone" = 1, "diethylamine" = 1, "oxygen" = 1, "chlorine" = 1, "hydrogen" = 1)
result_amount = 6
datum/reagent/strange_reagent
name = "Strange Reagent"
id = "strange_reagent"
@@ -504,6 +538,9 @@ datum/reagent/life
required_temp = 374
/datum/chemical_reaction/life/on_reaction(var/datum/reagents/holder, var/created_volume)
chemical_mob_spawn(holder, 1, "Life")
proc/chemical_mob_spawn(var/datum/reagents/holder, var/amount_to_spawn, var/reaction_name)
if(holder && holder.my_atom)
var/blocked = list(/mob/living/simple_animal/hostile,
/mob/living/simple_animal/hostile/pirate,
@@ -532,7 +569,7 @@ datum/reagent/life
var/atom/A = holder.my_atom
var/turf/T = get_turf(A)
var/area/my_area = get_area(T)
var/message = "A life reaction has occured in [my_area.name]. (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[T.x];Y=[T.y];Z=[T.z]'>JMP</A>)"
var/message = "A [reaction_name] reaction has occured in [my_area.name]. (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[T.x];Y=[T.y];Z=[T.z]'>JMP</A>)"
message += " (<A HREF='?_src_=vars;Vars=\ref[A]'>VV</A>)"
var/mob/M = get(A, /mob)
@@ -548,10 +585,10 @@ datum/reagent/life
for(var/mob/living/carbon/human/H in viewers(get_turf(holder.my_atom), null))
if(H:eyecheck() <= 0)
flick("e_flash", H.flash)
for(var/i = 1, i <= 5, i++)
for(var/i = 1, i <= amount_to_spawn, i++)
var/chosen = pick(critters)
var/mob/living/simple_animal/hostile/C = new chosen
C.faction |= "lifesummon"
C.faction |= "chemicalsummon"
C.loc = get_turf(holder.my_atom)
if(prob(50))
for(var/j = 1, j <= rand(1, 3), j++)
@@ -35,7 +35,6 @@ datum/reagent/clf3/on_mob_life(var/mob/living/M as mob)
var/turf/simulated/T = get_turf(holder.my_atom)
for(var/turf/simulated/turf in range(1,T))
new /obj/effect/hotspot(turf)
new /obj/effect/hotspot(T)
return
/datum/reagent/clf3/reaction_turf(var/turf/simulated/T, var/volume)
+8 -7
View File
@@ -196,13 +196,14 @@ datum/reagents/proc/trans_id_to(var/obj/target, var/reagent, var/amount=1, var/p
*/
datum/reagents/proc/metabolize(var/mob/M)
for(var/A in reagent_list)
var/datum/reagent/R = A
if(M && R)
if(M.reagent_check(R) != 1 && last_tick == 3)
R.on_mob_life(M)
last_tick = 0
last_tick++
if(last_tick == 3)
last_tick = 0
for(var/A in reagent_list)
var/datum/reagent/R = A
if(M && R)
if(M.reagent_check(R) != 1)
R.on_mob_life(M)
last_tick++
update_total()
datum/reagents/proc/conditional_update_move(var/atom/A, var/Running = 0)
+5 -95
View File
@@ -183,7 +183,7 @@ silicate
name = "Spaceacillin"
id = "spaceacillin"
result = "spaceacillin"
required_reagents = list("cryptobiolin" = 1, "ephedrine" = 1)
required_reagents = list("cryptobiolin" = 1, "epinephrine" = 1)
result_amount = 2
/datum/chemical_reaction/inacusiate
@@ -879,9 +879,9 @@ datum/chemical_reaction/pestkiller
S.loc = get_turf(holder.my_atom)
/datum/chemical_reaction/slimeinaprov
name = "Slime ephedrine"
name = "Slime epinephrine"
id = "m_inaprov"
result = "ephedrine"
result = "epinephrine"
required_reagents = list("water" = 5)
result_amount = 3
required_other = 1
@@ -948,61 +948,7 @@ datum/chemical_reaction/pestkiller
O.show_message(text("<span class='danger'>The slime extract begins to vibrate violently !</span>"), 1)
spawn(50)
if(holder && holder.my_atom)
var/blocked = list(/mob/living/simple_animal/hostile,
/mob/living/simple_animal/hostile/pirate,
/mob/living/simple_animal/hostile/pirate/ranged,
/mob/living/simple_animal/hostile/russian,
/mob/living/simple_animal/hostile/russian/ranged,
/mob/living/simple_animal/hostile/syndicate,
/mob/living/simple_animal/hostile/syndicate/melee,
/mob/living/simple_animal/hostile/syndicate/melee/space,
/mob/living/simple_animal/hostile/syndicate/ranged,
/mob/living/simple_animal/hostile/syndicate/ranged/space,
/mob/living/simple_animal/hostile/alien/queen/large,
/mob/living/simple_animal/hostile/retaliate,
/mob/living/simple_animal/hostile/retaliate/clown,
/mob/living/simple_animal/hostile/mushroom,
/mob/living/simple_animal/hostile/asteroid,
/mob/living/simple_animal/hostile/asteroid/basilisk,
/mob/living/simple_animal/hostile/asteroid/goldgrub,
/mob/living/simple_animal/hostile/asteroid/goliath,
/mob/living/simple_animal/hostile/asteroid/hivelord,
/mob/living/simple_animal/hostile/asteroid/hivelordbrood,
/mob/living/simple_animal/hostile/carp/holocarp,
/mob/living/simple_animal/hostile/mining_drone
)//exclusion list for things you don't want the reaction to create.
var/list/critters = typesof(/mob/living/simple_animal/hostile) - blocked // list of possible hostile mobs
var/atom/A = holder.my_atom
var/turf/T = get_turf(A)
var/area/my_area = get_area(T)
var/message = "A gold slime reaction has occured in [my_area.name]. (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[T.x];Y=[T.y];Z=[T.z]'>JMP</A>)"
message += " (<A HREF='?_src_=vars;Vars=\ref[A]'>VV</A>)"
var/mob/M = get(A, /mob)
if(M)
message += " - Carried By: [M.real_name] ([M.key]) (<A HREF='?_src_=holder;adminplayeropts=\ref[M]'>PP</A>) (<A HREF='?_src_=holder;adminmoreinfo=\ref[M]'>?</A>)"
else
message += " - Last Fingerprint: [(A.fingerprintslast ? A.fingerprintslast : "N/A")]"
message_admins(message, 0, 1)
playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1)
for(var/mob/living/carbon/human/H in viewers(get_turf(holder.my_atom), null))
if(H:eyecheck() <= 0)
flick("e_flash", H.flash)
for(var/i = 1, i <= 5, i++)
var/chosen = pick(critters)
var/mob/living/simple_animal/hostile/C = new chosen
C.faction |= "slimesummon"
C.loc = get_turf(holder.my_atom)
if(prob(50))
for(var/j = 1, j <= rand(1, 3), j++)
step(C, pick(NORTH,SOUTH,EAST,WEST))
chemical_mob_spawn(holder, 1, "Gold Slime")
/datum/chemical_reaction/slimecritlesser
name = "Slime Crit Lesser"
@@ -1018,43 +964,7 @@ datum/chemical_reaction/pestkiller
O.show_message(text("<span class='danger'>The slime extract begins to vibrate violently !</span>"), 1)
spawn(50)
if(holder && holder.my_atom)
var/blocked = list(/mob/living/simple_animal/hostile,
/mob/living/simple_animal/hostile/pirate,
/mob/living/simple_animal/hostile/pirate/ranged,
/mob/living/simple_animal/hostile/russian,
/mob/living/simple_animal/hostile/russian/ranged,
/mob/living/simple_animal/hostile/syndicate,
/mob/living/simple_animal/hostile/syndicate/melee,
/mob/living/simple_animal/hostile/syndicate/melee/space,
/mob/living/simple_animal/hostile/syndicate/ranged,
/mob/living/simple_animal/hostile/syndicate/ranged/space,
/mob/living/simple_animal/hostile/alien/queen/large,
/mob/living/simple_animal/hostile/retaliate,
/mob/living/simple_animal/hostile/retaliate/clown,
/mob/living/simple_animal/hostile/mushroom,
/mob/living/simple_animal/hostile/asteroid,
/mob/living/simple_animal/hostile/asteroid/basilisk,
/mob/living/simple_animal/hostile/asteroid/goldgrub,
/mob/living/simple_animal/hostile/asteroid/goliath,
/mob/living/simple_animal/hostile/asteroid/hivelord,
/mob/living/simple_animal/hostile/asteroid/hivelordbrood,
/mob/living/simple_animal/hostile/carp/holocarp,
/mob/living/simple_animal/hostile/mining_drone
)//exclusion list for things you don't want the reaction to create.
var/list/critters = typesof(/mob/living/simple_animal/hostile) - blocked // list of possible hostile mobs
playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1)
for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null))
if(M:eyecheck() <= 0)
flick("e_flash", M.flash)
var/chosen = pick(critters)
var/mob/living/simple_animal/hostile/C = new chosen
C.faction |= "neutral"
C.loc = get_turf(holder.my_atom)
chemical_mob_spawn(holder, 1, "Lesser Gold Slime")
//Silver
/datum/chemical_reaction/slimebork
@@ -54,7 +54,7 @@
/obj/item/weapon/reagent_containers/hypospray/combat/New()
..()
reagents.add_reagent("ephedrine", 15)
reagents.add_reagent("epinephrine", 15)
reagents.add_reagent("salglu_solution", 15)
obj/item/weapon/reagent_containers/hypospray/combat/nanites
@@ -69,7 +69,7 @@ obj/item/weapon/reagent_containers/hypospray/combat/nanites
//MediPens
/obj/item/weapon/reagent_containers/hypospray/medipen
name = "ephedrine medipen"
name = "epinephrine medipen"
desc = "A rapid and safe way to stabilize patients in critical condition for personnel without advanced medical knowledge."
icon_state = "medipen"
item_state = "medipen"
@@ -77,7 +77,7 @@ obj/item/weapon/reagent_containers/hypospray/combat/nanites
volume = 10
ignore_flags = 1 //so you can medipen through hardsuits
flags = null
var/starting_reagent = "ephedrine"
var/starting_reagent = "epinephrine"
var/starting_amount = 10
/obj/item/weapon/reagent_containers/hypospray/medipen/New()
@@ -136,4 +136,4 @@ obj/item/weapon/reagent_containers/hypospray/combat/nanites
name = "morphine medipen"
desc = "A rapid way to get you out of a tight situation and fast! You'll feel rather drowsy, though."
icon_state = "medipen"
starting_reagent = "morphine"
starting_reagent = "morphine"
@@ -144,10 +144,10 @@
reagents.add_reagent("charcoal", 50)
/obj/item/weapon/reagent_containers/pill/ephedrine
name = "ephedrine pill"
name = "epinephrine pill"
desc = "Used to stabilize patients."
icon_state = "pill17"
/obj/item/weapon/reagent_containers/pill/ephedrine/New()
..()
reagents.add_reagent("ephedrine", 50)
reagents.add_reagent("epinephrine", 50)
@@ -234,11 +234,11 @@
/obj/item/weapon/reagent_containers/syringe/ephedrine
name = "syringe (ephedrine)"
desc = "Contains ephedrine - used to stabilize patients."
name = "syringe (epinephrine)"
desc = "Contains epinephrine - used to stabilize patients."
New()
..()
reagents.add_reagent("ephedrine", 15)
reagents.add_reagent("epinephrine", 15)
mode = SYRINGE_INJECT
update_icon()
@@ -280,20 +280,20 @@
update_icon()
/obj/item/weapon/reagent_containers/syringe/robot/ephedrine
name = "syringe (ephedrine)"
desc = "Contains ephedrine - used to stabilize patients."
name = "syringe (epinephrine)"
desc = "Contains epinephrine - used to stabilize patients."
New()
..()
reagents.add_reagent("ephedrine", 15)
reagents.add_reagent("epinephrine", 15)
mode = SYRINGE_INJECT
update_icon()
/obj/item/weapon/reagent_containers/syringe/robot/mixed
name = "syringe (mixed)"
desc = "Contains ephedrine & charcoal solution."
desc = "Contains epinephrine & charcoal solution."
New()
..()
reagents.add_reagent("ephedrine", 7)
reagents.add_reagent("epinephrine", 7)
reagents.add_reagent("charcoal", 8)
mode = SYRINGE_INJECT
update_icon()