Portal fixes - adds oldloc to Crossed()

This commit is contained in:
Mark van Alphen
2019-07-15 20:16:17 +02:00
parent 10ef2311ab
commit fd579015b1
59 changed files with 77 additions and 77 deletions

View File

@@ -189,7 +189,7 @@
T.to_be_destroyed = 0
T.max_fire_temperature_sustained = 0
/obj/effect/hotspot/Crossed(mob/living/L)
/obj/effect/hotspot/Crossed(mob/living/L, oldloc)
..()
if(isliving(L))
L.fire_act()

View File

@@ -119,7 +119,7 @@
owner = null
return ..()
/obj/effect/ebeam/deadly/Crossed(atom/A)
/obj/effect/ebeam/deadly/Crossed(atom/A, oldloc)
..()
A.ex_act(1)

View File

@@ -194,7 +194,7 @@
// Previously known as HasEntered()
// This is automatically called when something enters your square
/atom/movable/Crossed(atom/movable/AM)
/atom/movable/Crossed(atom/movable/AM, oldloc)
SEND_SIGNAL(src, COMSIG_MOVABLE_CROSSED, AM)
/atom/movable/Bump(atom/A, yes) //the "yes" arg is to differentiate our Bump proc from byond's, without it every Bump() call would become a double Bump().
@@ -219,7 +219,9 @@
if(destination)
destination.Entered(src)
for(var/atom/movable/AM in destination)
AM.Crossed(src)
if(AM == src)
continue
AM.Crossed(src, old_loc)
var/turf/oldturf = get_turf(old_loc)
var/turf/destturf = get_turf(destination)
var/old_z = (oldturf ? oldturf.z : null)

View File

@@ -142,7 +142,7 @@
take_damage(Proj.damage, Proj.damage_type)
return 0
/obj/structure/blob/Crossed(var/mob/living/L)
/obj/structure/blob/Crossed(var/mob/living/L, oldloc)
..()
L.blob_act(src)

View File

@@ -271,7 +271,7 @@ var/list/blacklisted_pylon_turfs = typecacheof(list(
return
return
/obj/effect/gateway/Crossed(AM as mob|obj)
/obj/effect/gateway/Crossed(AM as mob|obj, oldloc)
spawn(0)
return
return

View File

@@ -545,7 +545,7 @@
light_color = LIGHT_COLOR_CYAN
health = 10
/obj/structure/swarmer/trap/Crossed(var/atom/movable/AM)
/obj/structure/swarmer/trap/Crossed(var/atom/movable/AM, oldloc)
if(isliving(AM))
var/mob/living/L = AM
if(!istype(L, /mob/living/simple_animal/hostile/swarmer))

View File

@@ -42,7 +42,7 @@
do_teleport(M, M, 10)
new /obj/effect/temp_visual/guardian/phase/out(get_turf(M))
/mob/living/simple_animal/hostile/guardian/fire/Crossed(AM as mob|obj)
/mob/living/simple_animal/hostile/guardian/fire/Crossed(AM as mob|obj, oldloc)
..()
collision_ignite(AM)

View File

@@ -103,7 +103,7 @@
invisibility = 1
/obj/item/effect/snare/Crossed(AM as mob|obj)
/obj/item/effect/snare/Crossed(AM as mob|obj, oldloc)
if(isliving(AM))
var/turf/snare_loc = get_turf(loc)
if(spawner)

View File

@@ -99,7 +99,7 @@
icon_state = "table2-idle"
return 0
/obj/machinery/optable/Crossed(atom/movable/AM)
/obj/machinery/optable/Crossed(atom/movable/AM, oldloc)
. = ..()
if(iscarbon(AM) && LAZYLEN(injected_reagents))
to_chat(AM, "<span class='danger'>You feel a series of tiny pricks!</span>")

View File

@@ -88,7 +88,7 @@ var/global/list/image/splatter_cache = list()
return TRUE
//Add "bloodiness" of this blood's type, to the human's shoes
/obj/effect/decal/cleanable/blood/Crossed(atom/movable/O)
/obj/effect/decal/cleanable/blood/Crossed(atom/movable/O, oldloc)
if(!off_floor && ishuman(O))
var/mob/living/carbon/human/H = O
var/obj/item/organ/external/l_foot = H.get_organ("l_foot")

View File

@@ -29,7 +29,7 @@ var/global/list/image/fluidtrack_cache = list()
blood_state = BLOOD_STATE_HUMAN //the icon state to load images from
/obj/effect/decal/cleanable/blood/footprints/Crossed(atom/movable/O)
/obj/effect/decal/cleanable/blood/footprints/Crossed(atom/movable/O, oldloc)
if(ishuman(O))
var/mob/living/carbon/human/H = O
var/obj/item/clothing/shoes/S = H.shoes

View File

@@ -345,7 +345,7 @@ steam.start() -- spawns the effect
return 1
/obj/effect/effect/bad_smoke/Crossed(mob/living/carbon/M as mob )
/obj/effect/effect/bad_smoke/Crossed(mob/living/carbon/M as mob, oldloc)
..()
if(istype(M, /mob/living/carbon))
if(M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT))
@@ -569,7 +569,7 @@ steam.start() -- spawns the effect
M.coughedtime = 0
return
/obj/effect/effect/sleep_smoke/Crossed(mob/living/carbon/M as mob )
/obj/effect/effect/sleep_smoke/Crossed(mob/living/carbon/M as mob, oldloc)
..()
if(istype(M, /mob/living/carbon))
if(M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT))
@@ -672,7 +672,7 @@ steam.start() -- spawns the effect
R.updatehealth()
return
/obj/effect/effect/mustard_gas/Crossed(mob/living/carbon/human/R as mob )
/obj/effect/effect/mustard_gas/Crossed(mob/living/carbon/human/R as mob, oldloc)
..()
if(istype(R, /mob/living/carbon/human))
if(R.internal != null && usr.wear_mask && (R.wear_mask.flags & AIRTIGHT) && R.wear_suit != null && !istype(R.wear_suit, /obj/item/clothing/suit/storage/labcoat) && !istype(R.wear_suit, /obj/item/clothing/suit/straight_jacket) && !istype(R.wear_suit, /obj/item/clothing/suit/straight_jacket && !istype(R.wear_suit, /obj/item/clothing/suit/armor)))
@@ -984,7 +984,7 @@ steam.start() -- spawns the effect
qdel(src)
/obj/structure/foam/Crossed(var/atom/movable/AM)
/obj/structure/foam/Crossed(var/atom/movable/AM, oldloc)
if(metal)
return

View File

@@ -94,7 +94,7 @@
spawn(5)
qdel(src)
/obj/effect/particle_effect/foam/Crossed(atom/movable/AM)
/obj/effect/particle_effect/foam/Crossed(atom/movable/AM, oldloc)
if(metal)
return

View File

@@ -52,7 +52,7 @@
steps--
return 1
/obj/effect/particle_effect/smoke/Crossed(mob/living/M)
/obj/effect/particle_effect/smoke/Crossed(mob/living/M, oldloc)
if(!istype(M))
return
smoke_mob(M)

View File

@@ -11,7 +11,7 @@
/obj/effect/mine/proc/mineEffect(mob/living/victim)
to_chat(victim, "<span class='danger'>*click*</span>")
/obj/effect/mine/Crossed(AM as mob|obj)
/obj/effect/mine/Crossed(AM as mob|obj, oldloc)
if(!isliving(AM))
return
var/mob/living/M = AM

View File

@@ -3,7 +3,6 @@
desc = "Looks unstable. Best to test it with the clown."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "portal"
density = TRUE
unacidable = TRUE
anchored = TRUE
@@ -17,9 +16,6 @@
var/can_multitool_to_remove = FALSE
var/ignore_tele_proof_area_setting = FALSE
/obj/effect/portal/Bumped(mob/M as mob|obj)
teleport(M)
/obj/effect/portal/New(loc, turf/target, creator = null, lifespan = 300)
..()
@@ -49,10 +45,13 @@
/obj/effect/portal/singularity_act()
return
/obj/effect/portal/Crossed(atom/movable/AM)
/obj/effect/portal/Crossed(atom/movable/AM, oldloc)
if(isobserver(AM))
return ..()
if(target && (get_turf(oldloc) == get_turf(target)))
return ..()
if(!teleport(AM))
return ..()

View File

@@ -9,7 +9,7 @@
/obj/effect/step_trigger/proc/Trigger(var/atom/movable/A)
return 0
/obj/effect/step_trigger/Crossed(H as mob|obj)
/obj/effect/step_trigger/Crossed(H as mob|obj, oldloc)
..()
if(!H)
return

View File

@@ -578,7 +578,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d
/obj/item/proc/is_equivalent(obj/item/I)
return I == src
/obj/item/Crossed(atom/movable/AM)
/obj/item/Crossed(atom/movable/AM, oldloc)
. = ..()
if(prob(trip_chance) && ishuman(AM))
var/mob/living/carbon/human/H = AM

View File

@@ -31,7 +31,7 @@
if(S.merge_type == merge_type)
merge(S)
/obj/item/stack/Crossed(obj/O)
/obj/item/stack/Crossed(obj/O, oldloc)
if(amount >= max_amount || ismob(loc)) // Prevents unnecessary call. Also prevents merging stack automatically in a mob's inventory
return
if(istype(O, merge_type) && !O.throwing)

View File

@@ -283,7 +283,7 @@
..()
pop_burst()
/obj/item/toy/snappop/Crossed(H as mob|obj)
/obj/item/toy/snappop/Crossed(H as mob|obj, oldloc)
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)

View File

@@ -48,9 +48,9 @@
/obj/item/grenade/plastic/receive_signal()
prime()
/obj/item/grenade/plastic/Crossed(atom/movable/AM)
/obj/item/grenade/plastic/Crossed(atom/movable/AM, oldloc)
if(nadeassembly)
nadeassembly.Crossed(AM)
nadeassembly.Crossed(AM, oldloc)
/obj/item/grenade/plastic/on_found(mob/finder)
if(nadeassembly)

View File

@@ -239,9 +239,9 @@
if(nadeassembly)
nadeassembly.process_movement()
/obj/item/grenade/chem_grenade/Crossed(atom/movable/AM)
/obj/item/grenade/chem_grenade/Crossed(atom/movable/AM, oldloc)
if(nadeassembly)
nadeassembly.Crossed(AM)
nadeassembly.Crossed(AM, oldloc)
/obj/item/grenade/chem_grenade/on_found(mob/finder)
if(nadeassembly)

View File

@@ -87,7 +87,7 @@
return
..()
/obj/item/restraints/legcuffs/beartrap/Crossed(AM as mob|obj)
/obj/item/restraints/legcuffs/beartrap/Crossed(AM as mob|obj, oldloc)
if(armed && isturf(src.loc))
if( (iscarbon(AM) || isanimal(AM)) && !istype(AM, /mob/living/simple_animal/parrot) && !istype(AM, /mob/living/simple_animal/hostile/construct) && !istype(AM, /mob/living/simple_animal/shade) && !istype(AM, /mob/living/simple_animal/hostile/viscerator))
var/mob/living/L = AM
@@ -193,6 +193,6 @@
/obj/item/restraints/legcuffs/bola/energy/throw_impact(atom/hit_atom)
if(iscarbon(hit_atom))
var/obj/item/restraints/legcuffs/beartrap/B = new /obj/item/restraints/legcuffs/beartrap/energy/cyborg(get_turf(hit_atom))
B.Crossed(hit_atom)
B.Crossed(hit_atom, null)
qdel(src)
..()

View File

@@ -67,7 +67,7 @@
else
return ..()
/obj/item/shard/Crossed(AM as mob|obj)
/obj/item/shard/Crossed(AM as mob|obj, oldloc)
if(isliving(AM))
var/mob/living/M = AM
if(M.incorporeal_move || M.flying || M.throwing)//you are incorporal or flying or being thrown ..no shard stepping!

View File

@@ -452,7 +452,7 @@
icon_closed = transparent ? "bluespacetrans" : "bluespace"
icon_state = opened ? icon_opened : icon_closed
/obj/structure/closet/bluespace/Crossed(atom/movable/AM)
/obj/structure/closet/bluespace/Crossed(atom/movable/AM, oldloc)
if(AM.density)
icon_state = opened ? "bluespaceopentrans" : "bluespacetrans"

View File

@@ -377,7 +377,7 @@
qdel(i)
. = ..()
/obj/structure/table/glass/Crossed(atom/movable/AM)
/obj/structure/table/glass/Crossed(atom/movable/AM, oldloc)
. = ..()
if(!can_deconstruct)
return

View File

@@ -363,7 +363,7 @@
qdel(mymist)
ismist = 0
/obj/machinery/shower/Crossed(atom/movable/O)
/obj/machinery/shower/Crossed(atom/movable/O, oldloc)
..()
wash(O)
if(ismob(O))

View File

@@ -77,9 +77,9 @@
if(bombassembly)
bombassembly.HasProximity(AM)
/obj/item/onetankbomb/Crossed(atom/movable/AM) //for mousetraps
/obj/item/onetankbomb/Crossed(atom/movable/AM, oldloc) //for mousetraps
if(bombassembly)
bombassembly.Crossed(AM)
bombassembly.Crossed(AM, oldloc)
/obj/item/onetankbomb/on_found(mob/finder) //for mousetraps
if(bombassembly)

View File

@@ -85,11 +85,11 @@
a_right.HasProximity(AM)
/obj/item/assembly_holder/Crossed(atom/movable/AM)
/obj/item/assembly_holder/Crossed(atom/movable/AM, oldloc)
if(a_left)
a_left.Crossed(AM)
a_left.Crossed(AM, oldloc)
if(a_right)
a_right.Crossed(AM)
a_right.Crossed(AM, oldloc)
/obj/item/assembly_holder/on_found(mob/finder)
if(a_left)

View File

@@ -269,7 +269,7 @@
/obj/effect/beam/i_beam/Bumped()
hit()
/obj/effect/beam/i_beam/Crossed(atom/movable/AM)
/obj/effect/beam/i_beam/Crossed(atom/movable/AM, oldloc)
if(!isobj(AM) && !isliving(AM))
return
if(istype(AM, /obj/effect))

View File

@@ -93,7 +93,7 @@
return
..()
/obj/item/assembly/mousetrap/Crossed(atom/movable/AM)
/obj/item/assembly/mousetrap/Crossed(atom/movable/AM, oldloc)
if(armed)
if(ishuman(AM))
var/mob/living/carbon/H = AM

View File

@@ -140,7 +140,7 @@
/obj/effect/meatgrinder/New()
icon_state = "blobpod"
/obj/effect/meatgrinder/Crossed(AM as mob|obj)
/obj/effect/meatgrinder/Crossed(AM as mob|obj, oldloc)
Bumped(AM)
/obj/effect/meatgrinder/Bumped(mob/M as mob|obj)

View File

@@ -65,7 +65,7 @@
STOP_PROCESSING(SSobj, src)
return ..()
/obj/effect/portal_sensor/Crossed(A)
/obj/effect/portal_sensor/Crossed(A, oldloc)
trigger()
/obj/effect/portal_sensor/Uncrossed(A)

View File

@@ -514,7 +514,7 @@
/obj/structure/spacevine/obj_destruction()
wither()
/obj/structure/spacevine/Crossed(mob/crosser)
/obj/structure/spacevine/Crossed(mob/crosser, oldloc)
if(isliving(crosser))
for(var/datum/spacevine_mutation/SM in mutations)
SM.on_cross(src, crosser)

View File

@@ -589,7 +589,7 @@ Gunshots/explosions/opening doors/less rare audio (done)
health -= P.force
return
/obj/effect/fake_attacker/Crossed(mob/M, somenumber)
/obj/effect/fake_attacker/Crossed(mob/M, oldloc)
if(M == my_target)
step_away(src,my_target,2)
if(prob(30))

View File

@@ -151,7 +151,7 @@
T.on_consume(src, usr)
..()
/obj/item/reagent_containers/food/snacks/grown/Crossed(atom/movable/AM)
/obj/item/reagent_containers/food/snacks/grown/Crossed(atom/movable/AM, oldloc)
if(seed)
for(var/datum/plant_gene/trait/T in seed.genes)
T.on_cross(src, AM)

View File

@@ -160,7 +160,7 @@
..()
StartBurning()
/obj/structure/bonfire/Crossed(atom/movable/AM)
/obj/structure/bonfire/Crossed(atom/movable/AM, oldloc)
if(burning)
Burn()

View File

@@ -51,7 +51,7 @@
return 0
/obj/item/grown/Crossed(atom/movable/AM)
/obj/item/grown/Crossed(atom/movable/AM, oldloc)
if(seed)
for(var/datum/plant_gene/trait/T in seed.genes)
T.on_cross(src, AM)

View File

@@ -137,7 +137,7 @@
regrowth_time_low = 4800
regrowth_time_high = 7200
/obj/structure/flora/ash/cacti/Crossed(mob/AM)
/obj/structure/flora/ash/cacti/Crossed(mob/AM, oldloc)
if(ishuman(AM) && has_gravity(loc) && prob(70))
var/mob/living/carbon/human/H = AM
if(!H.shoes && !H.lying) //ouch, my feet.

View File

@@ -31,7 +31,7 @@
else if(W.isOn())
to_chat(user, "<span class='info'>Not enough fuel to smelt [src].</span>")
/obj/item/stack/ore/Crossed(atom/movable/AM)
/obj/item/stack/ore/Crossed(atom/movable/AM, oldloc)
var/obj/item/storage/bag/ore/OB
var/turf/simulated/floor/F = get_turf(src)
if(loc != F)

View File

@@ -72,7 +72,7 @@ var/const/MAX_ACTIVE_TIME = 400
/obj/item/clothing/mask/facehugger/equipped(mob/M)
Attach(M)
/obj/item/clothing/mask/facehugger/Crossed(atom/target)
/obj/item/clothing/mask/facehugger/Crossed(atom/target, oldloc)
HasProximity(target)
return

View File

@@ -455,7 +455,7 @@
popup.open()
/mob/living/carbon/human/Crossed(atom/movable/AM)
/mob/living/carbon/human/Crossed(atom/movable/AM, oldloc)
var/mob/living/simple_animal/bot/mulebot/MB = AM
if(istype(MB))
MB.RunOver(src)

View File

@@ -48,7 +48,7 @@
..()
light_color = LIGHT_COLOR_PURE_RED //if you see a red one. RUN!!
/mob/living/simple_animal/bot/secbot/griefsky/Crossed(atom/movable/AM)
/mob/living/simple_animal/bot/secbot/griefsky/Crossed(atom/movable/AM, oldloc)
..()
if(ismob(AM) && AM == target)
var/mob/living/carbon/C = AM

View File

@@ -298,7 +298,7 @@
target = user
mode = BOT_HUNT
/mob/living/simple_animal/bot/honkbot/Crossed(atom/movable/AM)
/mob/living/simple_animal/bot/honkbot/Crossed(atom/movable/AM, oldloc)
if(ismob(AM) && on) //only if its online
if(prob(30)) //you're far more likely to trip on a honkbot
var/mob/living/carbon/C = AM

View File

@@ -439,7 +439,7 @@ Auto Patrol: []"},
target = user
mode = BOT_HUNT
/mob/living/simple_animal/bot/secbot/Crossed(atom/movable/AM)
/mob/living/simple_animal/bot/secbot/Crossed(atom/movable/AM, oldloc)
if(ismob(AM) && target)
var/mob/living/carbon/C = AM
if(!istype(C) || !C || in_range(src, target))

View File

@@ -24,7 +24,7 @@
/mob/living/simple_animal/cockroach/can_die()
return ..() && !SSticker.cinematic //If the nuke is going off, then cockroaches are invincible. Keeps the nuke from killing them, cause cockroaches are immune to nukes.
/mob/living/simple_animal/cockroach/Crossed(var/atom/movable/AM)
/mob/living/simple_animal/cockroach/Crossed(var/atom/movable/AM, oldloc)
if(isliving(AM))
var/mob/living/A = AM
if(A.mob_size > MOB_SIZE_SMALL)

View File

@@ -91,7 +91,7 @@
to_chat(src, "<span class='warning'>You are too small to pull anything.</span>")
return
/mob/living/simple_animal/mouse/Crossed(AM as mob|obj)
/mob/living/simple_animal/mouse/Crossed(AM as mob|obj, oldloc)
if(ishuman(AM))
if(!stat)
var/mob/M = AM

View File

@@ -526,7 +526,7 @@ Difficulty: Hard
sleep(1.3) //slightly forgiving; the burst animation is 1.5 deciseconds
bursting = FALSE //we no longer damage crossers
/obj/effect/temp_visual/hierophant/blast/Crossed(atom/movable/AM)
/obj/effect/temp_visual/hierophant/blast/Crossed(atom/movable/AM, oldloc)
..()
if(bursting)
do_damage(get_turf(src))

View File

@@ -36,7 +36,7 @@
desc = "A thick vine, painful to the touch."
/obj/effect/ebeam/vine/Crossed(atom/movable/AM)
/obj/effect/ebeam/vine/Crossed(atom/movable/AM, oldloc)
if(isliving(AM))
var/mob/living/L = AM
if(!("vines" in L.faction))

View File

@@ -33,11 +33,10 @@
return 0
/obj/machinery/field/containment/Crossed(mob/mover)
/obj/machinery/field/containment/Crossed(mob/mover, oldloc)
if(isliving(mover))
shock_field(mover)
/obj/machinery/field/containment/Crossed(obj/mover)
if(istype(mover, /obj/machinery) || istype(mover, /obj/structure) || istype(mover, /obj/mecha))
bump_field(mover)

View File

@@ -287,7 +287,7 @@ field_generator power level display
fields += CF
G.fields += CF
for(var/mob/living/L in T)
CF.Crossed(L)
CF.Crossed(L, null)
connected_gens |= G
G.connected_gens |= src

View File

@@ -39,7 +39,7 @@
var/obj/singularity/S = A
S.energy += energy
/obj/effect/accelerated_particle/Crossed(atom/A)
/obj/effect/accelerated_particle/Crossed(atom/A, oldloc)
if(isliving(A))
toxmob(A)

View File

@@ -41,7 +41,7 @@
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
return ..()
/obj/item/shard/supermatter/Crossed(AM as mob|obj)
/obj/item/shard/supermatter/Crossed(AM as mob|obj, oldloc)
if(ismob(AM))
var/mob/M = AM
to_chat(M, "<span class='danger'>You step on \the [src]!</span>")

View File

@@ -25,7 +25,7 @@
/obj/machinery/power/treadmill/update_icon()
icon_state = speed ? "conveyor-1" : "conveyor0"
/obj/machinery/power/treadmill/Crossed(mob/living/M)
/obj/machinery/power/treadmill/Crossed(mob/living/M, oldloc)
if(anchored && !M.anchored)
if(!istype(M) || M.dir != dir)
throw_off(M)

View File

@@ -281,7 +281,7 @@
Range()
sleep(1)
obj/item/projectile/Crossed(atom/movable/AM) //A mob moving on a tile with a projectile is hit by it.
obj/item/projectile/Crossed(atom/movable/AM, oldloc) //A mob moving on a tile with a projectile is hit by it.
..()
if(isliving(AM) && AM.density && !checkpass(PASSMOB))
Bump(AM, 1)

View File

@@ -246,9 +246,9 @@
if(assembly)
assembly.HasProximity(AM)
/obj/item/reagent_containers/glass/beaker/Crossed(atom/movable/AM)
/obj/item/reagent_containers/glass/beaker/Crossed(atom/movable/AM, oldloc)
if(assembly)
assembly.Crossed(AM)
assembly.Crossed(AM, oldloc)
/obj/item/reagent_containers/glass/beaker/on_found(mob/finder) //for mousetraps
if(assembly)

View File

@@ -187,9 +187,9 @@
if(rig)
rig.HasProximity(AM)
/obj/structure/reagent_dispensers/fueltank/Crossed(atom/movable/AM)
/obj/structure/reagent_dispensers/fueltank/Crossed(atom/movable/AM, oldloc)
if(rig)
rig.Crossed(AM)
rig.Crossed(AM, oldloc)
/obj/structure/reagent_dispensers/fueltank/hear_talk(mob/living/M, list/message_pieces)
if(rig)

View File

@@ -178,7 +178,7 @@ GLOBAL_LIST_INIT(conveyor_switches, list())
else if(still_stuff_to_move && !speed_process)
makeSpeedProcess()
/obj/machinery/conveyor/Crossed(atom/movable/AM)
/obj/machinery/conveyor/Crossed(atom/movable/AM, oldloc)
if(!speed_process && !AM.anchored)
makeSpeedProcess()
..()

View File

@@ -266,7 +266,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate)
/obj/structure/stone_tile/singularity_pull()
return
/obj/structure/stone_tile/Crossed(atom/movable/AM)
/obj/structure/stone_tile/Crossed(atom/movable/AM, oldloc)
if(falling || fallen)
return
var/turf/T = get_turf(src)
@@ -310,7 +310,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate)
falling = FALSE
fallen = FALSE
/obj/structure/stone_tile/proc/crossed_effect(atom/movable/AM)
/obj/structure/stone_tile/proc/crossed_effect(atom/movable/AM, oldloc)
return
/obj/structure/stone_tile/block