From bf46dd18e5101a3d39fa151f6a1ef471990a6154 Mon Sep 17 00:00:00 2001 From: Couls Date: Wed, 22 May 2019 20:21:16 -0400 Subject: [PATCH] Zombie sprites! green zombie species name on examine! --- .../living/carbon/human/species/zombies.dm | 18 ++++++++++++++---- .../sprite_accessories/sprite_accessories.dm | 2 +- code/modules/zombie/organs.dm | 1 - icons/mob/human_races/r_def_zombie.dmi | Bin 0 -> 2032 bytes icons/mob/human_races/r_zombie.dmi | Bin 0 -> 2032 bytes 5 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 icons/mob/human_races/r_def_zombie.dmi create mode 100644 icons/mob/human_races/r_zombie.dmi 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 0000000000000000000000000000000000000000..007eb3f31f3ab8651f9294fe6c3339ac10682af7 GIT binary patch literal 2032 zcmX|Bdpy(s8vkz0hM$9wB<1qUh|t9?GItv`tYK-*Etf?usaV!FYUX}Tix%nRnno0U zQdZ*SL@DXwvWYO|pr&%0?QqVo^ZfHX@6Yr4JkR^{yr0)6!yDtKAh%Nv000FP(isZ? zpv@2jz@#=^R6QQI>GHijaV}ggHzL#9_llL%Wi8u84Fbd2CUp<#f>dY>;N}I8&I1vt zT9_*)AplSW06qo)nN0Tg_qW{*SldBeJ>|{Jfv^m;ud+UYX-`aZKEZGxraL<`w1`X> zQnrsD!y3;x8pK3~rh5?6T#qvl!Az7>sum&L-j`t&vUTXa1#l`?Y5<92xkzAMAA1)E=MxITqC+|)6 z>YR$CKHVX@gOP3;9qep)YkV^E;g@G`)SyF|QHboK*%&?APEXMGcx3^vtl9tdFe~oJ z*%@@4U93)6FYKK-Lt19{JlMx^&Bp~@rql0k%U*}{N_$QaDsR;||GXwHSn#zf zJgke>8$7Iw>e8&NtPK8X!BpCQ&>wLFq@uKDu@D<*v{t(=9*2@|x22eVY+3>U8E=%c z11^a@e=|P$hJ{j3fwb)Q?!6@BwJOrwz4`Wsean(0o8Z_>Ewh-QMr-rM0WUG~4vd$T zuawBn0&l+lZ=?H~z0cvy)n|wwKX5&LhyAg#c``c8&A+PM#|Z`07G%}lJOby`>1P8~ zXGz_`S9gI->>9;+R{gm>Xj1WA!mGJb73gaO?1RS5lDfhl@%lqn8FUYOp2zY_)OKuz ztsPqBfOo4GiTyjN{3_eo2cRwL=H=y*J3SecUvOBB1QGM=!u!2G- z&wBfXQ#8M}v0sxzO+slVXI_DaR7Cq<4c$k;376aB!w)&o(L;lS;i8V0=p*FsBPDrs zmI-${+;RS8*bsKyljN*^WA;H0RuE;l)r0OhHVeq=U@*DLSS{VD{u&rZ3D&b!b=V(vEku#Rp%RA{k z4Tn>qkSTF>zlWa^{|P#ob2jM`!d$9;AGhrbY39#sE6aa@`}+dTdRqP}S}}ycn(1ug zYIYI#ld;hX0hDdbHBhwb+vc%?63|P)*%pgQT0i*GYDHy&-o$6agC=iRv(^5uGys?u zA~?vhTQS}eaR3ETy;kOGCQuB#`H_Jsu@wr=~S z40xI8cRCzIA`#KlRG(FaG-;W-POOpajnp6<^>PJ<4+g&7CMSIE7HW>CPv@|zW#_Fu z`RS<0%-fbt;3uT#GSA#^lS?`dxZ=3Hoq9P1Rm+nB*2ecU)ov{%xb3mS{$Rb9Bojdq zmp2kSfW+b$(7rdoWI+`z*_=k7{C3mI4d}63=Dv5U&HOiS*tt#Ax8u0kAfANwo1+ zD9JiwDa`eU4hWaM`X!3LM@y&BX}iVb6~RO~lU8QR+yW()qRk&;(>^hRne$fVH9D%L zmCt_SLR{9J?yDK8G8#+v@{c~D*|x+A9CEws>d(LTb7VYUmhVWGAb0T|C1@{RwX+h~ zv1{SK+W>&zsd`AhU!ZCRtFkgrzsO z*Yh0HbDCXoz2-TSD_3+*1awbh<)?q<%F#A*@+ReUFoh`-@^F92piiz6B0+mCh6Hn{ ze+kzqY^eWA%y!h&O+VE+3dN@+Ss78Z8OP#qs7< z1-~$>GPM#~z9Zo~k&fO^1eZeMpr9)#zR2+TL;>IclH}NMElWYYVm4$&{2?(|LvOSu zgV-)D>JcV9|9YpR)9bRmS2WogrcD69ADRU4!-(=-Ag`|P<#?&S2@7|k%$$3>0{#PH zQHER|(YV?wild-_)s+c9AJw3f5(>ISBVu@icycjs!1bT-yv5WFM@iQCjivKPDS432 ziTN%Yw~C$eC&81{5At_wz%%gE-zoLtUb*3-i@W2>h`&|omHVIWe=k79X)Z!hVk=tu zHqeEjVI`s$2Hyr6vScKpx|+>Eb}L~D{C78m6R|ue8!CrWWW7}k<$`hMI0mKu2Mi9T AbpQYW literal 0 HcmV?d00001 diff --git a/icons/mob/human_races/r_zombie.dmi b/icons/mob/human_races/r_zombie.dmi new file mode 100644 index 0000000000000000000000000000000000000000..007eb3f31f3ab8651f9294fe6c3339ac10682af7 GIT binary patch literal 2032 zcmX|Bdpy(s8vkz0hM$9wB<1qUh|t9?GItv`tYK-*Etf?usaV!FYUX}Tix%nRnno0U zQdZ*SL@DXwvWYO|pr&%0?QqVo^ZfHX@6Yr4JkR^{yr0)6!yDtKAh%Nv000FP(isZ? zpv@2jz@#=^R6QQI>GHijaV}ggHzL#9_llL%Wi8u84Fbd2CUp<#f>dY>;N}I8&I1vt zT9_*)AplSW06qo)nN0Tg_qW{*SldBeJ>|{Jfv^m;ud+UYX-`aZKEZGxraL<`w1`X> zQnrsD!y3;x8pK3~rh5?6T#qvl!Az7>sum&L-j`t&vUTXa1#l`?Y5<92xkzAMAA1)E=MxITqC+|)6 z>YR$CKHVX@gOP3;9qep)YkV^E;g@G`)SyF|QHboK*%&?APEXMGcx3^vtl9tdFe~oJ z*%@@4U93)6FYKK-Lt19{JlMx^&Bp~@rql0k%U*}{N_$QaDsR;||GXwHSn#zf zJgke>8$7Iw>e8&NtPK8X!BpCQ&>wLFq@uKDu@D<*v{t(=9*2@|x22eVY+3>U8E=%c z11^a@e=|P$hJ{j3fwb)Q?!6@BwJOrwz4`Wsean(0o8Z_>Ewh-QMr-rM0WUG~4vd$T zuawBn0&l+lZ=?H~z0cvy)n|wwKX5&LhyAg#c``c8&A+PM#|Z`07G%}lJOby`>1P8~ zXGz_`S9gI->>9;+R{gm>Xj1WA!mGJb73gaO?1RS5lDfhl@%lqn8FUYOp2zY_)OKuz ztsPqBfOo4GiTyjN{3_eo2cRwL=H=y*J3SecUvOBB1QGM=!u!2G- z&wBfXQ#8M}v0sxzO+slVXI_DaR7Cq<4c$k;376aB!w)&o(L;lS;i8V0=p*FsBPDrs zmI-${+;RS8*bsKyljN*^WA;H0RuE;l)r0OhHVeq=U@*DLSS{VD{u&rZ3D&b!b=V(vEku#Rp%RA{k z4Tn>qkSTF>zlWa^{|P#ob2jM`!d$9;AGhrbY39#sE6aa@`}+dTdRqP}S}}ycn(1ug zYIYI#ld;hX0hDdbHBhwb+vc%?63|P)*%pgQT0i*GYDHy&-o$6agC=iRv(^5uGys?u zA~?vhTQS}eaR3ETy;kOGCQuB#`H_Jsu@wr=~S z40xI8cRCzIA`#KlRG(FaG-;W-POOpajnp6<^>PJ<4+g&7CMSIE7HW>CPv@|zW#_Fu z`RS<0%-fbt;3uT#GSA#^lS?`dxZ=3Hoq9P1Rm+nB*2ecU)ov{%xb3mS{$Rb9Bojdq zmp2kSfW+b$(7rdoWI+`z*_=k7{C3mI4d}63=Dv5U&HOiS*tt#Ax8u0kAfANwo1+ zD9JiwDa`eU4hWaM`X!3LM@y&BX}iVb6~RO~lU8QR+yW()qRk&;(>^hRne$fVH9D%L zmCt_SLR{9J?yDK8G8#+v@{c~D*|x+A9CEws>d(LTb7VYUmhVWGAb0T|C1@{RwX+h~ zv1{SK+W>&zsd`AhU!ZCRtFkgrzsO z*Yh0HbDCXoz2-TSD_3+*1awbh<)?q<%F#A*@+ReUFoh`-@^F92piiz6B0+mCh6Hn{ ze+kzqY^eWA%y!h&O+VE+3dN@+Ss78Z8OP#qs7< z1-~$>GPM#~z9Zo~k&fO^1eZeMpr9)#zR2+TL;>IclH}NMElWYYVm4$&{2?(|LvOSu zgV-)D>JcV9|9YpR)9bRmS2WogrcD69ADRU4!-(=-Ag`|P<#?&S2@7|k%$$3>0{#PH zQHER|(YV?wild-_)s+c9AJw3f5(>ISBVu@icycjs!1bT-yv5WFM@iQCjivKPDS432 ziTN%Yw~C$eC&81{5At_wz%%gE-zoLtUb*3-i@W2>h`&|omHVIWe=k79X)Z!hVk=tu zHqeEjVI`s$2Hyr6vScKpx|+>Eb}L~D{C78m6R|ue8!CrWWW7}k<$`hMI0mKu2Mi9T AbpQYW literal 0 HcmV?d00001