* Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B
BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
* Converts all A && A.B into A?.B
Co-authored-by: ZeWaka <zewakagamer@gmail.com>
* Ice sliding related fixes.
* Makes ICE do not break other forced movement.
* Revert "Makes ICE do not break other forced movement."
This reverts commit 2aa691d3b8b35c31101e86fd888417755da86dcd.
This is in preparation for step_x support as the default behavior for these procs is necessary for proper functionality.
turf/Enter and atom/movable/Move default code got rewritten to replicate default byond functionality with minor changes.
This reduces confusion arising from the fact byond already has a built
in byond proc also named Bump.
We used an argument called yes to distinguish our Bump from byond's
builtin bump, but then we failed to make sure everyone of our bumps
properly override it, so a bunch of things have been double bumping
This resolves that issue permanently
I've also removed the second argument as it no longer has a purpose
I also cleaned up the recycler bump as it didn't do anything the
parent procs didn't already do
* Makes qdeleted and qdestroying macros
* Makes QDELETED and QDESTROYING uppercase
* Swap qdel checks istype's for != null's
* Fix it
* How was this missed?
* Fix a bug in forceMove
Don't call Exited/Entered if the loc is the same
* Added forced_movement
* Remove usages comment
Fixed a parameters bug
* Refactor slips
* Refactors meathook
* Negative check
* Shittier syntax, more performance
* Seperation of src and args
* Sanity check
Because you know someone will fuck it up
* X to Y is inclusive
* Bettter diagonals
* Remove unused var
* Better suggestion
* This was never used, why was it here?
* Arg prefixing...
* Better cleanup
* Do not touch the self managing var
* Cleanup
* More cleanup
* Missed 2
* Added callbacks
* Fix ice again
* Sanity checks
* Applied to larva/attack_hulk
* Fix the chain's usage
* LDFJAHDJKAGFHLJKDSAGHJKLSDAGBLKJADGFHKLJADGNLKAMDFNBJK:ANFDJKLADSNLSJKDFHNASFADSFLK:AJFL:KASJFKLASJF:LAJSF:LKJASKFMSALKF