From f4e023ab304e329b358c753b777f1a97ea7559de Mon Sep 17 00:00:00 2001 From: Contrabang <91113370+Contrabang@users.noreply.github.com> Date: Sun, 2 Jun 2024 21:13:29 -0400 Subject: [PATCH] Zombies day 1 changes (#25715) * Zombies day 1 changes * oops * undo this * nevermind * lol, lmao * bam * aaaaaaa --- code/datums/diseases/zombie_virus.dm | 2 +- code/game/turfs/simulated/walls.dm | 8 ++++++++ code/game/turfs/simulated/walls_reinforced.dm | 7 +++++++ code/modules/antagonists/zombie/datum_zombie.dm | 2 +- code/modules/surgery/organs/organ_external.dm | 4 ++++ 5 files changed, 21 insertions(+), 2 deletions(-) diff --git a/code/datums/diseases/zombie_virus.dm b/code/datums/diseases/zombie_virus.dm index 8879070189a..418cc539c47 100644 --- a/code/datums/diseases/zombie_virus.dm +++ b/code/datums/diseases/zombie_virus.dm @@ -14,7 +14,7 @@ disease_flags = CAN_CARRY virus_heal_resistant = TRUE stage_prob = 1 - cure_chance = 20 + cure_chance = 80 /// How far this particular virus is in being cured (0-4) var/cure_stage = 0 diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index bf588993722..ba6a3a1d15a 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -470,6 +470,14 @@ dismantle_wall() visible_message("[user] melts [src]!","You hear the hissing of steam.") return TRUE + + else if(istype(I, /obj/item/zombie_claw)) + to_chat(user, "You begin to claw apart the wall.") + if(do_after(user, isdiamond ? 2 MINUTES * I.toolspeed : 1 MINUTES * I.toolspeed, target = src)) // 120/60 seconds by default + to_chat(user, "Your [I.name] rip apart the reinforced plating.") + dismantle_wall() + visible_message("[user] claws through [src]!","You hear the grinding of metal and bone.") + return TRUE return FALSE /turf/simulated/wall/proc/try_wallmount(obj/item/I, mob/user, params) diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index 3bf8b040979..8c31d3d4158 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -209,6 +209,13 @@ dismantle_wall() return TRUE + if(istype(I, /obj/item/zombie_claw)) + to_chat(user, "You begin to claw apart the wall.") + if(do_after(user, 2 MINUTES * I.toolspeed, target = src)) + to_chat(user, "Your [I.name] rip apart the reinforced plating.") + dismantle_wall() + return TRUE + /turf/simulated/wall/r_wall/wall_singularity_pull(current_size) if(current_size >= STAGE_FIVE) if(prob(30)) diff --git a/code/modules/antagonists/zombie/datum_zombie.dm b/code/modules/antagonists/zombie/datum_zombie.dm index 4971d252a32..0a6032bc9dd 100644 --- a/code/modules/antagonists/zombie/datum_zombie.dm +++ b/code/modules/antagonists/zombie/datum_zombie.dm @@ -9,7 +9,7 @@ RESTRICT_TYPE(/datum/antagonist/zombie) clown_removal_text = "You feel funnier again." wiki_page_name = "Zombie" var/list/old_languages = list() // someone make this better to prevent langs changing if species changes while zombie somehow - var/static/list/zombie_traits = list(TRAIT_LANGUAGE_LOCKED, TRAIT_GOTTAGOSLOW, TRAIT_ABSTRACT_HANDS, TRAIT_SLOW_GRABBER) + var/static/list/zombie_traits = list(TRAIT_LANGUAGE_LOCKED, TRAIT_GOTTAGOSLOW, TRAIT_ABSTRACT_HANDS, TRAIT_SLOW_GRABBER, TRAIT_NOBREATH) var/datum/unarmed_attack/claws/claw_attack // possibly upgrades for the zombies after eating brains? Better vision (/datum/action/changeling/augmented_eyesight), better weapons (armblade), better infection, more inhereint armor (physiology) diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index c097a4454f7..a4ba6329b30 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -558,6 +558,10 @@ Note that amputating the affected organ does in fact remove the infection from t if(limb_flags & CANNOT_DISMEMBER || !owner) return + if(HAS_TRAIT(owner, TRAIT_I_WANT_BRAINS) && !clean) + fracture() + return + if(!disintegrate) disintegrate = DROPLIMB_SHARP if(disintegrate == DROPLIMB_BURN && istype(src, /obj/item/organ/external/head))