diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm
index abe48b8bc76..5013f51b1ae 100644
--- a/_maps/map_files/generic/z2.dmm
+++ b/_maps/map_files/generic/z2.dmm
@@ -720,7 +720,7 @@
"nR" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/wizard_station)
"nS" = (/turf/unsimulated/wall/fakedoor{name = "Squad 3 Pod"},/area/wizard_station)
"nT" = (/obj/structure/table,/obj/item/weapon/gun/syringe{pixel_x = 1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"nU" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/antitoxin,/obj/item/weapon/reagent_containers/syringe/antitoxin{pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/antitoxin{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"nU" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/charcoal,/obj/item/weapon/reagent_containers/syringe/charcoal{pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/charcoal{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
"nV" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
"nW" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
"nX" = (/obj/structure/table,/obj/item/device/sbeacondrop/bomb{pixel_y = 5},/obj/item/device/sbeacondrop/bomb,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
@@ -834,7 +834,7 @@
"qb" = (/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/holding)
"qc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
"qd" = (/obj/effect/landmark{name = "Holding Facility"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/holding)
-
+
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababadaeaeaeaeaeafaeaeaeaeaeafaeaeaeaeaeafaeaeaeaeaeag
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababahaiaiaiaiaiajakakakakakajalalalalalajamanananaoap
@@ -1092,3 +1092,4 @@ abababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
"}
+
diff --git a/code/modules/reagents/Chemistry-Goon-Medicine.dm b/code/modules/reagents/Chemistry-Goon-Medicine.dm
index f2b5c9dad55..043440e98a8 100644
--- a/code/modules/reagents/Chemistry-Goon-Medicine.dm
+++ b/code/modules/reagents/Chemistry-Goon-Medicine.dm
@@ -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]. (JMP)"
+ var/message = "A [reaction_name] reaction has occured in [my_area.name]. (JMP)"
message += " (VV)"
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++)
diff --git a/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm b/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm
index 5473e50c81f..ec83d354f03 100644
--- a/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm
+++ b/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm
@@ -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)
diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm
index cbe787af8fd..2e5fb825a15 100644
--- a/code/modules/reagents/Chemistry-Holder.dm
+++ b/code/modules/reagents/Chemistry-Holder.dm
@@ -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)
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index 3e656b768f4..ba5d93350c7 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -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("The slime extract begins to vibrate violently !"), 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]. (JMP)"
- message += " (VV)"
-
- var/mob/M = get(A, /mob)
- if(M)
- message += " - Carried By: [M.real_name] ([M.key]) (PP) (?)"
- 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("The slime extract begins to vibrate violently !"), 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
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index 0c15dcf0c0c..5137bd9ebb4 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -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"
diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm
index 08e66173103..8614f1d40f4 100644
--- a/code/modules/reagents/reagent_containers/pill.dm
+++ b/code/modules/reagents/reagent_containers/pill.dm
@@ -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)
\ No newline at end of file
+ reagents.add_reagent("epinephrine", 50)
\ No newline at end of file
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 498158f564d..6a2d6748e7a 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -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()
diff --git a/html/changelogs/Iamgoofball.yml b/html/changelogs/Iamgoofball.yml
new file mode 100644
index 00000000000..ad23e3f4797
--- /dev/null
+++ b/html/changelogs/Iamgoofball.yml
@@ -0,0 +1,18 @@
+author: Iamgoofball (Look Ma, I didn't mispell my name this time!)
+delete-after: true
+changes:
+ - rscadd: "Replaced Star Trek chemistry with Goon Chemistry."
+ - rscadd: "Emergency Medic's Handbook Tip 1: Styptic Powder = BRUTE, Silver Sulfadiazine = BURN, Charcoal = TOX, Salbutamol = OXY"
+ - rscadd: "In recipes that used removed reagents, they have been replaced with their goon chemistry counterpart:"
+ - rscadd: "Hyperzine -> Morphine"
+ - rscadd: "Inaprovaline -> Epinephrine"
+ - rscadd: "Kelotane -> Saline-Glucose Solution"
+ - rscadd: "Bicardine -> Saline-Glucose Solution"
+ - rscadd: "Dermaline -> Saline-Glucose Solution"
+ - rscadd: "Dexalin -> Salbutamol"
+ - rscadd: "Dexalin Plus -> Salbutamol"
+ - rscadd: "Tricordrazine -> Omnizine"
+ - rscadd: "Anti-Toxin -> Charcoal"
+ - rscadd: "Hydroalin -> Penetic Acid"
+ - rscadd: "Arithrazine -> Penetic Acid"
+ - rscadd: "Imidazoline -> Oculine"
\ No newline at end of file