Files
Bloop 0190e64654 Converts simple rotation into a bespoke element (#94582)
## About The Pull Request

<img width="579" height="67" alt="image"
src="https://github.com/user-attachments/assets/d7a4427e-2a6e-44d3-94ba-c90a2d474984"
/>

Simple rotation components number in the 8-9k range per round, and each
contains a needless callback datum as well.

These do not need to hold any state and can be bespoke elements, and the
proc to do things post_rotation can just be a normal atom proc.

<details><summary>Still works as you'd expect, including items that have
flag requirements like the wrench</summary>


![dreamseeker_UhvaohsIYK](https://github.com/user-attachments/assets/a4bd6b3f-d502-4a11-852f-0b96472d688d)


![dreamseeker_fEwUfNQben](https://github.com/user-attachments/assets/62dca771-4622-4cb2-9105-7f3a7c73e15a)

</details>

## Why It's Good For The Game

Makes a heavily used element much more lightweight, saves a few mb of
memory.

## Changelog

🆑
refactor: simple rotation component has been refactored into an element
Please report any bugs to github.
/🆑
2025-12-25 10:32:41 +01:00

26 lines
825 B
Plaintext

/obj/structure/chair/pew
name = "wooden pew"
desc = "Kneel here and pray."
icon = 'icons/obj/chairs_wide.dmi'
icon_state = "pewmiddle"
resistance_flags = FLAMMABLE
max_integrity = 70
buildstacktype = /obj/item/stack/sheet/mineral/wood
buildstackamount = 3
item_chair = null
custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT * 3)
///This proc adds the rotate component, overwrite this if you for some reason want to change some specific args.
/obj/structure/chair/pew/MakeRotate()
AddElement(/datum/element/simple_rotation, ROTATION_REQUIRE_WRENCH|ROTATION_IGNORE_ANCHORED)
/obj/structure/chair/pew/left
name = "left wooden pew end"
icon_state = "pewend_left"
has_armrest = TRUE
/obj/structure/chair/pew/right
name = "right wooden pew end"
icon_state = "pewend_right"
has_armrest = TRUE