[SEMI-MODULAR] Allows items to force-show animal ears (when they have earholes), and fixes masks hiding muzzles when they shouldnt (#10249)

* da sprites (waiting on testing)

* Fixes muzzle/snout hiding flags, and a new show-ears flag

* Fixes masks not properly hiding under stuff with HIDEFACE
This commit is contained in:
OrionTheFox
2021-12-25 18:47:36 +00:00
committed by GitHub
parent a293416f65
commit bcc65e350e
7 changed files with 27 additions and 9 deletions
+3 -1
View File
@@ -98,8 +98,10 @@
#define HIDEHEADGEAR (1<<11)
///for lizard snouts, because some HIDEFACE clothes don't actually conceal that portion of the head.
#define HIDESNOUT (1<<12)
///SKYRAT EDIT ADDITION: CUSTOM EAR TOGGLE FOR ANTHRO/ETC EAR SHOWING - Manually set this on items you want anthro ears to show on!
#define SHOWSPRITEEARS (1<<13)
//SKYRAT EDIT ADDITION BEGIN - ERP UPDATE
#define HIDESEXTOY (1<<13)
#define HIDESEXTOY (1<<14)
//SKYRAT EDIT ADDITION END
//bitflags for clothing coverage - also used for limbs
@@ -4,6 +4,11 @@
/obj/item/clothing/head/hardhat/atmos
mutant_variants = STYLE_MUZZLE | STYLE_VOX
/obj/item/clothing/head/sombrero
flags_inv = HIDEHAIR | SHOWSPRITEEARS
/obj/item/clothing/head/wig
flags_inv = HIDEHAIR | SHOWSPRITEEARS
//EARS>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//EYES>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
@@ -15,6 +20,15 @@
/obj/item/clothing/mask/gas/atmos/captain
mutant_variants = STYLE_MUZZLE | STYLE_VOX
/obj/item/clothing/mask/luchador //No longer has HIDESNOUT, has SHOWSPRITEEARS
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|SHOWSPRITEEARS
/obj/item/clothing/mask/gas/explorer //HIDESNOUT is in visor toggle now
visor_flags_inv = HIDEFACIALHAIR|HIDESNOUT
/obj/item/clothing/mask/balaclava //Now has SHOWSPRITEEARS
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT|SHOWSPRITEEARS
//UNDER>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//SUIT>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

@@ -374,7 +374,7 @@
desc = "A dark hat from the cold wastes of the Frosthill mountains. So it was done, all according to the law. There's a small set of antlers embroidered on the inside."
cold_protection = HEAD
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
flags_inv = HIDEHAIR
flags_inv = HIDEHAIR | SHOWSPRITEEARS
/obj/item/clothing/head/cowboyhat/sheriff/alt
name = "sheriff hat"
@@ -7,7 +7,9 @@
/datum/sprite_accessory/ears/is_hidden(mob/living/carbon/human/H, obj/item/bodypart/HD)
if(H.head && (H.head.flags_inv & HIDEHAIR) || (H.wear_mask && (H.wear_mask.flags_inv & HIDEHAIR)) || !HD)
return TRUE
//This line basically checks if we FORCE accessory-ears to show, for items with earholes like Balaclavas and Luchador masks
if(!(H.head && (H.head.flags_inv & SHOWSPRITEEARS) || (H.wear_mask && (H.wear_mask.flags_inv & SHOWSPRITEEARS)) || !HD))
return TRUE
return FALSE
@@ -285,24 +287,24 @@
/datum/sprite_accessory/ears/mutant/teshari/feathers_mushroom
name = "Teshari Feathers Mushroom"
icon_state = "teshari_feathers_mushroom"
color_src = USE_ONE_COLOR
color_src = USE_ONE_COLOR
// Converting each one of these to rbg matrixed is like a 20+ minute process per sprite to make it look good
// and this one looks kinda meh anyway so I cba, it stays greyscale
/datum/sprite_accessory/ears/mutant/teshari/feathers_backstrafe
name = "Teshari Feathers Backstrafe"
icon_state = "teshari_feathers_backstrafe"
color_src = USE_ONE_COLOR
color_src = USE_ONE_COLOR
/datum/sprite_accessory/ears/mutant/teshari/feathers_thinmohawk
name = "Teshari Feathers Thin Mohawk"
icon_state = "teshari_feathers_thinmohawk"
color_src = USE_ONE_COLOR
color_src = USE_ONE_COLOR
/datum/sprite_accessory/ears/mutant/teshari/feathers_thinmane
name = "Teshari Feathers Thin Mane"
icon_state = "teshari_feathers_thinmane"
color_src = USE_ONE_COLOR
color_src = USE_ONE_COLOR
/datum/sprite_accessory/ears/mutant/deer2
name = "Deer 2"
@@ -8,7 +8,7 @@
genetic = TRUE
/datum/sprite_accessory/snouts/is_hidden(mob/living/carbon/human/H, obj/item/bodypart/HD)
if((H.wear_mask && (H.wear_mask.flags_inv & HIDEFACE)) || (H.head && (H.head.flags_inv & HIDEFACE)) || !HD)
if((H.wear_mask && (H.wear_mask.flags_inv & HIDESNOUT)) || (H.head && (H.head.flags_inv & HIDESNOUT)) || !HD)
return TRUE
return FALSE
@@ -109,7 +109,7 @@
if(STYLE_VOX)
desired_icon = wear_mask.worn_icon_vox || 'modular_skyrat/master_files/icons/mob/clothing/mask_vox.dmi'
if(!(ITEM_SLOT_MASK in check_obscured_slots()))
if(!(check_obscured_slots() & ITEM_SLOT_MASK))
overlays_standing[FACEMASK_LAYER] = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = 'icons/mob/clothing/mask.dmi', override_icon = desired_icon, mutant_styles = used_style)
update_hud_wear_mask(wear_mask)