mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-09 16:14:13 +00:00
Conflicts: code/ATMOSPHERICS/pipe/pipe_dispenser.dm code/game/machinery/computer/HolodeckControl.dm code/game/machinery/embedded_controller/embedded_controller_base.dm code/modules/mining/money_bag.dm code/modules/mob/living/carbon/carbon.dm code/modules/mob/living/silicon/mommi/mommi.dm code/modules/mob/living/simple_animal/friendly/farm_animals.dm code/modules/research/destructive_analyzer.dm code/modules/research/rdconsole.dm code/modules/research/xenoarchaeology/machinery/analysis_base.dm code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm code/modules/research/xenoarchaeology/tools/ano_device_battery.dm
58 lines
1.9 KiB
Plaintext
58 lines
1.9 KiB
Plaintext
/datum/disease/appendicitis
|
|
form = "Condition"
|
|
name = "Appendicitis"
|
|
max_stages = 4
|
|
spread = "Acute"
|
|
cure = "Surgery"
|
|
agent = "Appendix"
|
|
affected_species = list("Human")
|
|
permeability_mod = 1
|
|
contagious_period = 9001 //slightly hacky, but hey! whatever works, right?
|
|
desc = "If left untreated the subject will become very weak, and may vomit often."
|
|
severity = "Medium"
|
|
longevity = 1000
|
|
hidden = list(0, 1)
|
|
stage_minimum_age = 160 // at least 200 life ticks per stage
|
|
|
|
/datum/disease/appendicitis/stage_act()
|
|
..()
|
|
|
|
if(istype(affected_mob,/mob/living/carbon/human))
|
|
var/mob/living/carbon/human/H = affected_mob
|
|
if(!H.internal_organs_by_name["appendix"])
|
|
src.cure()
|
|
|
|
if(stage == 1)
|
|
if(affected_mob.op_stage.appendix == 2.0)
|
|
// appendix is removed, can't get infected again
|
|
src.cure()
|
|
if(prob(5))
|
|
affected_mob << "<span class='warning'>You feel a stinging pain in your abdomen!</span>"
|
|
affected_mob.emote("me",1,"winces slightly.")
|
|
if(stage > 1)
|
|
if(prob(3))
|
|
affected_mob << "<span class='warning'>You feel a stabbing pain in your abdomen!</span>"
|
|
affected_mob.emote("me",1,"winces painfully.")
|
|
affected_mob.adjustToxLoss(1)
|
|
if(stage > 2)
|
|
if(prob(1))
|
|
if (affected_mob.nutrition > 100)
|
|
var/mob/living/carbon/human/H = affected_mob
|
|
H.vomit()
|
|
else
|
|
affected_mob << "<span class='warning'>You gag as you want to throw up, but there's nothing in your stomach!</span>"
|
|
affected_mob.Weaken(10)
|
|
affected_mob.adjustToxLoss(3)
|
|
if(stage > 3)
|
|
if(prob(1) && ishuman(affected_mob))
|
|
var/mob/living/carbon/human/H = affected_mob
|
|
H << "<span class='warning'>Your abdomen is a world of pain!</span>"
|
|
H.Weaken(10)
|
|
H.op_stage.appendix = 2.0
|
|
|
|
var/datum/organ/external/groin = H.get_organ("groin")
|
|
var/datum/wound/W = new /datum/wound/internal_bleeding(20)
|
|
H.adjustToxLoss(25)
|
|
groin.wounds += W
|
|
src.cure()
|