From bc90be0b5c806688bd89e8c686bb4e5667ec87a3 Mon Sep 17 00:00:00 2001 From: Skies-Of-Blue <86762641+Skies-Of-Blue@users.noreply.github.com> Date: Sat, 8 Jun 2024 16:47:54 -0700 Subject: [PATCH] Genemod DLC: Of Rabbits and Wolves (#3083) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## About The Pull Request Adds four new ear and two new tail options to human genemods, themed after dogs and rabbits respectively! (ᵗʰᶦˢ ᵖʳ ᵃˡˢᵒ ⁿᵉʳᶠˢ ᶠᵒˣ ᵉᵃʳˢ ᵇʸ ᵐᵃᵏᶦⁿᵍ ᵗʰᵉᵐ ᵗᵃᵏᵉ ᵐᵒʳᵉ ᵈᵃᵐᵃᵍᵉ ʲᵘˢᵗ ˡᶦᵏᵉ ᶜᵃᵗ ᵒʳ ᵉˡᶠ ᵉᵃʳˢ ᵈᵒ)
But who cares about that, check out these radicool new genemods!!! ![dog](https://github.com/shiptest-ss13/Shiptest/assets/86762641/605aa57f-4a8d-494a-8d9a-0327c66b050f) ![rabbit](https://github.com/shiptest-ss13/Shiptest/assets/86762641/4f1b4530-269e-4ada-bf5e-d3dde40b9bb1) ![bent rabbit](https://github.com/shiptest-ss13/Shiptest/assets/86762641/9dd90434-b94e-495e-8ce2-4ec49f6f3049) ![floppy rabbit](https://github.com/shiptest-ss13/Shiptest/assets/86762641/50619b51-1c85-4103-8c01-19ea15e769a6)
Sprites by k3licia on discord, and tweaked by Imaginos. Give them both some love!!! ## Why It's Good For The Game More character customization options are good, and the yaoi potential between a dog and a rabbit is too ripe to pass up. ## Changelog :cl: add: several new SUNS-produced genemods have hit the public market! Head to your local gene-clinic and ask about their new dog and rabbit options for more details balance: fox ears have been tweaked to be just as susceptible to sound as cat ears /:cl: --------- Signed-off-by: Skies-Of-Blue <86762641+Skies-Of-Blue@users.noreply.github.com> Co-authored-by: meem <75212565+meemofcourse@users.noreply.github.com> --- .../new_player/sprite_accessories/ears.dm | 51 +++++++++--- .../new_player/sprite_accessories/tails.dm | 30 +++++-- .../carbon/human/species_types/humans.dm | 37 ++++++--- code/modules/surgery/organs/ears.dm | 76 ++++++++++++++++++ code/modules/surgery/organs/tails.dm | 46 ++++++++++- icons/mob/mutant_bodyparts.dmi | Bin 2101 -> 757 bytes icons/mob/species/{misc => human}/cat.dmi | Bin icons/mob/species/human/dog.dmi | Bin 0 -> 1332 bytes icons/mob/species/human/elf.dmi | Bin 0 -> 511 bytes icons/mob/species/{misc => human}/fox.dmi | Bin icons/mob/species/human/rabbit.dmi | Bin 0 -> 1013 bytes 11 files changed, 211 insertions(+), 29 deletions(-) rename icons/mob/species/{misc => human}/cat.dmi (100%) create mode 100644 icons/mob/species/human/dog.dmi create mode 100644 icons/mob/species/human/elf.dmi rename icons/mob/species/{misc => human}/fox.dmi (100%) create mode 100644 icons/mob/species/human/rabbit.dmi diff --git a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm index 8b0ec1d6f79d8..c01a20a18f64e 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm @@ -3,33 +3,62 @@ /datum/sprite_accessory/ears icon = 'icons/mob/mutant_bodyparts.dmi' -/datum/sprite_accessory/ears/none +/datum/sprite_accessory/ears/human/none name = "None" icon_state = "none" -/datum/sprite_accessory/ears/cat - icon = 'icons/mob/species/misc/cat.dmi' +/datum/sprite_accessory/ears/human/elf + icon = 'icons/mob/species/human/elf.dmi' + name = "Elf" + icon_state = "elf" + secondary_color = FALSE + color_src = SKINCOLORS + +/datum/sprite_accessory/ears/human/cat + icon = 'icons/mob/species/human/cat.dmi' name = "Cat" icon_state = "cat" secondary_color = TRUE color_src = HAIR -/datum/sprite_accessory/ears/cat/slime +/datum/sprite_accessory/ears/human/cat/slime name = "Slimecat" icon_state = "cat" secondary_color = FALSE color_src = HAIR image_alpha = 150 -/datum/sprite_accessory/ears/fox - icon = 'icons/mob/species/misc/fox.dmi' +/datum/sprite_accessory/ears/human/dog + icon = 'icons/mob/species/human/dog.dmi' + name = "Dog" + icon_state = "dog" + secondary_color = FALSE + color_src = HAIR + +/datum/sprite_accessory/ears/human/fox + icon = 'icons/mob/species/human/fox.dmi' name = "Fox" icon_state = "fox" secondary_color = TRUE color_src = HAIR -/datum/sprite_accessory/ears/elf - name = "Elf" - icon_state = "elf" - secondary_color = FALSE - color_src = SKINCOLORS +/datum/sprite_accessory/ears/human/rabbit + icon = 'icons/mob/species/human/rabbit.dmi' + name = "Rabbit" + icon_state = "bunny" + secondary_color = TRUE + color_src = HAIR + +/datum/sprite_accessory/ears/human/rabbit/bent + icon = 'icons/mob/species/human/rabbit.dmi' + name = "Bent Rabbit" + icon_state = "bunny_bent" + secondary_color = TRUE + color_src = HAIR + +/datum/sprite_accessory/ears/human/rabbit/floppy + icon = 'icons/mob/species/human/rabbit.dmi' + name = "Floppy Rabbit" + icon_state = "bunny_floppy" + secondary_color = TRUE + color_src = HAIR diff --git a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm index 5a3d2eb3d62b2..9a0da947d3b77 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm @@ -9,13 +9,13 @@ icon_state = "none" /datum/sprite_accessory/tails/human/cat - icon = 'icons/mob/species/misc/cat.dmi' + icon = 'icons/mob/species/human/cat.dmi' name = "Cat" icon_state = "cat" color_src = HAIR /datum/sprite_accessory/tails_animated/human/cat - icon = 'icons/mob/species/misc/cat.dmi' + icon = 'icons/mob/species/human/cat.dmi' name = "Cat" icon_state = "cat" color_src = HAIR @@ -32,26 +32,44 @@ color_src = HAIR image_alpha = 150 +/datum/sprite_accessory/tails/human/dog + icon = 'icons/mob/species/human/dog.dmi' + name = "Dog" + icon_state = "dog" + color_src = HAIR + +/datum/sprite_accessory/tails_animated/human/dog + icon = 'icons/mob/species/human/dog.dmi' + name = "Dog" + icon_state = "dog" + color_src = HAIR + /datum/sprite_accessory/tails/human/fox - icon = 'icons/mob/species/misc/fox.dmi' + icon = 'icons/mob/species/human/fox.dmi' name = "Fox" icon_state = "fox" color_src = HAIR /datum/sprite_accessory/tails_animated/human/fox - icon = 'icons/mob/species/misc/fox.dmi' + icon = 'icons/mob/species/human/fox.dmi' name = "Fox" icon_state = "fox" color_src = HAIR /datum/sprite_accessory/tails/human/fox/alt - icon = 'icons/mob/species/misc/fox.dmi' + icon = 'icons/mob/species/human/fox.dmi' name = "Fox 2" icon_state = "fox2" color_src = HAIR /datum/sprite_accessory/tails_animated/human/fox/alt - icon = 'icons/mob/species/misc/fox.dmi' + icon = 'icons/mob/species/human/fox.dmi' name = "Fox 2" icon_state = "fox2" color_src = HAIR + +/datum/sprite_accessory/tails/human/rabbit + icon = 'icons/mob/species/human/rabbit.dmi' + name = "Rabbit" + icon_state = "bunny" + color_src = HAIR diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm index 885be6f5886a0..882fffc9ff418 100644 --- a/code/modules/mob/living/carbon/human/species_types/humans.dm +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -13,16 +13,33 @@ loreblurb = "Mostly hairless mammalians. Their home system, Sol, lies in a sort of \"bluespace dead-zone\" that blocks anything from entering or exiting Sol's dead-zone through bluespace without a relay. While it leaves Sol extremely well-defended, it meant that they went unnoticed and uncontacted until they were themselves able to breach it." /datum/species/human/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) - if(C.dna.features["ears"] == "Cat") - mutantears = /obj/item/organ/ears/cat - if(C.dna.features["ears"] == "Fox") - mutantears = /obj/item/organ/ears/fox - if(C.dna.features["tail_human"] == "Cat") - mutant_organs |= /obj/item/organ/tail/cat - if(C.dna.features["tail_human"] == "Fox") - mutant_organs |= /obj/item/organ/tail/fox - if(C.dna.features["ears"] == "Elf") - mutantears = /obj/item/organ/ears/elf + switch(C.dna.features["ears"]) + if("Elf") + mutantears = /obj/item/organ/ears/elf + if("Cat") + mutantears = /obj/item/organ/ears/cat + if("Dog") + mutantears = /obj/item/organ/ears/dog + if("Fox") + mutantears = /obj/item/organ/ears/fox + if("Rabbit") + mutantears = /obj/item/organ/ears/rabbit + if("Bent Rabbit") + mutantears = /obj/item/organ/ears/rabbit/bent + if("Floppy Rabbit") + mutantears = /obj/item/organ/ears/rabbit/floppy + switch(C.dna.features["tail_human"]) + if("Cat") + mutant_organs |= /obj/item/organ/tail/cat + if("Dog") + mutant_organs |= /obj/item/organ/tail/dog + if("Fox") + mutant_organs |= /obj/item/organ/tail/fox + if("Fox 2") + mutant_organs |= /obj/item/organ/tail/fox/alt + if("Rabbit") + mutant_organs |= /obj/item/organ/tail/rabbit + return ..() /datum/species/human/spec_death(gibbed, mob/living/carbon/human/H) diff --git a/code/modules/surgery/organs/ears.dm b/code/modules/surgery/organs/ears.dm index f1eb39b841624..6f057c88d23dc 100644 --- a/code/modules/surgery/organs/ears.dm +++ b/code/modules/surgery/organs/ears.dm @@ -150,6 +150,10 @@ ear_owner.dna.species.mutant_bodyparts -= "ears" ear_owner.update_body() +/obj/item/organ/ears/fox + name = "fox ears" + damage_multiplier = 2 + /obj/item/organ/ears/fox/Insert(mob/living/carbon/human/ear_owner, special = 0, drop_if_replaced = TRUE) ..() if(istype(ear_owner)) @@ -166,6 +170,78 @@ ear_owner.dna.species.mutant_bodyparts -= "ears" ear_owner.update_body() +/obj/item/organ/ears/rabbit + name = "rabbit ears" + damage_multiplier = 2 + +/obj/item/organ/ears/rabbit/Insert(mob/living/carbon/human/ear_owner, special = 0, drop_if_replaced = TRUE) + ..() + if(istype(ear_owner)) + color = ear_owner.hair_color + ear_owner.dna.species.mutant_bodyparts |= "ears" + ear_owner.dna.features["ears"] = "Rabbit" + ear_owner.update_body() + +/obj/item/organ/ears/rabbit/Remove(mob/living/carbon/human/ear_owner, special = 0) + ..() + if(istype(ear_owner)) + color = ear_owner.hair_color + ear_owner.dna.features["ears"] = "None" + ear_owner.dna.species.mutant_bodyparts -= "ears" + ear_owner.update_body() + +/obj/item/organ/ears/rabbit/bent/Insert(mob/living/carbon/human/ear_owner, special = 0, drop_if_replaced = TRUE) + ..() + if(istype(ear_owner)) + color = ear_owner.hair_color + ear_owner.dna.species.mutant_bodyparts |= "ears" + ear_owner.dna.features["ears"] = "Bent Rabbit" + ear_owner.update_body() + +/obj/item/organ/ears/rabbit/bent/Remove(mob/living/carbon/human/ear_owner, special = 0) + ..() + if(istype(ear_owner)) + color = ear_owner.hair_color + ear_owner.dna.features["ears"] = "None" + ear_owner.dna.species.mutant_bodyparts -= "ears" + ear_owner.update_body() + +/obj/item/organ/ears/rabbit/floppy/Insert(mob/living/carbon/human/ear_owner, special = 0, drop_if_replaced = TRUE) + ..() + if(istype(ear_owner)) + color = ear_owner.hair_color + ear_owner.dna.species.mutant_bodyparts |= "ears" + ear_owner.dna.features["ears"] = "Floppy Rabbit" + ear_owner.update_body() + +/obj/item/organ/ears/floppy/Remove(mob/living/carbon/human/ear_owner, special = 0) + ..() + if(istype(ear_owner)) + color = ear_owner.hair_color + ear_owner.dna.features["ears"] = "None" + ear_owner.dna.species.mutant_bodyparts -= "ears" + ear_owner.update_body() + +/obj/item/organ/ears/dog + name = "dog ears" + damage_multiplier = 2 + +/obj/item/organ/ears/dog/Insert(mob/living/carbon/human/ear_owner, special = 0, drop_if_replaced = TRUE) + ..() + if(istype(ear_owner)) + color = ear_owner.hair_color + ear_owner.dna.species.mutant_bodyparts |= "ears" + ear_owner.dna.features["ears"] = "Dog" + ear_owner.update_body() + +/obj/item/organ/ears/dog/Remove(mob/living/carbon/human/ear_owner, special = 0) + ..() + if(istype(ear_owner)) + color = ear_owner.hair_color + ear_owner.dna.features["ears"] = "None" + ear_owner.dna.species.mutant_bodyparts -= "ears" + ear_owner.update_body() + /obj/item/organ/ears/elf name = "elf ears" damage_multiplier = 1.5 diff --git a/code/modules/surgery/organs/tails.dm b/code/modules/surgery/organs/tails.dm index 2d3e402150a2f..be43bc99f62d6 100644 --- a/code/modules/surgery/organs/tails.dm +++ b/code/modules/surgery/organs/tails.dm @@ -137,7 +137,7 @@ desc = "A severed fox tail. Sad." tail_type = "Fox 2" -/obj/item/organ/tail/cat/Insert(mob/living/carbon/human/H, special = 0, drop_if_replaced = TRUE) +/obj/item/organ/tail/fox/alt/Insert(mob/living/carbon/human/H, special = 0, drop_if_replaced = TRUE) ..() if(istype(H)) if(!("tail_human" in H.dna.species.mutant_bodyparts)) @@ -145,7 +145,49 @@ H.dna.features["tail_human"] = tail_type H.update_body() -/obj/item/organ/tail/cat/Remove(mob/living/carbon/human/H, special = 0) +/obj/item/organ/tail/fox/alt/Remove(mob/living/carbon/human/H, special = 0) + ..() + if(istype(H)) + H.dna.features["tail_human"] = "None" + H.dna.species.mutant_bodyparts -= "tail_human" + color = H.hair_color + H.update_body() + +/obj/item/organ/tail/rabbit + name = "rabbit tail" + desc = "A severed rabbit tail." + tail_type = "Rabbit" + +/obj/item/organ/tail/rabbit/Insert(mob/living/carbon/human/H, special = 0, drop_if_replaced = TRUE) + ..() + if(istype(H)) + if(!("tail_human" in H.dna.species.mutant_bodyparts)) + H.dna.species.mutant_bodyparts |= "tail_human" + H.dna.features["tail_human"] = tail_type + H.update_body() + +/obj/item/organ/tail/rabbit/Remove(mob/living/carbon/human/H, special = 0) + ..() + if(istype(H)) + H.dna.features["tail_human"] = "None" + H.dna.species.mutant_bodyparts -= "tail_human" + color = H.hair_color + H.update_body() + +/obj/item/organ/tail/dog + name = "dog tail" + desc = "A severed dog tail." + tail_type = "Dog" + +/obj/item/organ/tail/dog/Insert(mob/living/carbon/human/H, special = 0, drop_if_replaced = TRUE) + ..() + if(istype(H)) + if(!("tail_human" in H.dna.species.mutant_bodyparts)) + H.dna.species.mutant_bodyparts |= "tail_human" + H.dna.features["tail_human"] = tail_type + H.update_body() + +/obj/item/organ/tail/dog/Remove(mob/living/carbon/human/H, special = 0) ..() if(istype(H)) H.dna.features["tail_human"] = "None" diff --git a/icons/mob/mutant_bodyparts.dmi b/icons/mob/mutant_bodyparts.dmi index a05f9c8dc678e95118ba64570a468f57a6e54fd8..1e271758e3466776c149a88b436592a38c23f106 100644 GIT binary patch literal 757 zcmVV=-0C=38lf4SUFce1Tlu5yZWuCT)VPViGNVdqZ2|CM4VU zUG9N1+#91T-xmboQvp9*Y59Dh4N8**1ifTN*s@+hAh>LVnTj^la2q52dP|m|UJMZg zOe$@MO9*O3J3eK%+LhySS<@SzVowz-xA^!&Q!jLPIg@KBoaKjtU_V;6tu#UgNINpX z*|8zYwc_+X_zTZmfbL9&$To^rmAycJT}K88JNCbFjBiwqUYf|h000FT{ zL_t(|obB7+O2aS|$MMjt58xY&)_5KE$7{juUZzDaMcBO{;_JII*EOeW%j`*U`2B!T z(wLvl2|YWBxe`ol1QIx2VB(M0voQiEd39;88+SJk>VY;tb$KxJjiHMRH2&n};b&<5 zw##{!5=bC{1QJLffdu}cKmeD@7LOw*E?etA00000_+RP`NjsHyv&Kl|K&Ky=)&pg~ z)4FEMFlu0of;4D3HkNO1NCE%=0KieIzG8PZV%PWDfv&UOiV(Q!F7Wj0zeV?o`t_f^ zQ(v;j=z-I*16wy@$MQ6Gp!z>rA3Fa4002XYCn}q{OtXE~SkG?61h?I)1{OuQA=R$J z32E+fry2NJ6d%EWcq&eA-OV}YLVE+hisvA3BL0Sn_g*#d-TN?5Oep)mx`D<7fr$*< zl~&??G%RrU3(V^S@@LSz`86)gR&FZ@~GjTIjt^R)2tOv^DkoHCYfMn-OYIzO@00000Q?}oiZfq`^ch?mSMH59&i}l5#L#C-n|(B01ISja5MlwKob~)Z3NfpfQM*s8zRMEiNQY*lC#n>iD?;U03eT9 zIpAaV$iuSWW&6sG@8nOKAJDFHtP%obLGU;Nw$!EJ33V2IsbVBOH*@P!aZ+hUuxW?o z^rh#2yxL;p*1P>Wv6f$G{`%l`>stDpVZ37=W>edghAg>xu$i&1{5H+J&aL4#_qbn? zsDg+JPl#1tHjKFbI(c=rllbMurmd^<*7UfQSO)n<9oHq}z+SJui?5TCuYN{X>v!9) zowaIru-Tq}M@nf1qw|86Boep2H>CcAGAsN->XX+(J)(v>v~7uFBzhULTLZxvw1PDo~j_V1>;T87d8ScySHol_4-w)~$C{is7a?eu^r#dXT zuleW}mg)2YXAxY8YZ@x!&Ua-K2-m87@^vo=?~HPVTqYw=mRd+pwjaBW+YtFQr zJR5MhYZ%h(*~4mwFE+xD9IM=r5n-9QaG z)pI!Et}O8>@n_Ho2uUv+Gu_~NKs7&~b+?}y0&StKdh;r)gV2)f*`sJS;Jy6j<>LvR zPB%c-D+jChgdwAN$Ee_JIWMSeHbACSI$f*8klAN4R%q{)J4z;92wtDmDV5oR>NtA+ zluI*%1nmXZGa3144!*6jc-U_~PZ=o=icmER>i0>YL1GQeQ7QX;C*9jS(R5*j>}_Tk zz%TF48juscw7v!`3B^-WHn+S;_npaO4QE##0{O?~hJjQSXMa!h=@G$Er=&SUaFmL5 z_!-z59jV)i36&*2cDjA(o8CpehGLQlOPn%%ZTqPFV)Bt@zgg&qY1w;?z|Q{W_=bVw zlQ1OHn+WLNvX<@v$(uU-h$8&ljc;gFRa1#^N~L0ku!r~1%g>mjS31xtf7vBYg1(Vf zcqYo)IUM!5{Dl;TRH2_Na_FK`&d#mkJnzyZyLNRM=O33S%5a+u<}QGugN*noKSxLP zQ)*wt>t9dy^Dn1;$~Q!=ao?@5$G4aJVKA6B&}2mGA1o$Jv6nK@&v;-+rG`$YCgO1R zJx92pdbOpd8q29ma;o0HJ@oV|>&A diff --git a/icons/mob/species/misc/cat.dmi b/icons/mob/species/human/cat.dmi similarity index 100% rename from icons/mob/species/misc/cat.dmi rename to icons/mob/species/human/cat.dmi diff --git a/icons/mob/species/human/dog.dmi b/icons/mob/species/human/dog.dmi new file mode 100644 index 0000000000000000000000000000000000000000..3b3241059638d03e5b3bb73512e14c8e74d86ddc GIT binary patch literal 1332 zcmV-41fFDZ*Bkp zc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LY zR3K9+H$FA7s5m|)KRwFJqy>BQ)>1d68SBvt~M270DCgs>qOXHjZ-W?l**EAe@bG&@mjR90~H za{=S4w~S`pIFoi;Ia^&{($XqM_%W!n-7tG2=FAFfTk5E zQ%avebryw?&xTt&0000000000cx|MWtkvs@r2$qi)!oa?5wU;BA`Q^gE++O)rZ@Di zQ*yi$PViaz8G9$3pnvuNP2~Wke+y7(r&yYVz1}SwW9-$|vFkW^GjJKl4% z!n2n}sE-hZ(X}@s0i*IrH4uG^@$M0WA`i1WceRC)+q2~NLZvR5g zFN|}ow6p@anEHMp0000000000@UpD!|MBT~wHJ`;Y5y)+q*mhprS&rnTS!Rzcd4Du z+Q18<^eU-0Ruu(E<_o5*Fm2~^QuV?rxtpQ!b3f0!<%kd}U$9MiiD7_Ly>OfMBK!FS z-ciAgQ2By7dH=)mPO4rwy<4C;&knrH%fBhk7YrRrVZE?-{1}y;~mdSw6r00000!0*PbtY=xVUr8=AFgQ>7e=4h=jVbpJr#IzHH{md2km`k? zx{Q7n6x~a~yY%|sSJT~u!;C>HS+33LuL08iN+Kukzka&xbN=0C(vj(qI;VHj?{v0e zGQg&vEwO84{X*D&B~&x#8<#jq)bf5MEa(>k00000 z0000$gj-q9vUa~>4%WY0l>g4^ZM$3izhFRDoM%IO8=qYifO2C^@FeE-(I*%bCH+6x ze#ML0-C;SsosKdNW1tTw@I%A}<`vto*!ajG)2`8n>4>dXHr|F4jQZQ-yP;q4IsUle qamHc1a*0z2%Tl$Z{fYs2W&QyYfk-?Rp<@RC0000 zRFCiFYBmsIyI}cU)2>ASZ{gl<7jL#;jl0eVvV{Y{K(z3peuoWPP=M%Q3A4ljsQ%CMR~aeEj)gecPEi-AxxKMta?GIk+RB z`(X5qlNb4C-;-muc6fq~J^)5S5QV$R!H8+n@oL|pB6F>DRCU^p4wEV@GCVArh( zLk7i#>O#qm5(n=o`t;c5EwK6eT;yKx|Krw{C;89%FU#cmf2K=pK_Ej^Ls}t&@$CA_ zbKYzIb~E>ce*N}1&8$E4>COE!B7TdrN2EsUiQGY*2 f&Vyv9oE7#|^<3m}{*x;(Mj1R^{an^LB{Ts5SliW1 literal 0 HcmV?d00001 diff --git a/icons/mob/species/misc/fox.dmi b/icons/mob/species/human/fox.dmi similarity index 100% rename from icons/mob/species/misc/fox.dmi rename to icons/mob/species/human/fox.dmi diff --git a/icons/mob/species/human/rabbit.dmi b/icons/mob/species/human/rabbit.dmi new file mode 100644 index 0000000000000000000000000000000000000000..fcc6599f735685713dabb3bf310c4d1e26339c1e GIT binary patch literal 1013 zcmVV=-0C=2J zR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$py98<31lEji! zAX6zfJ~gqZI6kQ~FRwD*$<@Qt&qaxgGbOXA7-R$&XIfEWZYqdvh(nKCkiTCDv092# zlk@XZ5{oLy(G1a&l$uvUwm#B4i0)dFtS(8+%po;ck@S$^!?c|If&vO7gcviF6slmp7!Z>-9)!(u(g= z%eT<_zx6EE*PEIH00000008{IthcZe5g4$wzsh<0OXcr*O!Y-U`)DE3>a+2f;F$NA zEW_)C7W3m?%hZmP1zCP~px-H&WnvUtVh0#240BBG5_!Q2PAz8T61)ZcRvKgoQz>U; zU)VW)v6w4jP4>=ce<7$Yvc{RF0g+AaH>|0(^%OkDr7FT?roNcUb*EKi>$fdr{|VcmOE4z!MdkeMO4lVR z+wjNC6T#}a7c+1p70jur=*$V~hIF%Vu07%1gx9VM`Ou+~J+!X0H>vf)Hb64;z30RR91{0%aaCoY|OdEwfV;Sx!dq$Yj=Ch_vZI}!v#GHx|7 z@eA1CWUvO&xitiS0KyA~egT}{!%qZ#|1YzGBK3?e2^y1l!S;w=8J#VJX^FlEL1_~I zgpXj2YIG+N)(PH*$Fwk8UYD>29bA0}Z1+xv=RT7gVCpsZtDv$CbuKWyU}4+Df^QwT zHvZG6EaNJZh|VA7>5~%v_ovy^o2&y%bgE;32AFjMz{V3Gq)ZXva4*F1}MC3H3O{e7Nk1w%P6)Q*O3B jR!}2g0{{R30BQIKK?*Ec`)2-o00000NkvXXu0mjfdO*{I literal 0 HcmV?d00001