mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 08:37:43 +01:00
Penthrite rework: now it's actually usable![READY] (#50342)
* penthrite rework and ldx addition * e * Apply suggestions from code review Co-Authored-By: trollbreeder <trollbreeder@users.noreply.github.com> * removes LDX , maybe in the future, not now * you can od on penthrite and recipe is now changed * ldx no longer exists v2 * mk2 * penthrite now requires salbu * Apply suggestions from code review Co-Authored-By: trollbreeder <trollbreeder@users.noreply.github.com> * e * explanation * penthrite requires wittel now Co-authored-by: trollbreeder <trollbreeder@users.noreply.github.com>
This commit is contained in:
co-authored by
trollbreeder
parent
78ca688ebb
commit
ad06bb4075
@@ -432,23 +432,72 @@
|
||||
|
||||
/******ORGAN HEALING******/
|
||||
/*Suffix: -rite*/
|
||||
/*
|
||||
*How this medicine works:
|
||||
*Penthrite if you are not in crit only stabilizes your heart.
|
||||
*As soon as you pass crit threshold it's special effects kick in. Penthrite forces your heart to beat preventing you from entering
|
||||
*soft and hard crit, but there is a catch. During this you will be healed and you will sustain
|
||||
*heart damage that will not imapct you as long as penthrite is in your system.
|
||||
*If you reach the threshold of -60 HP penthrite stops working and you get a heart attack, penthrite is flushed from your system in that very moment,
|
||||
*causing you to loose your soft crit, hard crit and heart stabilization effects.
|
||||
*Overdosing on penthrite also causes a heart failure.
|
||||
*/
|
||||
/datum/reagent/medicine/C2/penthrite
|
||||
name = "Penthrite"
|
||||
description = "An explosive compound used to stabilize heart conditions. May interfere with stomach acid!"
|
||||
description = "An expensive medicine that aids with pumping blood around the body even without a heart, and prevents the heart from slowing down. It reacts violently with other emergency medication."
|
||||
color = "#F5F5F5"
|
||||
self_consuming = TRUE
|
||||
overdose_threshold = 50
|
||||
|
||||
/datum/reagent/medicine/C2/penthrite/on_mob_add(mob/living/M)
|
||||
. = ..()
|
||||
to_chat(M,"<span class='notice'>Your heart begins to beat with great force!")
|
||||
ADD_TRAIT(M, TRAIT_STABLEHEART, type)
|
||||
ADD_TRAIT(M, TRAIT_NOHARDCRIT,type)
|
||||
ADD_TRAIT(M, TRAIT_NOSOFTCRIT,type)
|
||||
M.crit_threshold = M.crit_threshold + HEALTH_THRESHOLD_FULLCRIT*2 //your heart is still pumping!
|
||||
|
||||
/datum/reagent/medicine/C2/penthrite/on_mob_metabolize(mob/living/M)
|
||||
|
||||
/datum/reagent/medicine/C2/penthrite/on_mob_life(mob/living/carbon/human/H)
|
||||
H.adjustOrganLoss(ORGAN_SLOT_STOMACH,0.25)
|
||||
if(H.health <= HEALTH_THRESHOLD_CRIT && H.health > H.crit_threshold) //we cannot save someone above our raised crit threshold.
|
||||
|
||||
H.adjustToxLoss(-2 * REM, 0)
|
||||
H.adjustBruteLoss(-2 * REM, 0)
|
||||
H.adjustFireLoss(-2 * REM, 0)
|
||||
H.adjustOxyLoss(-6 * REM, 0)
|
||||
|
||||
H.losebreath = 0
|
||||
|
||||
H.adjustOrganLoss(ORGAN_SLOT_HEART,max(1,volume/10)) // your heart is barely keeping up!
|
||||
|
||||
H.Jitter(rand(0,2))
|
||||
H.Dizzy(rand(0,2))
|
||||
|
||||
|
||||
if(prob(33))
|
||||
to_chat(H,"<span class='danger'>Your body is trying to give up, but your heart is still beating!</span>")
|
||||
|
||||
if(H.health <= H.crit_threshold) //certain death above this threshold
|
||||
REMOVE_TRAIT(H, TRAIT_STABLEHEART, type) //we have to remove the stable heart before we give him heart attack
|
||||
to_chat(H,"<span class='danger'>You feel something rupturing inside your chest!</span>")
|
||||
H.emote("scream")
|
||||
H.set_heartattack(TRUE)
|
||||
volume = 0
|
||||
. = ..()
|
||||
M.adjustOrganLoss(ORGAN_SLOT_STOMACH,0.5 * REM)
|
||||
|
||||
/datum/reagent/medicine/C2/penthrite/on_mob_end_metabolize(mob/living/M)
|
||||
M.crit_threshold = M.crit_threshold - HEALTH_THRESHOLD_FULLCRIT*2 //your heart is still pumping!
|
||||
REMOVE_TRAIT(M, TRAIT_STABLEHEART, type)
|
||||
REMOVE_TRAIT(M, TRAIT_NOHARDCRIT,type)
|
||||
REMOVE_TRAIT(M, TRAIT_NOSOFTCRIT,type)
|
||||
. = ..()
|
||||
|
||||
/datum/reagent/medicine/C2/penthrite/overdose_process(mob/living/carbon/human/H)
|
||||
REMOVE_TRAIT(H, TRAIT_STABLEHEART, type)
|
||||
H.adjustStaminaLoss(10)
|
||||
H.adjustOrganLoss(ORGAN_SLOT_HEART,10)
|
||||
H.set_heartattack(TRUE)
|
||||
|
||||
|
||||
/******NICHE******/
|
||||
//todo
|
||||
|
||||
@@ -61,5 +61,5 @@
|
||||
required_reagents = list(/datum/reagent/sulfur = 1, /datum/reagent/fluorine = 1, /datum/reagent/toxin = 1, /datum/reagent/nitrous_oxide = 2)
|
||||
|
||||
/datum/chemical_reaction/penthrite
|
||||
results = list(/datum/reagent/medicine/C2/penthrite = 4)
|
||||
required_reagents = list(/datum/reagent/pentaerythritol = 4, /datum/reagent/acetone = 1, /datum/reagent/toxin/acid/nitracid = 1)
|
||||
results = list(/datum/reagent/medicine/C2/penthrite = 3)
|
||||
required_reagents = list(/datum/reagent/pentaerythritol = 1, /datum/reagent/acetone = 1, /datum/reagent/toxin/acid/nitracid = 1 , /datum/reagent/wittel = 1)
|
||||
|
||||
@@ -169,3 +169,4 @@
|
||||
var/location = get_turf(holder.my_atom)
|
||||
for(var/i = 1, i <= created_volume, i++)
|
||||
new /obj/item/stack/medical/mesh/advanced(location)
|
||||
|
||||
|
||||
@@ -115,11 +115,15 @@
|
||||
required_temp = 550 + rand(-49,49)
|
||||
|
||||
|
||||
/datum/chemical_reaction/reagent_explosion/penthrite_explosion
|
||||
required_reagents = list(/datum/reagent/medicine/C2/penthrite = 1, /datum/reagent/phenol = 1, /datum/reagent/acetone_oxide = 1)
|
||||
required_temp = 315
|
||||
/datum/chemical_reaction/reagent_explosion/penthrite_explosion_epinephrine
|
||||
required_reagents = list(/datum/reagent/medicine/C2/penthrite = 1, /datum/reagent/medicine/epinephrine = 1)
|
||||
strengthdiv = 5
|
||||
|
||||
/datum/chemical_reaction/reagent_explosion/penthrite_explosion_atropine
|
||||
required_reagents = list(/datum/reagent/medicine/C2/penthrite = 1, /datum/reagent/medicine/atropine = 1)
|
||||
strengthdiv = 5
|
||||
modifier = 5
|
||||
|
||||
/datum/chemical_reaction/reagent_explosion/potassium_explosion
|
||||
required_reagents = list(/datum/reagent/water = 1, /datum/reagent/potassium = 1)
|
||||
strengthdiv = 20
|
||||
|
||||
Reference in New Issue
Block a user