diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index d33d9fe4f5..74b5ef0396 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -98,6 +98,7 @@ #define HIDEHAIR (1<<8) #define HIDEFACIALHAIR (1<<9) #define HIDENECK (1<<10) +#define HIDETAUR (1<<11) //gotta hide that snowflake //bitflags for clothing coverage - also used for limbs #define HEAD (1<<0) @@ -130,6 +131,11 @@ #define NORMAL_SUIT_STYLE 0 #define DIGITIGRADE_SUIT_STYLE 1 +#define NOT_TAURIC 0 +#define SNEK_TAURIC 1 +#define PAW_TAURIC 2 +#define HOOF_TAURIC 3 + //flags for outfits that have mutantrace variants (try not to use this): Currently only needed if you're trying to add tight fitting bootyshorts #define NO_MUTANTRACE_VARIATION 0 #define MUTANTRACE_VARIATION 1 diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 5451bd30e4..8493676542 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -66,8 +66,8 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s #define SHOES_LAYER 19 #define GLOVES_LAYER 18 #define EARS_LAYER 17 -#define SUIT_LAYER 16 -#define BODY_TAUR_LAYER 15 +#define BODY_TAUR_LAYER 16 +#define SUIT_LAYER 15 #define GENITALS_FRONT_LAYER 14 //Draws some genitalia above clothes and the TAUR body if need be. #define GLASSES_LAYER 13 #define BELT_LAYER 12 //Possible make this an overlay of somethign required to wear a belt? diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 8ea827ce5c..f5cd894635 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("None" = null) + var/list/snowflake_tails_list = list() 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("None" = null) + var/list/snowflake_tails_list = list() 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)) @@ -1568,7 +1568,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) skin_tone = new_s_tone if("taur") - var/list/snowflake_taur_list = list("Normal" = null) + var/list/snowflake_taur_list = list() for(var/path in GLOB.taur_list) var/datum/sprite_accessory/taur/instance = GLOB.taur_list[path] if(istype(instance, /datum/sprite_accessory)) @@ -1586,7 +1586,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["tail_lizard"] = "None" if("ears") - var/list/snowflake_ears_list = list("Normal" = null) + var/list/snowflake_ears_list = list() for(var/path in GLOB.ears_list) var/datum/sprite_accessory/ears/instance = GLOB.ears_list[path] if(istype(instance, /datum/sprite_accessory)) @@ -1599,7 +1599,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["ears"] = new_ears if("mam_ears") - var/list/snowflake_ears_list = list("Normal" = null) + var/list/snowflake_ears_list = list() for(var/path in GLOB.mam_ears_list) var/datum/sprite_accessory/mam_ears/instance = GLOB.mam_ears_list[path] if(istype(instance, /datum/sprite_accessory)) @@ -1612,7 +1612,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["mam_ears"] = new_ears if("mam_body_markings") - var/list/snowflake_markings_list = list("Normal" = null) + var/list/snowflake_markings_list = list() for(var/path in GLOB.mam_body_markings_list) var/datum/sprite_accessory/mam_body_markings/instance = GLOB.mam_body_markings_list[path] if(istype(instance, /datum/sprite_accessory)) @@ -2064,7 +2064,11 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(("legs" in pref_species.default_features) && character.dna.features["legs"] == "Digitigrade Legs") pref_species.species_traits += DIGITIGRADE + character.Digitigrade_Leg_Swap(FALSE) + else + pref_species.species_traits -= DIGITIGRADE character.Digitigrade_Leg_Swap(TRUE) + if(DIGITIGRADE in pref_species.species_traits) character.Digitigrade_Leg_Swap(FALSE) diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index 6224e2a3d9..913b92f9eb 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -35,7 +35,7 @@ allowed = list(/obj/item/flashlight, /obj/item/tank/internals) slowdown = 1 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 50, "fire" = 80, "acid" = 70) - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAUR cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -43,3 +43,4 @@ strip_delay = 80 equip_delay_other = 80 resistance_flags = NONE + tauric = TRUE //Citadel Add for tauric hardsuits diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 0794ef29e7..974936ba30 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -180,6 +180,7 @@ armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine resistance_flags = FIRE_PROOF + tauric = TRUE //Citadel Add for tauric hardsuits //Atmospherics /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos @@ -201,6 +202,7 @@ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos + tauric = TRUE //Citadel Add for tauric hardsuits //Chief Engineer's hardsuit @@ -224,6 +226,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/elite jetpack = /obj/item/tank/jetpack/suit + tauric = TRUE //Citadel Add for tauric hardsuits //Mining hardsuit /obj/item/clothing/head/helmet/space/hardsuit/mining @@ -254,6 +257,7 @@ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/bag/ore, /obj/item/pickaxe) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/space/hardsuit/mining/Initialize() . = ..() @@ -349,6 +353,7 @@ allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi jetpack = /obj/item/tank/jetpack/suit + tauric = TRUE //Citadel Add for tauric hardsuits //Elite Syndie suit /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite @@ -377,6 +382,7 @@ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF + tauric = TRUE //Citadel Add for tauric hardsuits //The Owl Hardsuit /obj/item/clothing/head/helmet/space/hardsuit/syndi/owl @@ -449,6 +455,7 @@ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/firstaid, /obj/item/healthanalyzer, /obj/item/stack/medical) armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/medical + tauric = TRUE //Citadel Add for tauric hardsuits //Research Director hardsuit /obj/item/clothing/head/helmet/space/hardsuit/rd @@ -490,6 +497,7 @@ /obj/item/hand_tele, /obj/item/aicard) armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 100, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 80) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/rd + tauric = TRUE //Citadel Add for tauric hardsuits @@ -510,6 +518,7 @@ item_state = "sec_hardsuit" armor = list("melee" = 35, "bullet" = 15, "laser" = 30, "energy" = 10, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/space/hardsuit/security/Initialize() . = ..() @@ -531,6 +540,7 @@ armor = list("melee" = 45, "bullet" = 25, "laser" = 30, "energy" = 10, "bomb" = 25, "bio" = 100, "rad" = 50, "fire" = 95, "acid" = 95) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos jetpack = /obj/item/tank/jetpack/suit + tauric = TRUE //Citadel Add for tauric hardsuits //Captain /obj/item/clothing/head/helmet/space/hardsuit/captain @@ -558,6 +568,7 @@ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT //this needed to be added a long fucking time ago helmettype = /obj/item/clothing/head/helmet/space/hardsuit/captain + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/space/hardsuit/captain/Initialize() . = ..() @@ -657,6 +668,7 @@ var/recharge_rate = 1 //How quickly the shield recharges once it starts charging var/shield_state = "shield-old" var/shield_on = "shield-old" + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/space/hardsuit/shielded/Initialize() . = ..() @@ -774,6 +786,7 @@ allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi slowdown = 0 + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/space/hardsuit/shielded/syndi/Initialize() @@ -803,6 +816,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/swat dog_fashion = /datum/dog_fashion/back/deathsquad + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/head/helmet/space/hardsuit/shielded/swat name = "death commando helmet" diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index dcd344563a..14ac449179 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -191,6 +191,7 @@ Contains: icon_state = "ert_security" item_state = "ert_security" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/sec + tauric = TRUE //Citadel Add for tauric hardsuits //ERT Engineering /obj/item/clothing/head/helmet/space/hardsuit/ert/engi @@ -204,6 +205,7 @@ Contains: icon_state = "ert_engineer" item_state = "ert_engineer" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/engi + tauric = TRUE //Citadel Add for tauric hardsuits //ERT Medical /obj/item/clothing/head/helmet/space/hardsuit/ert/med @@ -218,6 +220,7 @@ Contains: item_state = "ert_medical" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/med species_exception = list(/datum/species/angel) + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/space/eva name = "EVA suit" @@ -225,6 +228,7 @@ Contains: item_state = "s_suit" desc = "A lightweight space suit with the basic ability to protect the wearer from the vacuum of space during emergencies." armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 20, "fire" = 50, "acid" = 65) + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/head/helmet/space/eva name = "EVA helmet" @@ -343,6 +347,7 @@ Contains: slowdown = 2 armor = list("melee" = 5, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 0, "acid" = 0) strip_delay = 65 + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/space/fragile/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) if(!torn && prob(50)) diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index 6d42b2d78f..e6710ee8f9 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -109,6 +109,7 @@ name = "green space suit" icon_state = "syndicate-black-med" item_state = "syndicate-black" + tauric = TRUE //Citadel Add for tauric hardsuits //Black-orange syndicate space suit diff --git a/code/modules/clothing/suits/_suits.dm b/code/modules/clothing/suits/_suits.dm index 6e963f6612..0b6514b275 100644 --- a/code/modules/clothing/suits/_suits.dm +++ b/code/modules/clothing/suits/_suits.dm @@ -11,18 +11,47 @@ var/adjusted = NORMAL_STYLE mutantrace_variation = MUTANTRACE_VARIATION + var/tauric = FALSE //Citadel Add for tauric hardsuits + var/taurmode = NOT_TAURIC + var/dimension_x = 32 + var/dimension_y = 32 + var/center = FALSE //Should we center the sprite? /obj/item/clothing/suit/equipped(mob/user, slot) ..() - if(mutantrace_variation && ishuman(user)) + if(ishuman(user)) var/mob/living/carbon/human/H = user - if(DIGITIGRADE in H.dna.species.species_traits) - adjusted = ALT_STYLE - H.update_inv_wear_suit() - else if(adjusted == ALT_STYLE) - adjusted = NORMAL_STYLE + + if(mutantrace_variation) + if(DIGITIGRADE in H.dna.species.species_traits) + adjusted = ALT_STYLE + H.update_inv_wear_suit() + else if(adjusted == ALT_STYLE) + adjusted = NORMAL_STYLE + H.update_inv_wear_suit() + + if(("taur" in H.dna.species.mutant_bodyparts) && (H.dna.features["taur"] != "None")) + if(H.dna.features["taur"] in list("Naga", "Tentacle")) + taurmode = SNEK_TAURIC + if(tauric == TRUE) + center = TRUE + dimension_x = 64 + else if(H.dna.features["taur"] in list("Fox", "Wolf", "Otie", "Drake", "Lab", "Shepherd", "Husky", "Eevee", "Panther", "Tajaran", "Horse", "Cow")) + taurmode = PAW_TAURIC + if(tauric == TRUE) + center = TRUE + dimension_x = 64 + /* + else if(H.dna.features["taur"] == "Horse" || "Cow") + taurmode = HOOF_TAURIC //tweak this for when the exotics get their own suits, if ever. + center = TRUE + dimension_x = 64 + */ + else + taurmode = NOT_TAURIC H.update_inv_wear_suit() + /obj/item/clothing/suit/worn_overlays(isinhands = FALSE) . = list() if(!isinhands) diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index f73ca30fb0..97c9da289b 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -23,6 +23,7 @@ item_state = "armoralt" blood_overlay_type = "armor" dog_fashion = /datum/dog_fashion/back + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/armor/vest/alt desc = "A Type I armored vest that provides decent protection against most types of damage." diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index 1c24ee17a7..cbc8f33e3a 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -23,10 +23,11 @@ slowdown = 1 allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/pen, /obj/item/flashlight/pen, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 80, "fire" = 30, "acid" = 100) - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAUR strip_delay = 70 equip_delay_other = 70 resistance_flags = ACID_PROOF + tauric = TRUE //Citadel Add for tauric hardsuits //Standard biosuit, orange stripe /obj/item/clothing/head/bio_hood/general diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index b53ec05dda..10ddf37265 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -21,7 +21,7 @@ allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/extinguisher, /obj/item/crowbar) slowdown = 1 armor = list("melee" = 15, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 20, "bio" = 10, "rad" = 20, "fire" = 100, "acid" = 50) - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAUR clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT @@ -30,6 +30,7 @@ strip_delay = 60 equip_delay_other = 60 resistance_flags = FIRE_PROOF + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/suit/fire/firefighter icon_state = "firesuit" @@ -84,7 +85,7 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS slowdown = 2 armor = list("melee" = 20, "bullet" = 0, "laser" = 20,"energy" = 10, "bomb" = 100, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 50) - flags_inv = HIDEJUMPSUIT + flags_inv = HIDEJUMPSUIT|HIDETAUR heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -92,6 +93,7 @@ strip_delay = 70 equip_delay_other = 70 resistance_flags = NONE + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/head/bomb_hood/security @@ -144,6 +146,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 60, "rad" = 100, "fire" = 30, "acid" = 30) strip_delay = 60 equip_delay_other = 60 - flags_inv = HIDEJUMPSUIT + flags_inv = HIDEJUMPSUIT|HIDETAUR resistance_flags = NONE rad_flags = RAD_PROTECT_CONTENTS + tauric = TRUE //Citadel Add for tauric hardsuits diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 8883919e38..c2c3f19b9d 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -65,6 +65,8 @@ var/mob/living/carbon/human/H = user if(DIGITIGRADE in H.dna.species.species_traits) suit_style = DIGITIGRADE_SUIT_STYLE + else + suit_style = NORMAL_SUIT_STYLE H.update_inv_w_uniform() if(attached_accessory && slot != SLOT_HANDS && ishuman(user)) diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index d155994379..96898051a4 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -13,6 +13,7 @@ armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) resistance_flags = FIRE_PROOF + tauric = TRUE //Citadel Add for tauric hardsuits /obj/item/clothing/head/hooded/explorer name = "explorer hood" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 58026d5a5f..b2f66e6e7d 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -528,22 +528,22 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD) if("tail_lizard" in mutant_bodyparts) - if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || (!H.dna.features["taur"] == "None")) + if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!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) || (!H.dna.features["taur"] == "None")) + if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!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) || (!H.dna.features["taur"] == "None")) + if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!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) || (!H.dna.features["taur"] == "None")) + if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None")) bodyparts_to_add -= "waggingtail_human" else if ("tail_human" in mutant_bodyparts) bodyparts_to_add -= "waggingtail_human" @@ -599,11 +599,11 @@ GLOBAL_LIST_EMPTY(roundstart_races) //Other Races if("mam_tail" in mutant_bodyparts) - if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || !H.dna.features["taur"] == "None") + if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!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 || !H.dna.features["taur"] == "None")) + if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None")) bodyparts_to_add -= "mam_waggingtail" else if ("mam_tail" in mutant_bodyparts) bodyparts_to_add -= "mam_waggingtail" @@ -613,8 +613,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) bodyparts_to_add -= "mam_ears" if("taur" in mutant_bodyparts) - if(!H.dna.features["taur"] || H.dna.features["taur"] == "None") + if(!H.dna.features["taur"] || H.dna.features["taur"] == "None" || (H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR))) bodyparts_to_add -= "taur" + //END EDIT //Digitigrade legs are stuck in the phantom zone between true limbs and mutant bodyparts. Mainly it just needs more agressive updating than most limbs. diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 3c1afeb04a..0a42b6eb7f 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -130,6 +130,8 @@ There are several things that need to be remembered: t_color = "[t_color]_d_l" else if(U.adjusted == NORMAL_STYLE) t_color = "[t_color]_l" + else + U.alternate_worn_icon = null var/mutable_appearance/uniform_overlay @@ -284,6 +286,8 @@ There are several things that need to be remembered: if(S.mutantrace_variation) if(S.adjusted == ALT_STYLE) S.alternate_worn_icon = 'modular_citadel/icons/mob/digishoes.dmi' + else + S.alternate_worn_icon = null overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(state = shoes.icon_state, default_layer = SHOES_LAYER, default_icon_file = ((shoes.alternate_worn_icon) ? shoes.alternate_worn_icon : 'icons/mob/feet.dmi')) var/mutable_appearance/shoes_overlay = overlays_standing[SHOES_LAYER] @@ -374,12 +378,24 @@ There are several things that need to be remembered: if(S.mutantrace_variation) if(S.adjusted == ALT_STYLE) S.alternate_worn_icon = 'modular_citadel/icons/mob/suit_digi.dmi' + else + S.alternate_worn_icon = null + + if(S.tauric == TRUE) + if(S.taurmode == SNEK_TAURIC) + S.alternate_worn_icon = 'modular_citadel/icons/mob/taur_naga.dmi' + if(S.taurmode == PAW_TAURIC) + S.alternate_worn_icon = 'modular_citadel/icons/mob/taur_canine.dmi' + // if(S.taurmode == HOOF_TAURIC) //commenting out for eventual pede/spider/exotics + // S.alternate_worn_icon = 'modular_citadel/icons/mob/taur_hooved.dmi' overlays_standing[SUIT_LAYER] = S.build_worn_icon(state = wear_suit.icon_state, default_layer = SUIT_LAYER, default_icon_file = ((wear_suit.alternate_worn_icon) ? S.alternate_worn_icon : 'icons/mob/suit.dmi')) var/mutable_appearance/suit_overlay = overlays_standing[SUIT_LAYER] if(OFFSET_SUIT in dna.species.offset_features) suit_overlay.pixel_x += dna.species.offset_features[OFFSET_SUIT][1] suit_overlay.pixel_y += dna.species.offset_features[OFFSET_SUIT][2] + if(S.center) + suit_overlay = center_image(suit_overlay, S.dimension_x, S.dimension_y) overlays_standing[SUIT_LAYER] = suit_overlay update_hair() update_mutant_bodyparts() 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 ef98a6d896..2fab508fd0 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 @@ -1068,6 +1068,7 @@ datum/sprite_accessory/mam_tails/tentacle extra2 = TRUE center = TRUE dimension_x = 64 + var/taur_mode = NOT_TAURIC /datum/sprite_accessory/taur/none name = "None" @@ -1076,10 +1077,12 @@ datum/sprite_accessory/mam_tails/tentacle /datum/sprite_accessory/taur/cow name = "Cow" icon_state = "cow" + taur_mode = HOOF_TAURIC /datum/sprite_accessory/taur/drake name = "Drake" icon_state = "drake" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/drider name = "Drider" @@ -1088,54 +1091,67 @@ datum/sprite_accessory/mam_tails/tentacle /datum/sprite_accessory/taur/eevee name = "Eevee" icon_state = "eevee" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/fox name = "Fox" icon_state = "fox" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/husky name = "Husky" icon_state = "husky" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/horse name = "Horse" icon_state = "horse" + taur_mode = HOOF_TAURIC /datum/sprite_accessory/taur/lab name = "Lab" icon_state = "lab" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/naga name = "Naga" icon_state = "naga" - -/datum/sprite_accessory/taur/tentacle - name = "Tentacle" - icon_state = "tentacle" + taur_mode = SNEK_TAURIC /datum/sprite_accessory/taur/otie name = "Otie" icon_state = "otie" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/pede name = "Scolipede" icon_state = "pede" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/panther name = "Panther" icon_state = "panther" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/shepherd name = "Shepherd" icon_state = "shepherd" + taur_mode = PAW_TAURIC /datum/sprite_accessory/taur/tajaran name = "Tajaran" icon_state = "tajaran" + taur_mode = PAW_TAURIC + +/datum/sprite_accessory/taur/tentacle + name = "Tentacle" + icon_state = "tentacle" + taur_mode = SNEK_TAURIC /datum/sprite_accessory/taur/wolf name = "Wolf" icon_state = "wolf" + taur_mode = PAW_TAURIC /****************************************** *************** Ayyliums ****************** diff --git a/modular_citadel/icons/mob/taur_canine.dmi b/modular_citadel/icons/mob/taur_canine.dmi new file mode 100644 index 0000000000..e6ccd17ff1 Binary files /dev/null and b/modular_citadel/icons/mob/taur_canine.dmi differ diff --git a/modular_citadel/icons/mob/taur_hooved.dmi b/modular_citadel/icons/mob/taur_hooved.dmi new file mode 100644 index 0000000000..e9860f2014 Binary files /dev/null and b/modular_citadel/icons/mob/taur_hooved.dmi differ diff --git a/modular_citadel/icons/mob/taur_naga.dmi b/modular_citadel/icons/mob/taur_naga.dmi new file mode 100644 index 0000000000..7cdd50a10e Binary files /dev/null and b/modular_citadel/icons/mob/taur_naga.dmi differ