diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index bf3bb7c521..7132011793 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -32,7 +32,7 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_body_markings, mam_body_markings_list) 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/mam_tail_animated, mam_tails_animated_list) //Species for(var/spath in subtypesof(/datum/species)) diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 86c2537f22..11f412de0d 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -39,6 +39,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/ghost_forms_with_directions_list = list("ghost") //stores the ghost forms that support directional sprites var/global/list/ghost_forms_with_accessories_list = list("ghost") //stores the ghost forms that support hair and other such things diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 5bd4c80c01..b3d0c731c0 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -76,7 +76,7 @@ var/list/preferences_datums = list() var/skin_tone = "caucasian1" //Skin color 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_tails_animated" = "None") + 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") var/list/custom_names = list("clown", "mime", "ai", "cyborg", "religion", "deity") //Mob preview @@ -344,6 +344,24 @@ var/list/preferences_datums = list() dat += "" + if("mam_tail" in pref_species.mutant_bodyparts) + dat += "" + + dat += "

Tail

" + + dat += "[features["mam_tail"]]
" + + dat += "" + + if("mam_ears" in pref_species.mutant_bodyparts) + dat += "" + + dat += "

Ears

" + + dat += "[features["mam_ears"]]
" + + dat += "" + if(config.mutant_humans) if("tail_human" in pref_species.mutant_bodyparts) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index bfc85722a4..ce0800894c 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -338,7 +338,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["feature_mam_body_markings"] >> features["mam_body_markings"] S["feature_mam_tail"] >> features["mam_tail"] S["feature_mam_ears"] >> features["mam_ears"] - S["feature_mam_tails_animated"] >> features["mam_tails_animated"] + S["feature_mam_tail_animated"] >> features["mam_tail_animated"] if(!config.mutant_humans) features["tail_human"] = "none" features["ears"] = "none" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 58a945a7b5..a9c2355cce 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -333,13 +333,22 @@ if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT)) bodyparts_to_add -= "tail_human" - if("waggingtail_human" in mutant_bodyparts) if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT)) bodyparts_to_add -= "waggingtail_human" else if ("tail_human" in mutant_bodyparts) bodyparts_to_add -= "waggingtail_human" + if("mam_tail" in mutant_bodyparts) + if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT)) + bodyparts_to_add -= "mam_tail" + + if("mam_waggingtail" in mutant_bodyparts) + if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT)) + bodyparts_to_add -= "mam_waggingtail" + else if ("mam_tail" in mutant_bodyparts) + bodyparts_to_add -= "mam_waggingtail" + if("spines" in mutant_bodyparts) if(!H.dna.features["spines"] || H.dna.features["spines"] == "None" || H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT)) bodyparts_to_add -= "spines" diff --git a/code/modules/mob/living/carbon/human/species_types.dm b/code/modules/mob/living/carbon/human/species_types.dm index 8c8b02bbd8..be7882ce71 100644 --- a/code/modules/mob/living/carbon/human/species_types.dm +++ b/code/modules/mob/living/carbon/human/species_types.dm @@ -8,7 +8,7 @@ default_color = "FFFFFF" specflags = list(EYECOLOR,HAIR,FACEHAIR,LIPS) mutant_bodyparts = list("tail_human", "ears") - default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "tail_human" = "None", "ears" = "None", "wings" = "None") + default_features = list("tail_human" = "None", "ears" = "None", "wings" = "None") use_skintones = 1 skinned_type = /obj/item/stack/sheet/animalhide/human @@ -166,6 +166,7 @@ meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/shadow specflags = list(NOBREATH,NOBLOOD,RADIMMUNE,VIRUSIMMUNE) dangerous_existence = 1 + restricted = 2 /datum/species/shadow/spec_life(mob/living/carbon/human/H) var/light_amount = 0 @@ -193,6 +194,7 @@ meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/slime exotic_blood = "slimejelly" var/datum/action/innate/regenerate_limbs/regenerate_limbs + restricted = 2 /datum/species/jelly/on_species_loss(mob/living/carbon/C) if(regenerate_limbs) @@ -1063,8 +1065,8 @@ datum/species/canid default_color = "4B4B4B" roundstart = 1 specflags = list(MUTCOLORS,EYECOLOR,LIPS,HAIR) - mutant_bodyparts = list("mam_tail", "mam_ears", "snout", "mam_body_markings") - default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "mam_tail" = "Wolf", "mam_ears" = "Wolf", "wings" = "None", "mam_body_markings" = "Belly") + mutant_bodyparts = list("mam_tail", "mam_ears", "mam_body_markings", "snout") + default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "body_markings" = "None", "mam_tail" = "Wolf", "mam_ears" = "Wolf", "mam_body_markings" = "Belly") attack_verb = "claw" 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 c0154dd6bd..fb92db99e8 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -1230,6 +1230,8 @@ name = "Aquatic" icon_state = "aqua" +/datum/sprite_accessory/tails/human + color_src = HAIR /datum/sprite_accessory/tails/human/none name = "None" icon_state = "none" @@ -1435,7 +1437,7 @@ name = "Fox" icon_state = "fox" -/datum/sprite_accessory/tails_animated/human/fox +/datum/sprite_accessory/tail_animated/human/fox name = "Fox" icon_state = "fox" @@ -1445,15 +1447,25 @@ //Mammal Body Markings /datum/sprite_accessory/mam_body_markings - name = "None" + name = "None" icon_state = "none" color_src = MUTCOLORS2 + /datum/sprite_accessory/mam_body_markings/none name = "None" icon_state = "none" /datum/sprite_accessory/mam_body_markings/belly name = "Belly" - icon_state = "mam_belly" + icon_state = "belly" gender_specific = 1 - color_src = MUTCOLORS2 + +/datum/sprite_accessory/mam_body_markings/handsfeet + name = "Hands & Feet" + icon_state = "handsfeet" + color_src = MUTCOLORS3 + +/datum/sprite_accessory/mam_body_markings/bellyhandsfeet + name = "Belly,Hands,Feet" + icon_state = "bellyhandsfeet" + gender_specific = 1 \ No newline at end of file diff --git a/icons/mob/mutant_bodyparts.dmi b/icons/mob/mutant_bodyparts.dmi index 77cd935a42..d63eb12fb0 100644 Binary files a/icons/mob/mutant_bodyparts.dmi and b/icons/mob/mutant_bodyparts.dmi differ diff --git a/icons/turf/floors/warning.dmi b/icons/turf/floors/warning.dmi index f406e176f5..fa8b79b594 100644 Binary files a/icons/turf/floors/warning.dmi and b/icons/turf/floors/warning.dmi differ