diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm
index 7f8be90c62..cde26bd199 100644
--- a/code/__HELPERS/global_lists.dm
+++ b/code/__HELPERS/global_lists.dm
@@ -41,6 +41,7 @@
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails, mam_tails_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_ears, mam_ears_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails_animated, mam_tails_animated_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/taur, taur_list)
//avian bodyparts (i swear this isn't starbound)
// init_sprite_accessory_subtypes(/datum/sprite_accessory/beaks/avian, avian_beaks_list)
// init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/avian, avian_tails_list)
diff --git a/code/citadel/_helpers.dm b/code/citadel/_helpers.dm
index 6b911c1aa6..3879c0ec50 100644
--- a/code/citadel/_helpers.dm
+++ b/code/citadel/_helpers.dm
@@ -36,6 +36,7 @@ var/global/list/mam_body_markings_list = list()
var/global/list/mam_ears_list = list()
var/global/list/mam_tails_list = list()
var/global/list/mam_tails_animated_list = list()
+var/global/list/taur_list = list()
//Exotic Species
var/global/list/exotic_tails_list = list()
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index c10c0a617e..ae67f69c59 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -62,7 +62,7 @@ var/list/preferences_datums = list()
var/eye_color = "000" //Eye color
var/datum/species/pref_species = new /datum/species/human() //Mutant race
var/list/features = list("mcolor" = "FFF", "mcolor2" = "FFF","mcolor3" = "FFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "ears" = "None", "wings" = "None", "frills" = "None", "spines" = "None", "body_markings" = "None", "mam_body_markings" = "None", "mam_ears" = "None", "mam_tail" = "None", "mam_tail_animated" = "None",
- "xenodorsal" = "None", "xenohead" = "None", "xenotail" = "None", "legs" = "Normal Legs")
+ "xenodorsal" = "None", "xenohead" = "None", "xenotail" = "None", "legs" = "Normal Legs", "taur" = "None")
var/list/custom_names = list("clown", "mime", "ai", "cyborg", "religion", "deity")
var/prefered_security_department = SEC_DEPT_RANDOM
@@ -369,6 +369,15 @@ var/list/preferences_datums = list()
dat += ""
+ if("taur" in pref_species.mutant_bodyparts)
+ dat += "
"
+
+ dat += "Taur Body"
+
+ dat += "[features["taur"]] "
+
+ dat += " | "
+
//Xeno Bodyparts
if("xenohead" in pref_species.mutant_bodyparts)
dat += ""
@@ -1099,6 +1108,12 @@ var/list/preferences_datums = list()
if(new_tail)
features["mam_tail"] = new_tail
+ if("taur")
+ var/new_taur
+ new_taur = input(user, "Choose your character's tauric body:", "Character Preference") as null|anything in taur_list
+ if(new_taur)
+ features["taur"] = new_taur
+
/* Doesn't exist yet. will include facial overlays to mimic 5th port species heads.
if("mam_snout")
var/new_snout
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index 5b389d6f64..bbb4358246 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -318,6 +318,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["feature_mam_tail"] >> features["mam_tail"]
S["feature_mam_ears"] >> features["mam_ears"]
S["feature_mam_tail_animated"] >> features["mam_tail_animated"]
+ S["feature_taur"] >> features["taur"]
//Xeno features
S["feature_xeno_tail"] >> features["xenotail"]
S["feature_xeno_dors"] >> features["xenodorsal"]
@@ -400,6 +401,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
features["mam_body_markings"] = sanitize_inlist(features["mam_body_markings"], mam_body_markings_list)
features["mam_ears"] = sanitize_inlist(features["mam_ears"], mam_ears_list)
features["mam_tail"] = sanitize_inlist(features["mam_tail"], mam_tails_list)
+ features["taur"] = sanitize_inlist(features["taur"], taur_list)
//Xeno features
features["xenotail"] = sanitize_inlist(features["xenotail"], xeno_tail_list)
features["xenohead"] = sanitize_inlist(features["xenohead"], xeno_head_list)
@@ -465,6 +467,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["feature_mam_tail"] << features["mam_tail"]
S["feature_mam_ears"] << features["mam_ears"]
S["feature_mam_tail_animated"] << features["mam_tail_animated"]
+ S["feature_taur"] << features["taur"]
//Xeno features
S["feature_xeno_tail"] << features["xenotail"]
S["feature_xeno_dors"] << features["xenodorsal"]
@@ -507,9 +510,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["default_slot"] << slot
S.cd = "/character[slot]"
- S["belly_prefs"] >> belly_prefs
- S["devourable"] >> devourable
- S["digestable"] >> digestable
+ S["belly_prefs"] >> belly_prefs
+ S["devourable"] >> devourable
+ S["digestable"] >> digestable
digestable = sanitize_integer(digestable, 0, 1, initial(digestable))
devourable = sanitize_integer(devourable, 0, 1, initial(devourable))
@@ -525,9 +528,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
if(!S) return 0
S.cd = "/character[default_slot]"
- S["belly_prefs"] << belly_prefs
- S["devourable"] << devourable
- S["digestable"] << digestable
+ S["belly_prefs"] << belly_prefs
+ S["devourable"] << devourable
+ S["digestable"] << digestable
return 1
diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm
index 55447bce8c..4ec797c29d 100644
--- a/code/modules/mob/living/carbon/human/emote.dm
+++ b/code/modules/mob/living/carbon/human/emote.dm
@@ -90,7 +90,7 @@
/datum/emote/living/carbon/human/wag/select_message_type(mob/user)
. = ..()
var/mob/living/carbon/human/H = user
- if(("waggingtail_lizard" in H.dna.species.mutant_bodyparts) || ("waggingtail_human" in H.dna.species.mutant_bodyparts) || ("mam_tail" in H.dna.species.mutant_bodyparts))
+ if(("waggingtail_lizard" in H.dna.species.mutant_bodyparts) || ("waggingtail_human" in H.dna.species.mutant_bodyparts) || ("mam_waggingtail" in H.dna.species.mutant_bodyparts))
. = null
/datum/emote/living/carbon/human/wing
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index ab58539a67..3d620a37dc 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -595,11 +595,11 @@
threatcount += 2
//Check for dresscode violations
- if(istype(head, /obj/item/clothing/head/wizard) || istype(head, /obj/item/clothing/head/helmet/space/hardsuit/wizard))
- threatcount += 2
+ if(istype(head, /obj/item/clothing/head/wizard) || istype(head, /obj/item/clothing/head/helmet/space/hardsuit/wizard) || istype(head, /obj/item/clothing/head/helmet/space/hardsuit/syndi) || istype(head, /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi))
+ threatcount += 5
//Check for nonhuman scum
- if(dna && dna.species.id && dna.species.id != "human")
+ if(dna && dna.species.id && dna.species.id != "human" || "lizard" || "canine" || "felid" || "avian" || "shark" || "moth")
threatcount += 1
//mindshield implants imply trustworthyness
@@ -608,7 +608,7 @@
//Agent cards lower threatlevel.
if(istype(idcard, /obj/item/weapon/card/id/syndicate))
- threatcount -= 5
+ threatcount -= 2
return threatcount
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 1f869c02e5..6e18691730 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -303,22 +303,22 @@
var/obj/item/bodypart/head/HD = H.get_bodypart("head")
if("tail_lizard" in mutant_bodyparts)
- if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT))
+ if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || !H.dna.features["taur"] == "None")
bodyparts_to_add -= "tail_lizard"
if("waggingtail_lizard" in mutant_bodyparts)
- if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT))
+ if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || !H.dna.features["taur"] == "None")
bodyparts_to_add -= "waggingtail_lizard"
else if ("tail_lizard" in mutant_bodyparts)
bodyparts_to_add -= "waggingtail_lizard"
if("tail_human" in mutant_bodyparts)
- if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT))
+ if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || !H.dna.features["taur"] == "None")
bodyparts_to_add -= "tail_human"
if("waggingtail_human" in mutant_bodyparts)
- if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT))
+ if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || !H.dna.features["taur"] == "None")
bodyparts_to_add -= "waggingtail_human"
else if ("tail_human" in mutant_bodyparts)
bodyparts_to_add -= "waggingtail_human"
@@ -373,11 +373,11 @@
//Other Races
if("mam_tail" in mutant_bodyparts)
- if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT))
+ if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || !H.dna.features["taur"] == "None")
bodyparts_to_add -= "mam_tail"
if("mam_waggingtail" in mutant_bodyparts)
- if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT))
+ if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT || !H.dna.features["taur"] == "None"))
bodyparts_to_add -= "mam_waggingtail"
else if ("mam_tail" in mutant_bodyparts)
bodyparts_to_add -= "mam_waggingtail"
@@ -386,6 +386,10 @@
if(!H.dna.features["mam_ears"] || H.dna.features["mam_ears"] == "None" || H.head && (H.head.flags_inv & HIDEHAIR) || (H.wear_mask && (H.wear_mask.flags_inv & HIDEHAIR)) || !HD || HD.status == BODYPART_ROBOTIC)
bodyparts_to_add -= "mam_ears"
+ if("taur" in mutant_bodyparts)
+ if(!H.dna.features["taur"] || H.dna.features["taur"] == "None" || !H.dna.features["mam_tail"] == "None" || !H.dna.features["mam_waggingtail"] == "None")
+ bodyparts_to_add -= "taur"
+
//Digitigrade legs are stuck in the phantom zone between true limbs and mutant bodyparts. Mainly it just needs more agressive updating than most limbs.
var/update_needed = FALSE
@@ -462,6 +466,8 @@
S = mam_body_markings_list[H.dna.features["mam_body_markings"]]
if("mam_ears")
S = mam_ears_list[H.dna.features["mam_ears"]]
+ if("taur")
+ S = taur_list[H.dna.features["taur"]]
//Xeno Bodyparts
if("xenodorsal")
diff --git a/code/modules/mob/living/carbon/human/species_types/furrypeople.dm b/code/modules/mob/living/carbon/human/species_types/furrypeople.dm
index 3d20e7f792..bd41175673 100644
--- a/code/modules/mob/living/carbon/human/species_types/furrypeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/furrypeople.dm
@@ -4,8 +4,8 @@ datum/species/canid
default_color = "4B4B4B"
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR)
// subspecies = list("fox")
- mutant_bodyparts = list("mam_tail", "mam_ears", "mam_body_markings", "snout", "legs")
- default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "body_markings" = "None", "mam_tail" = "None", "mam_ears" = "None", "mam_body_markings" = "None")
+ mutant_bodyparts = list("mam_tail", "mam_ears", "mam_body_markings", "snout", "legs", "taur")
+ default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "body_markings" = "None", "mam_tail" = "None", "mam_ears" = "None", "mam_body_markings" = "None", "taur" = "None")
attack_verb = "claw"
attack_sound = 'sound/weapons/slash.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
@@ -22,8 +22,8 @@ datum/species/canid
id = "felid"
default_color = "BCAC9B"
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR)
- mutant_bodyparts = list("mam_body_markings", "mam_ears", "mam_tail", "snout", "legs")
- default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "mam_body_markings" = "Belly", "mam_ears" = "Big Cat", "mam_tail" = "Big Cat")
+ mutant_bodyparts = list("mam_body_markings", "mam_ears", "mam_tail", "snout", "legs", "taur")
+ default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "mam_body_markings" = "Belly", "mam_ears" = "Big Cat", "mam_tail" = "Big Cat", "taur" = "None")
attack_verb = "claw"
attack_sound = 'sound/weapons/slash.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
@@ -67,8 +67,8 @@ datum/species/canid
id = "avian"
default_color = "BCAC9B"
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR)
- mutant_bodyparts = list("beak", "wings", "avian_tail")
- default_features = list("beak" = "None", "wings" = "None")
+ mutant_bodyparts = list("beak", "wings", "avian_tail", "taur")
+ default_features = list("beak" = "None", "wings" = "None", "taur" = "None")
attack_verb = "peck"
attack_sound = 'sound/weapons/slash.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
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 dad291b51a..94778d2716 100644
--- a/code/modules/mob/living/carbon/human/species_types/humans.dm
+++ b/code/modules/mob/living/carbon/human/species_types/humans.dm
@@ -3,8 +3,8 @@
id = "human"
default_color = "FFFFFF"
species_traits = list(MUTCOLORS_PARTSONLY,EYECOLOR,HAIR,FACEHAIR,LIPS)
- mutant_bodyparts = list("tail_human", "ears")
- default_features = list("tail_human" = "None", "ears" = "None")
+ mutant_bodyparts = list("tail_human", "ears", "taur")
+ default_features = list("tail_human" = "None", "ears" = "None", "taur" = "none")
use_skintones = 1
skinned_type = /obj/item/stack/sheet/animalhide/human
diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm
index f55f5cade2..306a4136bb 100644
--- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm
@@ -5,9 +5,9 @@
say_mod = "hisses"
default_color = "00FF00"
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR,FACEHAIR)
- mutant_bodyparts = list("tail_lizard", "snout", "spines", "horns", "frills", "body_markings", "legs")
+ mutant_bodyparts = list("tail_lizard", "snout", "spines", "horns", "frills", "body_markings", "legs", "taur")
mutant_organs = list(/obj/item/organ/tongue/lizard)
- default_features = list("mcolor" = "0F0","mcolor2" = "0F0","mcolor3" = "0F0", "tail" = "Smooth", "snout" = "Round", "horns" = "None", "frills" = "None", "spines" = "None", "body_markings" = "None", "legs" = "Normal Legs")
+ default_features = list("mcolor" = "0F0","mcolor2" = "0F0","mcolor3" = "0F0", "tail" = "Smooth", "snout" = "Round", "horns" = "None", "frills" = "None", "spines" = "None", "body_markings" = "None", "legs" = "Normal Legs", "taur" = "None")
attack_verb = "slash"
attack_sound = 'sound/weapons/slash.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm
index b4d5b5a1b3..8b73f2be27 100644
--- a/code/modules/mob/new_player/sprite_accessories.dm
+++ b/code/modules/mob/new_player/sprite_accessories.dm
@@ -59,10 +59,7 @@
var/locked = 0 //Is this part locked from roundstart selection? Used for parts that apply effects
var/dimension_x = 32
var/dimension_y = 32
- var/extra = 0
var/center = FALSE //Should we center the sprite?
- var/extra_icon = 'icons/mob/mam_bodyparts.dmi'
- var/extra_color_src = MUTCOLORS2 //The color source for the extra overlay.
//////////////////////
// Hair Definitions //
@@ -71,7 +68,7 @@
icon = 'icons/mob/human_face.dmi' // default icon for all hairs
/datum/sprite_accessory/hair/short
- name = "Short Hair" // try to capatilize the names please~
+ name = "Short Hair" // try to capatilize the names please~ // try to spell
icon_state = "hair_a" // you do not need to define _s or _l sub-states, game automatically does this for you
/datum/sprite_accessory/hair/shorthair2
@@ -316,7 +313,7 @@
icon_state = "hair_spiky2"
/datum/sprite_accessory/hair/protagonist
- name = "Slightly long"
+ name = "Slightly Long"
icon_state = "hair_protagonist"
/datum/sprite_accessory/hair/kusangi
@@ -1384,6 +1381,7 @@
/datum/sprite_accessory/legs/digitigrade_lizard
name = "Digitigrade Legs"
+
/* tbi eventually idk
/datum/sprite_accessory/legs/digitigrade_mam
name = "Anthro Digitigrade Legs"
@@ -1792,4 +1790,5 @@
/datum/sprite_accessory/slimecoon_snout
icon = 'icons/mob/exotic_bodyparts.dmi'
name = "Hunter"
- icon_state = "slimecoon" */
\ No newline at end of file
+ icon_state = "slimecoon" */
+
diff --git a/code/modules/mob/new_player/sprite_accessories_Citadel.dm b/code/modules/mob/new_player/sprite_accessories_Citadel.dm
new file mode 100644
index 0000000000..a0614fd504
--- /dev/null
+++ b/code/modules/mob/new_player/sprite_accessories_Citadel.dm
@@ -0,0 +1,499 @@
+/datum/sprite_accessory
+ var/extra = 0
+ var/extra_icon = 'icons/mob/mam_bodyparts.dmi'
+ var/extra_color_src = MUTCOLORS2 //The color source for the extra overlay.
+
+/* tbi eventually idk
+/datum/sprite_accessory/legs/digitigrade_mam
+ name = "Anthro Digitigrade Legs"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+*/
+
+/******************************************
+************ Human Ears/Tails *************
+*******************************************/
+
+/datum/sprite_accessory/ears/fox
+ name = "Fox"
+ icon_state = "fox"
+ hasinner = 0
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/ears/wolf
+ name = "Wolf"
+ icon_state = "wolf"
+ hasinner = 1
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/tails/human/fox
+ name = "Fox"
+ icon_state = "fox"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+ extra = 1
+
+/datum/sprite_accessory/tails_animated/human/fox
+ name = "Fox"
+ icon_state = "fox"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+ extra = 1
+
+/datum/sprite_accessory/tails/human/wolf
+ name = "Wolf"
+ icon_state = "wolf"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/tails_animated/human/wolf
+ name = "Wolf"
+ icon_state = "wolf"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/tails/human/catbig
+ name = "Cat, Big"
+ icon_state = "catbig"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/tails_animated/human/catbig
+ name = "Cat, Big"
+ icon_state = "catbig"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/ears/fennec
+ name = "Fennec"
+ icon_state = "fennec"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/tails/human/fennec
+ name = "Fennec"
+ icon_state = "fennec"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/tails_animated/human/fennec
+ name = "Fennec"
+ icon_state = "fennec"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/ears/lab
+ name = "Dog, Floppy"
+ icon_state = "lab"
+ hasinner = 0
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/tails/human/husky
+ name = "Husky"
+ icon_state = "husky"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+ extra = 1
+
+/datum/sprite_accessory/tails_animated/human/husky
+ name = "Husky"
+ icon_state = "husky"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+ extra = 1
+
+/datum/sprite_accessory/ears/murid
+ name = "Murid"
+ icon_state = "murid"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/tails/human/murid
+ name = "Murid"
+ icon_state = "murid"
+ color_src = 0
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+
+/datum/sprite_accessory/tails_animated/human/murid
+ name = "Murid"
+ icon_state = "murid"
+ color_src = 0
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/tails/human/shark
+ name = "Shark"
+ icon_state = "shark"
+ color_src = 0
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/tails/human/shark/datashark
+ name = "datashark"
+ icon_state = "datashark"
+ color_src = 0
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/tails/human/ailurus
+ name = "ailurus"
+ icon_state = "ailurus"
+ color_src = 0
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/ears/squirrel
+ name = "Squirrel"
+ icon_state = "squirrel"
+ hasinner= 1
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/tails/human/squirrel
+ name = "Squirrel"
+ icon_state = "squirrel"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/tails_animated/human/squirrel
+ name = "Squirrel"
+ icon_state = "squirrel"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+
+/******************************************
+*************** Body Parts ****************
+*******************************************/
+
+/datum/sprite_accessory/mam_ears
+ icon = 'icons/mob/mam_bodyparts.dmi'
+/datum/sprite_accessory/mam_ears/none
+ name = "None"
+
+/datum/sprite_accessory/mam_tails
+ icon = 'icons/mob/mam_bodyparts.dmi'
+/datum/sprite_accessory/mam_tails/none
+ name = "None"
+
+/datum/sprite_accessory/mam_tails_animated
+ icon = 'icons/mob/mam_bodyparts.dmi'
+/datum/sprite_accessory/mam_tails_animated/none
+ name = "None"
+
+/******************************************
+**************** Snouts *******************
+*******************************************/
+
+/datum/sprite_accessory/snouts/lcanid
+ name = "Fox, Long"
+ icon_state = "lcanid"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+ extra = 1
+
+/datum/sprite_accessory/snouts/scanid
+ name = "Fox, Short"
+ icon_state = "scanid"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+ extra = 1
+
+/datum/sprite_accessory/snouts/wolf
+ name = "Wolf"
+ icon_state = "wolf"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+ extra = 1
+
+/datum/sprite_accessory/snouts/husky
+ name = "Husky"
+ icon_state = "husky"
+ icon = 'icons/mob/mam_bodyparts.dmi'
+ extra = 1
+
+/******************************************
+************ Actual Species ***************
+*******************************************/
+//Cat, Big
+/datum/sprite_accessory/mam_ears/catbig
+ name = "Cat, Big"
+ icon_state = "cat"
+ hasinner = 1
+ icon = 'icons/mob/mutant_bodyparts.dmi'
+
+/datum/sprite_accessory/mam_tails/catbig
+ name = "Cat, Big"
+ icon_state = "catbig"
+
+/datum/sprite_accessory/mam_tails_animated/catbig
+ name = "Cat, Big"
+ icon_state = "catbig"
+
+//Wolf
+/datum/sprite_accessory/mam_ears/wolf
+ name = "Wolf"
+ icon_state = "wolf"
+ hasinner = 1
+
+/datum/sprite_accessory/mam_tails/wolf
+ name = "Wolf"
+ icon_state = "wolf"
+
+/datum/sprite_accessory/mam_tails_animated/wolf
+ name = "Wolf"
+ icon_state = "wolf"
+
+//Fox
+/datum/sprite_accessory/mam_ears/fox
+ name = "Fox"
+ icon_state = "fox"
+ hasinner = 0
+
+/datum/sprite_accessory/mam_tails/fox
+ name = "Fox"
+ icon_state = "fox"
+ extra = 1
+ extra_color_src = MUTCOLORS2
+
+/datum/sprite_accessory/mam_tails_animated/fox
+ name = "Fox"
+ icon_state = "fox"
+ extra = 1
+ extra_color_src = MUTCOLORS2
+
+//Fennec
+/datum/sprite_accessory/mam_ears/fennec
+ name = "Fennec"
+ icon_state = "fennec"
+ hasinner = 1
+
+/datum/sprite_accessory/mam_tails/fennec
+ name = "Fennec"
+ icon_state = "fennec"
+
+/datum/sprite_accessory/mam_tails_animated/fennec
+ name = "Fennec"
+ icon_state = "fennec"
+
+//Lab
+/datum/sprite_accessory/mam_ears/lab
+ name = "Dog, Long"
+ icon_state = "lab"
+
+/datum/sprite_accessory/mam_tails/lab
+ name = "Lab"
+ icon_state = "lab"
+
+/datum/sprite_accessory/mam_tails_animated/lab
+ name = "Lab"
+ icon_state = "lab"
+
+//Husky
+/datum/sprite_accessory/mam_ears/husky
+ name = "Husky"
+ icon_state = "wolf"
+ hasinner = 1
+ icon = 'icons/mob/mam_bodyparts.dmi'
+ extra = 1
+
+/datum/sprite_accessory/mam_tails/husky
+ name = "Husky"
+ icon_state = "husky"
+ extra = 1
+
+/datum/sprite_accessory/mam_tails_animated/husky
+ name = "Husky"
+ icon_state = "husky"
+ extra = 1
+
+//Murid
+/datum/sprite_accessory/mam_ears/murid
+ name = "Murid"
+ icon_state = "murid"
+
+/datum/sprite_accessory/mam_tails/murid
+ name = "Murid"
+ icon_state = "murid"
+ color_src = 0
+
+/datum/sprite_accessory/mam_tails_animated/murid
+ name = "Murid"
+ icon_state = "murid"
+ color_src = 0
+
+//Shark
+/datum/sprite_accessory/mam_tails/shark
+ name = "Shark"
+ icon_state = "shark"
+ color_src = 0
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+
+/datum/sprite_accessory/mam_tails/shark/datashark
+ name = "DataShark"
+ icon_state = "datashark"
+ color_src = 0
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+
+//Squirrel
+/datum/sprite_accessory/mam_ears/squirrel
+ name = "Squirrel"
+ icon_state = "squirrel"
+ hasinner= 1
+
+/datum/sprite_accessory/mam_tails/squirrel
+ name = "Squirrel"
+ icon_state = "squirrel"
+
+/datum/sprite_accessory/mam_tails_animated/squirrel
+ name = "Squirrel"
+ icon_state = "squirrel"
+
+// Wah
+
+/datum/sprite_accessory/mam_tails/ailurus
+ name = "Ailurus"
+ icon_state = "ailurus"
+
+/datum/sprite_accessory/mam_tails_animated/ailurus
+ name = "Ailurus"
+ icon_state = "ailurus"
+
+/******************************************
+************ Body Markings ****************
+*******************************************/
+
+/datum/sprite_accessory/mam_body_markings
+ color_src = MUTCOLORS2
+ icon = 'icons/mob/mam_bodyparts.dmi'
+
+/datum/sprite_accessory/mam_body_markings/none
+ name = "None"
+ icon_state = "none"
+
+/datum/sprite_accessory/mam_body_markings/belly
+ name = "Belly"
+ icon_state = "belly"
+ gender_specific = 1
+
+/datum/sprite_accessory/mam_body_markings/bellyhandsfeet
+ name = "Belly, Hands, & Feet"
+ icon_state = "bellyhandsfeet"
+ gender_specific = 1
+ extra = 1
+ extra_color_src = MUTCOLORS3
+
+
+/******************************************
+************ Taur Bodies ******************
+*******************************************/
+/datum/sprite_accessory/taur
+ icon = 'icons/mob/special/mam_taur.dmi'
+ extra_icon = 'icons/mob/special/mam_taur.dmi'
+ extra = 1
+ extra_color_src = MUTCOLORS2
+ center = TRUE
+ dimension_x = 64
+
+/datum/sprite_accessory/taur/none
+ name = "None"
+
+/datum/sprite_accessory/taur/panther
+ name = "Panther"
+ icon_state = "panther"
+ hasinner = 1
+
+/datum/sprite_accessory/taur/tajaran
+ name = "Tajaran"
+ icon_state = "tajaran"
+
+/datum/sprite_accessory/taur/horse
+ name = "Horse"
+ icon_state = "horse"
+
+/datum/sprite_accessory/taur/lab
+ name = "Lab"
+ icon_state = "lab"
+
+/datum/sprite_accessory/taur/shepard
+ name = "Shepard"
+ icon_state = "shepard"
+ hasinner = 1
+
+/datum/sprite_accessory/taur/husky
+ name = "Husky"
+ icon_state = "husky"
+
+/datum/sprite_accessory/taur/cow
+ name = "Cow"
+ icon_state = "cow"
+
+/datum/sprite_accessory/taur/fox
+ name = "Fox"
+ icon_state = "fox"
+
+/datum/sprite_accessory/taur/wolf
+ name = "Wolf"
+ icon_state = "wolf"
+
+/datum/sprite_accessory/taur/naga
+ name = "Naga"
+ hasinner = 1
+ icon_state = "naga"
+
+/datum/sprite_accessory/taur/otie
+ name = "Otie"
+ hasinner = 1
+ icon_state = "otie"
+
+/datum/sprite_accessory/taur/drake
+ name = "Drake"
+ icon_state = "drake"
+
+/datum/sprite_accessory/taur/drider
+ name = "Drider"
+ icon_state = "drider"
+
+/******************************************
+*************** Ayyliums ******************
+*******************************************/
+
+//Xeno Dorsal Tubes
+/datum/sprite_accessory/xeno_dorsal
+ icon = 'icons/mob/exotic_bodyparts.dmi'
+ color_src = 0
+
+/datum/sprite_accessory/xeno_dorsal/none
+ name = "None"
+
+/datum/sprite_accessory/xeno_dorsal/normal
+ name = "Dorsal Tubes"
+ icon_state = "dortubes"
+
+//Xeno Tail
+/datum/sprite_accessory/xeno_tail
+ icon = 'icons/mob/exotic_bodyparts.dmi'
+ color_src = 0
+
+/datum/sprite_accessory/xeno_tail/none
+ name = "None"
+
+/datum/sprite_accessory/xeno_tail/normal
+ name = "Xenomorph Tail"
+ icon_state = "xeno"
+
+//Xeno Caste Heads
+//unused as of October 3, 2016
+/datum/sprite_accessory/xeno_head
+ icon = 'icons/mob/exotic_bodyparts.dmi'
+ color_src = 0
+
+/datum/sprite_accessory/xeno_head/none
+ name = "None"
+
+
+/datum/sprite_accessory/xeno_head/hunter
+ name = "Hunter"
+ icon_state = "hunter"
+
+/datum/sprite_accessory/xeno_head/drone
+ name = "Drone"
+ icon_state = "drone"
+
+/datum/sprite_accessory/xeno_head/sentinel
+ name = "Sentinel"
+ icon_state = "sentinel"
+/*
+//Slimecoon Parts
+/datum/sprite_accessory/slimecoon_ears
+ icon = 'icons/mob/exotic_bodyparts.dmi'
+ name = "Slimecoon Ears"
+ icon_state = "slimecoon"
+/datum/sprite_accessory/slimecoon_tail
+ icon = 'icons/mob/exotic_bodyparts.dmi'
+ name = "Slimecoon Tail"
+ icon_state = "slimecoon"
+/datum/sprite_accessory/slimecoon_snout
+ icon = 'icons/mob/exotic_bodyparts.dmi'
+ name = "Hunter"
+ icon_state = "slimecoon" */
\ No newline at end of file
diff --git a/icons/mob/special/mam_taur.dmi b/icons/mob/special/mam_taur.dmi
new file mode 100644
index 0000000000..95a7f85461
Binary files /dev/null and b/icons/mob/special/mam_taur.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index dadeb4be27..743dccf542 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1674,6 +1674,7 @@
#include "code\modules\mob\new_player\poll.dm"
#include "code\modules\mob\new_player\preferences_setup.dm"
#include "code\modules\mob\new_player\sprite_accessories.dm"
+#include "code\modules\mob\new_player\sprite_accessories_Citadel.dm"
#include "code\modules\modular_computers\laptop_vendor.dm"
#include "code\modules\modular_computers\computers\item\computer.dm"
#include "code\modules\modular_computers\computers\item\computer_components.dm"
|