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.to_be_destroyed = 0
T.max_fire_temperature_sustained = 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)) if(isliving(L))
L.fire_act() L.fire_act()

View File

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

View File

@@ -194,7 +194,7 @@
// Previously known as HasEntered() // Previously known as HasEntered()
// This is automatically called when something enters your square // 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) 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(). /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) if(destination)
destination.Entered(src) destination.Entered(src)
for(var/atom/movable/AM in destination) 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/oldturf = get_turf(old_loc)
var/turf/destturf = get_turf(destination) var/turf/destturf = get_turf(destination)
var/old_z = (oldturf ? oldturf.z : null) var/old_z = (oldturf ? oldturf.z : null)

View File

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

View File

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

View File

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

View File

@@ -42,7 +42,7 @@
do_teleport(M, M, 10) do_teleport(M, M, 10)
new /obj/effect/temp_visual/guardian/phase/out(get_turf(M)) 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) collision_ignite(AM)

View File

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

View File

@@ -99,7 +99,7 @@
icon_state = "table2-idle" icon_state = "table2-idle"
return 0 return 0
/obj/machinery/optable/Crossed(atom/movable/AM) /obj/machinery/optable/Crossed(atom/movable/AM, oldloc)
. = ..() . = ..()
if(iscarbon(AM) && LAZYLEN(injected_reagents)) if(iscarbon(AM) && LAZYLEN(injected_reagents))
to_chat(AM, "<span class='danger'>You feel a series of tiny pricks!</span>") 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 return TRUE
//Add "bloodiness" of this blood's type, to the human's shoes //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)) if(!off_floor && ishuman(O))
var/mob/living/carbon/human/H = O var/mob/living/carbon/human/H = O
var/obj/item/organ/external/l_foot = H.get_organ("l_foot") 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 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)) if(ishuman(O))
var/mob/living/carbon/human/H = O var/mob/living/carbon/human/H = O
var/obj/item/clothing/shoes/S = H.shoes var/obj/item/clothing/shoes/S = H.shoes

View File

@@ -345,7 +345,7 @@ steam.start() -- spawns the effect
return 1 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(istype(M, /mob/living/carbon))
if(M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT)) if(M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT))
@@ -569,7 +569,7 @@ steam.start() -- spawns the effect
M.coughedtime = 0 M.coughedtime = 0
return 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(istype(M, /mob/living/carbon))
if(M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT)) if(M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT))
@@ -672,7 +672,7 @@ steam.start() -- spawns the effect
R.updatehealth() R.updatehealth()
return 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(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))) 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) qdel(src)
/obj/structure/foam/Crossed(var/atom/movable/AM) /obj/structure/foam/Crossed(var/atom/movable/AM, oldloc)
if(metal) if(metal)
return return

View File

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

View File

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

View File

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

View File

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

View File

@@ -9,7 +9,7 @@
/obj/effect/step_trigger/proc/Trigger(var/atom/movable/A) /obj/effect/step_trigger/proc/Trigger(var/atom/movable/A)
return 0 return 0
/obj/effect/step_trigger/Crossed(H as mob|obj) /obj/effect/step_trigger/Crossed(H as mob|obj, oldloc)
..() ..()
if(!H) if(!H)
return 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) /obj/item/proc/is_equivalent(obj/item/I)
return I == src return I == src
/obj/item/Crossed(atom/movable/AM) /obj/item/Crossed(atom/movable/AM, oldloc)
. = ..() . = ..()
if(prob(trip_chance) && ishuman(AM)) if(prob(trip_chance) && ishuman(AM))
var/mob/living/carbon/human/H = AM var/mob/living/carbon/human/H = AM

View File

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

View File

@@ -283,7 +283,7 @@
..() ..()
pop_burst() 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 if(ishuman(H) || issilicon(H)) //i guess carp and shit shouldn't set them off
var/mob/living/carbon/M = H var/mob/living/carbon/M = H
if(issilicon(H) || M.m_intent == MOVE_INTENT_RUN) if(issilicon(H) || M.m_intent == MOVE_INTENT_RUN)

View File

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

View File

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

View File

@@ -87,7 +87,7 @@
return 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(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)) 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 var/mob/living/L = AM
@@ -193,6 +193,6 @@
/obj/item/restraints/legcuffs/bola/energy/throw_impact(atom/hit_atom) /obj/item/restraints/legcuffs/bola/energy/throw_impact(atom/hit_atom)
if(iscarbon(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)) 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) qdel(src)
..() ..()

View File

@@ -67,7 +67,7 @@
else else
return ..() return ..()
/obj/item/shard/Crossed(AM as mob|obj) /obj/item/shard/Crossed(AM as mob|obj, oldloc)
if(isliving(AM)) if(isliving(AM))
var/mob/living/M = 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! 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_closed = transparent ? "bluespacetrans" : "bluespace"
icon_state = opened ? icon_opened : icon_closed 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) if(AM.density)
icon_state = opened ? "bluespaceopentrans" : "bluespacetrans" icon_state = opened ? "bluespaceopentrans" : "bluespacetrans"

View File

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

View File

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

View File

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

View File

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

View File

@@ -269,7 +269,7 @@
/obj/effect/beam/i_beam/Bumped() /obj/effect/beam/i_beam/Bumped()
hit() 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)) if(!isobj(AM) && !isliving(AM))
return return
if(istype(AM, /obj/effect)) if(istype(AM, /obj/effect))

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -151,7 +151,7 @@
T.on_consume(src, usr) 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) if(seed)
for(var/datum/plant_gene/trait/T in seed.genes) for(var/datum/plant_gene/trait/T in seed.genes)
T.on_cross(src, AM) T.on_cross(src, AM)

View File

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

View File

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

View File

@@ -137,7 +137,7 @@
regrowth_time_low = 4800 regrowth_time_low = 4800
regrowth_time_high = 7200 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)) if(ishuman(AM) && has_gravity(loc) && prob(70))
var/mob/living/carbon/human/H = AM var/mob/living/carbon/human/H = AM
if(!H.shoes && !H.lying) //ouch, my feet. if(!H.shoes && !H.lying) //ouch, my feet.

View File

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

View File

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

View File

@@ -455,7 +455,7 @@
popup.open() 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 var/mob/living/simple_animal/bot/mulebot/MB = AM
if(istype(MB)) if(istype(MB))
MB.RunOver(src) MB.RunOver(src)

View File

@@ -48,7 +48,7 @@
..() ..()
light_color = LIGHT_COLOR_PURE_RED //if you see a red one. RUN!! 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) if(ismob(AM) && AM == target)
var/mob/living/carbon/C = AM var/mob/living/carbon/C = AM

View File

@@ -298,7 +298,7 @@
target = user target = user
mode = BOT_HUNT 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(ismob(AM) && on) //only if its online
if(prob(30)) //you're far more likely to trip on a honkbot if(prob(30)) //you're far more likely to trip on a honkbot
var/mob/living/carbon/C = AM var/mob/living/carbon/C = AM

View File

@@ -439,7 +439,7 @@ Auto Patrol: []"},
target = user target = user
mode = BOT_HUNT 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) if(ismob(AM) && target)
var/mob/living/carbon/C = AM var/mob/living/carbon/C = AM
if(!istype(C) || !C || in_range(src, target)) if(!istype(C) || !C || in_range(src, target))

View File

@@ -24,7 +24,7 @@
/mob/living/simple_animal/cockroach/can_die() /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. 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)) if(isliving(AM))
var/mob/living/A = AM var/mob/living/A = AM
if(A.mob_size > MOB_SIZE_SMALL) 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>") to_chat(src, "<span class='warning'>You are too small to pull anything.</span>")
return 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(ishuman(AM))
if(!stat) if(!stat)
var/mob/M = AM var/mob/M = AM

View File

@@ -526,7 +526,7 @@ Difficulty: Hard
sleep(1.3) //slightly forgiving; the burst animation is 1.5 deciseconds sleep(1.3) //slightly forgiving; the burst animation is 1.5 deciseconds
bursting = FALSE //we no longer damage crossers 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) if(bursting)
do_damage(get_turf(src)) do_damage(get_turf(src))

View File

@@ -36,7 +36,7 @@
desc = "A thick vine, painful to the touch." 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)) if(isliving(AM))
var/mob/living/L = AM var/mob/living/L = AM
if(!("vines" in L.faction)) if(!("vines" in L.faction))

View File

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

View File

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

View File

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

View File

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

View File

@@ -25,7 +25,7 @@
/obj/machinery/power/treadmill/update_icon() /obj/machinery/power/treadmill/update_icon()
icon_state = speed ? "conveyor-1" : "conveyor0" 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(anchored && !M.anchored)
if(!istype(M) || M.dir != dir) if(!istype(M) || M.dir != dir)
throw_off(M) throw_off(M)

View File

@@ -281,7 +281,7 @@
Range() Range()
sleep(1) 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)) if(isliving(AM) && AM.density && !checkpass(PASSMOB))
Bump(AM, 1) Bump(AM, 1)

View File

@@ -246,9 +246,9 @@
if(assembly) if(assembly)
assembly.HasProximity(AM) 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) if(assembly)
assembly.Crossed(AM) assembly.Crossed(AM, oldloc)
/obj/item/reagent_containers/glass/beaker/on_found(mob/finder) //for mousetraps /obj/item/reagent_containers/glass/beaker/on_found(mob/finder) //for mousetraps
if(assembly) if(assembly)

View File

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

View File

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

View File

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