From 4eb5900b2ddfaff63aa31d54dc5d53cd3be30bf1 Mon Sep 17 00:00:00 2001 From: BiG-b0SS-Le-Cigar Date: Thu, 7 Aug 2025 12:56:49 +0300 Subject: [PATCH 1/4] =?UTF-8?q?=D0=B1=D0=B5=D1=88=D0=B5=D0=BD=D1=81=D1=82?= =?UTF-8?q?=D0=B2=D0=BE=20=D0=BE=D0=B4=D0=B0=D0=B0=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/datums/diseases/cordafungi.dm | 75 ++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 code/datums/diseases/cordafungi.dm diff --git a/code/datums/diseases/cordafungi.dm b/code/datums/diseases/cordafungi.dm new file mode 100644 index 000000000000..08a5925ac207 --- /dev/null +++ b/code/datums/diseases/cordafungi.dm @@ -0,0 +1,75 @@ +/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("[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]")) + 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() + +// Баночка для бешенства + +/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 \ No newline at end of file From 933743f7afd1e10f97ac9136e133e837b36abe2f Mon Sep 17 00:00:00 2001 From: BiG-b0SS-Le-Cigar Date: Thu, 7 Aug 2025 13:01:39 +0300 Subject: [PATCH 2/4] =?UTF-8?q?=D0=AF=D1=89=D0=B8=D0=BA=20=D1=81=20=D0=B1?= =?UTF-8?q?=D0=B8=D0=BE=D0=B3=D0=BE=D0=B2=D0=BD=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/modules/cargo/packs/imports.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/modules/cargo/packs/imports.dm b/code/modules/cargo/packs/imports.dm index f11680dc0e8e..b8c79618e314 100644 --- a/code/modules/cargo/packs/imports.dm +++ b/code/modules/cargo/packs/imports.dm @@ -357,3 +357,10 @@ /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) From c88aa69cddad692fc740ae7e8b9cbe3ccdaeb6d7 Mon Sep 17 00:00:00 2001 From: BiG-b0SS-Le-Cigar Date: Thu, 7 Aug 2025 13:03:52 +0300 Subject: [PATCH 3/4] =?UTF-8?q?=D1=8F=20=D0=B7=D0=B0=D0=B5=D0=B1=D0=B0?= =?UTF-8?q?=D0=BB=D1=81=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/datums/diseases/annorwa.dm | 75 +++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 code/datums/diseases/annorwa.dm diff --git a/code/datums/diseases/annorwa.dm b/code/datums/diseases/annorwa.dm new file mode 100644 index 000000000000..0080e461b920 --- /dev/null +++ b/code/datums/diseases/annorwa.dm @@ -0,0 +1,75 @@ +/datum/disease/annorwa + form = "Disease" + name = "AN-04" + max_stages = 3 + spread_text = "Airborne" + 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("[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]")) + 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() + +// Да + +/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 \ No newline at end of file From f8b1955e6600680a341f91fa0f6072845adc16f6 Mon Sep 17 00:00:00 2001 From: BiG-b0SS-Le-Cigar Date: Thu, 7 Aug 2025 14:09:30 +0300 Subject: [PATCH 4/4] Update annorwa.dm --- code/datums/diseases/annorwa.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/diseases/annorwa.dm b/code/datums/diseases/annorwa.dm index 0080e461b920..a0145fb11228 100644 --- a/code/datums/diseases/annorwa.dm +++ b/code/datums/diseases/annorwa.dm @@ -1,8 +1,8 @@ /datum/disease/annorwa form = "Disease" name = "AN-04" - max_stages = 3 - spread_text = "Airborne" + max_stages = 5 + spread_text = "Touch" cure_text = "Spaceacillin" cures = list(/datum/reagent/medicine/spaceacillin) agent = "Bacillus Cerebrus"