Files
kiwistation/code/datums/diseases/decloning.dm
T
RandolfTheMeh 48fbc073e5 [TMC] Defib Rework, Organ Damage Effects (#45104)
* Brain damage works on organ damage procs, some defib reworks

* Heart and Lung damaging effects and failure, liver damage and failure moved to its organ again

* Cleans up reused global

* Organ damage procs on living and living/carbon

* Changes brain damage procs again

* SR heals all organs on revive, no decay for cybernetic implants, stomach damage and fail effects.

* Damage and failure effects for the appendix, ears, and some touchups on the stomach

* Committing changes so I don't lose them

* Organs now cease decaying in the proper containers

* Organ Fridges

* Reverts map changes

* Adds coronary bypass, lobectomy, trying to deal with organ_stat runtime

* Actually fixes merge conflict

* Smartfridge tweaks

* Think I figured out map merger

* Evidently not

* Still runtiming with glass shards even after I remove the map changes?

* Fixes runtime error with brain_item

* Runtime fix on living/carbon/life

* Cleaning up old PR code

* Brain damage fix, moves defines to actually be in _DEFINES, under DNA since that's where organ slots were

* Wrong math operation used

* Brains in MMIs no longer decay

* Removes redundant variable, and defibs no longer work on heart attacks caused by failing hearts

* Removes misleading comment

* init freezes organs in case organ crates are added, morgue corpses are frozen, removes adjustLiverLoss

* Removes random spaces, scanners check brain damage severity now

* Swaps numbers for defines, fixes brain surgery, rebalances coronary bypass bleed since that was insane last I tested it

* List change

* Runs off of an index instead of using cut

* Brains can be put into organ fridges

* Fixes minor type, hotfix for cloning problem

* Removes pointless check

* Demon hearts no longer decay

* Nightmare hearts no longer decay

* Removes istype() check on process, sets can_decompose instead

* Condenses organ damage report

* Removes organ failure messages

* Less organ damage spam, implements organ threshold messages instead

* Brain damage messages go to owner, not source

* Self-examine shows damaged organs

* Minor code cleanup, adds autodoc comments to the new procs

* Inverts standard organ vars to prevent random organs decaying, adds a few more autodoc comments.

* Merged the booleans into a set of flags

* Healthy living improves organ healing rates

* dunno why this didn't update

* my actions have consequences

* Sets ORGAN_SYNTHETIC for overlooked robotics organs

* Doubles heart decay time

* 3 minute heart decay

* Lobectomy/Coronary_Bypass heal more

* removes hivemind spells from the changes
2019-07-29 02:18:22 -07:00

59 lines
1.7 KiB
Plaintext

/datum/disease/decloning
form = "Virus"
name = "Cellular Degeneration"
max_stages = 5
stage_prob = 1
cure_text = "Rezadone or death."
agent = "Severe Genetic Damage"
viable_mobtypes = list(/mob/living/carbon/human)
desc = @"If left untreated the subject will [REDACTED]!"
severity = "Dangerous!"
cures = list(/datum/reagent/medicine/rezadone)
disease_flags = CAN_CARRY|CAN_RESIST
spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS
process_dead = TRUE
/datum/disease/decloning/stage_act()
..()
if(affected_mob.stat == DEAD)
cure()
return
switch(stage)
if(2)
if(prob(2))
affected_mob.emote("itch")
if(prob(2))
affected_mob.emote("yawn")
if(3)
if(prob(2))
affected_mob.emote("itch")
if(prob(2))
affected_mob.emote("drool")
if(prob(3))
affected_mob.adjustCloneLoss(1)
if(prob(2))
to_chat(affected_mob, "<span class='danger'>Your skin feels strange.</span>")
if(4)
if(prob(2))
affected_mob.emote("itch")
if(prob(2))
affected_mob.emote("drool")
if(prob(5))
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1, 170)
affected_mob.adjustCloneLoss(2)
if(prob(15))
affected_mob.stuttering += 3
if(5)
if(prob(2))
affected_mob.emote("itch")
if(prob(2))
affected_mob.emote("drool")
if(prob(5))
to_chat(affected_mob, "<span class='danger'>Your skin starts degrading!</span>")
if(prob(10))
affected_mob.adjustCloneLoss(5)
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2, 170)
if(affected_mob.cloneloss >= 100)
affected_mob.visible_message("<span class='danger'>[affected_mob] skin turns to dust!</span>", "<span class'boldwarning'>Your skin turns to dust!</span>")
affected_mob.dust()