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))