mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
Removes shitty "status" variable on organs, makes them use organ_flags instead (#76350)
## About The Pull Request Title. ## Why It's Good For The Game Seriously this shit pisses me off, why are ORGAN_SYNTHETIC and ORGAN_ROBOTIC two different things? ## Changelog not applicable unless i fucked up --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
This commit is contained in:
co-authored by
Time-Green
parent
b090e404dd
commit
82cf9ea499
@@ -80,6 +80,9 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent())
|
||||
var/burning_volume = 0.5
|
||||
///Assoc list with key type of addiction this reagent feeds, and value amount of addiction points added per unit of reagent metabolzied (which means * REAGENTS_METABOLISM every life())
|
||||
var/list/addiction_types = null
|
||||
/// The affected organ_flags, if the reagent damages/heals organ damage of an affected mob.
|
||||
/// See "Organ defines for carbon mobs" in /code/_DEFINES/surgery.dm
|
||||
var/affected_organ_flags = ORGAN_ORGANIC
|
||||
/// The affected bodytype, if the reagent damages/heals bodyparts (Brute/Fire) of an affected mob.
|
||||
/// See "Bodytype defines" in /code/_DEFINES/mobs.dm
|
||||
var/affected_bodytype = BODYTYPE_ORGANIC
|
||||
@@ -89,9 +92,6 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent())
|
||||
/// The affected respiration type, if the reagent damages/heals oxygen damage of an affected mob.
|
||||
/// See "Mob bio-types flags" in /code/_DEFINES/mobs.dm
|
||||
var/affected_respiration_type = ALL
|
||||
/// The affected organtype, if the reagent damages/heals organ damage of an affected mob.
|
||||
/// See "Organ defines for carbon mobs" in /code/_DEFINES/mobs.dm
|
||||
var/affected_organtype = ORGAN_ORGANIC
|
||||
|
||||
///The default reagent container for the reagent, used for icon generation
|
||||
var/obj/item/reagent_containers/default_container = /obj/item/reagent_containers/cup/bottle
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
|
||||
/datum/reagent/medicine/c2/libital/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 0.3 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 0.3 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
affected_mob.adjustBruteLoss(-3 * REM * normalise_creation_purity() * seconds_per_tick, required_bodytype = affected_bodytype)
|
||||
..()
|
||||
return TRUE
|
||||
@@ -164,7 +164,7 @@
|
||||
|
||||
/datum/reagent/medicine/c2/lenturi/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
|
||||
affected_mob.adjustFireLoss(-3 * REM * normalise_creation_purity() * seconds_per_tick, required_bodytype = affected_bodytype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_STOMACH, 0.4 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_STOMACH, 0.4 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
|
||||
/datum/reagent/medicine/c2/aiuri/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
|
||||
affected_mob.adjustFireLoss(-2 * REM * normalise_creation_purity() * seconds_per_tick, required_bodytype = affected_bodytype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_EYES, 0.25 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_EYES, 0.25 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
@@ -331,7 +331,7 @@
|
||||
|
||||
//you're yes and... oh no!
|
||||
healypoints = round(healypoints, 0.1)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_HEART, healypoints / 5, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_HEART, healypoints / 5, required_organ_flag = affected_organ_flags)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
@@ -352,7 +352,7 @@
|
||||
if(creation_purity >= 1) //Perfectly pure multivers gives a bonus of 2!
|
||||
medibonus += 1
|
||||
affected_mob.adjustToxLoss(-0.5 * min(medibonus, 3 * normalise_creation_purity()) * REM * seconds_per_tick, required_biotype = affected_biotype) //not great at healing but if you have nothing else it will work
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LUNGS, 0.5 * REM * seconds_per_tick, required_organtype = affected_organtype) //kills at 40u
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LUNGS, 0.5 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags) //kills at 40u
|
||||
for(var/r2 in affected_mob.reagents.reagent_list)
|
||||
var/datum/reagent/the_reagent2 = r2
|
||||
if(the_reagent2 == src)
|
||||
@@ -396,7 +396,7 @@
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/c2/syriniver/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 0.8 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 0.8 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
affected_mob.adjustToxLoss(-1 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype)
|
||||
for(var/datum/reagent/R in affected_mob.reagents.reagent_list)
|
||||
if(issyrinormusc(R))
|
||||
@@ -407,7 +407,7 @@
|
||||
. = TRUE
|
||||
|
||||
/datum/reagent/medicine/c2/syriniver/overdose_process(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 1.5 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 1.5 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
affected_mob.adjust_disgust(3 * REM * seconds_per_tick)
|
||||
affected_mob.reagents.add_reagent(/datum/reagent/medicine/c2/musiver, 0.225 * REM * seconds_per_tick)
|
||||
..()
|
||||
@@ -425,7 +425,7 @@
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
|
||||
/datum/reagent/medicine/c2/musiver/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 0.1 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 0.1 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
affected_mob.adjustToxLoss(-1 * REM * seconds_per_tick * normalise_creation_purity(), FALSE, required_biotype = affected_biotype)
|
||||
for(var/datum/reagent/R in affected_mob.reagents.reagent_list)
|
||||
if(issyrinormusc(R))
|
||||
@@ -445,7 +445,7 @@
|
||||
return ..()
|
||||
|
||||
/datum/reagent/medicine/c2/musiver/overdose_process(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 1.5 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 1.5 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
affected_mob.adjust_disgust(3 * REM * seconds_per_tick)
|
||||
..()
|
||||
. = TRUE
|
||||
@@ -523,7 +523,7 @@
|
||||
user.add_traits(subject_traits, type)
|
||||
|
||||
/datum/reagent/medicine/c2/penthrite/on_mob_life(mob/living/carbon/human/H, seconds_per_tick, times_fired)
|
||||
H.adjustOrganLoss(ORGAN_SLOT_STOMACH, 0.25 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
H.adjustOrganLoss(ORGAN_SLOT_STOMACH, 0.25 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
if(H.health <= HEALTH_THRESHOLD_CRIT && H.health > (H.crit_threshold + HEALTH_THRESHOLD_FULLCRIT * (2 * normalise_creation_purity()))) //we cannot save someone below our lowered crit threshold.
|
||||
|
||||
H.adjustToxLoss(-2 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype)
|
||||
@@ -533,7 +533,7 @@
|
||||
|
||||
H.losebreath = 0
|
||||
|
||||
H.adjustOrganLoss(ORGAN_SLOT_HEART, max(volume/10, 1) * REM * seconds_per_tick, required_organtype = affected_organtype) // your heart is barely keeping up!
|
||||
H.adjustOrganLoss(ORGAN_SLOT_HEART, max(volume/10, 1) * REM * seconds_per_tick, required_organ_flag = affected_organ_flags) // your heart is barely keeping up!
|
||||
|
||||
H.set_jitter_if_lower(rand(0 SECONDS, 4 SECONDS) * REM * seconds_per_tick)
|
||||
H.set_dizzy_if_lower(rand(0 SECONDS, 4 SECONDS) * REM * seconds_per_tick)
|
||||
@@ -557,7 +557,7 @@
|
||||
/datum/reagent/medicine/c2/penthrite/overdose_process(mob/living/carbon/human/H, seconds_per_tick, times_fired)
|
||||
REMOVE_TRAIT(H, TRAIT_STABLEHEART, type)
|
||||
H.adjustStaminaLoss(10 * REM * seconds_per_tick, required_biotype = affected_biotype)
|
||||
H.adjustOrganLoss(ORGAN_SLOT_HEART, 10 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
H.adjustOrganLoss(ORGAN_SLOT_HEART, 10 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
H.set_heartattack(TRUE)
|
||||
|
||||
|
||||
|
||||
@@ -1373,7 +1373,7 @@
|
||||
/datum/reagent/consumable/ethanol/neurotoxin/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired)
|
||||
drinker.set_drugginess(100 SECONDS * REM * seconds_per_tick)
|
||||
drinker.adjust_dizzy(4 SECONDS * REM * seconds_per_tick)
|
||||
drinker.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1 * REM * seconds_per_tick, 150, required_organtype = affected_organtype)
|
||||
drinker.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1 * REM * seconds_per_tick, 150, required_organ_flag = affected_organ_flags)
|
||||
if(SPT_PROB(10, seconds_per_tick))
|
||||
drinker.adjustStaminaLoss(10, required_biotype = affected_biotype)
|
||||
drinker.drop_all_held_items()
|
||||
@@ -1384,7 +1384,7 @@
|
||||
ADD_TRAIT(drinker, paralyzed_limb, type)
|
||||
drinker.adjustStaminaLoss(10, required_biotype = affected_biotype)
|
||||
if(current_cycle > 30)
|
||||
drinker.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
drinker.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
if(current_cycle > 50 && SPT_PROB(7.5, seconds_per_tick))
|
||||
if(!drinker.undergoing_cardiac_arrest() && drinker.can_heartattack())
|
||||
drinker.set_heartattack(TRUE)
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
..()
|
||||
|
||||
/datum/reagent/drug/krokodil/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.25 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.25 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
affected_mob.adjustToxLoss(0.25 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype)
|
||||
..()
|
||||
. = TRUE
|
||||
@@ -178,7 +178,7 @@
|
||||
affected_mob.AdjustImmobilized(-40 * REM * seconds_per_tick)
|
||||
affected_mob.adjustStaminaLoss(-2 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype)
|
||||
affected_mob.set_jitter_if_lower(4 SECONDS * REM * seconds_per_tick)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(1, 4) * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(1, 4) * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
if(SPT_PROB(2.5, seconds_per_tick))
|
||||
affected_mob.emote(pick("twitch", "shiver"))
|
||||
..()
|
||||
@@ -195,7 +195,7 @@
|
||||
affected_mob.drop_all_held_items()
|
||||
..()
|
||||
affected_mob.adjustToxLoss(1 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, (rand(5, 10) / 10) * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, (rand(5, 10) / 10) * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
. = TRUE
|
||||
|
||||
/datum/reagent/drug/bath_salts
|
||||
@@ -230,7 +230,7 @@
|
||||
to_chat(affected_mob, span_notice("[high_message]"))
|
||||
affected_mob.add_mood_event("salted", /datum/mood_event/stimulant_heavy, name)
|
||||
affected_mob.adjustStaminaLoss(-5 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 4 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 4 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
affected_mob.adjust_hallucinations(10 SECONDS * REM * seconds_per_tick)
|
||||
if(!HAS_TRAIT(affected_mob, TRAIT_IMMOBILIZED) && !ismovable(affected_mob.loc))
|
||||
step(affected_mob, pick(GLOB.cardinals))
|
||||
@@ -293,7 +293,7 @@
|
||||
affected_mob.remove_status_effect(/datum/status_effect/jitter)
|
||||
affected_mob.remove_status_effect(/datum/status_effect/confusion)
|
||||
affected_mob.disgust = 0
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.2 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.2 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
..()
|
||||
. = TRUE
|
||||
|
||||
@@ -310,7 +310,7 @@
|
||||
if(3)
|
||||
affected_mob.emote("frown")
|
||||
affected_mob.add_mood_event("happiness_drug", /datum/mood_event/happiness_drug_bad_od)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.5 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.5 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
..()
|
||||
. = TRUE
|
||||
|
||||
@@ -385,7 +385,7 @@
|
||||
|
||||
/datum/reagent/drug/maint/powder/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
|
||||
. = ..()
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.1 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.1 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
// 5x if you want to OD, you can potentially go higher, but good luck managing the brain damage.
|
||||
var/amt = max(round(volume/3, 0.1), 1)
|
||||
affected_mob?.mind?.experience_multiplier_reasons |= type
|
||||
@@ -398,7 +398,7 @@
|
||||
|
||||
/datum/reagent/drug/maint/powder/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired)
|
||||
. = ..()
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 6 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 6 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
|
||||
/datum/reagent/drug/maint/sludge
|
||||
name = "Maintenance Sludge"
|
||||
@@ -451,13 +451,13 @@
|
||||
affected_mob.AdjustUnconscious(-10 * REM * seconds_per_tick)
|
||||
affected_mob.AdjustParalyzed(-10 * REM * seconds_per_tick)
|
||||
affected_mob.AdjustImmobilized(-10 * REM * seconds_per_tick)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 1.5 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 1.5 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
|
||||
/datum/reagent/drug/maint/tar/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired)
|
||||
. = ..()
|
||||
|
||||
affected_mob.adjustToxLoss(5 * REM * seconds_per_tick, required_biotype = affected_biotype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 3 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 3 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
|
||||
/datum/reagent/drug/mushroomhallucinogen
|
||||
name = "Mushroom Hallucinogen"
|
||||
@@ -598,7 +598,7 @@
|
||||
/datum/reagent/drug/blastoff/on_mob_life(mob/living/carbon/dancer, seconds_per_tick, times_fired)
|
||||
. = ..()
|
||||
|
||||
dancer.adjustOrganLoss(ORGAN_SLOT_LUNGS, 0.3 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
dancer.adjustOrganLoss(ORGAN_SLOT_LUNGS, 0.3 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
dancer.AdjustKnockdown(-20)
|
||||
|
||||
if(SPT_PROB(BLASTOFF_DANCE_MOVE_CHANCE_PER_UNIT * volume, seconds_per_tick))
|
||||
@@ -606,7 +606,7 @@
|
||||
|
||||
/datum/reagent/drug/blastoff/overdose_process(mob/living/dancer, seconds_per_tick, times_fired)
|
||||
. = ..()
|
||||
dancer.adjustOrganLoss(ORGAN_SLOT_LUNGS, 0.3 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
dancer.adjustOrganLoss(ORGAN_SLOT_LUNGS, 0.3 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
|
||||
if(SPT_PROB(BLASTOFF_DANCE_MOVE_CHANCE_PER_UNIT * volume, seconds_per_tick))
|
||||
dancer.emote("spin")
|
||||
@@ -669,7 +669,7 @@
|
||||
|
||||
/datum/reagent/drug/saturnx/on_mob_life(mob/living/carbon/invisible_man, seconds_per_tick, times_fired)
|
||||
. = ..()
|
||||
invisible_man.adjustOrganLoss(ORGAN_SLOT_LIVER, 0.3 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
invisible_man.adjustOrganLoss(ORGAN_SLOT_LIVER, 0.3 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
|
||||
/datum/reagent/drug/saturnx/on_mob_metabolize(mob/living/invisible_man)
|
||||
. = ..()
|
||||
@@ -745,7 +745,7 @@
|
||||
invisible_man.emote("giggle")
|
||||
if(SPT_PROB(5, seconds_per_tick))
|
||||
invisible_man.emote("laugh")
|
||||
invisible_man.adjustOrganLoss(ORGAN_SLOT_LIVER, 0.4 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
invisible_man.adjustOrganLoss(ORGAN_SLOT_LIVER, 0.4 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
|
||||
/datum/reagent/drug/saturnx/stable
|
||||
name = "Stabilized Saturn-X"
|
||||
@@ -787,7 +787,7 @@
|
||||
/datum/reagent/drug/kronkaine/on_mob_life(mob/living/carbon/kronkaine_fiend, seconds_per_tick, times_fired)
|
||||
. = ..()
|
||||
kronkaine_fiend.add_mood_event("tweaking", /datum/mood_event/stimulant_medium, name)
|
||||
kronkaine_fiend.adjustOrganLoss(ORGAN_SLOT_HEART, 0.4 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
kronkaine_fiend.adjustOrganLoss(ORGAN_SLOT_HEART, 0.4 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
kronkaine_fiend.set_jitter_if_lower(20 SECONDS * REM * seconds_per_tick)
|
||||
kronkaine_fiend.AdjustSleeping(-20 * REM * seconds_per_tick)
|
||||
kronkaine_fiend.adjust_drowsiness(-10 SECONDS * REM * seconds_per_tick)
|
||||
@@ -800,7 +800,7 @@
|
||||
|
||||
/datum/reagent/drug/kronkaine/overdose_process(mob/living/kronkaine_fiend, seconds_per_tick, times_fired)
|
||||
. = ..()
|
||||
kronkaine_fiend.adjustOrganLoss(ORGAN_SLOT_HEART, 1 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
kronkaine_fiend.adjustOrganLoss(ORGAN_SLOT_HEART, 1 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
kronkaine_fiend.set_jitter_if_lower(20 SECONDS * REM * seconds_per_tick)
|
||||
if(SPT_PROB(10, seconds_per_tick))
|
||||
to_chat(kronkaine_fiend, span_danger(pick("You feel like your heart is going to explode!", "Your ears are ringing!", "You sweat like a pig!", "You clench your jaw and grind your teeth.", "You feel prickles of pain in your chest.")))
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
var/liver_damage = 0.5
|
||||
|
||||
/datum/reagent/impurity/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
|
||||
var/obj/item/organ/internal/liver/L = affected_mob.get_organ_slot(ORGAN_SLOT_LIVER)
|
||||
if(!L)//Though, lets be safe
|
||||
var/obj/item/organ/internal/liver/liver = affected_mob.get_organ_slot(ORGAN_SLOT_LIVER)
|
||||
if(!liver)//Though, lets be safe
|
||||
affected_mob.adjustToxLoss(1 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype)//Incase of no liver!
|
||||
return ..()
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, liver_damage * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, liver_damage * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
return ..()
|
||||
|
||||
//Basically just so people don't forget to adjust metabolization_rate
|
||||
|
||||
+3
-3
@@ -297,7 +297,7 @@ Basically, we fill the time between now and 2s from now with hands based off the
|
||||
|
||||
/datum/reagent/inverse/hercuri/overdose_process(mob/living/carbon/owner, seconds_per_tick, times_fired)
|
||||
. = ..()
|
||||
owner.adjustOrganLoss(ORGAN_SLOT_LIVER, 2 * REM * seconds_per_tick, required_organtype = affected_organtype) //Makes it so you can't abuse it with pyroxadone very easily (liver dies from 25u unless it's fully upgraded)
|
||||
owner.adjustOrganLoss(ORGAN_SLOT_LIVER, 2 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags) //Makes it so you can't abuse it with pyroxadone very easily (liver dies from 25u unless it's fully upgraded)
|
||||
var/heating = 10 * creation_purity * REM * seconds_per_tick * TEMPERATURE_DAMAGE_COEFFICIENT
|
||||
owner.adjust_bodytemperature(heating) //hot hot
|
||||
if(ishuman(owner))
|
||||
@@ -491,7 +491,7 @@ Basically, we fill the time between now and 2s from now with hands based off the
|
||||
//Heals toxins if it's the only thing present - kinda the oposite of multiver! Maybe that's why it's inverse!
|
||||
/datum/reagent/inverse/healing/monover/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
|
||||
if(length(affected_mob.reagents.reagent_list) > 1)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LUNGS, 0.5 * seconds_per_tick, required_organtype = affected_organtype) //Hey! It's everyone's favourite drawback from multiver!
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LUNGS, 0.5 * seconds_per_tick, required_organ_flag = affected_organ_flags) //Hey! It's everyone's favourite drawback from multiver!
|
||||
return ..()
|
||||
affected_mob.adjustToxLoss(-2 * REM * creation_purity * seconds_per_tick, FALSE, required_biotype = affected_biotype)
|
||||
..()
|
||||
@@ -552,7 +552,7 @@ Basically, we fill the time between now and 2s from now with hands based off the
|
||||
for(var/datum/wound/iter_wound as anything in affected_mob.all_wounds)
|
||||
iter_wound.adjust_blood_flow(1-creation_purity)
|
||||
affected_mob.adjustBruteLoss(5 * (1-creation_purity) * seconds_per_tick, required_bodytype = affected_bodytype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_HEART, (1 + (1-creation_purity)) * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_HEART, (1 + (1-creation_purity)) * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
if(affected_mob.health < HEALTH_THRESHOLD_CRIT)
|
||||
affected_mob.add_movespeed_modifier(/datum/movespeed_modifier/reagent/nooartrium)
|
||||
if(affected_mob.health < HEALTH_THRESHOLD_FULLCRIT)
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
/datum/reagent/impurity/methanol/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
|
||||
var/obj/item/organ/internal/eyes/eyes = affected_mob.get_organ_slot(ORGAN_SLOT_EYES)
|
||||
eyes?.apply_organ_damage(0.5 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
eyes?.apply_organ_damage(0.5 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
return ..()
|
||||
|
||||
//Chloral Hydrate - Impure Version
|
||||
|
||||
@@ -720,7 +720,7 @@
|
||||
var/obj/item/organ/internal/eyes/eyes = affected_mob.get_organ_slot(ORGAN_SLOT_EYES)
|
||||
if(eyes)
|
||||
// Healing eye damage will cure nearsightedness and blindness from ... eye damage
|
||||
eyes.apply_organ_damage(-2 * REM * seconds_per_tick * normalise_creation_purity(), required_organtype = affected_organtype)
|
||||
eyes.apply_organ_damage(-2 * REM * seconds_per_tick * normalise_creation_purity(), required_organ_flag = affected_organ_flags)
|
||||
// If our eyes are seriously damaged, we have a probability of causing eye blur while healing depending on purity
|
||||
if(eyes.damaged && SPT_PROB(16 - min(normalized_purity * 6, 12), seconds_per_tick))
|
||||
// While healing, gives some eye blur
|
||||
@@ -990,7 +990,7 @@
|
||||
inverse_chem_val = 0.45
|
||||
|
||||
/datum/reagent/medicine/mannitol/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2 * REM * seconds_per_tick * normalise_creation_purity(), required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2 * REM * seconds_per_tick * normalise_creation_purity(), required_organ_flag = affected_organ_flags)
|
||||
..()
|
||||
|
||||
//Having mannitol in you will pause the brain damage from brain tumor (so it heals an even 2 brain damage instead of 1.8)
|
||||
@@ -1056,7 +1056,7 @@
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/neurine/on_mob_dead(mob/living/carbon/affected_mob, seconds_per_tick)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1 * REM * seconds_per_tick * normalise_creation_purity(), required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1 * REM * seconds_per_tick * normalise_creation_purity(), required_organ_flag = affected_organ_flags)
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/mutadone
|
||||
@@ -1242,7 +1242,7 @@
|
||||
affected_mob.adjustToxLoss(-0.5 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype)
|
||||
affected_mob.adjustCloneLoss(-0.1 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype)
|
||||
affected_mob.adjustStaminaLoss(-0.5 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1 * REM * seconds_per_tick, 150, affected_organtype) //This does, after all, come from ambrosia, and the most powerful ambrosia in existence, at that!
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1 * REM * seconds_per_tick, 150, affected_organ_flags) //This does, after all, come from ambrosia, and the most powerful ambrosia in existence, at that!
|
||||
else
|
||||
affected_mob.adjustBruteLoss(-5 * REM * seconds_per_tick, FALSE, required_bodytype = affected_bodytype) //slow to start, but very quick healing once it gets going
|
||||
affected_mob.adjustFireLoss(-5 * REM * seconds_per_tick, FALSE, required_bodytype = affected_bodytype)
|
||||
@@ -1251,7 +1251,7 @@
|
||||
affected_mob.adjustCloneLoss(-1 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype)
|
||||
affected_mob.adjustStaminaLoss(-3 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype)
|
||||
affected_mob.adjust_jitter_up_to(6 SECONDS * REM * seconds_per_tick, 1 MINUTES)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2 * REM * seconds_per_tick, 150, affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2 * REM * seconds_per_tick, 150, affected_organ_flags)
|
||||
if(SPT_PROB(5, seconds_per_tick))
|
||||
affected_mob.say(return_hippie_line(), forced = /datum/reagent/medicine/earthsblood)
|
||||
affected_mob.adjust_drugginess_up_to(20 SECONDS * REM * seconds_per_tick, 30 SECONDS * REM * seconds_per_tick)
|
||||
@@ -1313,7 +1313,7 @@
|
||||
affected_mob.adjust_hallucinations(-10 SECONDS * REM * seconds_per_tick)
|
||||
|
||||
if(SPT_PROB(10, seconds_per_tick))
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1, 50, affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1, 50, affected_organ_flags)
|
||||
affected_mob.adjustStaminaLoss(2.5 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype)
|
||||
..()
|
||||
return TRUE
|
||||
@@ -1543,7 +1543,7 @@
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
|
||||
/datum/reagent/medicine/silibinin/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, -2 * REM * seconds_per_tick, required_organtype = affected_organtype)//Add a chance to cure liver trauma once implemented.
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, -2 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)//Add a chance to cure liver trauma once implemented.
|
||||
..()
|
||||
. = TRUE
|
||||
|
||||
@@ -1559,7 +1559,7 @@
|
||||
|
||||
/datum/reagent/medicine/polypyr/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) //I wanted a collection of small positive effects, this is as hard to obtain as coniine after all.
|
||||
. = ..()
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LUNGS, -0.25 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LUNGS, -0.25 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
affected_mob.adjustBruteLoss(-0.35 * REM * seconds_per_tick, FALSE, required_bodytype = affected_bodytype)
|
||||
return TRUE
|
||||
|
||||
@@ -1572,7 +1572,7 @@
|
||||
exposed_human.update_body_parts()
|
||||
|
||||
/datum/reagent/medicine/polypyr/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LUNGS, 0.5 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LUNGS, 0.5 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
..()
|
||||
. = TRUE
|
||||
|
||||
@@ -1594,7 +1594,7 @@
|
||||
|
||||
/datum/reagent/medicine/granibitaluri/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired)
|
||||
. = TRUE
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 0.2 * REM * seconds_per_tick, required_organtype = affected_organtype)
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_LIVER, 0.2 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)
|
||||
affected_mob.adjustToxLoss(0.2 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype) //Only really deadly if you eat over 100u
|
||||
..()
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
to_chat(user, span_warning("The limb is missing!"))
|
||||
return
|
||||
if(!IS_ORGANIC_LIMB(affecting))
|
||||
to_chat(user, span_notice("Medicine won't work on a robotic limb!"))
|
||||
to_chat(user, span_notice("Medicine won't work on an inorganic limb!"))
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user