mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-19 12:05:59 +01:00
Refactors move procs to support multitle objects (#59658)
Enter(), Entered(), Exit() and Exited() all passed the old loc forward, but everything except a single a case cared about the direction of the movement more than about the specific source. Since moving multi-tile objects will have multiple sources of movement but a single direction, this change makes it easier to track their movement. Cleaned up a lot of code around and made proc inputs compatible. I'll add opacity support for multi-tile objects in a different PR after this is merged, as this has grown large enough and I don't want to compromise the reviewability. Tested this locally and as expected it didn't impair movement nor produced any runtimes.
This commit is contained in:
@@ -11,8 +11,8 @@
|
||||
var/locked = FALSE
|
||||
|
||||
///What happens when the intellicard is removed (or deleted) from the module, through try_eject() or not.
|
||||
/obj/item/computer_hardware/ai_slot/Exited(atom/A, atom/newloc)
|
||||
if(A == stored_card)
|
||||
/obj/item/computer_hardware/ai_slot/Exited(atom/movable/gone, direction)
|
||||
if(stored_card == gone)
|
||||
stored_card = null
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
return ..()
|
||||
|
||||
///What happens when the battery is removed (or deleted) from the module, through try_eject() or not.
|
||||
/obj/item/computer_hardware/battery/Exited(atom/A, atom/newloc)
|
||||
if(A == battery)
|
||||
/obj/item/computer_hardware/battery/Exited(atom/movable/gone, direction)
|
||||
if(battery == gone)
|
||||
battery = null
|
||||
if(holder?.enabled && !holder.use_power())
|
||||
holder.shutdown_computer()
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
var/obj/item/card/id/stored_card
|
||||
|
||||
///What happens when the ID card is removed (or deleted) from the module, through try_eject() or not.
|
||||
/obj/item/computer_hardware/card_slot/Exited(atom/A, atom/newloc)
|
||||
if(A == stored_card)
|
||||
/obj/item/computer_hardware/card_slot/Exited(atom/movable/gone, direction)
|
||||
if(stored_card == gone)
|
||||
stored_card = null
|
||||
if(holder)
|
||||
if(holder.active_program)
|
||||
|
||||
Reference in New Issue
Block a user