diff --git a/code/modules/mob/living/carbon/human/species/zombies.dm b/code/modules/mob/living/carbon/human/species/zombies.dm
index f11c3a7fbd3..2789b075990 100644
--- a/code/modules/mob/living/carbon/human/species/zombies.dm
+++ b/code/modules/mob/living/carbon/human/species/zombies.dm
@@ -4,13 +4,16 @@
// 1spooky
name = "High-Functioning Zombie"
name_plural = "High-Functioning Zombies"
- icobase = 'icons/mob/human_races/r_human.dmi'
- deform = 'icons/mob/human_races/r_def_human.dmi'
+ icobase = 'icons/mob/human_races/r_zombie.dmi'
+ deform = 'icons/mob/human_races/r_def_zombie.dmi'
dies_at_threshold = TRUE
species_traits = list(NO_BLOOD,NOZOMBIE,NOTRANSSTING,NO_BREATHE, RADIMMUNE, NO_SCAN)
var/static/list/spooks = list('sound/hallucinations/growl1.ogg','sound/hallucinations/growl2.ogg','sound/hallucinations/growl3.ogg','sound/hallucinations/veryfar_noise.ogg','sound/hallucinations/wail.ogg')
warning_low_pressure = 50
hazard_low_pressure = 0
+ flesh_color = "#00FF00" // for green examine text
+ bodyflags = HAS_SKIN_COLOR
+ dietflags = DIET_CARN
has_organ = list(
"heart" = /obj/item/organ/internal/heart,
"lungs" = /obj/item/organ/internal/lungs,
@@ -26,21 +29,24 @@
/datum/species/zombie/infectious
name = "Infectious Zombie"
mutanthands = /obj/item/zombie_hand
+ icobase = 'icons/mob/human_races/r_zombie.dmi'
+ deform = 'icons/mob/human_races/r_def_zombie.dmi'
armor = 20 // 120 damage to KO a zombie, which kills it
speedmod = 1.6
default_language = "Zombie"
language = "Zombie"
var/heal_rate = 1
var/regen_cooldown = 0
+ flesh_color = "#00FF00" // for green examine text
/datum/species/zombie/infectious/handle_dna(mob/living/carbon/human/H, remove)
- H.mutations.Add(HUSK)
. = ..()
/datum/species/zombie/infectious/spec_stun(mob/living/carbon/human/H,amount)
. = min(20, amount)
/datum/species/zombie/infectious/spec_attacked_by(damage, damagetype = BRUTE, def_zone = null, blocked, mob/living/carbon/human/H)
+ . = ..()
if(.)
regen_cooldown = world.time + REGENERATION_DELAY
@@ -75,11 +81,15 @@
C.drop_r_hand()
C.put_in_hands(new mutanthands())
C.put_in_hands(new mutanthands())
- C.ChangeToHusk()
var/obj/item/organ/internal/zombie_infection/infection
infection = C.get_organ_slot("zombie_infection")
if(!infection)
infection = new()
infection.insert(C)
+/datum/species/zombie/infectious/on_species_loss(mob/living/carbon/human/C, datum/species/old_species)
+ qdel(C.r_hand)
+ qdel(C.l_hand)
+ return ..()
+
#undef REGENERATION_DELAY
diff --git a/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm
index 10f7b1acd46..e1020628151 100644
--- a/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm
+++ b/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm
@@ -48,7 +48,7 @@
var/gender = NEUTER //Determines if the accessory will be skipped or included in random hair generations
// Restrict some styles to specific species
- var/list/species_allowed = list("Human", "Slime People")
+ var/list/species_allowed = list("Human", "Slime People", "Infectious Zombie", "High-Functioning Zombie")
var/list/sprite_sheets = list() //For accessories common across species but need to use 'fitted' sprites (like underwear). e.g. list("Vox" = 'icons/mob/species/vox/iconfile.dmi')
var/list/models_allowed = list() //Specifies which, if any, hairstyles or markings can be accessed by which prosthetics. Should equal the manufacturing company name in robolimbs.dm.
var/list/heads_allowed = null //Specifies which, if any, alt heads a head marking, hairstyle or facial hair style is compatible with.
diff --git a/code/modules/zombie/organs.dm b/code/modules/zombie/organs.dm
index 07c97e4162a..c14bc195ebe 100644
--- a/code/modules/zombie/organs.dm
+++ b/code/modules/zombie/organs.dm
@@ -84,7 +84,6 @@
owner.updatehealth()
owner.grab_ghost(TRUE)
owner.update_revive()
- owner.ChangeToHusk()
owner.visible_message("[owner] suddenly convulses, as [owner.p_they()] stagger to [owner.p_their()] feet and gain a ravenous hunger in [owner.p_their()] eyes!", "You HUNGER!")
playsound(owner.loc, 'sound/hallucinations/far_noise.ogg', 50, 1)
to_chat(owner, "You are now a zombie!")
diff --git a/icons/mob/human_races/r_def_zombie.dmi b/icons/mob/human_races/r_def_zombie.dmi
new file mode 100644
index 00000000000..007eb3f31f3
Binary files /dev/null and b/icons/mob/human_races/r_def_zombie.dmi differ
diff --git a/icons/mob/human_races/r_zombie.dmi b/icons/mob/human_races/r_zombie.dmi
new file mode 100644
index 00000000000..007eb3f31f3
Binary files /dev/null and b/icons/mob/human_races/r_zombie.dmi differ