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