Files
FalloutFalcon d2f34e33be moves abstract_type up to datum, spawners wont spawn them (#92909)
## About The Pull Request
moves all implementations (im aware of) for "Im a parent type dont spawn
me please" to the datum layer to standardized behavior
adds a standerized proc for filtering out "bad" items that we dont want
spawning. applies to it the subtype vendor, gifts, and a new spawner and
mystery box for a random gun (neither playerfacing)
"port" of https://github.com/shiptest-ss13/Shiptest/pull/4621



https://github.com/user-attachments/assets/22f6f0b2-b44e-411a-b3dc-6b97dc0287aa

small warning: I dont have EVERY abstract type defined right now but,
ive done a good enough job for now. Im tired of data entry rn
## Why It's Good For The Game
standardizing behavior. Might be a micro hit to performance however

having this lets us not rely on icon state to determine whether
something is a parent type and makes it much easier to tell something is
a parent type (could be applied further to things like admin spawning
menus and things like that).

need feedback on if this is actually good for the game.
## Changelog
🆑
add: Soda cans show up in the silver slime drink table.
add: Examine tag for items that are not mean to show up ingame.
refactor: Standardizes how gifts rule out abstract types.
fix: gifts no longer check if something has an inhand, massively
expanding the list of potential items.
/🆑
2025-09-13 00:36:15 +02:00

36 lines
1.2 KiB
Plaintext

//Ears: currently only used for headsets and earmuffs
/obj/item/clothing/ears
name = "ears"
lefthand_file = 'icons/mob/inhands/clothing/ears_lefthand.dmi'
righthand_file = 'icons/mob/inhands/clothing/ears_righthand.dmi'
abstract_type = /obj/item/clothing/ears
w_class = WEIGHT_CLASS_TINY
throwforce = 0
slot_flags = ITEM_SLOT_EARS
resistance_flags = NONE
/obj/item/clothing/ears/earmuffs
name = "earmuffs"
desc = "Protects your hearing from loud noises, and quiet ones as well."
icon = 'icons/obj/clothing/ears.dmi'
icon_state = "earmuffs"
inhand_icon_state = "earmuffs"
clothing_traits = list(TRAIT_DEAF)
strip_delay = 1.5 SECONDS
equip_delay_other = 2.5 SECONDS
resistance_flags = FLAMMABLE
custom_price = PAYCHECK_COMMAND * 1.5
flags_cover = EARS_COVERED
/obj/item/clothing/ears/earmuffs/Initialize(mapload)
. = ..()
AddElement(/datum/element/earhealing)
AddComponent(/datum/component/wearertargeting/earprotection)
AddComponent(/datum/component/adjust_fishing_difficulty, -2)
/obj/item/clothing/ears/earmuffs/debug
name = "debug earmuffs"
desc = "Wearing these sends a chat message for every sound played. Walking to ignore footsteps is highly recommended."
clothing_traits = list(TRAIT_SOUND_DEBUGGED)