diff --git a/monkestation/code/modules/veth_misc_items/bingle/bingle_pit.dm b/monkestation/code/modules/veth_misc_items/bingle/bingle_pit.dm index 475faf4415178..5bc9484503a6d 100644 --- a/monkestation/code/modules/veth_misc_items/bingle/bingle_pit.dm +++ b/monkestation/code/modules/veth_misc_items/bingle/bingle_pit.dm @@ -352,6 +352,7 @@ density = FALSE mouse_opacity = MOUSE_OPACITY_OPAQUE uses_integrity = TRUE + obj_flags = parent_type::obj_flags | BLOCK_Z_OUT_DOWN var/obj/structure/bingle_hole/parent_pit /obj/structure/bingle_pit_overlay/Initialize(mapload, obj/structure/bingle_hole/parent_pit) diff --git a/monkestation/code/modules/veth_misc_items/bingle/mob.dm b/monkestation/code/modules/veth_misc_items/bingle/mob.dm index db65417940eb0..9159939a1080c 100644 --- a/monkestation/code/modules/veth_misc_items/bingle/mob.dm +++ b/monkestation/code/modules/veth_misc_items/bingle/mob.dm @@ -46,6 +46,7 @@ /mob/living/basic/bingle/Initialize(mapload, obj/structure/bingle_hole/origin_pit) . = ..() + RegisterSignal(src, COMSIG_MOVABLE_SPACEMOVE, PROC_REF(on_space_move)) RegisterSignal(src, COMSIG_LIVING_BINGLE_EVOLVE, PROC_REF(evolve)) add_traits(bingle_traits, INNATE_TRAIT) set_linked_pit(origin_pit) @@ -92,6 +93,13 @@ updatehealth() new /obj/effect/temp_visual/heal(get_turf(src), COLOR_BLUE_LIGHT) +///Called when attempting to move around in space, if it's near a bingles pit it'll act sorta like lattice. +/mob/living/basic/bingle/proc/on_space_move(atom/source, movement_dir, continuous_move) + SIGNAL_HANDLER + if(locate(/obj/structure/bingle_pit_overlay) in range(1, get_turf(source))) + return COMSIG_MOVABLE_STOP_SPACEMOVE + return NONE + /mob/living/basic/bingle/lord name = "bingle lord" real_name = "bingle lord"