Files
ee6818f4df Replaces Immunosilence with sepsisillin, nerfs aggressive healing. (#96972)
## About The Pull Request

Attempts to balance aggressive healing by slightly cutting back on its
incredible constant healing (which is still doable because I don't have
the heart to kill virology uses) and removes immunosilence because we
already have a chem that does that. Sepsisillin pills are mapped into
virology to take its place.

## Why It's Good For The Game

With immunodeficiency, an aggressive healing virus with high severity
becomes incredibly powerful. The combination of chills and fever to buff
severity while they cancel each other out along with a second symptom
like nocturnal regen (because you have the stats for it) makes
aggressive healing too powerful in the right situation but too weak for
everyone else.

Aggressive healing was given high stats under the assumption that they
were necessary to resist natural recovery in hosts that aren't
immunodeficient. That was probably a mistake since it also makes it a
buffer symptom stronger than any other, so its stats are heavily tuned
down.

Immunosilence was removed (because it's just sepsisillin) and
sepsisillin pills were mapped into virology in order to let people
without immunodeficiency be able to better benefit from aggressive
healing. Immunosilence was rather ineffective at its job because it
still let viruses regress to their first stage, which disables your
healing. Sepsisillin can also be used for testing viruses on monkeys.
Pills were added to virology because sepsisillin is a pain to make and
you can also use it to test on monkeys. The whole bottle should last one
person 23 minutes and 20 seconds.

Also I removed the no_self_cure trait that is now unused (it was given
by immunosilence) and changed the description of the aggressive healing
severity threshold to clarify that it starts scaling with any amount of
positive severity, not just after the first point.

## Changelog

🆑
del: Removed ImmunoSilence and its trait
balance: Aggressive healing has much lower stats
fix: fixed a few things
map: Added sepsisillin pills to virology
spellcheck: Clarified the description of aggressive healing
/🆑

---------

Co-authored-by: Fghj240 <fakeemail@notrealemail.com>
2026-07-17 00:05:06 +02:00

214 lines
8.3 KiB
Plaintext

/*
* Pill Bottles
*/
/obj/item/storage/pill_bottle
name = "pill bottle"
desc = "It's an airtight container for storing medication."
icon_state = "pill_canister"
icon = 'icons/obj/medical/chemical.dmi'
inhand_icon_state = "contsolid"
worn_icon_state = "nothing"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
pickup_sound = 'sound/items/handling/pill_bottle_pickup.ogg'
drop_sound = 'sound/items/handling/pill_bottle_place.ogg'
storage_type = /datum/storage/pillbottle
custom_materials = list(/datum/material/glass = SMALL_MATERIAL_AMOUNT, /datum/material/plastic = SMALL_MATERIAL_AMOUNT * 0.2)
///Number of pills to spawn
VAR_PROTECTED/spawn_count
///Pill type to spawn
VAR_PROTECTED/obj/item/reagent_containers/applicator/pill/spawn_type
/obj/item/storage/pill_bottle/suicide_act(mob/living/user)
user.visible_message(span_suicide("[user] is trying to get the cap off [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
return TOXLOSS
/obj/item/storage/pill_bottle/PopulateContents()
SHOULD_NOT_OVERRIDE(TRUE)
if(!spawn_count)
return
for(var/i in 1 to spawn_count)
new spawn_type(src)
/obj/item/storage/pill_bottle/multiver
name = "bottle of multiver pills"
desc = "Contains pills used to counter toxins."
spawn_count = 7
spawn_type = /obj/item/reagent_containers/applicator/pill/multiver
/obj/item/storage/pill_bottle/multiver/less
spawn_count = 3
/obj/item/storage/pill_bottle/epinephrine
name = "bottle of epinephrine pills"
desc = "Contains pills used to stabilize patients."
spawn_count = 7
spawn_type = /obj/item/reagent_containers/applicator/pill/epinephrine
/obj/item/storage/pill_bottle/mutadone
name = "bottle of mutadone pills"
desc = "Contains pills used to treat genetic abnormalities."
spawn_count = 7
spawn_type = /obj/item/reagent_containers/applicator/pill/mutadone
/obj/item/storage/pill_bottle/potassiodide
name = "bottle of potassium iodide pills"
desc = "Contains pills used to reduce radiation damage."
spawn_count = 3
spawn_type = /obj/item/reagent_containers/applicator/pill/potassiodide
/obj/item/storage/pill_bottle/probital
name = "bottle of probital pills"
desc = "Contains pills used to treat brute damage. The tag in the bottle states 'Eat before ingesting, may cause fatigue'."
spawn_count = 4
spawn_type = /obj/item/reagent_containers/applicator/pill/probital
/obj/item/storage/pill_bottle/iron
name = "bottle of iron pills"
desc = "Contains pills used to reduce blood loss slowly. The tag in the bottle states 'Only take one each five minutes'."
spawn_count = 4
spawn_type = /obj/item/reagent_containers/applicator/pill/iron
/obj/item/storage/pill_bottle/mannitol
name = "bottle of mannitol pills"
desc = "Contains pills used to treat brain damage."
spawn_count = 7
spawn_type = /obj/item/reagent_containers/applicator/pill/mannitol
//Contains 4 pills instead of 7, and 5u pills instead of 50u (50u pills heal 250 brain damage, 5u pills heal 25)
/obj/item/storage/pill_bottle/mannitol/braintumor
desc = "Contains diluted pills used to treat brain tumor symptoms. Take one when feeling lightheaded."
spawn_count = 4
spawn_type = /obj/item/reagent_containers/applicator/pill/mannitol/braintumor
/obj/item/storage/pill_bottle/stimulant
name = "bottle of stimulant pills"
desc = "Guaranteed to give you that extra burst of energy during a long shift!"
spawn_count = 5
spawn_type = /obj/item/reagent_containers/applicator/pill/stimulant
/obj/item/storage/pill_bottle/sansufentanyl
name = "bottle of experimental medication"
desc = "A bottle of pills developed by Interdyne Pharmaceuticals. They're used to treat Hereditary Manifold Sickness."
spawn_count = 6
spawn_type = /obj/item/reagent_containers/applicator/pill/sansufentanyl
/obj/item/storage/pill_bottle/mining
name = "bottle of patches"
desc = "Contains patches used to treat brute and burn damage."
spawn_count = 3
spawn_type = /obj/item/reagent_containers/applicator/patch/libital
/obj/item/storage/pill_bottle/zoom
name = "suspicious pill bottle"
desc = "The label is pretty old and almost unreadable, you recognize some chemical compounds."
spawn_count = 5
spawn_type = /obj/item/reagent_containers/applicator/pill/zoom
/obj/item/storage/pill_bottle/happy
name = "suspicious pill bottle"
desc = "There is a smiley on the top."
spawn_count = 5
spawn_type = /obj/item/reagent_containers/applicator/pill/happy
/obj/item/storage/pill_bottle/lsd
name = "suspicious pill bottle"
desc = "There is a crude drawing which could be either a mushroom, or a deformed moon."
spawn_count = 5
spawn_type = /obj/item/reagent_containers/applicator/pill/lsd
/obj/item/storage/pill_bottle/aranesp
name = "suspicious pill bottle"
desc = "The label has 'fuck disablers' hastily scrawled in black marker."
spawn_count = 5
spawn_type = /obj/item/reagent_containers/applicator/pill/aranesp
/obj/item/storage/pill_bottle/psicodine
name = "bottle of psicodine pills"
desc = "Contains pills used to treat mental distress and traumas."
spawn_count = 7
spawn_type = /obj/item/reagent_containers/applicator/pill/psicodine
/obj/item/storage/pill_bottle/penacid
name = "bottle of pentetic acid pills"
desc = "Contains pills to expunge radiation and toxins."
spawn_count = 3
spawn_type = /obj/item/reagent_containers/applicator/pill/penacid
/obj/item/storage/pill_bottle/neurine
name = "bottle of neurine pills"
desc = "Contains pills to treat non-severe mental traumas."
spawn_count = 5
spawn_type = /obj/item/reagent_containers/applicator/pill/neurine
/obj/item/storage/pill_bottle/maintenance_pill
name = "bottle of maintenance pills"
desc = "An old pill bottle. It smells musty."
spawn_type = /obj/item/reagent_containers/applicator/pill/maintenance
/obj/item/storage/pill_bottle/maintenance_pill/Initialize(mapload)
if(!spawn_count)
spawn_count = rand(1,7)
. = ..()
var/obj/item/reagent_containers/applicator/pill/P = locate() in src
name = "bottle of [P.name]s"
/obj/item/storage/pill_bottle/maintenance_pill/full
spawn_count = 7
///////////////////////////////////////// Psychologist inventory pillbottles
/obj/item/storage/pill_bottle/happinesspsych
name = "happiness pills"
desc = "Contains pills used as a last resort means to temporarily stabilize depression and anxiety. WARNING: side effects may include slurred speech, drooling, and severe addiction."
spawn_count = 5
spawn_type = /obj/item/reagent_containers/applicator/pill/happinesspsych
/obj/item/storage/pill_bottle/lsdpsych
name = "mindbreaker toxin pills"
desc = "!FOR THERAPEUTIC USE ONLY! Contains pills used to alleviate the symptoms of Reality Dissociation Syndrome."
spawn_count = 5
spawn_type = /obj/item/reagent_containers/applicator/pill/lsdpsych
/obj/item/storage/pill_bottle/paxpsych
name = "pax pills"
desc = "Contains pills used to temporarily pacify patients that are deemed a harm to themselves or others."
spawn_count = 5
spawn_type = /obj/item/reagent_containers/applicator/pill/paxpsych
/obj/item/storage/pill_bottle/naturalbait
name = "freshness jar"
desc = "Full of natural fish bait."
spawn_count = 7
spawn_type = /obj/item/food/bait/natural
/obj/item/storage/pill_bottle/ondansetron
name = "ondansetron patches"
desc = "A bottle containing patches of ondansetron, a drug used to treat nausea and vomiting. May cause drowsiness."
spawn_count = 5
spawn_type = /obj/item/reagent_containers/applicator/patch/ondansetron
/obj/item/storage/pill_bottle/immunodeficiency
name = "bottle of immune boosters"
desc = "Contains immune system boosters, used to manage chronic immunodeficiency."
spawn_count = 5
spawn_type = /obj/item/reagent_containers/applicator/pill/spaceacillin
/obj/item/storage/pill_bottle/prescription_stimulant
name = "bottle of prescribed stimulant pills"
desc = "A bottle of mild and medicinally approved stimulants to help prevent drowsiness. \n\
The list of substances reads: Contains 3u modafinil, 5u synaptizine and 5u glucose. \n\
A warning label reads: <b>Take in moderation</b>."
spawn_count = 7
spawn_type = /obj/item/reagent_containers/applicator/pill/prescription_stimulant
/obj/item/storage/pill_bottle/sepsisillin
name = "bottle of sepsisillin pills"
desc = "Contains immune system suppressants, for assisting virology research. Do not confuse with spaceacillin."
spawn_count = 7
spawn_type = /obj/item/reagent_containers/applicator/pill/sepsisillin