mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 04:30:44 +01:00
## About The Pull Request Fixes #85028 Obscured flags and covered flags are tracked on carbons, updated as items are equipped and unequipped. It's that shrimple. Closes #92760 Just removes the species exception checks for not making sense Also refactors handcuffs / legcuffs removal. In all of these situations they were hardcoded when they could easily just use an inventory proc to work. ## Why It's Good For The Game Stops a million excessive calls to `check_obscured_slots` Makes obscured behavior more consistent Makes obscured behavior easier to use Cleans up human rendering (There was some cursed stuff before with render item -> updated obscured -> update body -> cause side effects) ## Changelog 🆑 Melbert del: Golems which somehow manage to grow wings and somehow manage to equip something that covers their jumpsuit can no longer fly. (Seriously, this will not affect anyone) refactor: Refactored clothing obscurity entirely. Items should be a loooot more consistent and what covers what, and should update a lot snappier. As always, report any oddities, like mysteriously disappearing articles of clothing, hair, or species parts refactored: Refactored handcuffs and legcuffs a bit, report any odd situations with cuffs like getting stuck restrained /🆑
29 lines
922 B
Plaintext
29 lines
922 B
Plaintext
///Wing base type. doesn't really do anything
|
|
/obj/item/organ/wings
|
|
name = "wings"
|
|
desc = "Spread your wings and FLLLLLLLLYYYYY!"
|
|
|
|
zone = BODY_ZONE_CHEST
|
|
slot = ORGAN_SLOT_EXTERNAL_WINGS
|
|
|
|
use_mob_sprite_as_obj_sprite = TRUE
|
|
bodypart_overlay = /datum/bodypart_overlay/mutant/wings
|
|
|
|
organ_flags = parent_type::organ_flags | ORGAN_EXTERNAL
|
|
|
|
///Checks if the wings can soften short falls
|
|
/obj/item/organ/wings/proc/can_soften_fall()
|
|
return TRUE
|
|
|
|
///Implement as needed to play a sound effect on *flap emote
|
|
/obj/item/organ/wings/proc/make_flap_sound(mob/living/carbon/wing_owner)
|
|
return
|
|
|
|
///Bodypart overlay of default wings. Does not have any wing functionality
|
|
/datum/bodypart_overlay/mutant/wings
|
|
layers = ALL_EXTERNAL_OVERLAYS
|
|
feature_key = FEATURE_WINGS
|
|
|
|
/datum/bodypart_overlay/mutant/wings/can_draw_on_bodypart(obj/item/bodypart/bodypart_owner)
|
|
return !(bodypart_owner.owner?.obscured_slots & HIDEJUMPSUIT)
|