mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 16:18:01 +01:00
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>   </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. /🆑
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
|
||||
/obj/structure/c_transit_tube/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/simple_rotation, post_rotation = CALLBACK(src, PROC_REF(post_rotation)))
|
||||
AddElement(/datum/element/simple_rotation)
|
||||
|
||||
/obj/structure/c_transit_tube/proc/can_wrench_in_loc(mob/user)
|
||||
var/turf/source_turf = get_turf(loc)
|
||||
@@ -27,7 +27,7 @@
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/structure/c_transit_tube/proc/post_rotation(mob/user, degrees)
|
||||
/obj/structure/c_transit_tube/post_rotation(mob/user, degrees)
|
||||
if(flipped_build_type && degrees == ROTATION_FLIP)
|
||||
setDir(turn(dir, degrees)) //Turn back we don't actually flip
|
||||
flipped = !flipped
|
||||
|
||||
Reference in New Issue
Block a user