mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-18 10:34:10 +01:00
crossed signal (#18405)
This commit is contained in:
@@ -229,8 +229,9 @@
|
||||
#define COMSIG_MOVABLE_MOVED "movable_moved"
|
||||
///from base of atom/movable/Cross(): (/atom/movable)
|
||||
#define COMSIG_MOVABLE_CROSS "movable_cross"
|
||||
///when we cross over something (calling Crossed() on that atom)
|
||||
#define COMSIG_CROSSED_MOVABLE "crossed_movable"
|
||||
#define COMPONENT_BLOCK_CROSS (1<<0)
|
||||
///from base of atom/movable/Move(): (/atom/movable)
|
||||
#define COMSIG_MOVABLE_CROSS_OVER "movable_cross_am"
|
||||
///from base of atom/movable/Bump(): (/atom)
|
||||
#define COMSIG_MOVABLE_BUMP "movable_bump"
|
||||
///from base of atom/movable/throw_impact(): (/atom/hit_atom, /datum/thrownthing/throwingdatum)
|
||||
|
||||
@@ -265,6 +265,10 @@
|
||||
// Make sure you know what you're doing if you call this, this is intended to only be called by byond directly.
|
||||
// You probably want CanPass()
|
||||
/atom/movable/Cross(atom/movable/AM)
|
||||
if(SEND_SIGNAL(src, COMSIG_MOVABLE_CROSS, AM) & COMPONENT_BLOCK_CROSS)
|
||||
return FALSE
|
||||
if(SEND_SIGNAL(AM, COMSIG_MOVABLE_CROSS_OVER, src) & COMPONENT_BLOCK_CROSS)
|
||||
return FALSE
|
||||
return CanPass(AM, loc)
|
||||
|
||||
/atom/movable/CanPass(atom/movable/mover, turf/target)
|
||||
|
||||
Reference in New Issue
Block a user