Atom locking: Chair and Buckling Rewrite.
Created by: PJB3005
What is this?
- I moved buckling to all movable atoms on both the buckled-to side and the being-buckled side!
- Cleans up stool and subtype code.
More in depth list of changes:
-
/obj/structure/stool
axed completely, all stools are now the weapon type as frankly, stools had no fucking reason to be a structure with how little they did, and they fit better as an item because they can be picked up! - General clean up of code used by chairs and the alike.
- Chairs, beds... moved to a seperate .dmi
-
Atom Locking: Lock atom A to atom B and atom A's position and dir will be kept the same as atom B's! (as much as possible).
-
/atom/movable/proc/lock_atom(var/atom/movable/AM)
: This proc will lockAM
tosrc
, this essentially bucklesAM
tosrc
. -
/atom/movable/proc/unlock_atom(var/atom/movable/AM)
: This proc will unlockAM
fromsrc
. -
/atom/movable/proc/update_dir()
: This proc should be used to handle updating ofdir
dependant functions, this is used in atom locking to update the locked atomsdir
.- This proc would however not be very useful as doing
dir = value
doesn't call it, as such, I introduced: -
/atom/movable/proc/change_dir(var/newdir)
: Essentially, theforceMove()
of dirs! Callsupdate_dir()
and sets thedir
, basic stuff.
- This proc would however not be very useful as doing
-
Notes:
-
DNM, mostly works but there are some issues to fix:
-
Piano stool sprite is that of the normal stool. -
Adminbus HUD doesn't get removed correctly.
-
- EDIT: All issues that I could see fixed.
- I need to check some strings to see if there's any fuckups from using find/replace for a lot of this are left.
- @DeityLink didn't want me to touch adminbus code so the adminbus passenger code doesn't use atom locking.
- This PR is in preparation for MODULAR VEHICLES!!!`
- Fixes #5300 (closed)
- Fixes #4904 (closed) - vehicles all use forceMove() now.
- There is a very real possibility that this PR fixes the wheelchair infinite loop.