diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 71dbbf7057..965ee51502 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -74,7 +74,8 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define PASSGRILLE 4 #define PASSBLOB 8 #define PASSMOB 16 -#define LETPASSTHROW 32 +#define PASSCLOSEDTURF 32 +#define LETPASSTHROW 64 //Movement Types diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm index 322a337117..66677c0877 100644 --- a/code/game/turfs/closed.dm +++ b/code/game/turfs/closed.dm @@ -15,6 +15,12 @@ /turf/closed/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) return FALSE +/turf/closed/CanPass(atom/movable/mover, turf/target) + if(istype(mover) && mover.checkpass(PASSCLOSEDTURF)) + return TRUE + else + ..() + /turf/closed/indestructible name = "wall" icon = 'icons/turf/walls.dmi' diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 2fa90152d8..ef00c35563 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -50,7 +50,8 @@ damage = 15 irradiate = 30 range = 15 - forcedodge = 1 + pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE | PASSCLOSEDTURF + impact_effect_type = /obj/effect/temp_visual/impact_effect/green_laser light_color = LIGHT_COLOR_GREEN