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."