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"