diff --git a/code/modules/mob/living/basic/vermin/mouse.dm b/code/modules/mob/living/basic/vermin/mouse.dm index 53922a92e466..8b93cc9f3d84 100644 --- a/code/modules/mob/living/basic/vermin/mouse.dm +++ b/code/modules/mob/living/basic/vermin/mouse.dm @@ -56,7 +56,7 @@ var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) - var/datum/disease/advance/R = new /datum/disease/advance/random(rand(1, 6), 9, 1) + var/datum/disease/R = new /datum/disease/food //monkestation change advance/random to food poisoning ratdisease += R AddElement(/datum/element/connect_loc, loc_connections) make_tameable() diff --git a/monkestation/code/datums/diseases/food_poisoning b/monkestation/code/datums/diseases/food_poisoning new file mode 100644 index 000000000000..94a60b72578b --- /dev/null +++ b/monkestation/code/datums/diseases/food_poisoning @@ -0,0 +1,48 @@ +/datum/disease/food + name = "Food Poisoning" + max_stages = 4 + cure_text = "Spaceacillin" + cures = list(/datum/reagent/medicine/spaceacillin) + agent = "Salmonella Cosmosis" + spread_text = "Infected Food or Blood" + viable_mobtypes = list(/mob/living/carbon/human) + spreading_modifier = 1 + desc = "If left untreated the subject will vomit profusely." + severity = DISEASE_SEVERITY_HARMFUL + disease_flags = CAN_CARRY|CAN_RESIST + spread_flags = DISEASE_SPREAD_BLOOD + required_organs = list(/obj/item/organ/internal/stomach) + bypasses_immunity = TRUE + +/datum/disease/food/stage_act(seconds_per_tick, times_fired) + . = ..() + if(!.) + return + + switch(stage) + if(2) + if(SPT_PROB(1, seconds_per_tick)) + to_chat(affected_mob, span_danger("[pick("Your stomach hurts.", "Your stomach feels like its spinning.")]")) + affected_mob.adjust_disgust(10) + affected_mob.stamina.adjust(-15) + if(prob(20)) + affected_mob.adjustToxLoss(1, FALSE) + if(3) + if(SPT_PROB(1, seconds_per_tick)) + to_chat(affected_mob, span_danger("[pick("Your stomach hurts.", "Your stomach feels like its spinning.")]")) + affected_mob.stamina.adjust(-15) + if(prob(20)) + affected_mob.adjustToxLoss(1, FALSE) + if(SPT_PROB(1.5, seconds_per_tick)) + to_chat(affected_mob, span_warning("[pick("You feel nauseated.", "You feel like you're going to throw up!")]")) + affected_mob.adjust_disgust(30) + if(4) + if(SPT_PROB(1.5, seconds_per_tick)) + to_chat(affected_mob, span_warning("[pick("Your head hurts.", "Your head pounds.")]")) + affected_mob.stamina.adjust(-25) + if(SPT_PROB(2.5, seconds_per_tick)) + to_chat(affected_mob, span_warning("[pick("You feel nauseated.", "You feel like you're going to throw up!")]")) + affected_mob.adjust_disgust(40) + if(SPT_PROB(6, seconds_per_tick)) + affected_mob.adjust_disgust(10) + affected_mob.vomit(20, FALSE, distance = 1) diff --git a/tgstation.dme b/tgstation.dme index d3bc1729f965..ce294eccf80e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -5487,6 +5487,7 @@ #include "monkestation\code\datums\components\multi_hit.dm" #include "monkestation\code\datums\components\throw_bounce.dm" #include "monkestation\code\datums\components\turf_healing.dm" +#include "monkestation\code\datums\diseases\food_poisoning.dm" #include "monkestation\code\datums\diseases\advance\symptoms\clockwork.dm" #include "monkestation\code\datums\keybinding\carbon.dm" #include "monkestation\code\datums\keybinding\living.dm"