From 2332af1b1307df2647040364aef554b0351737f3 Mon Sep 17 00:00:00 2001 From: Redmoogle Date: Wed, 27 Jul 2022 12:55:55 -0400 Subject: [PATCH 1/4] Add Adrenaline --- .../chemistry/reagents/other_reagents.dm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index bb8335b8680d..c1ffeb4037f0 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2054,4 +2054,18 @@ /datum/reagent/plaguebacteria/reaction_mob(mob/living/L, method = TOUCH, reac_volume, show_message = TRUE, touch_protection = FALSE) if(method == INGEST || method == TOUCH || method == INJECT) - L.ForceContractDisease(new /datum/disease/plague(), FALSE, TRUE) \ No newline at end of file + L.ForceContractDisease(new /datum/disease/plague(), FALSE, TRUE) + +/datum/reagent/adrenaline + name = "Adrenaline" + description = "Powerful chemical that termporarily makes the user immune to slowdowns" + color = "#d1cd9a" + can_synth = FALSE + +/datum/reagent/adrenaline/on_mob_add(mob/living/L) + . = ..() + ADD_TRAIT(L, TRAIT_IGNOREDAMAGESLOWDOWN, type) + +/datum/reagent/adrenaline/on_mob_delete(mob/living/L) + . = ..() + REMOVE_TRAIT(L, TRAIT_IGNOREDAMAGESLOWDOWN, type) From 4cdfb986fb3b104eaf209a7082cca2c0199f1777 Mon Sep 17 00:00:00 2001 From: Redmoogle Date: Wed, 27 Jul 2022 13:04:16 -0400 Subject: [PATCH 2/4] Add heart adrenals --- code/modules/surgery/organs/heart.dm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index 1a72126da17f..65adf73c18fd 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -1,3 +1,5 @@ +#define ADRENALINE_THRESHOLD 15 + /obj/item/organ/heart name = "heart" desc = "I feel bad for the heartless bastard who lost this." @@ -19,6 +21,8 @@ var/beat = BEAT_NONE//is this mob having a heatbeat sound played? if so, which? var/failed = FALSE //to prevent constantly running failing code var/operated = FALSE //whether the heart's been operated on to fix some of its damages + var/lastdamage + COOLDOWN_DECLARE(adrenal_cooldown) /obj/item/organ/heart/Initialize() . = ..() @@ -70,7 +74,10 @@ var/sound/slowbeat = sound('sound/health/slowbeat.ogg', repeat = TRUE) var/sound/fastbeat = sound('sound/health/fastbeat.ogg', repeat = TRUE) var/mob/living/carbon/H = owner - + if(COOLDOWN_FINISHED(src, adrenal_cooldown) && (H.heath+ADRENALINE_THRESHOLD > lasthealth)) + H.reagents.add_reagent(/datum/reagent/adrenaline, 5) + COOLDOWN_START(src, adrenal_cooldown, 10 MINUTES) + lasthealth = H.health if(H.health <= H.crit_threshold && beat != BEAT_SLOW) beat = BEAT_SLOW From 4ae37d06a2b6cdcd5905b71dc0b8c8763cb69c3b Mon Sep 17 00:00:00 2001 From: Redmoogle Date: Wed, 27 Jul 2022 13:09:03 -0400 Subject: [PATCH 3/4] Tweak 1 --- code/modules/reagents/chemistry/reagents/other_reagents.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index c1ffeb4037f0..f14e320395a2 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2060,6 +2060,7 @@ name = "Adrenaline" description = "Powerful chemical that termporarily makes the user immune to slowdowns" color = "#d1cd9a" + metabolization_rate = 1 // Just a flat 1 can_synth = FALSE /datum/reagent/adrenaline/on_mob_add(mob/living/L) From 5fb2e51af278f1836c72e7194429dd8ec75fce1d Mon Sep 17 00:00:00 2001 From: Redmoogle Date: Wed, 27 Jul 2022 15:06:58 -0400 Subject: [PATCH 4/4] Fix 1 --- code/modules/reagents/chemistry/reagents/other_reagents.dm | 1 - code/modules/surgery/organs/heart.dm | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index f14e320395a2..c1ffeb4037f0 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2060,7 +2060,6 @@ name = "Adrenaline" description = "Powerful chemical that termporarily makes the user immune to slowdowns" color = "#d1cd9a" - metabolization_rate = 1 // Just a flat 1 can_synth = FALSE /datum/reagent/adrenaline/on_mob_add(mob/living/L) diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index 65adf73c18fd..62b8d1b6b05c 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -21,7 +21,7 @@ var/beat = BEAT_NONE//is this mob having a heatbeat sound played? if so, which? var/failed = FALSE //to prevent constantly running failing code var/operated = FALSE //whether the heart's been operated on to fix some of its damages - var/lastdamage + var/lasthealth COOLDOWN_DECLARE(adrenal_cooldown) /obj/item/organ/heart/Initialize() @@ -74,7 +74,7 @@ var/sound/slowbeat = sound('sound/health/slowbeat.ogg', repeat = TRUE) var/sound/fastbeat = sound('sound/health/fastbeat.ogg', repeat = TRUE) var/mob/living/carbon/H = owner - if(COOLDOWN_FINISHED(src, adrenal_cooldown) && (H.heath+ADRENALINE_THRESHOLD > lasthealth)) + if(COOLDOWN_FINISHED(src, adrenal_cooldown) && ((H.health+ADRENALINE_THRESHOLD) < lasthealth)) H.reagents.add_reagent(/datum/reagent/adrenaline, 5) COOLDOWN_START(src, adrenal_cooldown, 10 MINUTES) lasthealth = H.health