From 570b45a903dfafd30ebc7b35d76957c23dc906db Mon Sep 17 00:00:00 2001
From: chuga-git <98280110+chuga-git@users.noreply.github.com>
Date: Tue, 18 Feb 2025 04:38:09 -0600
Subject: [PATCH] refactors some item transfers to use transfer_item_to()
(#28405)
---
code/datums/spells/summonitem.dm | 3 +--
code/game/gamemodes/nuclear/nuclearbomb.dm | 3 +--
code/game/objects/items/devices/radio/headset.dm | 3 +--
code/modules/clothing/suits/armor_suits.dm | 3 +--
code/modules/hydroponics/beekeeping/beebox.dm | 3 +--
code/modules/hydroponics/biogenerator.dm | 3 +--
code/modules/hydroponics/compost_bin.dm | 3 +--
code/modules/newscaster/obj/newscaster.dm | 3 +--
code/modules/research/backup_console.dm | 3 +--
code/modules/research/scientific_analyzer.dm | 3 +--
10 files changed, 10 insertions(+), 20 deletions(-)
diff --git a/code/datums/spells/summonitem.dm b/code/datums/spells/summonitem.dm
index 2c4bd719ff3..753283d2cc9 100644
--- a/code/datums/spells/summonitem.dm
+++ b/code/datums/spells/summonitem.dm
@@ -76,9 +76,8 @@
if(ismob(item_to_retrieve.loc)) //If its on someone, properly drop it
var/mob/M = item_to_retrieve.loc
- if(issilicon(M) || !M.drop_item_to_ground(item_to_retrieve)) //Items in silicons warp the whole silicon
+ if(issilicon(M) || !M.transfer_item_to(item_to_retrieve, target.loc)) //Items in silicons warp the whole silicon
M.visible_message("[M] suddenly disappears!", "A force suddenly pulls you away!")
- M.forceMove(target.loc)
M.loc.visible_message("[M] suddenly appears!")
item_to_retrieve = null
break
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm
index df04fae1ac8..07a19d19477 100644
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm
+++ b/code/game/gamemodes/nuclear/nuclearbomb.dm
@@ -219,11 +219,10 @@ GLOBAL_VAR(bomb_set)
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/nuke_core/plutonium) && removal_stage == NUKE_CORE_FULLY_EXPOSED)
if(do_after(user, 2 SECONDS, target = src))
- if(!user.drop_item_to_ground(used))
+ if(!user.transfer_item_to(used, src))
to_chat(user, "The [used] is stuck to your hand!")
return
user.visible_message("[user] puts [used] back in [src].", "You put [used] back in [src].")
- used.forceMove(src)
core = used
update_icon(UPDATE_OVERLAYS)
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index b446bd2b712..8e44c3682bb 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -409,11 +409,10 @@
to_chat(user, "The headset can't hold another key!")
return
- if(!user.drop_item_to_ground(key))
+ if(!user.transfer_item_to(key, src, FALSE, FALSE))
to_chat(user, "[key] is stuck to your hand, you can't insert it in [src].")
return
- key.forceMove(src)
if(!keyslot1)
keyslot1 = key
else
diff --git a/code/modules/clothing/suits/armor_suits.dm b/code/modules/clothing/suits/armor_suits.dm
index e1e9efc6cac..3bb60b963d8 100644
--- a/code/modules/clothing/suits/armor_suits.dm
+++ b/code/modules/clothing/suits/armor_suits.dm
@@ -54,9 +54,8 @@
/obj/item/clothing/suit/armor/vest/security/attackby__legacy__attackchain(obj/item/I, mob/user, params)
if(istype(I, /obj/item/clothing/accessory/holobadge))
- if(user.drop_item_to_ground(I))
+ if(user.transfer_item_to(I, src))
add_fingerprint(user)
- I.forceMove(src)
attached_badge = I
var/datum/action/A = new /datum/action/item_action/remove_badge(src)
A.Grant(user)
diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm
index 0e699eb422a..44313062750 100644
--- a/code/modules/hydroponics/beekeeping/beebox.dm
+++ b/code/modules/hydroponics/beekeeping/beebox.dm
@@ -165,9 +165,8 @@
return
var/obj/item/queen_bee/qb = I
- if(!user.drop_item_to_ground(qb))
+ if(!user.transfer_item_to(qb, src))
return
- qb.queen.forceMove(src)
bees += qb.queen
queen_bee = qb.queen
qb.queen = null
diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm
index a426e51ad24..a6ff30526f6 100644
--- a/code/modules/hydroponics/biogenerator.dm
+++ b/code/modules/hydroponics/biogenerator.dm
@@ -161,10 +161,9 @@
if(length(stored_plants) >= max_storable_plants)
to_chat(user, "[src] can't hold any more plants!")
return ITEM_INTERACT_COMPLETE
- if(!user.drop_item_to_ground(used))
+ if(!user.transfer_item_to(used, src))
return ITEM_INTERACT_COMPLETE
- used.forceMove(src)
stored_plants += used
to_chat(user, "You put [used] in [src].")
SStgui.update_uis(src)
diff --git a/code/modules/hydroponics/compost_bin.dm b/code/modules/hydroponics/compost_bin.dm
index fb1c95d63a0..afd3b2558dc 100644
--- a/code/modules/hydroponics/compost_bin.dm
+++ b/code/modules/hydroponics/compost_bin.dm
@@ -107,10 +107,9 @@
if(biomass >= biomass_capacity && potassium >= potassium_capacity)
to_chat(user, "[src] can't hold any more biomass, and its contents are saturated with potassium!")
return ITEM_INTERACT_COMPLETE
- if(!user.drop_item_to_ground(used))
+ if(!user.transfer_item_to(used, src))
return ITEM_INTERACT_COMPLETE
- used.forceMove(src)
make_biomass(used)
to_chat(user, "You put [used] in [src].")
SStgui.update_uis(src)
diff --git a/code/modules/newscaster/obj/newscaster.dm b/code/modules/newscaster/obj/newscaster.dm
index db044567bed..514f1478df5 100644
--- a/code/modules/newscaster/obj/newscaster.dm
+++ b/code/modules/newscaster/obj/newscaster.dm
@@ -386,9 +386,8 @@ GLOBAL_LIST_EMPTY(allNewscasters)
return
if(ishuman(usr))
var/obj/item/photo/P = usr.get_active_hand()
- if(istype(P) && usr.drop_item_to_ground(P))
+ if(istype(P) && usr.transfer_item_to(P, src))
photo = P
- P.forceMove(src)
usr.visible_message("[usr] inserts [P] into [src]'s photo slot.",\
"You insert [P] into [src]'s photo slot.")
playsound(loc, 'sound/machines/terminal_insert_disc.ogg', 30, TRUE)
diff --git a/code/modules/research/backup_console.dm b/code/modules/research/backup_console.dm
index b65126c16a5..56465560385 100644
--- a/code/modules/research/backup_console.dm
+++ b/code/modules/research/backup_console.dm
@@ -41,10 +41,9 @@
/obj/machinery/computer/rnd_backup/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/disk/rnd_backup_disk) && istype(user, /mob/living/carbon/human))
var/mob/living/carbon/human/H = user
- if(!H.drop_item_to_ground(used))
+ if(!H.transfer_item_to(used, src))
return ITEM_INTERACT_COMPLETE
- used.forceMove(src)
inserted_disk = used
to_chat(user, "You insert [used] into [src].")
SStgui.update_uis(src)
diff --git a/code/modules/research/scientific_analyzer.dm b/code/modules/research/scientific_analyzer.dm
index 65c52632f38..401fa3f9b98 100644
--- a/code/modules/research/scientific_analyzer.dm
+++ b/code/modules/research/scientific_analyzer.dm
@@ -83,13 +83,12 @@ Note: Must be placed within 3 tiles of the R&D Console
to_chat(user, "You cannot deconstruct this item!")
return ITEM_INTERACT_COMPLETE
- if(!user.drop_item())
+ if(!user.transfer_item_to(used, src))
to_chat(user, "[used] is stuck to your hand, you cannot put it in [src]!")
return ITEM_INTERACT_COMPLETE
busy = TRUE
loaded_item = used
- used.loc = src
to_chat(user, "You add [used] to [src]!")
SStgui.update_uis(linked_console)
flick("s_analyzer_la", src)