diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index 0b87ee870e..92132b092e 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -85,6 +85,13 @@
init_sprite_accessory_subtypes(/datum/sprite_accessory/screen, GLOB.ipc_screens_list)
if(!GLOB.ipc_antennas_list.len)
init_sprite_accessory_subtypes(/datum/sprite_accessory/antenna, GLOB.ipc_antennas_list)
+ if(!GLOB.mam_body_markings_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_body_markings, GLOB.mam_body_markings_list)
+ if(!GLOB.mam_tails_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails, GLOB.mam_tails_list)
+ if(!GLOB.mam_ears_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_ears, GLOB.mam_ears_list)
+
// if(ishuman(src))
// var/mob/living/carbon/human/H = src
/* if(H.gender == MALE) Fuck if I know how to fix this.
@@ -106,7 +113,7 @@
"mcolor2" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"mcolor3" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"tail_lizard" = pick(GLOB.tails_list_lizard),
- "tail_human" = pick(GLOB.tails_list_human),
+ "tail_human" = "None",
"wings" = "None",
"snout" = pick(GLOB.snouts_list),
"horns" = pick(GLOB.horns_list),
@@ -118,10 +125,9 @@
"caps" = pick(GLOB.caps_list),
"moth_wings" = pick(GLOB.moth_wings_list),
"taur" = "None",
- "mam_body_markings" = "None",
- "mam_ears" = "None",
+ "mam_body_markings" = pick(GLOB.mam_body_markings_list),
+ "mam_ears" = pick(GLOB.mam_ears_list),
"mam_tail" = pick(GLOB.mam_tails_list),
- "mam_tail" = "None",
"mam_tail_animated" = "None",
"xenodorsal" = "Standard",
"xenohead" = "Standard",
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 68baeb51e9..8ea827ce5c 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -1475,7 +1475,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["mam_tail"] = "None"
if("tail_human")
- var/list/snowflake_tails_list = list("Normal" = null)
+ var/list/snowflake_tails_list = list("None" = null)
for(var/path in GLOB.tails_list_human)
var/datum/sprite_accessory/tails/human/instance = GLOB.tails_list_human[path]
if(istype(instance, /datum/sprite_accessory))
@@ -1492,7 +1492,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["mam_tail"] = "None"
if("mam_tail")
- var/list/snowflake_tails_list = list("Normal" = null)
+ var/list/snowflake_tails_list = list("None" = null)
for(var/path in GLOB.mam_tails_list)
var/datum/sprite_accessory/mam_tails/instance = GLOB.mam_tails_list[path]
if(istype(instance, /datum/sprite_accessory))
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index 3c4f1fd382..dbaf9fb642 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -272,12 +272,35 @@
else if(check_zone(M.zone_selected) == "head")
var/mob/living/carbon/human/H = src
+ var/datum/species/pref_species = H.dna.species
+
M.visible_message("[M] gives [H] a pat on the head to make [p_them()] feel better!", \
"You give [H] a pat on the head to make [p_them()] feel better!")
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat)
- if(H.dna.species.can_wag_tail(H) && (H.dna.features["tail_human"]!= "None" || H.dna.features["tail_lizard"]!= "None" || H.dna.features["mam_tail"])!= "None")
- if(!H.dna.species.is_wagging_tail())
- H.emote("wag")
+ if(H.dna.species.can_wag_tail(H))
+ if("tail_human" in pref_species.default_features)
+ if(H.dna.features["tail_human"] == "None")
+ return
+ else
+ if(!H.dna.species.is_wagging_tail())
+ H.emote("wag")
+
+ if("tail_lizard" in pref_species.default_features)
+ if(H.dna.features["tail_lizard"] == "None")
+ return
+ else
+ if(!H.dna.species.is_wagging_tail())
+ H.emote("wag")
+
+ if("mam_tail" in pref_species.default_features)
+ if(H.dna.features["mam_tail"] == "None")
+ return
+ else
+ if(!H.dna.species.is_wagging_tail())
+ H.emote("wag")
+
+ else
+ return
else
M.visible_message("[M] hugs [src] to make [p_them()] feel better!", \
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 d0eacf8622..572e50b01b 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(EYECOLOR,HAIR,FACEHAIR,LIPS,MUTCOLORS_PARTSONLY)
- mutant_bodyparts = list("mam_tail", "mam_ears", "wings", "taur") // CITADEL EDIT gives humans snowflake parts
- default_features = list("mcolor" = "FFF", "mam_tail" = "None", "mam_ears" = "None", "wings" = "None", "taur" = "None")
+ mutant_bodyparts = list("ears", "tail_human", "wings", "taur") // CITADEL EDIT gives humans snowflake parts
+ default_features = list("mcolor" = "FFF", "tail_human" = "None", "ears" = "None", "wings" = "None", "taur" = "None")
use_skintones = 1
skinned_type = /obj/item/stack/sheet/animalhide/human
disliked_food = GROSS | RAW
@@ -23,19 +23,19 @@
. = ..()
/datum/species/human/can_wag_tail(mob/living/carbon/human/H)
- return ("mam_tail" in mutant_bodyparts) || ("mam_waggingtail" in mutant_bodyparts)
+ return ("tail_human" in mutant_bodyparts) || ("waggingtail_human" in mutant_bodyparts)
/datum/species/human/is_wagging_tail(mob/living/carbon/human/H)
- return ("mam_waggingtail" in mutant_bodyparts)
+ return ("waggingtail_human" in mutant_bodyparts)
/datum/species/human/start_wagging_tail(mob/living/carbon/human/H)
- if("mam_tail" in mutant_bodyparts)
- mutant_bodyparts -= "mam_tail"
- mutant_bodyparts |= "mam_waggingtail"
+ if("tail_human" in mutant_bodyparts)
+ mutant_bodyparts -= "tail_human"
+ mutant_bodyparts |= "waggingtail_human"
H.update_body()
/datum/species/human/stop_wagging_tail(mob/living/carbon/human/H)
- if("mam_waggingtail" in mutant_bodyparts)
- mutant_bodyparts -= "mam_waggingtail"
- mutant_bodyparts |= "mam_tail"
+ if("waggingtail_human" in mutant_bodyparts)
+ mutant_bodyparts -= "waggingtail_human"
+ mutant_bodyparts |= "tail_human"
H.update_body()
diff --git a/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm b/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm
index 5281d43ffe..e769a41491 100644
--- a/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm
+++ b/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm
@@ -426,6 +426,7 @@
/datum/sprite_accessory/mam_tails
icon = 'modular_citadel/icons/mob/mam_bodyparts.dmi'
+
/datum/sprite_accessory/mam_tails/none
name = "None"
diff --git a/modular_citadel/code/modules/mob/living/carbon/human/species_types/furrypeople.dm b/modular_citadel/code/modules/mob/living/carbon/human/species_types/furrypeople.dm
index ebc2b777d2..e533829ca1 100644
--- a/modular_citadel/code/modules/mob/living/carbon/human/species_types/furrypeople.dm
+++ b/modular_citadel/code/modules/mob/living/carbon/human/species_types/furrypeople.dm
@@ -217,7 +217,7 @@
//Alien//
/datum/species/xeno
// A cloning mistake, crossing human and xenomorph DNA
- name = "xeno"
+ name = "Xeno Hybrid"
id = "xeno"
say_mod = "hisses"
default_color = "00FF00"