Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions code/datums/diseases/annorwa.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
/datum/disease/annorwa
form = "Disease"
name = "AN-04"
max_stages = 5
spread_text = "Touch"
cure_text = "Spaceacillin"
cures = list(/datum/reagent/medicine/spaceacillin)
agent = "Bacillus Cerebrus"
viable_mobtypes = list(/mob/living/carbon/human)
cure_chance = 2
desc = "A virus that was made by syndicate to annoy crew"
required_organ = ORGAN_SLOT_BRAIN
severity = DISEASE_SEVERITY_MINOR
bypasses_immunity = TRUE // Да

/datum/disease/annorwa/stage_act(seconds_per_tick, times_fired)
. = ..()
if(!.)
return

if(SPT_PROB(stage * 2, seconds_per_tick))
affected_mob.emote("faint")
to_chat(affected_mob, span_danger("You wanna sleep..."))

switch(stage)
if(2)
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_danger("You feel very weak..."))
if(SPT_PROB(5, seconds_per_tick))
to_chat(affected_mob, span_danger("You REALLY wanna sleep."))
if(4)
var/need_mob_update = FALSE
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_userdanger("You wanna sleep."))
affected_mob.set_dizzy_if_lower(15 SECONDS)
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_danger("You feel really weak"))
need_mob_update += affected_mob.adjustStaminaLoss(100, updating_health = FALSE)
affected_mob.emote("Cough")
if(SPT_PROB(5, seconds_per_tick))
to_chat(affected_mob, span_danger("You feel eepy..."))
need_mob_update += affected_mob.adjustStaminaLoss(50, updating_health = FALSE)
affected_mob.emote("yawn")
if(need_mob_update)
affected_mob.updatehealth()
if(5)
var/need_mob_update = FALSE
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_userdanger("[pick("You feel weak... Maybe rest will help?", "You're muscles collapses in a sharp pain.")]"))
need_mob_update += affected_mob.adjustStaminaLoss(70, updating_stamina = FALSE)
if(SPT_PROB(5, seconds_per_tick))
need_mob_update += affected_mob.adjustStaminaLoss(100, updating_stamina = FALSE)
affected_mob.visible_message(span_warning("[affected_mob] faints!"), span_userdanger("You decide to take a nap."))
affected_mob.AdjustSleeping(20 SECONDS)
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_userdanger("Zzzzz..."))
affected_mob.adjust_confusion_up_to(0 SECONDS, 300 SECONDS)
if(SPT_PROB(20, seconds_per_tick))
affected_mob.vomit(VOMIT_CATEGORY_DEFAULT, lost_nutrition = 1)
if(SPT_PROB(1.5, seconds_per_tick))
to_chat(affected_mob, span_warning("<i>[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]</i>"))
affected_mob.overeatduration = max(affected_mob.overeatduration - (10 SECONDS), 0)
affected_mob.adjust_nutrition(-10)
if(SPT_PROB(7.5, seconds_per_tick))
to_chat(affected_mob, span_danger("[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit...", "You feel like taking off some clothes...")]"))
affected_mob.adjust_bodytemperature(40)
if(need_mob_update)
affected_mob.updatehealth()

69 changes: 69 additions & 0 deletions code/datums/diseases/cordafungi.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
/datum/disease/cordafungi
form = "Disease"
name = "Corda"
max_stages = 5
spread_text = "Airborne"
cure_text = "Pest spray & cyanide"
cures = list(/datum/reagent/toxin/cyanide, /datum/reagent/toxin/pestkiller)
agent = "Cordius Fungi"
viable_mobtypes = list(/mob/living/carbon/human)
cure_chance = 8
desc = "Strange shroom that turns humans into maniacs"
required_organ = ORGAN_SLOT_BRAIN
severity = DISEASE_SEVERITY_BIOHAZARD
bypasses_immunity = TRUE // А как там извините бешенство распростроняется, напомните

/datum/disease/cordafungi/stage_act(seconds_per_tick, times_fired)
. = ..()
if(!.)
return

if(SPT_PROB(stage * 2, seconds_per_tick))
affected_mob.emote("gasp")
to_chat(affected_mob, span_danger("You're head hurts..."))

switch(stage)
if(2)
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_danger("You feel stranger than before..."))
if(SPT_PROB(5, seconds_per_tick))
to_chat(affected_mob, span_danger("Your thoughts are confused."))
if(4)
var/need_mob_update = FALSE
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_userdanger("You're muscles collapses in a sharp pain!"))
affected_mob.set_dizzy_if_lower(15 SECONDS)
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_danger("You feel PAIN!"))
need_mob_update += affected_mob.adjustOxyLoss(10, updating_health = FALSE)
affected_mob.emote("gasp")
if(SPT_PROB(5, seconds_per_tick))
to_chat(affected_mob, span_danger("You feel like your skin falls off."))
need_mob_update += affected_mob.adjustBruteLoss(15, updating_health = FALSE)
affected_mob.emote("scream")
if(need_mob_update)
affected_mob.updatehealth()
if(5)
var/need_mob_update = FALSE
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_userdanger("[pick("You feel weak... Maybe rest will help?", "You're muscles collapses in a sharp pain.")]"))
need_mob_update += affected_mob.adjustStaminaLoss(70, updating_stamina = FALSE)
if(SPT_PROB(5, seconds_per_tick))
need_mob_update += affected_mob.adjustStaminaLoss(100, updating_stamina = FALSE)
affected_mob.visible_message(span_warning("[affected_mob] faints!"), span_userdanger("You feel like it's over... But it's not"))
affected_mob.AdjustSleeping(3 SECONDS)
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_userdanger("I MUST BITE THEM ALL!"))
affected_mob.adjust_confusion_up_to(0 SECONDS, 5 SECONDS)
if(SPT_PROB(5, seconds_per_tick))
affected_mob.vomit(VOMIT_CATEGORY_DEFAULT, lost_nutrition = 20)
if(SPT_PROB(1.5, seconds_per_tick))
to_chat(affected_mob, span_warning("<i>[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]</i>"))
affected_mob.overeatduration = max(affected_mob.overeatduration - (10 SECONDS), 0)
affected_mob.adjust_nutrition(-100)
if(SPT_PROB(7.5, seconds_per_tick))
to_chat(affected_mob, span_danger("[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit...", "You feel like taking off some clothes...")]"))
affected_mob.adjust_bodytemperature(40)
if(need_mob_update)
affected_mob.updatehealth()

11 changes: 11 additions & 0 deletions code/modules/cargo/packs/imports.dm
Original file line number Diff line number Diff line change
Expand Up @@ -357,3 +357,14 @@
/obj/item/stack/ore/bluespace_crystal/artificial = 2,
/obj/item/stock_parts/subspace/ansible,
)

/datum/supply_pack/imports/viruscrateillegal
name = "Illegal virus crate"
desc = "Sometimes, normal weapons isn't enough..."
hidden = TRUE
cost = CARGO_CRATE_VALUE * 30
contains = list(
/obj/item/reagent_containers/cup/bottle/cordafungi = 1,
/obj/item/reagent_containers/cup/bottle/annorwa = 1
)

10 changes: 10 additions & 0 deletions code/modules/reagents/reagent_containers/cups/bottle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,16 @@
desc = "A small bottle containing Bio Virus Antidote Kit."
list_reagents = list(/datum/reagent/vaccine/fungal_tb = 30)

/obj/item/reagent_containers/cup/bottle/annorwa
name = "Annoying virus sample culture bottle"
desc = "A small bottle. Contains a sample of Annorwa."
spawned_disease = /datum/disease/annorwa

/obj/item/reagent_containers/cup/bottle/cordafungi
name = "Fungal Rabies culture bottle"
desc = "A small bottle. Contains a sample of Cordius Fungi."
spawned_disease = /datum/disease/cordafungi

//Oldstation.dmm chemical storage bottles

/obj/item/reagent_containers/cup/bottle/hydrogen
Expand Down
2 changes: 2 additions & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -1396,12 +1396,14 @@
#include "code\datums\diseases\_disease.dm"
#include "code\datums\diseases\_MobProcs.dm"
#include "code\datums\diseases\adrenal_crisis.dm"
#include "code\datums\diseases\annorwa.dm"
#include "code\datums\diseases\anaphylaxis.dm"
#include "code\datums\diseases\anxiety.dm"
#include "code\datums\diseases\beesease.dm"
#include "code\datums\diseases\brainrot.dm"
#include "code\datums\diseases\chronic_illness.dm"
#include "code\datums\diseases\cold.dm"
#include "code\datums\diseases\cordafungi.dm"
#include "code\datums\diseases\cold9.dm"
#include "code\datums\diseases\death_sandwich_poisoning.dm"
#include "code\datums\diseases\decloning.dm"
Expand Down
Loading