Files
FalloutFalconandGitHub 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

42 lines
1.8 KiB
Plaintext

/obj/item/clothing/suit/costume/ghost_sheet
name = "ghost sheet"
desc = "The hands float by themselves, so it's extra spooky."
icon_state = "ghost_sheet"
inhand_icon_state = null
throwforce = 0
throw_speed = 1
throw_range = 2
w_class = WEIGHT_CLASS_TINY
flags_inv = HIDEGLOVES|HIDEEARS|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT|HIDEBELT|HIDEJUMPSUIT
alternate_worn_layer = UNDER_HEAD_LAYER
species_exception = list(/datum/species/golem)
supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
/obj/item/clothing/suit/costume/ghost_sheet/Initialize(mapload)
. = ..()
if(check_holidays(HALLOWEEN))
update_icon(UPDATE_OVERLAYS)
AddComponent(/datum/component/adjust_fishing_difficulty, 8)
/obj/item/clothing/suit/costume/ghost_sheet/worn_overlays(mutable_appearance/standing, isinhands, icon_file)
. = ..()
if(!isinhands && check_holidays(HALLOWEEN))
. += emissive_appearance('icons/mob/simple/mob.dmi', "ghost", offset_spokesman = src, alpha = src.alpha)
/obj/item/clothing/suit/spooky_ghost_sheet
name = "spooky ghost"
desc = "This is obviously just a bedsheet, but maybe try it on?"
icon = 'icons/obj/clothing/suits/costume.dmi'
worn_icon = 'icons/mob/clothing/suits/costume.dmi'
icon_state = "ghost_sheet"
inhand_icon_state = null
user_vars_to_edit = list("name" = "Spooky Ghost", "real_name" = "Spooky Ghost", "incorporeal_move" = INCORPOREAL_MOVE_BASIC, "appearance_flags" = KEEP_TOGETHER|TILE_BOUND, "alpha" = 150)
throwforce = 0
throw_speed = 1
throw_range = 2
w_class = WEIGHT_CLASS_TINY
flags_inv = HIDEGLOVES|HIDEEARS|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT|HIDEBELT|HIDEJUMPSUIT
species_exception = list(/datum/species/golem)
supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
alternate_worn_layer = ABOVE_BODY_FRONT_LAYER //so the bedsheet goes over everything but fire