WIP
This commit is contained in:
@@ -1,10 +1,12 @@
|
|||||||
/datum/sprite_accessory/tails
|
/datum/sprite_accessory/tails
|
||||||
icon = 'icons/mob/mutant_bodyparts.dmi'
|
icon = 'icons/mob/mutant_bodyparts.dmi'
|
||||||
mutant_part_string = "tail"
|
mutant_part_string = "tail"
|
||||||
|
relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONT_LAYER)
|
||||||
|
|
||||||
/datum/sprite_accessory/tails_animated
|
/datum/sprite_accessory/tails_animated
|
||||||
icon = 'icons/mob/mutant_bodyparts.dmi'
|
icon = 'icons/mob/mutant_bodyparts.dmi'
|
||||||
mutant_part_string = "tailwag"
|
mutant_part_string = "tailwag"
|
||||||
|
relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONT_LAYER)
|
||||||
|
|
||||||
/******************************************
|
/******************************************
|
||||||
************* Lizard Tails ****************
|
************* Lizard Tails ****************
|
||||||
@@ -509,6 +511,7 @@
|
|||||||
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
|
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
|
||||||
recommended_species = list("mammal", "slimeperson", "podweak", "felinid", "insect")
|
recommended_species = list("mammal", "slimeperson", "podweak", "felinid", "insect")
|
||||||
mutant_part_string = "tail"
|
mutant_part_string = "tail"
|
||||||
|
relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONT_LAYER)
|
||||||
|
|
||||||
/datum/sprite_accessory/mam_tails/none
|
/datum/sprite_accessory/mam_tails/none
|
||||||
name = "None"
|
name = "None"
|
||||||
@@ -519,7 +522,7 @@
|
|||||||
/datum/sprite_accessory/mam_tails_animated
|
/datum/sprite_accessory/mam_tails_animated
|
||||||
color_src = MATRIXED
|
color_src = MATRIXED
|
||||||
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
|
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
|
||||||
mutant_part_string = "tail"
|
mutant_part_string = "tailwag"
|
||||||
|
|
||||||
/datum/sprite_accessory/mam_tails_animated/none
|
/datum/sprite_accessory/mam_tails_animated/none
|
||||||
name = "None"
|
name = "None"
|
||||||
|
|||||||
@@ -548,8 +548,10 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
|||||||
|
|
||||||
//Underwear, Undershirts & Socks
|
//Underwear, Undershirts & Socks
|
||||||
if(!(NO_UNDERWEAR in species_traits))
|
if(!(NO_UNDERWEAR in species_traits))
|
||||||
|
var/datum/sprite_accessory/taur/TA
|
||||||
if(H.socks && !H.hidden_socks && H.get_num_legs(FALSE) >= 2)
|
if(mutant_bodyparts["taur"] && H.dna.features["taur"])
|
||||||
|
TA = GLOB.taur_list[H.dna.features["taur"]]
|
||||||
|
if(!(TA?.hide_legs) && H.socks && !H.hidden_socks && H.get_num_legs(FALSE) >= 2)
|
||||||
if(H.saved_socks)
|
if(H.saved_socks)
|
||||||
H.socks = H.saved_socks
|
H.socks = H.saved_socks
|
||||||
H.saved_socks = ""
|
H.saved_socks = ""
|
||||||
@@ -597,7 +599,6 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
|||||||
|
|
||||||
/datum/species/proc/handle_mutant_bodyparts(mob/living/carbon/human/H, forced_colour)
|
/datum/species/proc/handle_mutant_bodyparts(mob/living/carbon/human/H, forced_colour)
|
||||||
var/list/bodyparts_to_add = mutant_bodyparts.Copy()
|
var/list/bodyparts_to_add = mutant_bodyparts.Copy()
|
||||||
var/list/standing = list()
|
|
||||||
|
|
||||||
H.remove_overlay(BODY_BEHIND_LAYER)
|
H.remove_overlay(BODY_BEHIND_LAYER)
|
||||||
H.remove_overlay(BODY_ADJ_LAYER)
|
H.remove_overlay(BODY_ADJ_LAYER)
|
||||||
@@ -608,7 +609,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
|||||||
return
|
return
|
||||||
|
|
||||||
var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD)
|
var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD)
|
||||||
var/tauric = H.dna.features["taur"] && H.dna.features["taur"] != "None"
|
var/tauric = mutant_bodyparts["taur"] && H.dna.features["taur"] && H.dna.features["taur"] != "None"
|
||||||
|
|
||||||
if(mutant_bodyparts["tail_lizard"])
|
if(mutant_bodyparts["tail_lizard"])
|
||||||
if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric)
|
if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric)
|
||||||
@@ -814,8 +815,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
|||||||
if(!S.mutant_part_string)
|
if(!S.mutant_part_string)
|
||||||
dna_feature_as_text_string[S] = bodypart
|
dna_feature_as_text_string[S] = bodypart
|
||||||
|
|
||||||
var/static/list/layer_text = list("[BODY_BEHIND_LAYER]" = "_BEHIND", "[BODY_ADJ_LAYER]" = "_ADJ", \
|
var/static/list/layer_text = list("[BODY_BEHIND_LAYER]" = "BEHIND", "[BODY_ADJ_LAYER]" = "ADJ", \
|
||||||
"[BODY_ADJ_UPPER_LAYER]" = "_ADJUP", "[BODY_FRONT_LAYER]" = "_FRONT")
|
"[BODY_ADJ_UPPER_LAYER]" = "ADJUP", "[BODY_FRONT_LAYER]" = "FRONT")
|
||||||
|
|
||||||
var/g = (H.dna.features["body_model"] == FEMALE) ? "f" : "m"
|
var/g = (H.dna.features["body_model"] == FEMALE) ? "f" : "m"
|
||||||
var/list/colorlist = list()
|
var/list/colorlist = list()
|
||||||
@@ -828,8 +829,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
|||||||
colorlist[index] /= 255
|
colorlist[index] /= 255
|
||||||
|
|
||||||
for(var/layer in relevant_layers)
|
for(var/layer in relevant_layers)
|
||||||
|
var/list/standing = list()
|
||||||
var/layertext = layer_text[layer]
|
var/layertext = layer_text[layer]
|
||||||
if(!layertext) // should there
|
if(!layertext) //shouldn't happen
|
||||||
stack_trace("invalid layer '[layer]' found in the list of relevant layers on species.handle_mutant_bodyparts().")
|
stack_trace("invalid layer '[layer]' found in the list of relevant layers on species.handle_mutant_bodyparts().")
|
||||||
continue
|
continue
|
||||||
var/layernum = text2num(layer)
|
var/layernum = text2num(layer)
|
||||||
@@ -839,9 +841,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
|||||||
bodypart = S.mutant_part_string || dna_feature_as_text_string[S]
|
bodypart = S.mutant_part_string || dna_feature_as_text_string[S]
|
||||||
|
|
||||||
if(S.gender_specific)
|
if(S.gender_specific)
|
||||||
accessory_overlay.icon_state = "[g]_[bodypart]_[S.icon_state][layertext]"
|
accessory_overlay.icon_state = "[g]_[bodypart]_[S.icon_state]_[layertext]"
|
||||||
else
|
else
|
||||||
accessory_overlay.icon_state = "m_[bodypart]_[S.icon_state][layertext]"
|
accessory_overlay.icon_state = "m_[bodypart]_[S.icon_state]_[layertext]"
|
||||||
|
|
||||||
if(S.center)
|
if(S.center)
|
||||||
accessory_overlay = center_image(accessory_overlay, S.dimension_x, S.dimension_y)
|
accessory_overlay = center_image(accessory_overlay, S.dimension_x, S.dimension_y)
|
||||||
@@ -1004,8 +1006,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
|||||||
standing += extra2_accessory_overlay
|
standing += extra2_accessory_overlay
|
||||||
|
|
||||||
|
|
||||||
H.overlays_standing[layer] = standing.Copy()
|
H.overlays_standing[layernum] = standing
|
||||||
standing = list()
|
|
||||||
|
|
||||||
H.apply_overlay(BODY_BEHIND_LAYER)
|
H.apply_overlay(BODY_BEHIND_LAYER)
|
||||||
H.apply_overlay(BODY_ADJ_LAYER)
|
H.apply_overlay(BODY_ADJ_LAYER)
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
Reference in New Issue
Block a user