mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-24 13:47:33 +01:00
[MIRROR] Impliment COMSIG_MOVABLE_CROSS and COMSIG_MOVABLE_CROSS_OVER signals (#11570)
Co-authored-by: Will <7099514+Willburd@users.noreply.github.com>
This commit is contained in:
co-authored by
Will
parent
fcc56b6d9a
commit
b8f5a5c628
@@ -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