diff --git a/code/WorkInProgress/Cael_Aislinn/Supermatter/Laser2.dm b/code/WorkInProgress/Cael_Aislinn/Supermatter/Laser2.dm
index 38032c459ca..4a7779c3652 100644
--- a/code/WorkInProgress/Cael_Aislinn/Supermatter/Laser2.dm
+++ b/code/WorkInProgress/Cael_Aislinn/Supermatter/Laser2.dm
@@ -111,7 +111,7 @@
src.hit()
return
-/obj/beam/e_beam/HasEntered(atom/movable/AM as mob|obj)
+/obj/beam/e_beam/Crossed(atom/movable/AM as mob|obj)
if (istype(AM, /obj/beam))
return
spawn( 0 )
diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm
index a6bb9c537f2..04ac6729587 100644
--- a/code/defines/obj/weapon.dm
+++ b/code/defines/obj/weapon.dm
@@ -244,7 +244,7 @@
icon_state = "beartrap[armed]"
user << "[src] is now [armed ? "armed" : "disarmed"]"
-/obj/item/weapon/legcuffs/beartrap/HasEntered(AM as mob|obj)
+/obj/item/weapon/legcuffs/beartrap/Crossed(AM as mob|obj)
if(armed)
if(ishuman(AM))
if(isturf(src.loc))
diff --git a/code/game/asteroid.dm b/code/game/asteroid.dm
index e5b421e9afd..05fc66d2d40 100644
--- a/code/game/asteroid.dm
+++ b/code/game/asteroid.dm
@@ -1,4 +1,5 @@
+
var/global/list/space_surprises = list( /obj/item/clothing/mask/facehugger =4,
/obj/item/weapon/pickaxe/silver =4,
/obj/item/weapon/pickaxe/drill =4,
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 54717140ba7..a4b610951d9 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -91,9 +91,6 @@
/atom/proc/CheckExit()
return 1
-/atom/proc/HasEntered(atom/movable/AM as mob|obj)
- return
-
/atom/proc/HasProximity(atom/movable/AM as mob|obj)
return
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 1326e65e5eb..400da3cc439 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -22,6 +22,11 @@
src.last_move = get_dir(A, src.loc)
return
+// Previously known as Crossed()
+// This is automatically called when something enters your square
+/atom/movable/Crossed(atom/movable/AM)
+ return
+
/atom/movable/Bump(var/atom/A as mob|obj|turf|area, yes)
if(src.throwing)
src.throw_impact(A)
@@ -41,6 +46,8 @@
loc.Exited(src)
loc = destination
loc.Entered(src)
+ for(var/atom/movable/AM in loc)
+ AM.Crossed(src)
return 1
return 0
diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm
index 9334e0f8d63..0b8c0cf6755 100644
--- a/code/game/gamemodes/cult/cult_structures.dm
+++ b/code/game/gamemodes/cult/cult_structures.dm
@@ -51,7 +51,7 @@
return
return
-/obj/effect/gateway/HasEntered(AM as mob|obj)
+/obj/effect/gateway/Crossed(AM as mob|obj)
spawn(0)
return
return
\ No newline at end of file
diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm
index a80f04c3e3d..3e392a5c4d9 100644
--- a/code/game/machinery/bots/mulebot.dm
+++ b/code/game/machinery/bots/mulebot.dm
@@ -798,7 +798,7 @@
return get_turf(src)
-// called from mob/living/carbon/human/HasEntered()
+// called from mob/living/carbon/human/Crossed()
// when mulebot is in the same loc
/obj/machinery/bot/mulebot/proc/RunOver(var/mob/living/carbon/human/H)
src.visible_message("\red [src] drives over [H]!")
diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm
index 87001bcf473..09e04ac804c 100644
--- a/code/game/machinery/pipe/pipe_dispenser.dm
+++ b/code/game/machinery/pipe/pipe_dispenser.dm
@@ -120,7 +120,7 @@
/*
//Allow you to push disposal pipes into it (for those with density 1)
-/obj/machinery/pipedispenser/disposal/HasEntered(var/obj/structure/disposalconstruct/pipe as obj)
+/obj/machinery/pipedispenser/disposal/Crossed(var/obj/structure/disposalconstruct/pipe as obj)
if(istype(pipe) && !pipe.anchored)
del(pipe)
diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm
index bc8e30e132f..3546ce951e9 100644
--- a/code/game/machinery/transformer.dm
+++ b/code/game/machinery/transformer.dm
@@ -33,7 +33,7 @@
if(cooldown == 1)
return
- // HasEntered didn't like people lying down.
+ // Crossed didn't like people lying down.
if(ishuman(AM))
// Only humans can enter from the west side, while lying down.
var/move_dir = get_dir(loc, AM.loc)
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 5dfe700d767..9d36eadeea5 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -331,7 +331,7 @@
var/obj/O = obstacle
if(istype(O, /obj/effect/portal)) //derpfix
src.anchored = 0
- O.HasEntered(src)
+ O.Crossed(src)
spawn(0)//countering portal teleport spawn(0), hurr
src.anchored = 1
else if(!O.anchored)
diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm
index 364b032fce0..c4616e87e54 100644
--- a/code/game/objects/effects/decals/Cleanable/humans.dm
+++ b/code/game/objects/effects/decals/Cleanable/humans.dm
@@ -36,7 +36,7 @@
spawn(DRYING_TIME * (amount+1))
dry()
-/obj/effect/decal/cleanable/blood/HasEntered(mob/living/carbon/human/perp)
+/obj/effect/decal/cleanable/blood/Crossed(mob/living/carbon/human/perp)
if (!istype(perp))
return
if(amount < 1)
@@ -77,7 +77,7 @@
icon_state = "xfloor1"
random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7")
-/obj/effect/decal/cleanable/blood/green/HasEntered(mob/living/carbon/human/perp)
+/obj/effect/decal/cleanable/blood/green/Crossed(mob/living/carbon/human/perp)
if (!istype(perp))
return
if(amount < 1)
diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm
index 39247929151..b07d99ee20d 100644
--- a/code/game/objects/effects/effect_system.dm
+++ b/code/game/objects/effects/effect_system.dm
@@ -331,7 +331,7 @@ steam.start() -- spawns the effect
return 1
-/obj/effect/effect/bad_smoke/HasEntered(mob/living/carbon/M as mob )
+/obj/effect/effect/bad_smoke/Crossed(mob/living/carbon/M as mob )
..()
if(istype(M, /mob/living/carbon))
if (M.internal != null && M.wear_mask && (M.wear_mask.flags & MASKINTERNALS))
@@ -423,7 +423,7 @@ steam.start() -- spawns the effect
return
-/obj/effect/effect/chem_smoke/HasEntered(mob/living/carbon/M as mob )
+/obj/effect/effect/chem_smoke/Crossed(mob/living/carbon/M as mob )
..()
reagents.reaction(M)
@@ -553,7 +553,7 @@ steam.start() -- spawns the effect
M.coughedtime = 0
return
-/obj/effect/effect/sleep_smoke/HasEntered(mob/living/carbon/M as mob )
+/obj/effect/effect/sleep_smoke/Crossed(mob/living/carbon/M as mob )
..()
if(istype(M, /mob/living/carbon))
if (M.internal != null && M.wear_mask && (M.wear_mask.flags & MASKINTERNALS))
@@ -642,7 +642,7 @@ steam.start() -- spawns the effect
R.updatehealth()
return
-/obj/effect/effect/mustard_gas/HasEntered(mob/living/carbon/human/R as mob )
+/obj/effect/effect/mustard_gas/Crossed(mob/living/carbon/human/R as mob )
..()
if (istype(R, /mob/living/carbon/human))
if (R.internal != null && usr.wear_mask && (R.wear_mask.flags & MASKINTERNALS) && 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)))
@@ -882,7 +882,7 @@ steam.start() -- spawns the effect
delete()
-/obj/effect/effect/foam/HasEntered(var/atom/movable/AM)
+/obj/effect/effect/foam/Crossed(var/atom/movable/AM)
if(metal)
return
diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm
index b9a2e57dafb..53e24b9fc6f 100644
--- a/code/game/objects/effects/mines.dm
+++ b/code/game/objects/effects/mines.dm
@@ -12,7 +12,7 @@
/obj/effect/mine/New()
icon_state = "uglyminearmed"
-/obj/effect/mine/HasEntered(AM as mob|obj)
+/obj/effect/mine/Crossed(AM as mob|obj)
Bumped(AM)
/obj/effect/mine/Bumped(mob/M as mob|obj)
diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm
index ae174260e38..b6fcb88b4f1 100644
--- a/code/game/objects/effects/portals.dm
+++ b/code/game/objects/effects/portals.dm
@@ -16,7 +16,7 @@
return
return
-/obj/effect/portal/HasEntered(AM as mob|obj)
+/obj/effect/portal/Crossed(AM as mob|obj)
spawn(0)
src.teleport(AM)
return
diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm
index 3acecd04b2d..e8cd72b81e9 100644
--- a/code/game/objects/effects/step_triggers.dm
+++ b/code/game/objects/effects/step_triggers.dm
@@ -9,7 +9,7 @@
/obj/effect/step_trigger/proc/Trigger(var/atom/movable/A)
return 0
-/obj/effect/step_trigger/HasEntered(H as mob|obj)
+/obj/effect/step_trigger/Crossed(H as mob|obj)
..()
if(!H)
return
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index 793193ebae5..12a13ae873f 100755
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -1123,7 +1123,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
src.id.loc = get_turf(src.loc)
..()
-/obj/item/device/pda/clown/HasEntered(AM as mob|obj) //Clown PDA is slippery.
+/obj/item/device/pda/clown/Crossed(AM as mob|obj) //Clown PDA is slippery.
if (istype(AM, /mob/living/carbon))
var/mob/M = AM
if ((istype(M, /mob/living/carbon/human) && (istype(M:shoes, /obj/item/clothing/shoes) && M:shoes.flags&NOSLIP)) || M.m_intent == "walk")
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index d382b14b804..bc20a2b4e30 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -276,7 +276,7 @@
return
return ..()
-/obj/item/weapon/shard/HasEntered(AM as mob|obj)
+/obj/item/weapon/shard/Crossed(AM as mob|obj)
if(ismob(AM))
var/mob/M = AM
M << "\red You step in the broken glass!"
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index e8d980c6325..209d085bd72 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -394,7 +394,7 @@
playsound(src, 'sound/effects/snap.ogg', 50, 1)
del(src)
-/obj/item/toy/snappop/HasEntered(H as mob|obj)
+/obj/item/toy/snappop/Crossed(H as mob|obj)
if((ishuman(H))) //i guess carp and shit shouldn't set them off
var/mob/living/carbon/M = H
if(M.m_intent == "run")
diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm
index 49f0b2e45f5..47d1846e6ad 100644
--- a/code/game/objects/items/weapons/clown_items.dm
+++ b/code/game/objects/items/weapons/clown_items.dm
@@ -8,7 +8,7 @@
/*
* Banana Peals
*/
-/obj/item/weapon/bananapeel/HasEntered(AM as mob|obj)
+/obj/item/weapon/bananapeel/Crossed(AM as mob|obj)
if (istype(AM, /mob/living/carbon))
var/mob/M = AM
if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP))
@@ -23,7 +23,7 @@
/*
* Soap
*/
-/obj/item/weapon/soap/HasEntered(AM as mob|obj) //EXACTLY the same as bananapeel for now, so it makes sense to put it in the same dm -- Urist
+/obj/item/weapon/soap/Crossed(AM as mob|obj) //EXACTLY the same as bananapeel for now, so it makes sense to put it in the same dm -- Urist
if (istype(AM, /mob/living/carbon))
var/mob/M = AM
if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP))
diff --git a/code/game/objects/items/weapons/grenades/bananade.dm b/code/game/objects/items/weapons/grenades/bananade.dm
index fb4bcfdb77c..986fae6a358 100644
--- a/code/game/objects/items/weapons/grenades/bananade.dm
+++ b/code/game/objects/items/weapons/grenades/bananade.dm
@@ -1,3 +1,4 @@
+
var/turf/T
/obj/item/weapon/grenade/bananade
diff --git a/code/game/objects/items/weapons/grenades/clowngrenade.dm b/code/game/objects/items/weapons/grenades/clowngrenade.dm
index ddc0b234c49..f27374d9b25 100644
--- a/code/game/objects/items/weapons/grenades/clowngrenade.dm
+++ b/code/game/objects/items/weapons/grenades/clowngrenade.dm
@@ -63,7 +63,7 @@
throw_speed = 4
throw_range = 20
- HasEntered(AM as mob|obj)
+ Crossed(AM as mob|obj)
var/burned = rand(2,5)
if(istype(AM, /mob/living))
var/mob/living/M = AM
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index a63539ceb53..e873fa06f02 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -284,4 +284,12 @@
if(welded)
overlays += "welded"
else
- icon_state = icon_opened
\ No newline at end of file
+ icon_state = icon_opened
+
+// Objects that try to exit a locker by stepping were doing so successfully,
+// and due to an oversight in turf/Enter() were going through walls. That
+// should be independently resolved, but this is also an interesting twist.
+/obj/structure/closet/Exit(atom/movable/AM)
+ open()
+ if(AM.loc == src) return 0
+ return 1
\ No newline at end of file
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 1a2853f9168..b17d36f4df2 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -189,7 +189,7 @@
del(mymist)
ismist = 0
-/obj/machinery/shower/HasEntered(atom/movable/O)
+/obj/machinery/shower/Crossed(atom/movable/O)
..()
wash(O)
if(ismob(O))
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 26a18532dbb..7b0fdb67006 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -50,30 +50,27 @@
if(movement_disabled && usr.ckey != movement_disabled_exception)
usr << "\red Movement is admin-disabled." //This is to identify lag problems
return
- if (!mover || !isturf(mover.loc))
+ if (!mover)
return 1
- //First, check objects to block exit that are not on the border
- for(var/obj/obstacle in mover.loc)
- if(!(obstacle.flags & ON_BORDER) && (mover != obstacle) && (forget != obstacle))
- if(!obstacle.CheckExit(mover, src))
+ // First, make sure it can leave its square
+ if(isturf(mover.loc))
+ // Nothing but border objects stop you from leaving a tile, only one loop is needed
+ for(var/obj/obstacle in mover.loc)
+ if(!obstacle.CheckExit(mover, src) && obstacle != mover && obstacle != forget)
mover.Bump(obstacle, 1)
return 0
- //Now, check objects to block exit that are on the border
- for(var/obj/border_obstacle in mover.loc)
- if((border_obstacle.flags & ON_BORDER) && (mover != border_obstacle) && (forget != border_obstacle))
- if(!border_obstacle.CheckExit(mover, src))
- mover.Bump(border_obstacle, 1)
- return 0
-
+ var/list/large_dense = list()
//Next, check objects to block entry that are on the border
- for(var/obj/border_obstacle in src)
- if(border_obstacle.flags & ON_BORDER)
+ for(var/atom/movable/border_obstacle in src)
+ if(border_obstacle.flags&ON_BORDER)
if(!border_obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != border_obstacle))
mover.Bump(border_obstacle, 1)
return 0
+ else
+ large_dense += border_obstacle
//Then, check the turf itself
if (!src.CanPass(mover, src))
@@ -81,11 +78,10 @@
return 0
//Finally, check objects/mobs to block entry that are not on the border
- for(var/atom/movable/obstacle in src)
- if(obstacle.flags & ~ON_BORDER)
- if(!obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != obstacle))
- mover.Bump(obstacle, 1)
- return 0
+ for(var/atom/movable/obstacle in large_dense)
+ if(!obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != obstacle))
+ mover.Bump(obstacle, 1)
+ return 0
return 1 //Nothing found to block so return success!
@@ -128,14 +124,6 @@
M:inertia_dir = 0
..()
var/objects = 0
- for(var/atom/A as mob|obj|turf|area in src)
- if(objects > loopsanity) break
- objects++
- spawn( 0 )
- if ((A && M))
- A.HasEntered(M, 1)
- return
- objects = 0
for(var/atom/A as mob|obj|turf|area in range(1))
if(objects > loopsanity) break
objects++
diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm
index 7d834bd0a00..477313114d2 100644
--- a/code/modules/assembly/holder.dm
+++ b/code/modules/assembly/holder.dm
@@ -104,13 +104,13 @@
special_assembly.HasProximity(AM)
- HasEntered(atom/movable/AM as mob|obj)
+ Crossed(atom/movable/AM as mob|obj)
if(a_left)
- a_left.HasEntered(AM)
+ a_left.Crossed(AM)
if(a_right)
- a_right.HasEntered(AM)
+ a_right.Crossed(AM)
if(special_assembly)
- special_assembly.HasEntered(AM)
+ special_assembly.Crossed(AM)
on_found(mob/finder as mob)
diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm
index 3e57e3bed92..47728ad295a 100644
--- a/code/modules/assembly/infrared.dm
+++ b/code/modules/assembly/infrared.dm
@@ -253,7 +253,7 @@
hit()
return
-/obj/effect/beam/i_beam/HasEntered(atom/movable/AM as mob|obj)
+/obj/effect/beam/i_beam/Crossed(atom/movable/AM as mob|obj)
if(istype(AM, /obj/effect/beam))
return
spawn(0)
diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm
index 4d2c8fa53b9..ff3abadccba 100644
--- a/code/modules/assembly/mousetrap.dm
+++ b/code/modules/assembly/mousetrap.dm
@@ -81,7 +81,7 @@
..()
- HasEntered(AM as mob|obj)
+ Crossed(AM as mob|obj)
if(armed)
if(ishuman(AM))
var/mob/living/carbon/H = AM
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index 18e4f2916a5..6b6e3760619 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -252,7 +252,7 @@ proc/check_panel(mob/M)
return
- HasEntered(var/mob/M, somenumber)
+ Crossed(var/mob/M, somenumber)
if(M == my_target)
step_away(src,my_target,2)
if(prob(30))
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 19296347f7e..dec9cff8370 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -101,7 +101,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(NewLoc)
loc = NewLoc
for(var/obj/effect/step_trigger/S in NewLoc)
- S.HasEntered(src)
+ S.Crossed(src)
return
loc = get_turf(src) //Get out of closets and such as a ghost
@@ -115,7 +115,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
x--
for(var/obj/effect/step_trigger/S in locate(x, y, z)) //<-- this is dumb
- S.HasEntered(src)
+ S.Crossed(src)
/mob/dead/observer/examine()
if(usr)
diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm
index f1561344386..8418f5ee70b 100644
--- a/code/modules/mob/living/carbon/alien/special/facehugger.dm
+++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm
@@ -80,7 +80,7 @@ var/const/MAX_ACTIVE_TIME = 400
/obj/item/clothing/mask/facehugger/equipped(mob/M)
Attach(M)
-/obj/item/clothing/mask/facehugger/HasEntered(atom/target)
+/obj/item/clothing/mask/facehugger/Crossed(atom/target)
HasProximity(target)
return
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index c394fe40076..3d456654b0a 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -428,7 +428,7 @@
// called when something steps onto a human
// this could be made more general, but for now just handle mulebot
-/mob/living/carbon/human/HasEntered(var/atom/movable/AM)
+/mob/living/carbon/human/Crossed(var/atom/movable/AM)
var/obj/machinery/bot/mulebot/MB = AM
if(istype(MB))
MB.RunOver(src)
diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm
index 29f4223a8e6..bee64e60c36 100644
--- a/code/modules/mob/living/simple_animal/friendly/mouse.dm
+++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm
@@ -170,7 +170,7 @@
src << "You are too small to pull anything."
return
-/mob/living/simple_animal/mouse/HasEntered(AM as mob|obj)
+/mob/living/simple_animal/mouse/Crossed(AM as mob|obj)
if( ishuman(AM) )
if(!stat)
var/mob/M = AM
diff --git a/code/modules/reagents/reagent_containers/food/snacks/grown.dm b/code/modules/reagents/reagent_containers/food/snacks/grown.dm
index c47103e2821..cada51cf361 100644
--- a/code/modules/reagents/reagent_containers/food/snacks/grown.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks/grown.dm
@@ -635,7 +635,7 @@
del(src)
return
-/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato/HasEntered(AM as mob|obj)
+/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato/Crossed(AM as mob|obj)
if (istype(AM, /mob/living/carbon))
var/mob/M = AM
if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP))