Persistent trash (#21217)

# Summary

This PR adds trash to the persistence system.

- Trash becomes persistent the moment it is dropped unless it is dropped
in a maint or the disposal room.
- It looses persistence when it lands in a maint/disposal room or gets
picked up again.
- Persistent trash can be found up to three days.

Those are the base rules, some trash types have additional rules.

List of trash to be implemented:

- [x] Basic trash (snacks and such)
  - Cigarette buts
  - spitwad
  - Burned matches
- [x] Broken bottles
- [x] Torn inflatable (-doors)

> Littering is a i120 violation and can be punished with 3-7 minutes of
prison time or with a 40-150 credit fine.
> Stop littering and keep the ship clean.

## Follow-up tasks

- [x] Update GitHub Wiki: Add section on how to add persistent trash
types.
- [x] Update GitHub Wiki: Make persistence_get_content nullable/empty.
This commit is contained in:
FabianK3
2025-09-15 12:13:46 +00:00
committed by GitHub
parent e9e1e923f5
commit 1ccfd0a0e7
11 changed files with 98 additions and 25 deletions
@@ -289,6 +289,12 @@
name = "torn inflatable wall"
desc = "A folded membrane which rapidly expands into a large cubical shape on activation. It is too torn to be usable."
icon_state = "folded_wall-torn"
persistency_considered_trash = TRUE
/obj/item/inflatable/torn/persistence_apply_content(content, x, y, z)
src.x = x
src.y = y
src.z = z
/obj/item/inflatable/torn/attack_self(mob/user)
to_chat(user, SPAN_NOTICE("The inflatable wall is too torn to be inflated!"))
@@ -298,6 +304,12 @@
name = "torn inflatable door"
desc = "A folded membrane which rapidly expands into a simple door on activation. It is too torn to be usable."
icon_state = "folded_door-torn"
persistency_considered_trash = TRUE
/obj/item/inflatable/door/torn/persistence_apply_content(content, x, y, z)
src.x = x
src.y = y
src.z = z
/obj/item/inflatable/door/torn/attack_self(mob/user)
to_chat(user, SPAN_NOTICE("The inflatable door is too torn to be inflated!"))