From 9fc52575dd43660be0933aa0dc38fff2ef62e7a1 Mon Sep 17 00:00:00 2001
From: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Date: Thu, 29 Feb 2024 22:58:23 +0100
Subject: [PATCH] Refactored MouseDrop_T (#18549)
* sdafas
* sdaf
---
code/_onclick/drag_drop.dm | 4 +-
code/game/gamemodes/cult/structures/pylon.dm | 6 +--
code/game/machinery/OpTable.dm | 6 +--
code/game/machinery/Sleeper.dm | 6 ++-
code/game/machinery/body_scanner.dm | 19 +++++----
code/game/machinery/cryo.dm | 6 +--
code/game/machinery/cryopod.dm | 14 ++++---
code/game/machinery/mecha_fabricator.dm | 3 +-
code/game/machinery/pipe/pipe_dispenser.dm | 3 +-
code/game/machinery/rechargestation.dm | 24 ++++++-----
code/game/machinery/suit_cycler.dm | 3 +-
code/game/objects/buckling.dm | 6 +--
code/game/objects/items/weapons/traps.dm | 3 +-
.../structures/crates_lockers/closets.dm | 3 +-
code/game/objects/structures/janicart.dm | 3 +-
code/game/objects/structures/morgue.dm | 3 +-
.../structures/stool_bed_chair_nest/chairs.dm | 4 +-
code/game/objects/structures/trash_pile.dm | 2 +-
code/modules/battlemonsters/items/core.dm | 6 +--
code/modules/battlemonsters/items/deck.dm | 8 ++--
code/modules/cooking/machinery/gibber.dm | 4 +-
code/modules/multiz/hoist.dm | 6 ++-
.../fusion/fuel_assembly/fuel_compressor.dm | 4 +-
code/modules/reagents/Chemistry-Machinery.dm | 3 +-
code/modules/recycling/disposal.dm | 3 +-
code/modules/tables/interactions.dm | 18 ++++----
code/modules/vehicles/bike.dm | 6 +--
code/modules/vehicles/train.dm | 10 ++---
code/modules/vehicles/unicycle.dm | 6 +--
.../fluffyghost-mousedroptrefactor.yml | 41 +++++++++++++++++++
30 files changed, 148 insertions(+), 85 deletions(-)
create mode 100644 html/changelogs/fluffyghost-mousedroptrefactor.yml
diff --git a/code/_onclick/drag_drop.dm b/code/_onclick/drag_drop.dm
index 66e847312c2..c33cdbe9bbf 100644
--- a/code/_onclick/drag_drop.dm
+++ b/code/_onclick/drag_drop.dm
@@ -11,8 +11,8 @@
if(!Adjacent(usr) || !over.Adjacent(usr))
return // should stop you from dragging through windows
- INVOKE_ASYNC(over, TYPE_PROC_REF(/atom, MouseDrop_T), src, usr, src_location, over_location, src_control, over_control, params)
+ over.MouseDrop_T(src, usr, params)
///Receive a mousedrop
-/atom/proc/MouseDrop_T(atom/dropping, mob/user, src_location, over_location, src_control, over_control, params)
+/atom/proc/MouseDrop_T(atom/dropping, mob/user, params)
return
diff --git a/code/game/gamemodes/cult/structures/pylon.dm b/code/game/gamemodes/cult/structures/pylon.dm
index 4523ca6724e..b838f5f4cab 100644
--- a/code/game/gamemodes/cult/structures/pylon.dm
+++ b/code/game/gamemodes/cult/structures/pylon.dm
@@ -356,9 +356,9 @@
attackpylon(user, attacking_item.force, attacking_item)
//Mousedrop so that constructs can drag rats out of maintenance to make turrets
-/obj/structure/cult/pylon/MouseDrop_T(var/atom/movable/C, mob/user)
- if(istype(C, /mob/living))
- present_sacrifice(user, C)
+/obj/structure/cult/pylon/MouseDrop_T(atom/dropping, mob/user)
+ if(istype(dropping, /mob/living))
+ present_sacrifice(user, dropping)
return
return ..()
diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm
index 5c7409f5e13..a6b14102470 100644
--- a/code/game/machinery/OpTable.dm
+++ b/code/game/machinery/OpTable.dm
@@ -168,9 +168,9 @@
return istype(mover) && mover.checkpass(PASSTABLE)
-/obj/machinery/optable/MouseDrop_T(obj/O, mob/user)
- if(istype(O, /obj/item))
- user.drop_from_inventory(O,get_turf(src))
+/obj/machinery/optable/MouseDrop_T(atom/dropping, mob/user)
+ if(istype(dropping, /obj/item))
+ user.drop_from_inventory(dropping, get_turf(src))
..()
/**
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index ee203619fb4..5f09586fea9 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -274,7 +274,11 @@
else if(default_part_replacement(user, attacking_item))
return TRUE
-/obj/machinery/sleeper/MouseDrop_T(var/mob/target, var/mob/user)
+/obj/machinery/sleeper/MouseDrop_T(atom/dropping, mob/user)
+ var/mob/target = dropping
+ if(!istype(target))
+ return
+
if(user.stat || user.lying || !Adjacent(user) || !target.Adjacent(user)|| !ishuman(target))
return
diff --git a/code/game/machinery/body_scanner.dm b/code/game/machinery/body_scanner.dm
index 06db8086692..101c6d3d0d8 100644
--- a/code/game/machinery/body_scanner.dm
+++ b/code/game/machinery/body_scanner.dm
@@ -165,17 +165,18 @@
qdel(G)
return TRUE
-/obj/machinery/bodyscanner/MouseDrop_T(atom/movable/O as mob|obj, mob/living/user as mob)
+/obj/machinery/bodyscanner/MouseDrop_T(atom/dropping, mob/user)
if(!istype(user))
return
- if(!ismob(O))
+
+ if(!ismob(dropping))
return
- var/mob/living/M = O//Theres no reason this shouldn't be /mob/living
+
if (occupant)
to_chat(user, SPAN_NOTICE("The scanner is already occupied!"))
return
- var/mob/living/L = O
+ var/mob/living/L = dropping
var/bucklestatus = L.bucklecheck(user)
if (!bucklestatus)
return
@@ -189,11 +190,11 @@
if (bucklestatus == 2)
var/obj/structure/LB = L.buckled_to
LB.user_unbuckle(user)
- if (M.client)
- M.client.perspective = EYE_PERSPECTIVE
- M.client.eye = src
- M.forceMove(src)
- occupant = M
+ if (L.client)
+ L.client.perspective = EYE_PERSPECTIVE
+ L.client.eye = src
+ L.forceMove(src)
+ occupant = L
update_use_power(POWER_USE_ACTIVE)
update_icon()
playsound(loc, 'sound/machines/cryopod/cryopod_enter.ogg', 25)
diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm
index b76e64f10fd..96b8d51f8cc 100644
--- a/code/game/machinery/cryo.dm
+++ b/code/game/machinery/cryo.dm
@@ -266,12 +266,12 @@
qdel(attacking_item)
return TRUE
-/obj/machinery/atmospherics/unary/cryo_cell/MouseDrop_T(atom/movable/O as mob|obj, mob/living/user as mob)
+/obj/machinery/atmospherics/unary/cryo_cell/MouseDrop_T(atom/dropping, mob/user)
if(!istype(user))
return
- if(!ismob(O))
+ if(!ismob(dropping))
return
- var/mob/living/L = O
+ var/mob/living/L = dropping
for(var/mob/living/carbon/slime/M in range(1,L))
if(M.victim == L)
to_chat(usr, SPAN_WARNING("[L.name] will not fit into the cryo because they have a slime latched onto their head."))
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index a0686b74971..29b22f6fdf4 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -429,14 +429,16 @@ GLOBAL_LIST_EMPTY(frozen_crew)
go_in(user, M)
return TRUE
-/obj/machinery/cryopod/MouseDrop_T(atom/movable/O, mob/living/user)
- if(!istype(user))
- return
- if(!check_occupant_allowed(O))
+/obj/machinery/cryopod/MouseDrop_T(atom/dropping, mob/user)
+ if(!istype(user, /mob/living))
return
- var/mob/living/M = O
- go_in(user, M)
+ if(!check_occupant_allowed(dropping))
+ return
+
+ var/mob/living/M = dropping
+ if(istype(M))
+ go_in(user, M)
/obj/machinery/cryopod/verb/move_inside()
set name = "Enter Pod"
diff --git a/code/game/machinery/mecha_fabricator.dm b/code/game/machinery/mecha_fabricator.dm
index dfaa9bac859..f3334c78d57 100644
--- a/code/game/machinery/mecha_fabricator.dm
+++ b/code/game/machinery/mecha_fabricator.dm
@@ -187,7 +187,8 @@
to_chat(user, SPAN_NOTICE("\The [src] cannot hold more [sname]."))
return TRUE
-/obj/machinery/mecha_part_fabricator/MouseDrop_T(mob/living/carbon/human/target as mob, mob/user as mob)
+/obj/machinery/mecha_part_fabricator/MouseDrop_T(atom/dropping, mob/user)
+ var/mob/living/carbon/human/target = dropping
if (!istype(target) || target.buckled_to || get_dist(user, src) > 1 || get_dist(user, target) > 1 || user.stat || istype(user, /mob/living/silicon/ai))
return
if(target == user)
diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm
index 1e5ae6d9224..9a5e1b02cb9 100644
--- a/code/game/machinery/pipe/pipe_dispenser.dm
+++ b/code/game/machinery/pipe/pipe_dispenser.dm
@@ -152,7 +152,8 @@
window_id = "disposaldispenser"
//Allow you to drag-drop disposal pipes into it
-/obj/machinery/pipedispenser/disposal/MouseDrop_T(obj/structure/disposalconstruct/pipe, mob/user)
+/obj/machinery/pipedispenser/disposal/MouseDrop_T(atom/dropping, mob/user)
+ var/obj/structure/disposalconstruct/pipe = dropping
if(!istype(pipe) || pipe.anchored || use_check_and_message(user))
return
diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm
index fedb9c00c47..dcc9062bf15 100644
--- a/code/game/machinery/rechargestation.dm
+++ b/code/game/machinery/rechargestation.dm
@@ -290,28 +290,30 @@
return
go_in(usr)
-/obj/machinery/recharge_station/MouseDrop_T(var/atom/movable/C, mob/user)
- if (istype(C, /mob/living/silicon/robot))
- var/mob/living/silicon/robot/R = C
+/obj/machinery/recharge_station/MouseDrop_T(atom/dropping, mob/user)
+ if (istype(dropping, /mob/living/silicon/robot))
+ var/mob/living/silicon/robot/R = dropping
if (!user.Adjacent(R) || !Adjacent(user))
- to_chat(user, SPAN_DANGER("You need to get closer if you want to put [C] into that charger!"))
+ to_chat(user, SPAN_DANGER("You need to get closer if you want to put [dropping] into that charger!"))
return
user.face_atom(src)
- user.visible_message(SPAN_DANGER("[user] starts hauling [C] into the recharging unit!"), SPAN_DANGER("You start hauling and pushing [C] into the recharger. This might take a while..."), "You hear heaving and straining")
+ user.visible_message(SPAN_DANGER("[user] starts hauling [dropping] into the recharging unit!"),
+ SPAN_DANGER("You start hauling and pushing [dropping] into the recharger. This might take a while..."), "You hear heaving and straining")
+
if (do_mob(user, R, R.mob_size*10, needhand = 1))
if (go_in(R))
- user.visible_message(SPAN_NOTICE("After a great effort, [user] manages to get [C] into the recharging unit!"))
+ user.visible_message(SPAN_NOTICE("After a great effort, [user] manages to get [dropping] into the recharging unit!"))
return 1
else
- to_chat(user, SPAN_DANGER("Failed loading [C] into the charger. Please ensure that [C] has a power cell and is not buckled down, and that the charger is functioning."))
+ to_chat(user, SPAN_DANGER("Failed loading [dropping] into the charger. Please ensure that [dropping] has a power cell and is not buckled down, and that the charger is functioning."))
else
- to_chat(user, SPAN_DANGER("Cancelled loading [C] into the charger. You and [C] must stay still!"))
+ to_chat(user, SPAN_DANGER("Cancelled loading [dropping] into the charger. You and [dropping] must stay still!"))
return
- else if(isipc(C)) // IPCs don't take as long
- var/mob/living/carbon/human/machine/R = C
+ else if(isipc(dropping)) // IPCs don't take as long
+ var/mob/living/carbon/human/machine/R = dropping
if(!user.Adjacent(R) || !Adjacent(user))
- to_chat(user, SPAN_DANGER("You need to get closer if you want to put [C] into that charger!"))
+ to_chat(user, SPAN_DANGER("You need to get closer if you want to put [dropping] into that charger!"))
return
var/bucklestatus = R.bucklecheck(user)
diff --git a/code/game/machinery/suit_cycler.dm b/code/game/machinery/suit_cycler.dm
index c986db67ef6..94d66795eea 100644
--- a/code/game/machinery/suit_cycler.dm
+++ b/code/game/machinery/suit_cycler.dm
@@ -135,7 +135,8 @@
/obj/machinery/suit_cycler/relaymove(var/mob/user)
eject_occupant(user)
-/obj/machinery/suit_cycler/MouseDrop_T(mob/living/M, mob/living/user)
+/obj/machinery/suit_cycler/MouseDrop_T(atom/dropping, mob/user)
+ var/mob/living/M = dropping
if(use_check_and_message(user))
return
if(!istype(M))
diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm
index 5b7305505f0..326868611f5 100644
--- a/code/game/objects/buckling.dm
+++ b/code/game/objects/buckling.dm
@@ -12,10 +12,10 @@
if(buckled)
user_unbuckle(user)
-/obj/MouseDrop_T(atom/movable/MA, mob/living/user)
+/obj/MouseDrop_T(atom/dropping, mob/user)
. = ..()
- if(is_type_in_list(MA, can_buckle))
- user_buckle(MA, user)
+ if(is_type_in_list(dropping, can_buckle))
+ user_buckle(dropping, user)
//Cleanup
diff --git a/code/game/objects/items/weapons/traps.dm b/code/game/objects/items/weapons/traps.dm
index 982b58d37cb..2dfec6ff7f0 100644
--- a/code/game/objects/items/weapons/traps.dm
+++ b/code/game/objects/items/weapons/traps.dm
@@ -180,7 +180,8 @@
health = 100
var/datum/weakref/captured = null
-/obj/item/trap/animal/MouseDrop_T(mob/living/M, mob/living/user)
+/obj/item/trap/animal/MouseDrop_T(atom/dropping, mob/user)
+ var/mob/living/M = dropping
if(!istype(M))
return
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index c869438d18d..df20f2f7f5a 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -482,7 +482,8 @@
/obj/structure/closet/proc/is_open()
. = opened
-/obj/structure/closet/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
+/obj/structure/closet/MouseDrop_T(atom/dropping, mob/user)
+ var/atom/movable/O = dropping
if(istype(O, /obj/screen)) //fix for HUD elements making their way into the world -Pete
return
if(O.loc == user)
diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index a4b1682c29a..c94fefcfd49 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -99,7 +99,8 @@
//everything else is visible, so doesn't need to be mentioned
-/obj/structure/janitorialcart/MouseDrop_T(atom/movable/O as mob|obj, mob/living/user as mob)
+/obj/structure/janitorialcart/MouseDrop_T(atom/dropping, mob/user)
+ var/atom/movable/O = dropping
if (istype(O, /obj/structure/mopbucket) && !mybucket)
O.forceMove(src)
mybucket = O
diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm
index bc0946f51f2..4799e051beb 100644
--- a/code/game/objects/structures/morgue.dm
+++ b/code/game/objects/structures/morgue.dm
@@ -164,7 +164,8 @@
return
return
-/obj/structure/m_tray/MouseDrop_T(atom/movable/O, mob/user )
+/obj/structure/m_tray/MouseDrop_T(atom/dropping, mob/user)
+ var/atom/movable/O = dropping
if(!istype(O, /atom/movable) || O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src) || user.contents.Find(O))
return
if(!ismob(O) && !istype(O, /obj/structure/closet/body_bag))
diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
index 20238ccacf7..8ef57c05765 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
@@ -41,8 +41,8 @@
if(buckled)
buckled.set_dir(dir)
-/obj/structure/bed/stool/chair/MouseDrop_T(mob/target, mob/user)
- if(target == user && user.loc != loc && (GLOB.reverse_dir[dir] & angle2dir(Get_Angle(src, user))))
+/obj/structure/bed/stool/chair/MouseDrop_T(atom/dropping, mob/user)
+ if(dropping == user && user.loc != loc && (GLOB.reverse_dir[dir] & angle2dir(Get_Angle(src, user))))
user.visible_message("[user] starts climbing over the back of \the [src]...", SPAN_NOTICE("You start climbing over the back of \the [src]..."))
if(do_after(user, 2 SECONDS, do_flags = DO_UNIQUE))
user.forceMove(loc)
diff --git a/code/game/objects/structures/trash_pile.dm b/code/game/objects/structures/trash_pile.dm
index a6cb72041e1..42965307651 100644
--- a/code/game/objects/structures/trash_pile.dm
+++ b/code/game/objects/structures/trash_pile.dm
@@ -28,7 +28,7 @@
if(icon_state == initial(icon_state))
icon_state = pick(icon_states(icon) - icon_state)
-/obj/structure/trash_pile/MouseDrop_T(obj/structure/trash_pile/target, mob/user)
+/obj/structure/trash_pile/MouseDrop_T(atom/dropping, mob/user)
if(!Adjacent(user) || use_check_and_message(user))
return
user.visible_message("[user] starts climbing into \the [src]...", SPAN_NOTICE("You start climbing into \the [src]..."))
diff --git a/code/modules/battlemonsters/items/core.dm b/code/modules/battlemonsters/items/core.dm
index 6f0e9d47994..5dd4bc8fb1e 100644
--- a/code/modules/battlemonsters/items/core.dm
+++ b/code/modules/battlemonsters/items/core.dm
@@ -26,9 +26,9 @@
. = ..()
-/obj/item/battle_monsters/MouseDrop_T(var/atom/movable/C, mob/user) //Dropping C onto the card
- if(istype(C,/obj/item/battle_monsters))
- src.attackby(C,user)
+/obj/item/battle_monsters/MouseDrop_T(atom/dropping, mob/user) //Dropping C onto the card
+ if(istype(dropping, /obj/item/battle_monsters))
+ src.attackby(dropping,user)
return
. = ..()
diff --git a/code/modules/battlemonsters/items/deck.dm b/code/modules/battlemonsters/items/deck.dm
index db2bd3f51f0..7195506b1af 100644
--- a/code/modules/battlemonsters/items/deck.dm
+++ b/code/modules/battlemonsters/items/deck.dm
@@ -65,11 +65,11 @@
update_icon()
-/obj/item/battle_monsters/deck/MouseDrop_T(var/atom/movable/C, mob/user) //Dropping C onto the card
+/obj/item/battle_monsters/deck/MouseDrop_T(atom/dropping, mob/user) //Dropping C onto the card
- if(istype(C,/obj/item/battle_monsters/deck/))
+ if(istype(dropping, /obj/item/battle_monsters/deck/))
- var/obj/item/battle_monsters/deck/added_deck = C
+ var/obj/item/battle_monsters/deck/added_deck = dropping
stored_card_names += added_deck.stored_card_names
user.visible_message(\
@@ -77,7 +77,7 @@
SPAN_NOTICE("You combine two decks together.")\
)
- qdel(C)
+ qdel(dropping)
return
. = ..()
diff --git a/code/modules/cooking/machinery/gibber.dm b/code/modules/cooking/machinery/gibber.dm
index d4c6681b63e..a88f7aad9e0 100644
--- a/code/modules/cooking/machinery/gibber.dm
+++ b/code/modules/cooking/machinery/gibber.dm
@@ -103,10 +103,10 @@
do_hair_pull(user)
-/obj/machinery/gibber/MouseDrop_T(mob/target, mob/user)
+/obj/machinery/gibber/MouseDrop_T(atom/dropping, mob/user)
if(user.stat || user.restrained())
return
- move_into_gibber(user,target)
+ move_into_gibber(user, dropping)
/obj/machinery/gibber/proc/move_into_gibber(var/mob/user,var/mob/living/victim)
diff --git a/code/modules/multiz/hoist.dm b/code/modules/multiz/hoist.dm
index 6532275f5ca..3be6c80a379 100644
--- a/code/modules/multiz/hoist.dm
+++ b/code/modules/multiz/hoist.dm
@@ -34,7 +34,11 @@
user.visible_message(SPAN_NOTICE("[user] detaches \the [source_hoist.hoistee] from the hoist clamp."), SPAN_NOTICE("You detach \the [source_hoist.hoistee] from the hoist clamp."), SPAN_NOTICE("You hear something unclamp."))
source_hoist.release_hoistee()
-/obj/effect/hoist_hook/MouseDrop_T(atom/movable/AM,mob/user)
+/obj/effect/hoist_hook/MouseDrop_T(atom/dropping, mob/user)
+ var/atom/movable/AM = dropping
+ if(!istype(AM))
+ return
+
if (use_check_and_message(user, USE_DISALLOW_SILICONS))
return
diff --git a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
index 3f6224d7474..7d9a3da4644 100644
--- a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
+++ b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
@@ -11,10 +11,10 @@
anchored = TRUE
layer = 4
-/obj/machinery/fusion_fuel_compressor/MouseDrop_T(atom/movable/target, mob/user)
+/obj/machinery/fusion_fuel_compressor/MouseDrop_T(atom/dropping, mob/user)
if(user.incapacitated() || !user.Adjacent(src))
return
- return do_fuel_compression(target, user)
+ return do_fuel_compression(dropping, user)
/obj/machinery/fusion_fuel_compressor/attackby(obj/item/attacking_item, mob/user)
return do_fuel_compression(attacking_item, user) || ..()
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index 0f93e934a7c..60f1a92409f 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -572,7 +572,8 @@
updateUsrDialog()
-/obj/machinery/reagentgrinder/MouseDrop_T(mob/living/carbon/human/target as mob, mob/user as mob)
+/obj/machinery/reagentgrinder/MouseDrop_T(atom/dropping, mob/user)
+ var/mob/living/carbon/human/target = dropping
if (!istype(target) || target.buckled_to || get_dist(user, src) > 1 || get_dist(user, target) > 1 || user.stat || istype(user, /mob/living/silicon/ai))
return
if(target == user)
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index aa9de33ddc8..37241defdd0 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -246,7 +246,8 @@
// mouse drop another mob or self
//
-/obj/machinery/disposal/MouseDrop_T(mob/target, mob/user)
+/obj/machinery/disposal/MouseDrop_T(atom/dropping, mob/user)
+ var/mob/target = dropping
if(user.stat || !user.canmove || !istype(target))
return
if(target.buckled_to || get_dist(user, src) > 1 || get_dist(user, target) > 1)
diff --git a/code/modules/tables/interactions.dm b/code/modules/tables/interactions.dm
index 8738a4d2e94..400fbfbcfeb 100644
--- a/code/modules/tables/interactions.dm
+++ b/code/modules/tables/interactions.dm
@@ -126,24 +126,24 @@
throw_things(user)
LAZYREMOVE(climbers, user)
-/obj/structure/table/MouseDrop_T(obj/O, mob/user, src_location, over_location, src_control, over_control, params)
- if(ismob(O.loc)) //If placing an item
- if(!isitem(O) || user.get_active_hand() != O)
+/obj/structure/table/MouseDrop_T(atom/dropping, mob/user, params)
+ if(ismob(dropping.loc)) //If placing an item
+ if(!isitem(dropping) || user.get_active_hand() != dropping)
return ..()
if(isrobot(user))
return
user.drop_item()
- if(O.loc != src.loc)
- step(O, get_dir(O, src))
+ if(dropping.loc != src.loc)
+ step(dropping, get_dir(dropping, src))
- else if(isturf(O.loc) && isitem(O)) //If pushing an item on the tabletop
- var/obj/item/I = O
+ else if(isturf(dropping.loc) && isitem(dropping)) //If pushing an item on the tabletop
+ var/obj/item/I = dropping
if(I.anchored)
return
if(!use_check_and_message(user))
- if(O.w_class <= user.can_pull_size)
- O.forceMove(loc)
+ if(I.w_class <= user.can_pull_size)
+ I.forceMove(loc)
auto_align(I, params, TRUE)
else
to_chat(user, SPAN_WARNING("\The [I] is too big for you to move!"))
diff --git a/code/modules/vehicles/bike.dm b/code/modules/vehicles/bike.dm
index 269571501bf..768d485b0d8 100644
--- a/code/modules/vehicles/bike.dm
+++ b/code/modules/vehicles/bike.dm
@@ -155,9 +155,9 @@
var/mob/living/carbon/human/H = over
storage_compartment.open(H)
-/obj/vehicle/bike/MouseDrop_T(var/atom/movable/C, mob/user as mob)
- if(!load(C))
- to_chat(user, SPAN_WARNING("You were unable to load \the [C] onto \the [src]."))
+/obj/vehicle/bike/MouseDrop_T(atom/dropping, mob/user)
+ if(!load(dropping))
+ to_chat(user, SPAN_WARNING("You were unable to load \the [dropping] onto \the [src]."))
return
/obj/vehicle/bike/attack_hand(var/mob/user as mob)
diff --git a/code/modules/vehicles/train.dm b/code/modules/vehicles/train.dm
index c311ff87c2a..a2d7319aa04 100644
--- a/code/modules/vehicles/train.dm
+++ b/code/modules/vehicles/train.dm
@@ -84,14 +84,14 @@
// Interaction procs
//-------------------------------------------
-/obj/vehicle/train/MouseDrop_T(var/atom/movable/C, mob/user as mob)
+/obj/vehicle/train/MouseDrop_T(atom/dropping, mob/user)
if(use_check_and_message(user))
return
- if(istype(C, /obj/vehicle/train))
- latch(C, user)
+ if(istype(dropping, /obj/vehicle/train))
+ latch(dropping, user)
else
- if(!load(C))
- to_chat(user, SPAN_WARNING("You were unable to load \the [C] on \the [src]."))
+ if(!load(dropping))
+ to_chat(user, SPAN_WARNING("You were unable to load \the [dropping] on \the [src]."))
/obj/vehicle/train/attack_hand(mob/user as mob)
if(use_check_and_message(user))
diff --git a/code/modules/vehicles/unicycle.dm b/code/modules/vehicles/unicycle.dm
index 8c75eae7177..40f4f285d0a 100644
--- a/code/modules/vehicles/unicycle.dm
+++ b/code/modules/vehicles/unicycle.dm
@@ -29,9 +29,9 @@
return 0
return ..(M)
-/obj/vehicle/unicycle/MouseDrop_T(var/atom/movable/C, mob/user as mob)
- if(!load(C))
- to_chat(user, SPAN_WARNING("You were unable to load \the [C] onto \the [src]."))
+/obj/vehicle/unicycle/MouseDrop_T(atom/dropping, mob/user)
+ if(!load(dropping))
+ to_chat(user, SPAN_WARNING("You were unable to load \the [dropping] onto \the [src]."))
return
/obj/vehicle/unicycle/attack_hand(var/mob/user as mob)
diff --git a/html/changelogs/fluffyghost-mousedroptrefactor.yml b/html/changelogs/fluffyghost-mousedroptrefactor.yml
new file mode 100644
index 00000000000..2104eedb6fa
--- /dev/null
+++ b/html/changelogs/fluffyghost-mousedroptrefactor.yml
@@ -0,0 +1,41 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+# balance
+# admin
+# backend
+# security
+# refactor
+#################################
+
+# Your name.
+author: FluffyGhost
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - refactor: "Refactored MouseDrop_T to not be inside a spawn async and respect the function header."