diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 6ff6f320e2d..264145022fd 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -384,6 +384,7 @@ //Called after a successful Move(). By this point, we've already moved /atom/movable/proc/Moved(atom/OldLoc, Dir, Forced = FALSE) + SHOULD_CALL_PARENT(TRUE) SEND_SIGNAL(src, COMSIG_MOVABLE_MOVED, OldLoc, Dir, Forced) if (!inertia_moving) inertia_next_move = world.time + inertia_move_delay @@ -426,6 +427,8 @@ //oldloc = old location on atom, inserted when forceMove is called and ONLY when forceMove is called! /atom/movable/Crossed(atom/movable/AM, oldloc) + SHOULD_CALL_PARENT(TRUE) + . = ..() SEND_SIGNAL(src, COMSIG_MOVABLE_CROSSED, AM) /atom/movable/Uncross(atom/movable/AM, atom/newloc) diff --git a/code/game/machinery/scan_gate.dm b/code/game/machinery/scan_gate.dm index fb3880b90b6..8eaff2478d4 100644 --- a/code/game/machinery/scan_gate.dm +++ b/code/game/machinery/scan_gate.dm @@ -51,7 +51,10 @@ . += "The control panel is unlocked. Swipe an ID to lock it." /obj/machinery/scanner_gate/Crossed(atom/movable/AM) - ..() + . = ..() + auto_scan(AM) + +/obj/machinery/scanner_gate/proc/auto_scan(atom/movable/AM) if(!(machine_stat & (BROKEN|NOPOWER)) && isliving(AM)) perform_scan(AM) diff --git a/code/game/objects/effects/alien_acid.dm b/code/game/objects/effects/alien_acid.dm index 5dcbc9ea952..16bc321b211 100644 --- a/code/game/objects/effects/alien_acid.dm +++ b/code/game/objects/effects/alien_acid.dm @@ -53,6 +53,7 @@ return 0 /obj/effect/acid/Crossed(AM as mob|obj) + . = ..() if(isliving(AM)) var/mob/living/L = AM if(L.movement_type & FLYING) diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index 78b8179799f..e6f7584a887 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -107,6 +107,7 @@ O.throw_at(target, 5, 10) /obj/effect/anomaly/grav/Crossed(atom/movable/AM) + . = ..() gravShock(AM) /obj/effect/anomaly/grav/Bump(atom/A) @@ -154,6 +155,7 @@ mobShock(M) /obj/effect/anomaly/flux/Crossed(atom/movable/AM) + . = ..() mobShock(AM) /obj/effect/anomaly/flux/Bump(atom/A) diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index 90131c59343..c2a6194cca6 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -11,6 +11,7 @@ to_chat(victim, "*click*") /obj/effect/mine/Crossed(AM as mob|obj) + . = ..() if(isturf(loc)) if(ismob(AM)) var/mob/MM = AM diff --git a/code/game/objects/effects/proximity.dm b/code/game/objects/effects/proximity.dm index dbd9867d6da..677e2c3b256 100644 --- a/code/game/objects/effects/proximity.dm +++ b/code/game/objects/effects/proximity.dm @@ -112,4 +112,5 @@ /obj/effect/abstract/proximity_checker/Crossed(atom/movable/AM) set waitfor = FALSE + . = ..() monitor.hasprox_receiver.HasProximity(AM) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 03760ad70dc..09030f10ea9 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -452,6 +452,7 @@ pop_burst() /obj/item/toy/snappop/Crossed(H as mob|obj) + . = ..() if(ishuman(H) || issilicon(H)) //i guess carp and shit shouldn't set them off var/mob/living/carbon/M = H if(issilicon(H) || M.m_intent == MOVE_INTENT_RUN) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 4207dfc413f..39f0a1d4b5e 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -237,13 +237,13 @@ UnregisterSignal(source, COMSIG_MOVABLE_MOVED) /obj/structure/table/rolling/Moved(atom/OldLoc, Dir) + . = ..() for(var/mob/M in OldLoc.contents)//Kidnap everyone on top M.forceMove(loc) for(var/x in attached_items) var/atom/movable/AM = x if(!AM.Move(loc)) RemoveItemFromTable(AM, AM.loc) - return TRUE /* * Glass tables diff --git a/code/game/objects/structures/traps.dm b/code/game/objects/structures/traps.dm index f3013cda82a..f68a17063df 100644 --- a/code/game/objects/structures/traps.dm +++ b/code/game/objects/structures/traps.dm @@ -61,6 +61,7 @@ animate(src, alpha = initial(alpha), time = time_between_triggers) /obj/structure/trap/Crossed(atom/movable/AM) + . = ..() if(last_trigger + time_between_triggers > world.time) return // Don't want the traps triggered by sparks, ghosts or projectiles. diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index eb31d9faf27..34d193bc198 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -67,6 +67,7 @@ master.update_icon() /obj/item/assembly_holder/Crossed(atom/movable/AM as mob|obj) + . = ..() if(a_left) a_left.Crossed(AM) if(a_right) diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 8099d18fb93..23de27399b5 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -228,6 +228,7 @@ var/obj/item/assembly/infra/master /obj/effect/beam/i_beam/Crossed(atom/movable/AM as mob|obj) + . = ..() if(istype(AM, /obj/effect/beam)) return if (isitem(AM)) diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index 2d205394955..6d33ad62e63 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -613,6 +613,7 @@ QDEL_IN(src, AMMO_DROP_LIFETIME) /obj/effect/ctf/ammo/Crossed(atom/movable/AM) + . = ..() reload(AM) /obj/effect/ctf/ammo/Bump(atom/A) diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm index 1aa70547441..6679125ad6e 100644 --- a/code/modules/awaymissions/mission_code/wildwest.dm +++ b/code/modules/awaymissions/mission_code/wildwest.dm @@ -127,6 +127,7 @@ var/triggered = 0 /obj/effect/meatgrinder/Crossed(atom/movable/AM) + . = ..() Bumped(AM) /obj/effect/meatgrinder/Bumped(atom/movable/AM) diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index 4231eb71952..f6135348ba7 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -351,6 +351,7 @@ playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE) /obj/structure/spacevine/Crossed(atom/movable/AM) + . = ..() if(!isliving(AM)) return for(var/datum/spacevine_mutation/SM in mutations) diff --git a/code/modules/fields/turf_objects.dm b/code/modules/fields/turf_objects.dm index 4d3a4cf4b70..f8d139a45dd 100644 --- a/code/modules/fields/turf_objects.dm +++ b/code/modules/fields/turf_objects.dm @@ -29,6 +29,7 @@ return parent.field_turf_canpass(AM, src, target) /obj/effect/abstract/proximity_checker/advanced/field_turf/Crossed(atom/movable/AM) + . = ..() if(parent) return parent.field_turf_crossed(AM, src) return TRUE @@ -53,6 +54,7 @@ return parent.field_edge_canpass(AM, src, target) /obj/effect/abstract/proximity_checker/advanced/field_edge/Crossed(atom/movable/AM) + . = ..() if(parent) return parent.field_edge_crossed(AM, src) return TRUE diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index bbfcdc96b1a..ebf752b8088 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -134,6 +134,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( Show() /obj/effect/hallucination/simple/Moved(atom/OldLoc, Dir) + . = ..() Show() /obj/effect/hallucination/simple/Destroy() @@ -1082,6 +1083,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( target.client.images += image /obj/effect/hallucination/danger/lava/Crossed(atom/movable/AM) + . = ..() if(AM == target) target.adjustStaminaLoss(20) new /datum/hallucination/fire(target) @@ -1095,6 +1097,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( target.client.images += image /obj/effect/hallucination/danger/chasm/Crossed(atom/movable/AM) + . = ..() if(AM == target) if(istype(target, /obj/effect/dummy/phased_mob)) return @@ -1124,6 +1127,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( target.client.images += image /obj/effect/hallucination/danger/anomaly/Crossed(atom/movable/AM) + . = ..() if(AM == target) new /datum/hallucination/shock(target) diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index a85b7ba05e3..d5e6a33ff2e 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -246,6 +246,7 @@ StartBurning() /obj/structure/bonfire/Crossed(atom/movable/AM) + . = ..() if(burning & !grill) Burn() diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 4853843213a..691c7cc5a9d 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -76,6 +76,7 @@ resistance_flags = FLAMMABLE /obj/item/cultivator/rake/Crossed(atom/movable/AM) + . = ..() if(!ishuman(AM)) return var/mob/living/carbon/human/H = AM diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index eb9133697c4..53b5afe1df4 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -89,8 +89,8 @@ Attach(M) /obj/item/clothing/mask/facehugger/Crossed(atom/target) + . = ..() HasProximity(target) - return /obj/item/clothing/mask/facehugger/on_found(mob/finder) if(stat == CONSCIOUS) diff --git a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm index 034943b0cc3..17018e55266 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm @@ -112,6 +112,7 @@ /obj/effect/snare/Crossed(AM as mob|obj) + . = ..() if(isliving(AM) && spawner && spawner.summoner && AM != spawner && !spawner.hasmatchingsummoner(AM)) to_chat(spawner.summoner, "[AM] has crossed surveillance snare, [name].") var/list/guardians = spawner.summoner.hasparasites() diff --git a/code/modules/mob/living/simple_animal/hostile/cockroach.dm b/code/modules/mob/living/simple_animal/hostile/cockroach.dm index f55fa50b2b5..cc57f2534cf 100644 --- a/code/modules/mob/living/simple_animal/hostile/cockroach.dm +++ b/code/modules/mob/living/simple_animal/hostile/cockroach.dm @@ -62,6 +62,7 @@ ..() /mob/living/simple_animal/hostile/cockroach/Crossed(var/atom/movable/AM) + . = ..() if(ismob(AM)) if(isliving(AM)) var/mob/living/A = AM diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm index 8f9a9ad597e..a2bea19e534 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm @@ -42,6 +42,7 @@ butcher_results = list(/obj/item/reagent_containers/food/snacks/nugget = 5) /mob/living/simple_animal/hostile/retaliate/frog/Crossed(AM as mob|obj) + . = ..() if(!stat && isliving(AM)) var/mob/living/L = AM if(L.mob_size > MOB_SIZE_TINY) diff --git a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm index 393690cfcf7..9e5be8dcb68 100644 --- a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm +++ b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm @@ -38,6 +38,7 @@ /obj/effect/ebeam/vine/Crossed(atom/movable/AM) + . = ..() if(isliving(AM)) var/mob/living/L = AM if(!("vines" in L.faction)) diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index 5900286f860..71c899b7198 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -65,6 +65,7 @@ return ..() /obj/machinery/field/containment/Crossed(atom/movable/AM) + . = ..() if(isliving(AM)) shock(AM) diff --git a/code/modules/power/singularity/particle_accelerator/particle.dm b/code/modules/power/singularity/particle_accelerator/particle.dm index 57f4a77fc2c..050d31b37c2 100644 --- a/code/modules/power/singularity/particle_accelerator/particle.dm +++ b/code/modules/power/singularity/particle_accelerator/particle.dm @@ -44,6 +44,7 @@ movement_range = 0 /obj/effect/accelerated_particle/Crossed(atom/A) + . = ..() if(isliving(A)) toxmob(A) diff --git a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm index ef8a53ea4c5..82e34607e02 100644 --- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm +++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm @@ -264,6 +264,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) return /obj/structure/stone_tile/Crossed(atom/movable/AM) + . = ..() if(falling || fallen) return var/turf/T = get_turf(src) diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm index 90ac6ac5d54..11c438b622d 100644 --- a/code/modules/shuttle/special.dm +++ b/code/modules/shuttle/special.dm @@ -233,7 +233,7 @@ if(!isliving(mover)) //No stowaways return FALSE -/obj/machinery/scanner_gate/luxury_shuttle/Crossed(atom/movable/AM) +/obj/machinery/scanner_gate/luxury_shuttle/auto_scan(atom/movable/AM) return /obj/machinery/scanner_gate/luxury_shuttle/attackby(obj/item/W, mob/user, params) diff --git a/code/modules/spells/spell_types/spacetime_distortion.dm b/code/modules/spells/spell_types/spacetime_distortion.dm index aaa9c2fc8ef..2c3254b8daf 100644 --- a/code/modules/spells/spell_types/spacetime_distortion.dm +++ b/code/modules/spells/spell_types/spacetime_distortion.dm @@ -102,6 +102,7 @@ busy = FALSE /obj/effect/cross_action/spacetime_dist/Crossed(atom/movable/AM) + . = ..() if(!busy) walk_link(AM)