mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-28 18:41:37 +00:00
* Fix fancy boxes to fold like regular boxes (#73406) 🆑 coiax fix: Folding a "fancy box" like donut or candles will now put cardboard in your hand, rather than on the floor. fix: You can always see how many pickles are in a jar of pickles, or rolling papers there are in a pack of rolling papers, since it's not possible to close them. /🆑 Currently, folding a "fancy box", one where the contents are visible in the icon, like a donut or candle box, the cardboard will drop on the floor. The `attack_self()` proc between the two types of boxes have been unified. In addition, the `is_open` for fancy boxes has been expanded to include the "always open" option, where the contents of the box are always countable on examine, and the box does not have a closed appearance. Candle boxes previously special cased the `attack_self()` proc, and with this addition, no longer need to. ## Why It's Good For The Game Consistency in box interaction. Cardboard in hand. Always can count pickles. * Fix fancy boxes to fold like regular boxes * Update gunsets.dm --------- Co-authored-by: Jack Edge <yellowbounder@gmail.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
59 lines
2.0 KiB
Plaintext
59 lines
2.0 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/cardboardbox_drop.ogg'
|
|
pickup_sound = 'sound/items/handling/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()
|
|
|
|
/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)
|
|
|
|
/obj/item/storage/box/attackby(obj/item/W, mob/user, params)
|
|
if(istype(W, /obj/item/stack/package_wrap))
|
|
return FALSE
|
|
return ..()
|