Files
Bubberstation/code/game/objects/items/storage/boxes/_boxes.dm
T
SmArtKar 6b83a91956 Revert "Refactor for storage initialization & organization (#89543)" (#90332)
## About The Pull Request

Reverts the storage initialization refactor and all subsequent related
PRs.
The original PR is below our standards both for code quality and
testing, and is majorly flawed at its core. This has been discussed with
other maintainers and headcoder(s?) over on discord. A lot of changes
from the PR could be brought over later, but in its current state it
should not have been merged.

- Closes #90322
- Closes #90313
- Closes #90315
- Closes #90320
- Closes #90312
- Closes #90344

## Why It's Good For The Game

This PR causes a series of major issues which cannot be resolved without
either completely rewriting a lot of the original PR, or bad code.
Not matching our standards is grounds for not merging a PR, and the fact
that a PR should not have been merged is a reason for a revert.

## Changelog
🆑
fix: Fixed a series of storage-related bugs caused by a refactor PR.
/🆑
2025-03-30 21:30:31 +00:00

56 lines
2.1 KiB
Plaintext

/// The common cardboard box.
/obj/item/storage/box
name = "box"
desc = "It's just an ordinary box."
icon = 'icons/obj/storage/box.dmi'
icon_state = "box"
inhand_icon_state = "syringe_kit"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
resistance_flags = FLAMMABLE
drop_sound = 'sound/items/handling/cardboard_box/cardboardbox_drop.ogg'
pickup_sound = 'sound/items/handling/cardboard_box/cardboardbox_pickup.ogg'
/// What material do we get when we fold this box?
var/foldable_result = /obj/item/stack/sheet/cardboard
/// What drawing will we get on the face of the box?
var/illustration = "writing"
/obj/item/storage/box/Initialize(mapload)
. = ..()
atom_storage.max_specific_storage = WEIGHT_CLASS_SMALL
update_appearance()
atom_storage.open_sound = 'sound/items/handling/cardboard_box/cardboard_box_open.ogg'
atom_storage.rustle_sound = 'sound/items/handling/cardboard_box/cardboard_box_rustle.ogg'
/obj/item/storage/box/suicide_act(mob/living/carbon/user)
var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD)
if(myhead)
user.visible_message(span_suicide("[user] puts [user.p_their()] head into \the [src] and begins closing it! It looks like [user.p_theyre()] trying to commit suicide!"))
myhead.dismember()
myhead.forceMove(src) //force your enemies to kill themselves with your head collection box!
playsound(user, "desecration-01.ogg", 50, TRUE, -1)
return BRUTELOSS
user.visible_message(span_suicide("[user] is beating [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
return BRUTELOSS
/obj/item/storage/box/update_overlays()
. = ..()
if(illustration)
. += illustration
/obj/item/storage/box/attack_self(mob/user)
..()
if(!foldable_result || (flags_1 & HOLOGRAM_1))
return
if(contents.len)
balloon_alert(user, "items inside!")
return
if(!ispath(foldable_result))
return
var/obj/item/result = new foldable_result(user.drop_location())
balloon_alert(user, "folded")
qdel(src)
user.put_in_hands(result)