diff --git a/code/datums/mind.dm b/code/datums/mind.dm index fb5a2e754c9..cdb8e7d15ec 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -391,7 +391,7 @@ switch(href_list["common"]) if("undress") for(var/obj/item/W in current) - current.drop_from_inventory(W) + current.removeItem(W, force = 1) if("takeuplink") take_uplink() memory = null//Remove any memory they may have had. diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 39c91afbedd..f35257a6a46 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -100,7 +100,7 @@ user.visible_message("[user] has unsheathed \a [concealed_blade] from \his [src]!", "You unsheathe \the [concealed_blade] from \the [src].") // Calling drop/put in hands to properly call item drop/pickup procs playsound(user.loc, 'sound/weapons/flipblade.ogg', 50, 1) - user.drop_from_inventory(src) + user.removeItem(src) user.put_in_hands(concealed_blade) user.put_in_hands(src) user.update_inv_l_hand(0) @@ -112,8 +112,7 @@ /obj/item/weapon/cane/concealed/attackby(var/obj/item/weapon/material/butterfly/W, var/mob/user) if(!src.concealed_blade && istype(W)) user.visible_message("[user] has sheathed \a [W] into \his [src]!", "You sheathe \the [W] into \the [src].") - user.drop_from_inventory(W) - W.loc = src + user.removeItem(W, src) src.concealed_blade = W update_icon() else diff --git a/code/game/antagonist/antagonist_equip.dm b/code/game/antagonist/antagonist_equip.dm index 2f4bc6da3a5..9eea323584c 100644 --- a/code/game/antagonist/antagonist_equip.dm +++ b/code/game/antagonist/antagonist_equip.dm @@ -6,8 +6,7 @@ // This could use work. if(flags & ANTAG_CLEAR_EQUIPMENT) for(var/obj/item/thing in player.contents) - player.drop_from_inventory(thing) - if(thing.loc != player) + if(player.removeItem(thing, force = 1)) qdel(thing) return 1 diff --git a/code/game/dna/genes/monkey.dm b/code/game/dna/genes/monkey.dm index 45e852551d9..8eee626d2bb 100644 --- a/code/game/dna/genes/monkey.dm +++ b/code/game/dna/genes/monkey.dm @@ -22,7 +22,7 @@ for(var/obj/item/W in (H.contents-implants)) if (W==H.w_uniform) // will be teared continue - H.drop_from_inventory(W) + H.removeItem(W, force = 1) M.transforming = 1 M.canmove = 0 M.icon = null @@ -90,7 +90,7 @@ W.loc = null if(!connected) for(var/obj/item/W in (Mo.contents-implants)) - Mo.drop_from_inventory(W) + Mo.removeItem(W, force = 1) M.transforming = 1 M.canmove = 0 M.icon = null diff --git a/code/game/gamemodes/changeling/powers/armblade.dm b/code/game/gamemodes/changeling/powers/armblade.dm index 7ab1cdda3b7..38981ddd6cc 100644 --- a/code/game/gamemodes/changeling/powers/armblade.dm +++ b/code/game/gamemodes/changeling/powers/armblade.dm @@ -79,7 +79,7 @@ organ.implants -= src host.pinned -= src host.embedded -= src - host.drop_from_inventory(src) + host.removeItem(src, force = 1) spawn(1) if(src) qdel(src) \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/lesser_form.dm b/code/game/gamemodes/changeling/powers/lesser_form.dm index f2742490f66..cd487c0dc3f 100644 --- a/code/game/gamemodes/changeling/powers/lesser_form.dm +++ b/code/game/gamemodes/changeling/powers/lesser_form.dm @@ -78,7 +78,7 @@ qdel(animation) for(var/obj/item/W in src) - C.drop_from_inventory(W) + C.removeItem(W, force = 1) var/mob/living/carbon/human/O = new /mob/living/carbon/human( src ) if (C.dna.GetUIState(DNA_UI_GENDER)) diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 4ecef5449a0..c8c44b825f3 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -830,11 +830,11 @@ var/list/sacrificed = list() return cultist.buckled = null if (cultist.handcuffed) - cultist.drop_from_inventory(cultist.handcuffed) + cultist.removeItem(cultist.handcuffed, force = 1) if (cultist.legcuffed) - cultist.drop_from_inventory(cultist.legcuffed) + cultist.removeItem(cultist.legcuffed, force = 1) if (istype(cultist.wear_mask, /obj/item/clothing/mask/muzzle)) - cultist.drop_from_inventory(cultist.wear_mask) + cultist.removeItem(cultist.wear_mask, force = 1) if(istype(cultist.loc, /obj/structure/closet)&&cultist.loc:welded) cultist.loc:welded = 0 if(istype(cultist.loc, /obj/structure/closet/secure_closet)&&cultist.loc:locked) diff --git a/code/game/gamemodes/endgame/supermatter_cascade/blob.dm b/code/game/gamemodes/endgame/supermatter_cascade/blob.dm index c25e3c55674..5ed25c44aff 100644 --- a/code/game/gamemodes/endgame/supermatter_cascade/blob.dm +++ b/code/game/gamemodes/endgame/supermatter_cascade/blob.dm @@ -93,7 +93,7 @@ playsound(src, 'sound/effects/supermatter.ogg', 50, 1) - user.drop_from_inventory(W) + user.removeItem(W, force = 1) Consume(W) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 14512fb8391..d2f3c215a3c 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -196,8 +196,7 @@ var/obj/item/stack/stack = eating stack.use(max(1, round(total_used/mass_per_sheet))) // Always use at least 1 to prevent infinite materials. else - user.remove_from_mob(O) - qdel(O) + user.deleteItem(O) updateUsrDialog() return diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm index 04a0e87c348..f5b437521a0 100644 --- a/code/game/machinery/biogenerator.dm +++ b/code/game/machinery/biogenerator.dm @@ -52,8 +52,7 @@ if(beaker) user << "]The [src] is already loaded." else - user.remove_from_mob(O) - O.loc = src + user.removeItem(O, src) beaker = O updateUsrDialog() else if(processing) @@ -84,8 +83,7 @@ if(i >= 10) user << "\The [src] is full! Activate it." else - user.remove_from_mob(O) - O.loc = src + user.removeItem(O, src) user << "You put \the [O] in \the [src]" update_icon() return diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index e35b0953fec..f6c72d1b8bd 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -127,8 +127,7 @@ if(is_type_in_list(W, possible_upgrades) && !is_type_in_list(W, upgrades)) // Is a possible upgrade and isn't in the camera already. user << "You attach \the [W] into the assembly inner circuits." upgrades += W - user.remove_from_mob(W) - W.loc = src + user.removeItem(W, src) return // Taking out upgrades diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 3bc9a17fce0..7b72962eb8f 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -59,13 +59,9 @@ if(!istype(id_card)) return ..() - if(!scan && (access_change_ids in id_card.access) && user.unEquip(id_card)) - user.drop_item() - id_card.forceMove(src) + if(!scan && (access_change_ids in id_card.access) && user.removeItem(id_card, src)) scan = id_card - else if(!modify) - user.drop_item() - id_card.forceMove(src) + else if(!modify && user.removeItem(id_card, src)) modify = id_card nanomanager.update_uis(src) @@ -157,8 +153,7 @@ modify = null else var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/card/id) && usr.unEquip(I)) - I.forceMove(src) + if (istype(I, /obj/item/weapon/card/id) && usr.removeItem(I, src)) modify = I if ("scan") diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm index cb07d373a8a..30d12b0b507 100644 --- a/code/game/machinery/computer/guestpass.dm +++ b/code/game/machinery/computer/guestpass.dm @@ -82,8 +82,7 @@ qdel(src) return if(istype(I, /obj/item/weapon/card/id)) - if(!giver && user.unEquip(I)) - I.loc = src + if(!giver && user.removeItem(I, src)) giver = I updateUsrDialog() else if(giver) @@ -176,8 +175,7 @@ accesses.Cut() else var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/card/id) && usr.unEquip(I)) - I.loc = src + if (istype(I, /obj/item/weapon/card/id) && usr.removeItem(I, src)) giver = I updateUsrDialog() diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 3eee7615b37..b0d55165bdf 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -36,8 +36,7 @@ return /obj/machinery/computer/med_data/attackby(var/obj/item/O, var/mob/user) - if(istype(O, /obj/item/weapon/card/id) && !scan && user.unEquip(O)) - O.loc = src + if(istype(O, /obj/item/weapon/card/id) && !scan && user.removeItem(O, src)) scan = O user << "You insert \the [O]." else diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 2624c4ff287..fb8c05aeba7 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -248,8 +248,7 @@ What a mess.*/ scan = null else var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/card/id) && usr.unEquip(I)) - I.loc = src + if (istype(I, /obj/item/weapon/card/id) && usr.removeItem(I, src)) scan = I if("Log Out") diff --git a/code/game/machinery/computer/skills.dm b/code/game/machinery/computer/skills.dm index 1fa38c4a719..fd2f34cc9c0 100644 --- a/code/game/machinery/computer/skills.dm +++ b/code/game/machinery/computer/skills.dm @@ -25,8 +25,7 @@ var/order = 1 // -1 = Descending - 1 = Ascending /obj/machinery/computer/skills/attackby(obj/item/O as obj, var/mob/user) - if(istype(O, /obj/item/weapon/card/id) && !scan && user.unEquip(O)) - O.loc = src + if(istype(O, /obj/item/weapon/card/id) && !scan && user.removeItem(O, src)) scan = O user << "You insert [O]." else @@ -185,8 +184,7 @@ What a mess.*/ scan = null else var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/card/id) && usr.unEquip(I)) - I.loc = src + if (istype(I, /obj/item/weapon/card/id) && usr.removeItem(I, src)) scan = I if("Log Out") diff --git a/code/game/machinery/computer3/computers/HolodeckControl.dm b/code/game/machinery/computer3/computers/HolodeckControl.dm index fc781430c40..fefbbfcf7d8 100644 --- a/code/game/machinery/computer3/computers/HolodeckControl.dm +++ b/code/game/machinery/computer3/computers/HolodeckControl.dm @@ -154,7 +154,7 @@ if(isobj(obj)) var/mob/M = obj.loc if(ismob(M)) - M.remove_from_mob(obj) + M.removeItem(obj) M.update_icons() //so their overlays update if(!silent) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index f336ad310e7..ac88f1644bb 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -386,8 +386,7 @@ /obj/machinery/cryopod/proc/despawn_occupant() //Drop all items into the pod. for(var/obj/item/W in occupant) - occupant.drop_from_inventory(W) - W.forceMove(src) + occupant.removeItem(W, src, force = 1) if(W.contents.len) //Make sure we catch anything not handled by qdel() on the items. for(var/obj/item/O in W.contents) diff --git a/code/game/machinery/kitchen/microwave.dm b/code/game/machinery/kitchen/microwave.dm index e4b36b94027..bb92f2c4b07 100644 --- a/code/game/machinery/kitchen/microwave.dm +++ b/code/game/machinery/kitchen/microwave.dm @@ -126,9 +126,7 @@ "You add one of [O] to \the [src].") return else - // user.remove_from_mob(O) //This just causes problems so far as I can tell. -Pete - user.drop_item() - O.loc = src + user.removeItem(O, src) user.visible_message( \ "\The [user] has added \the [O] to \the [src].", \ "You add \the [O] to \the [src].") diff --git a/code/game/machinery/kitchen/smartfridge.dm b/code/game/machinery/kitchen/smartfridge.dm index ac13a52bc41..dced74de6de 100644 --- a/code/game/machinery/kitchen/smartfridge.dm +++ b/code/game/machinery/kitchen/smartfridge.dm @@ -218,8 +218,7 @@ user << "\The [src] is full." return 1 else - user.remove_from_mob(O) - O.loc = src + user.removeItem(O, src) if(item_quants[O.name]) item_quants[O.name]++ else diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 3a08a681d26..1daf18b0a51 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -311,7 +311,7 @@ Buildable meters /obj/item/pipe/afterattack(turf/simulated/floor/target, mob/user, proximity) if(!proximity) return if(istype(target)) - user.drop_from_inventory(src, target) + user.removeItem(src, target) else return ..() diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 6e20801680c..c60ae723d5c 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -746,7 +746,7 @@ var/list/turret_icons if(isrobot(user)) return var/obj/item/weapon/gun/energy/E = I //typecasts the item to an energy gun - if(!user.unEquip(I)) + if(!user.removeItem(I)) user << "\the [I] is stuck to your hand, you cannot put it in \the [src]" return installation = I.type //installation becomes I.type @@ -767,7 +767,7 @@ var/list/turret_icons if(4) if(isprox(I)) build_step = 5 - if(!user.unEquip(I)) + if(!user.removeItem(I)) user << "\the [I] is stuck to your hand, you cannot put it in \the [src]" return user << "You add the prox sensor to the turret." diff --git a/code/game/machinery/seed_extractor.dm b/code/game/machinery/seed_extractor.dm index e9a2081fb2d..be7b340b720 100644 --- a/code/game/machinery/seed_extractor.dm +++ b/code/game/machinery/seed_extractor.dm @@ -11,7 +11,7 @@ obj/machinery/seed_extractor/attackby(var/obj/item/O as obj, var/mob/user as mob // Fruits and vegetables. if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown) || istype(O, /obj/item/weapon/grown)) - user.remove_from_mob(O) + user.removeItem(O) var/datum/seed/new_seed_type if(istype(O, /obj/item/weapon/grown)) diff --git a/code/game/machinery/supplybeacon.dm b/code/game/machinery/supplybeacon.dm index 7efa498d09b..6abebf8c2cc 100644 --- a/code/game/machinery/supplybeacon.dm +++ b/code/game/machinery/supplybeacon.dm @@ -17,8 +17,7 @@ return var/obj/S = new deploy_path(get_turf(user)) user.visible_message("\The [user] deploys \the [S].") - user.unEquip(src) - qdel(src) + user.deleteItem(src) /obj/machinery/power/supply_beacon name = "supply beacon" diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index fdc5786a499..ca060ca80f8 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -273,8 +273,7 @@ cashmoney.worth -= currently_vending.price if(cashmoney.worth <= 0) - usr.drop_from_inventory(cashmoney) - qdel(cashmoney) + usr.deleteItem(cashmoney) else cashmoney.update_icon() diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index b742b8a14b2..6057747df0f 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -794,8 +794,7 @@ return else if(istype(W, /obj/item/mecha_parts/mecha_tracking)) - user.drop_from_inventory(W) - W.forceMove(src) + user.removeItem(W, src) user.visible_message("[user] attaches [W] to [src].", "You attach [W] to [src]") return diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 2934e5d68d7..2493e296099 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -85,7 +85,7 @@ /obj/item/Destroy() if(ismob(loc)) var/mob/m = loc - m.drop_from_inventory(src) + m.removeItem(src, force = 1) m.update_inv_r_hand() m.update_inv_l_hand() src.loc = null @@ -178,7 +178,7 @@ src.throwing = 0 if (src.loc == user) - if(!user.unEquip(src)) + if(!user.removeItem(src)) return else if(isliving(src.loc)) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index a3db6b15a16..33c505ea92b 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -1152,15 +1152,13 @@ var/global/list/obj/item/device/pda/PDAs = list() return 1 else var/obj/item/I = user.get_active_hand() - if (istype(I, /obj/item/weapon/card/id) && user.unEquip(I)) - I.loc = src + if (istype(I, /obj/item/weapon/card/id) && user.removeItem(I, src)) id = I return 1 else var/obj/item/weapon/card/I = user.get_active_hand() - if (istype(I, /obj/item/weapon/card/id) && I:registered_name && user.unEquip(I)) + if (istype(I, /obj/item/weapon/card/id) && I:registered_name && user.removeItem(I, src)) var/obj/old_id = id - I.loc = src id = I user.put_in_hands(old_id) return 1 diff --git a/code/game/objects/items/devices/modkit.dm b/code/game/objects/items/devices/modkit.dm index 025196b2188..88fad1d0566 100644 --- a/code/game/objects/items/devices/modkit.dm +++ b/code/game/objects/items/devices/modkit.dm @@ -23,8 +23,7 @@ if(!parts) user << "This kit has no parts for this modification left." - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) return var/allowed = 0 @@ -59,8 +58,7 @@ parts &= ~MODKIT_SUIT if(!parts) - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) /obj/item/device/modkit/examine(mob/user) ..(user) diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 5b769ed8034..db373754bdf 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -27,13 +27,11 @@ var/obj/item/assembly/shock_kit/A = new /obj/item/assembly/shock_kit( user ) A.icon = 'icons/obj/assemblies.dmi' - user.drop_from_inventory(W) - W.loc = A + user.removeItem(W, A) W.master = A A.part1 = W - user.drop_from_inventory(src) - loc = A + user.removeItem(src, A) master = A A.part2 = src diff --git a/code/game/objects/items/devices/telecrystal.dm b/code/game/objects/items/devices/telecrystal.dm index aa7b6335903..02654c3b7c7 100644 --- a/code/game/objects/items/devices/telecrystal.dm +++ b/code/game/objects/items/devices/telecrystal.dm @@ -15,7 +15,6 @@ For new antags, make sure to add "player.mind.accept_tcrystals = 1" if you want /obj/item/device/telecrystal/attack_self(mob/user as mob) if(user.mind.accept_tcrystals) //Checks to see if antag type allows for tcrystals user.mind.tcrystals += 1 - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) return \ No newline at end of file diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index 88b53bd342d..d268e2f2045 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -47,9 +47,8 @@ if(attached_device) user << "There is already an device attached to the valve, remove it first." return - user.remove_from_mob(item) + user.removeItem(A, src) attached_device = A - A.loc = src user << "You attach the [item] to the valve controls and secure it." A.holder = src A.toggle_secure() //this calls update_icon(), which calls update_icon() on the holder (i.e. the bomb). diff --git a/code/game/objects/items/glassjar.dm b/code/game/objects/items/glassjar.dm index 54062ff8530..0a88d7890ff 100644 --- a/code/game/objects/items/glassjar.dm +++ b/code/game/objects/items/glassjar.dm @@ -72,8 +72,7 @@ return var/obj/item/weapon/spacecash/S = W user.visible_message("[user] puts [S.worth] [S.worth > 1 ? "thalers" : "thaler"] into \the [src].") - user.drop_from_inventory(S) - S.loc = src + user.removeItem(S, src) update_icon() /obj/item/glass_jar/update_icon() // Also updates name and desc diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 3ccf1fb3a96..bf7c6eeccfb 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -19,7 +19,7 @@ if(!istype(user)) var/mob/living/temp = user if(istype(temp)) - temp.drop_from_inventory(src) + temp.removeItem(src, force = 1) qdel(src) return diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 11c312048db..e19ee4bd8f6 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -118,7 +118,7 @@ B.loc = get_turf(src) user << "You armed the robot frame." if (user.get_inactive_hand()==src) - user.remove_from_mob(src) + user.removeItem(src) user.put_in_inactive_hand(B) qdel(src) else diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 83ce6d3f49f..a99684c73b9 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -187,7 +187,7 @@ amount -= used if (amount <= 0) if(usr) - usr.remove_from_mob(src) + usr.removeItem(src) qdel(src) //should be safe to qdel immediately since if someone is still using this stack it will persist for a little while longer return 1 else diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 80080220e92..a7738cd3295 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -51,8 +51,7 @@ if((stored_matter + 10) > 30) user << "The RCD can't hold any more matter-units." return - user.drop_from_inventory(W) - qdel(W) + user.deleteItem(W) stored_matter += 10 playsound(src.loc, 'sound/machines/click.ogg', 50, 1) user << "The RCD now holds [stored_matter]/30 matter-units." diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 4772063b4c7..d951333ec92 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -156,7 +156,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/mob/living/M = loc if (!nomessage) M << "Your [name] goes out." - M.remove_from_mob(src) //un-equip it so the overlays can update + M.removeItem(src) //un-equip it so the overlays can update M.update_inv_wear_mask(0) M.update_inv_l_hand(0) M.update_inv_r_hand(1) diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm index 484c185a14a..5e2cb1946d4 100644 --- a/code/game/objects/items/weapons/dna_injector.dm +++ b/code/game/objects/items/weapons/dna_injector.dm @@ -93,7 +93,7 @@ spawn(0)//this prevents the collapse of space-time continuum if (user) - user.drop_from_inventory(src) + user.removeItem(src, force = 1) qdel(src) return uses diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index 73c198c8ab6..c1292ba9d15 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -109,7 +109,7 @@ if(!ispath(gift_type,/obj/item)) return var/obj/item/I = new gift_type(M) - M.remove_from_mob(src) + M.removeItem(src) M.put_in_hands(I) I.add_fingerprint(M) qdel(src) diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index f87f0fa8305..05350458489 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -59,8 +59,7 @@ path = 1 user << "You add [W] to the metal casing." playsound(src.loc, 'sound/items/Screwdriver2.ogg', 25, -3) - user.remove_from_mob(det) - det.loc = src + user.removeItem(det, src) detonator = det if(istimer(detonator.a_left)) var/obj/item/device/assembly/timer/T = detonator.a_left @@ -176,7 +175,7 @@ if(istype(loc, /mob/living/carbon)) //drop dat grenade if it goes off in your hand var/mob/living/carbon/C = loc - C.drop_from_inventory(src) + C.removeItem(src) C.throw_mode_off() invisibility = INVISIBILITY_MAXIMUM //Why am i doing this? diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 1868827b5b9..4b43cc26018 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -81,7 +81,7 @@ if(dispenser) cuffs = new(get_turf(user)) else - user.drop_from_inventory(cuffs) + user.removeItem(cuffs) cuffs.loc = target target.handcuffed = cuffs target.update_inv_handcuffed() diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index 4f168556d28..8011d258591 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -126,7 +126,7 @@ c.scanned = A if(istype(A.loc,/mob/living/carbon/human)) var/mob/living/carbon/human/H = A.loc - H.remove_from_mob(A) + H.removeItem(A) else if(istype(A.loc,/obj/item/weapon/storage)) var/obj/item/weapon/storage/S = A.loc S.remove_from_storage(A) diff --git a/code/game/objects/items/weapons/improvised_components.dm b/code/game/objects/items/weapons/improvised_components.dm index af4e528b709..505e6bd9950 100644 --- a/code/game/objects/items/weapons/improvised_components.dm +++ b/code/game/objects/items/weapons/improvised_components.dm @@ -62,9 +62,7 @@ finished = new /obj/item/weapon/melee/baton/cattleprod(get_turf(user)) user << "You fasten the wirecutters to the top of the rod with the cable, prongs outward." if(finished) - user.drop_from_inventory(src) - user.drop_from_inventory(I) - qdel(I) - qdel(src) + user.deleteItem(src) + user.deleteItem(I) user.put_in_hands(finished) update_icon(user) diff --git a/code/game/objects/items/weapons/material/ashtray.dm b/code/game/objects/items/weapons/material/ashtray.dm index d5e7cd67bb7..0dc09538883 100644 --- a/code/game/objects/items/weapons/material/ashtray.dm +++ b/code/game/objects/items/weapons/material/ashtray.dm @@ -50,8 +50,7 @@ var/global/list/ashtray_cache = list() if (contents.len >= max_butts) user << "\The [src] is full." return - user.remove_from_mob(W) - W.loc = src + user.removeItem(W, src) if (istype(W,/obj/item/clothing/mask/smokable/cigarette)) var/obj/item/clothing/mask/smokable/cigarette/cig = W diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index 18181df6b07..b7d4907f619 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -83,7 +83,7 @@ T.visible_message("\The [src] [material.destruction_desc]!") if(istype(loc, /mob/living)) var/mob/living/M = loc - M.drop_from_inventory(src) + M.removeItem(src, force = 1) playsound(src, "shatter", 70, 1) if(!consumed && drops_debris) material.place_shard(T) qdel(src) diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index ac8da3d835c..297361d546a 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -207,7 +207,7 @@ ..() /obj/item/weapon/melee/energy/blade/attack_self(mob/user as mob) - user.drop_from_inventory(src) + user.removeItem(src, force = 1) spawn(1) if(src) qdel(src) /obj/item/weapon/melee/energy/blade/dropped() @@ -225,5 +225,5 @@ organ.implants -= src host.pinned -= src host.embedded -= src - host.drop_from_inventory(src) + host.removeItem(src, force = 1) spawn(1) if(src) qdel(src) diff --git a/code/game/objects/items/weapons/mop_deploy.dm b/code/game/objects/items/weapons/mop_deploy.dm index e50f82966bf..6658a50a1fe 100644 --- a/code/game/objects/items/weapons/mop_deploy.dm +++ b/code/game/objects/items/weapons/mop_deploy.dm @@ -52,7 +52,7 @@ ..() /obj/item/weapon/mop_deploy/attack_self(mob/user as mob) - user.drop_from_inventory(src) + user.removeItem(src, force = 1) spawn(1) if(src) del(src) /obj/item/weapon/mop_deploy/dropped() @@ -70,5 +70,5 @@ organ.implants -= src host.pinned -= src host.embedded -= src - host.drop_from_inventory(src) + host.removeItem(src, force = 1) spawn(1) if(src) del(src) \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 476bf1a67eb..8c5f8dbd8ae 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -153,7 +153,7 @@ break if(!inserted || !S.amount) - usr.remove_from_mob(S) + usr.removeItem(S) usr.update_icons() //update our overlays if (usr.client && usr.s_active != src) usr.client.screen -= S diff --git a/code/game/objects/items/weapons/storage/laundry_basket.dm b/code/game/objects/items/weapons/storage/laundry_basket.dm index ffb4867ca68..ab8ca23c9bf 100644 --- a/code/game/objects/items/weapons/storage/laundry_basket.dm +++ b/code/game/objects/items/weapons/storage/laundry_basket.dm @@ -82,6 +82,6 @@ use_to_pickup = 0 /obj/item/weapon/storage/laundry_basket/offhand/dropped(mob/user as mob) - user.drop_from_inventory(linked) + user.removeItem(linked, force = 1) return diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 7dcc429d27b..aaea243a7e4 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -69,7 +69,7 @@ if (( usr.restrained() ) || ( usr.stat )) return - if ((src.loc == usr) && !usr.unEquip(src)) + if ((src.loc == usr) && !usr.removeItem(src)) return switch(over_object.name) @@ -347,7 +347,7 @@ /obj/item/weapon/storage/proc/handle_item_insertion(obj/item/W as obj, prevent_warning = 0) if(!istype(W)) return 0 if(usr) - usr.remove_from_mob(W) + usr.removeItem(W) usr.update_icons() //update our overlays W.loc = src W.on_enter_storage(src) diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm index c10e83511f8..b51e28162db 100644 --- a/code/game/objects/items/weapons/tanks/tank_types.dm +++ b/code/game/objects/items/weapons/tanks/tank_types.dm @@ -104,8 +104,7 @@ if ((!F.status)||(F.ptank)) return src.master = F F.ptank = src - user.remove_from_mob(src) - src.loc = F + user.removeItem(src, F) return /* diff --git a/code/game/objects/items/weapons/tape.dm b/code/game/objects/items/weapons/tape.dm index 0eea22ea52d..4ad7d118513 100644 --- a/code/game/objects/items/weapons/tape.dm +++ b/code/game/objects/items/weapons/tape.dm @@ -62,8 +62,7 @@ else if(user.zone_sel.selecting == "r_hand" || user.zone_sel.selecting == "l_hand") var/obj/item/weapon/handcuffs/cable/tape/T = new(user) if(!T.place_handcuffs(H, user)) - user.unEquip(T) - qdel(T) + user.deleteItem(T) else return ..() return 1 @@ -71,7 +70,7 @@ /obj/item/weapon/tape_roll/proc/stick(var/obj/item/weapon/W, mob/user) if(!istype(W, /obj/item/weapon/paper)) return - user.drop_from_inventory(W) + user.removeItem(W) var/obj/item/weapon/ducttape/tape = new(get_turf(src)) tape.attach(W) user.put_in_hands(tape) @@ -107,7 +106,7 @@ user << "You remove \the [initial(name)] from [stuck]." - user.drop_from_inventory(src) + user.removeItem(src) stuck.forceMove(get_turf(src)) user.put_in_hands(stuck) stuck = null @@ -129,8 +128,7 @@ user << "You cannot reach that from here." // can only place stuck papers in cardinal directions, to return // reduce papers around corners issue. - user.drop_from_inventory(src) - forceMove(source_turf) + user.removeItem(src, source_turf) if(params) var/list/mouse_control = params2list(params) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index a79d6575e5e..fe1e62caa02 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -195,12 +195,12 @@ if (user.client) user.client.screen -= src if (user.r_hand == src) - user.remove_from_mob(src) + user.removeItem(src) else - user.remove_from_mob(src) + user.removeItem(src) src.master = F src.layer = initial(src.layer) - user.remove_from_mob(src) + user.removeItem(src) if (user.client) user.client.screen -= src src.loc = F diff --git a/code/game/objects/items/weapons/traps.dm b/code/game/objects/items/weapons/traps.dm index 9c355356b39..783a9f515d4 100644 --- a/code/game/objects/items/weapons/traps.dm +++ b/code/game/objects/items/weapons/traps.dm @@ -36,7 +36,7 @@ ) deployed = 1 - user.drop_from_inventory(src) + user.removeItem(src) update_icon() anchored = 1 diff --git a/code/game/objects/structures/coathanger.dm b/code/game/objects/structures/coathanger.dm index 625af060db7..0050c8ca940 100644 --- a/code/game/objects/structures/coathanger.dm +++ b/code/game/objects/structures/coathanger.dm @@ -21,7 +21,7 @@ if (can_hang && !coat) user.visible_message("[user] hangs [W] on \the [src].", "You hang [W] on the \the [src]") coat = W - user.drop_from_inventory(coat, src) + user.removeItem(coat, src) update_icon() else user << "You cannot hang [W] on [src]" diff --git a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm index 13a567ca758..f338b760fb5 100644 --- a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm +++ b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm @@ -66,8 +66,7 @@ user << "Unwield the axe first." return fireaxe = O - user.remove_from_mob(O) - src.contents += O + user.removeItem(O, src) user << "You place the fire axe back in the [src.name]." update_icon() else diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm index dcc0270abc4..9af8021d44e 100644 --- a/code/game/objects/structures/extinguisher.dm +++ b/code/game/objects/structures/extinguisher.dm @@ -27,8 +27,7 @@ return if(istype(O, /obj/item/weapon/extinguisher)) if(!has_extinguisher && opened) - user.remove_from_mob(O) - contents += O + user.removeItem(O, src) has_extinguisher = O user << "You place [O] in [src]." else diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm index 174634e3cb9..8dbc65edbc1 100644 --- a/code/game/objects/structures/noticeboard.dm +++ b/code/game/objects/structures/noticeboard.dm @@ -33,8 +33,7 @@ if(notices < 5) O.add_fingerprint(user) add_fingerprint(user) - user.drop_from_inventory(O) - O.loc = src + user.removeItem(O, src) notices++ icon_state = "nboard0[notices]" //update sprite user << "You pin the paper to the noticeboard." diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index 73914e113cc..f933bff418c 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -96,9 +96,7 @@ user << "\The [src] is already padded." return var/obj/item/stack/C = W - if(C.get_amount() < 1) // How?? - user.drop_from_inventory(C) - qdel(C) + if(C.get_amount() < 1) return var/padding_type //This is awful but it needs to be like this until tiles are given a material var. if(istype(W,/obj/item/stack/tile/carpet)) @@ -112,8 +110,7 @@ return C.use(1) if(!istype(src.loc, /turf)) - user.drop_from_inventory(src) - src.loc = get_turf(src) + user.removeItem(src, get_turf(src)) user << "You add padding to \the [src]." add_padding(padding_type) return diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm index e4840bedc63..a579ceab8e8 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm @@ -72,7 +72,7 @@ var/global/list/stool_cache = list() //haha stool /obj/item/weapon/stool/attack(mob/M as mob, mob/user as mob) if (prob(5) && istype(M,/mob/living)) user.visible_message("[user] breaks [src] over [M]'s back!") - user.remove_from_mob(src) + user.removeItem(src) dismantle() qdel(src) var/mob/living/T = M @@ -112,9 +112,7 @@ var/global/list/stool_cache = list() //haha stool user << "\The [src] is already padded." return var/obj/item/stack/C = W - if(C.get_amount() < 1) // How?? - user.drop_from_inventory(C) - qdel(C) + if(C.get_amount() < 1) return var/padding_type //This is awful but it needs to be like this until tiles are given a material var. if(istype(W,/obj/item/stack/tile/carpet)) @@ -128,8 +126,7 @@ var/global/list/stool_cache = list() //haha stool return C.use(1) if(!istype(src.loc, /turf)) - user.drop_from_inventory(src) - src.loc = get_turf(src) + user.removeItem(src, get_turf(src)) user << "You add padding to \the [src]." add_padding(padding_type) return diff --git a/code/game/objects/structures/target_stake.dm b/code/game/objects/structures/target_stake.dm index 68b10ccf7a4..4996be04691 100644 --- a/code/game/objects/structures/target_stake.dm +++ b/code/game/objects/structures/target_stake.dm @@ -27,8 +27,7 @@ if(istype(W, /obj/item/target)) density = 0 W.density = 1 - user.remove_from_mob(W) - W.loc = loc + user.removeItem(W, loc) W.layer = 3.1 pinned_target = W user << "You slide the target into the stake." diff --git a/code/modules/admin/secrets/admin_secrets/prison_warp.dm b/code/modules/admin/secrets/admin_secrets/prison_warp.dm index eec85c2f04b..9a9d3e2d098 100644 --- a/code/modules/admin/secrets/admin_secrets/prison_warp.dm +++ b/code/modules/admin/secrets/admin_secrets/prison_warp.dm @@ -27,7 +27,7 @@ if(istype(W, /obj/item/organ/external)) continue //don't strip organs - H.drop_from_inventory(W) + H.removeItem(W) //teleport person to cell H.loc = pick(prisonwarp) H.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(H), slot_w_uniform) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 99b3f7a2f43..970ded7c961 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -973,7 +973,7 @@ //strip their stuff and stick it in the crate for(var/obj/item/I in M) - M.drop_from_inventory(I, locker) + M.removeItem(I, locker) M.update_icons() //so they black out before warping @@ -1006,7 +1006,7 @@ return for(var/obj/item/I in M) - M.drop_from_inventory(I) + M.removeItem(I, force = 1) M.Paralyse(5) sleep(5) @@ -1031,7 +1031,7 @@ return for(var/obj/item/I in M) - M.drop_from_inventory(I) + M.removeItem(I, force = 1) M.Paralyse(5) sleep(5) @@ -1078,7 +1078,7 @@ return for(var/obj/item/I in M) - M.drop_from_inventory(I) + M.removeItem(I, force = 1) if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/observer = M diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index b21abd7e301..6fa7ef43a68 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -426,7 +426,7 @@ for (var/obj/item/I in M) if (istype(I, /obj/item/weapon/implant)) continue - M.drop_from_inventory(I) + M.removeItem(I) if(I.loc != M) qdel(I) switch(dresscode) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 5d8db9c0729..96acc58fce9 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -10,7 +10,7 @@ return for(var/obj/item/W in M) - M.drop_from_inventory(W) + M.removeItem(W, force = 1) log_admin("[key_name(usr)] made [key_name(M)] drop everything!") message_admins("[key_name_admin(usr)] made [key_name_admin(M)] drop everything!", 1) @@ -28,7 +28,7 @@ return //strip their stuff before they teleport into a cell :downs: for(var/obj/item/W in M) - M.drop_from_inventory(W) + M.removeItem(W, force = 1) //teleport person to cell M.Paralyse(5) sleep(5) //so they black out before warping diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm index a78126bedc5..558c3222dc1 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -86,7 +86,7 @@ var/obj/item/device/onetankbomb/R = new /obj/item/device/onetankbomb(loc) M.drop_item() //Remove the assembly from your hands - M.remove_from_mob(src) //Remove the tank from your character,in case you were holding it + M.removeItem(src) //Remove the tank from your character,in case you were holding it M.put_in_hands(R) //Equips the bomb if possible, or puts it on the floor. R.bombassembly = S //Tell the bomb about its assembly part diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 021216f2181..724e1be9ee7 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -36,8 +36,8 @@ if((!isassembly(D))||(!isassembly(D2))) return 0 if((D:secured)||(D2:secured)) return 0 if(user) - user.remove_from_mob(D) - user.remove_from_mob(D2) + user.removeItem(D) + user.removeItem(D2) D:holder = src D2:holder = src D.loc = src diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 88ef03dda2d..7721253643a 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -432,8 +432,7 @@ if(holding) user << "\The [src] is already holding \a [holding]." return - user.unEquip(I) - I.forceMove(src) + user.removeItem(I, src) holding = I user.visible_message("\The [user] shoves \the [I] into \the [src].") verbs |= /obj/item/clothing/shoes/proc/draw_knife @@ -632,7 +631,7 @@ if (( usr.restrained() ) || ( usr.stat )) return - if (!usr.unEquip(src)) + if (!usr.removeItem(src)) return switch(over_object.name) diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index b94cb78da5c..441763988b9 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -43,8 +43,7 @@ user << "You are unable to wear \the [src] as \the [H.shoes] are in the way." shoes = null return 0 - H.drop_from_inventory(shoes) //Remove the old shoes so you can put on the magboots. - shoes.forceMove(src) + H.removeItem(shoes, src) //Remove the old shoes so you can put on the magboots. if(!..()) if(shoes) //Put the old shoes back on if the check fails. diff --git a/code/modules/clothing/spacesuits/rig/modules/combat.dm b/code/modules/clothing/spacesuits/rig/modules/combat.dm index 3e8cb36a6c1..b9594004669 100644 --- a/code/modules/clothing/spacesuits/rig/modules/combat.dm +++ b/code/modules/clothing/spacesuits/rig/modules/combat.dm @@ -55,8 +55,7 @@ return 0 user << "You slot \the [input_device] into the suit module." - user.drop_from_inventory(input_device) - qdel(input_device) + user.deleteItem(input_device) accepted_item.charges++ return 1 @@ -204,8 +203,7 @@ return for(var/obj/item/weapon/melee/energy/blade/blade in M.contents) - M.drop_from_inventory(blade) - qdel(blade) + M.deleteItem(blade) /obj/item/rig_module/fabricator diff --git a/code/modules/clothing/spacesuits/rig/modules/computer.dm b/code/modules/clothing/spacesuits/rig/modules/computer.dm index 11d551ace00..d9ff8bb7d6b 100644 --- a/code/modules/clothing/spacesuits/rig/modules/computer.dm +++ b/code/modules/clothing/spacesuits/rig/modules/computer.dm @@ -208,8 +208,7 @@ else return 0 else - user.drop_from_inventory(ai) - ai.forceMove(src) + user.removeItem(ai, src) ai_card = ai ai_mob << "You have been transferred to \the [holder]'s [src]." user << "You load [ai_mob] into \the [holder]'s [src]." diff --git a/code/modules/clothing/spacesuits/rig/modules/ninja.dm b/code/modules/clothing/spacesuits/rig/modules/ninja.dm index 8ee748e04a3..764c07cf9ea 100644 --- a/code/modules/clothing/spacesuits/rig/modules/ninja.dm +++ b/code/modules/clothing/spacesuits/rig/modules/ninja.dm @@ -200,6 +200,6 @@ return explosion(get_turf(src), explosion_values[1], explosion_values[2], explosion_values[3], explosion_values[4]) if(holder && holder.wearer) - holder.wearer.drop_from_inventory(src) + holder.wearer.removeItem(src) qdel(holder) qdel(src) diff --git a/code/modules/clothing/spacesuits/rig/modules/utility.dm b/code/modules/clothing/spacesuits/rig/modules/utility.dm index 679a822aec8..da346e57b90 100644 --- a/code/modules/clothing/spacesuits/rig/modules/utility.dm +++ b/code/modules/clothing/spacesuits/rig/modules/utility.dm @@ -458,8 +458,7 @@ return for(var/obj/item/weapon/mop_deploy/blade in M.contents) - M.drop_from_inventory(blade) - del(blade) + M.deleteItem(blade) //Space Cleaner Launcher @@ -501,8 +500,7 @@ return 0 user << "You slot \the [input_device] into the suit module." - user.drop_from_inventory(input_device) - del(input_device) + user.deleteItem(input_device) accepted_item.charges++ return 1 diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 7db3dd1dc11..218c9b81e63 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -157,7 +157,7 @@ for(var/obj/item/piece in list(gloves,boots,helmet,chest)) var/mob/living/M = piece.loc if(istype(M)) - M.drop_from_inventory(piece) + M.removeItem(piece) qdel(piece) processing_objects -= src qdel(wires) @@ -307,7 +307,7 @@ if(piece.loc != src && !(wearer && piece.loc == wearer)) if(istype(piece.loc, /mob/living)) M = piece.loc - M.unEquip(piece) + M.removeItem(piece) piece.forceMove(src) if(!istype(wearer) || loc != wearer || wearer.back != src || canremove || !cell || cell.charge <= 0) @@ -560,7 +560,7 @@ M.visible_message("[M] starts putting on \the [src]...", "You start putting on \the [src]...") if(!do_after(M,seal_delay)) if(M && M.back == src) - if(!M.unEquip(src)) + if(!M.removeItem(src)) return src.forceMove(get_turf(src)) return @@ -618,7 +618,7 @@ if(use_obj && check_slot == use_obj) H << "Your [use_obj.name] [use_obj.gender == PLURAL ? "retract" : "retracts"] swiftly." use_obj.canremove = 1 - holder.drop_from_inventory(use_obj) + holder.removeItem(use_obj) use_obj.forceMove(get_turf(src)) use_obj.dropped() use_obj.canremove = 0 @@ -651,27 +651,23 @@ if(sealed) if(H.head) var/obj/item/garbage = H.head - H.drop_from_inventory(garbage) + H.deleteItem(garbage) H.head = null - qdel(garbage) if(H.gloves) var/obj/item/garbage = H.gloves - H.drop_from_inventory(garbage) + H.deleteItem(garbage) H.gloves = null - qdel(garbage) if(H.shoes) var/obj/item/garbage = H.shoes - H.drop_from_inventory(garbage) + H.deleteItem(garbage) H.shoes = null - qdel(garbage) if(H.wear_suit) var/obj/item/garbage = H.wear_suit - H.drop_from_inventory(garbage) + H.deleteItem(garbage) H.wear_suit = null - qdel(garbage) for(var/piece in list("helmet","gauntlets","chest","boots")) toggle_piece(piece, H, ONLY_DEPLOY) diff --git a/code/modules/clothing/spacesuits/rig/rig_attackby.dm b/code/modules/clothing/spacesuits/rig/rig_attackby.dm index cda9d51796a..33003c124af 100644 --- a/code/modules/clothing/spacesuits/rig/rig_attackby.dm +++ b/code/modules/clothing/spacesuits/rig/rig_attackby.dm @@ -56,7 +56,7 @@ user << "\The [src] already has a tank installed." return - if(!user.unEquip(W)) return + if(!user.removeItem(W)) return air_supply = W W.forceMove(src) user << "You slot [W] into [src] and tighten the connecting valve." @@ -84,7 +84,7 @@ return if(!user || !W) return - if(!user.unEquip(mod)) return + if(!user.removeItem(mod)) return user << "You install \the [mod] into \the [src]." installed_modules |= mod mod.forceMove(src) @@ -94,7 +94,7 @@ else if(!cell && istype(W,/obj/item/weapon/cell)) - if(!user.unEquip(W)) return + if(!user.removeItem(W)) return user << "You jack \the [W] into \the [src]'s battery mount." W.forceMove(src) src.cell = W diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index 04f74d164e3..2e963fdadbf 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -121,16 +121,14 @@ H = helmet.loc if(istype(H)) if(helmet && H.head == helmet) - H.drop_from_inventory(helmet) - helmet.forceMove(src) + H.removeItem(helmet, src) if(boots) boots.canremove = 1 H = boots.loc if(istype(H)) if(boots && H.shoes == boots) - H.drop_from_inventory(boots) - boots.forceMove(src) + H.removeItem(boots, src) if(tank) tank.canremove = 1 @@ -161,8 +159,7 @@ if(H.head == helmet) H << "You retract your suit helmet." helmet.canremove = 1 - H.drop_from_inventory(helmet) - helmet.forceMove(src) + H.removeItem(helmet, src) else if(H.head) H << "You cannot deploy your helmet while wearing \the [H.head]." @@ -200,7 +197,7 @@ cooler = null H << "You press the emergency release, ejecting \the [removing] from your suit." removing.canremove = 1 - H.drop_from_inventory(removing) + H.removeItem(removing) /obj/item/clothing/suit/space/void/attackby(obj/item/W as obj, mob/user as mob) diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm index d9aa9bbd3d3..8ac1373d27a 100644 --- a/code/modules/clothing/suits/toggles.dm +++ b/code/modules/clothing/suits/toggles.dm @@ -32,7 +32,7 @@ suittoggled = 0 if(ishuman(hood.loc)) var/mob/living/carbon/H = hood.loc - H.unEquip(hood, 1) + H.removeItem(hood, force = 1) H.update_inv_wear_suit() hood.loc = src diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/under/accessories/holster.dm index 9ba4ffa5e34..1ea459df513 100644 --- a/code/modules/clothing/under/accessories/holster.dm +++ b/code/modules/clothing/under/accessories/holster.dm @@ -17,8 +17,7 @@ if(istype(user)) user.stop_aiming(no_message=1) holstered = I - user.drop_from_inventory(holstered) - holstered.loc = src + user.removeItem(holstered, src) holstered.add_fingerprint(user) w_class = max(w_class, holstered.w_class) user.visible_message("[user] holsters \the [holstered].", "You holster \the [holstered].") diff --git a/code/modules/detectivework/microscope/dnascanner.dm b/code/modules/detectivework/microscope/dnascanner.dm index 4b3cafea50b..a2904ba1552 100644 --- a/code/modules/detectivework/microscope/dnascanner.dm +++ b/code/modules/detectivework/microscope/dnascanner.dm @@ -27,9 +27,8 @@ var/obj/item/weapon/forensics/swab/swab = W if(istype(swab) && swab.is_used()) - user.unEquip(W) + user.removeItem(swab, src) src.bloodsamp = swab - swab.loc = src user << "You insert \the [W] into \the [src]." else user << "\The [src] only accepts used swabs." diff --git a/code/modules/detectivework/microscope/microscope.dm b/code/modules/detectivework/microscope/microscope.dm index 3bc596fb576..9217e7627ee 100644 --- a/code/modules/detectivework/microscope/microscope.dm +++ b/code/modules/detectivework/microscope/microscope.dm @@ -18,8 +18,7 @@ if(istype(W, /obj/item/weapon/forensics/swab)|| istype(W, /obj/item/weapon/sample/fibers) || istype(W, /obj/item/weapon/sample/print)) user << "You insert \the [W] into the microscope." - user.unEquip(W) - W.forceMove(src) + user.removeItem(W, src) sample = W update_icon() return diff --git a/code/modules/detectivework/tools/evidencebag.dm b/code/modules/detectivework/tools/evidencebag.dm index 6aa4bdf99fb..cc663bbae8d 100644 --- a/code/modules/detectivework/tools/evidencebag.dm +++ b/code/modules/detectivework/tools/evidencebag.dm @@ -32,7 +32,7 @@ user.client.screen -= I U.contents.Remove(I) else if(user.item_is_in_hands(I)) - user.drop_from_inventory(I) + user.removeItem(I) else return diff --git a/code/modules/detectivework/tools/rag.dm b/code/modules/detectivework/tools/rag.dm index 6887ef1fbaf..7849596d429 100644 --- a/code/modules/detectivework/tools/rag.dm +++ b/code/modules/detectivework/tools/rag.dm @@ -40,7 +40,7 @@ /obj/item/weapon/reagent_containers/glass/rag/attack_self(mob/user as mob) if(on_fire) user.visible_message("\The [user] stamps out [src].", "You stamp out [src].") - user.unEquip(src) + user.removeItem(src) extinguish() else remove_contents(user) diff --git a/code/modules/detectivework/tools/sample_kits.dm b/code/modules/detectivework/tools/sample_kits.dm index fa5c7312a8f..eb8738d3952 100644 --- a/code/modules/detectivework/tools/sample_kits.dm +++ b/code/modules/detectivework/tools/sample_kits.dm @@ -42,7 +42,7 @@ /obj/item/weapon/sample/attackby(var/obj/O, var/mob/user) if(O.type == src.type) - user.unEquip(O) + user.removeItem(O) if(merge_evidence(O, user)) qdel(O) return 1 diff --git a/code/modules/economy/cash.dm b/code/modules/economy/cash.dm index f18eac3b9dd..4051bf95881 100644 --- a/code/modules/economy/cash.dm +++ b/code/modules/economy/cash.dm @@ -24,8 +24,8 @@ SC.adjust_worth(src.worth) if(istype(user, /mob/living/carbon/human)) var/mob/living/carbon/human/h_user = user - h_user.drop_from_inventory(src) - h_user.drop_from_inventory(SC) + h_user.removeItem(src) + h_user.removeItem(SC) h_user.put_in_hands(SC) user << "You combine the Thalers to a bundle of [SC.worth] Thalers." qdel(src) diff --git a/code/modules/economy/cash_register.dm b/code/modules/economy/cash_register.dm index 109572ffc0a..3129c20489f 100644 --- a/code/modules/economy/cash_register.dm +++ b/code/modules/economy/cash_register.dm @@ -182,7 +182,7 @@ overlays |= "register_cash" if(ishuman(user)) var/mob/living/carbon/human/H = user - H.drop_from_inventory(SC) + H.removeItem(SC) qdel(SC) else scan_cash(SC) @@ -335,7 +335,7 @@ if(!SC.worth) if(ishuman(SC.loc)) var/mob/living/carbon/human/H = SC.loc - H.drop_from_inventory(SC) + H.removeItem(SC) qdel(SC) cash_stored += transaction_amount diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm index 1b353e34071..6bbd4e64e82 100644 --- a/code/modules/games/cards.dm +++ b/code/modules/games/cards.dm @@ -146,8 +146,7 @@ for(var/datum/playingcard/P in cards) H.cards += P H.concealed = src.concealed - user.drop_from_inventory(src,user.loc) - qdel(src) + user.deleteItem(src) H.update_icon() return ..() diff --git a/code/modules/holodeck/HolodeckControl.dm b/code/modules/holodeck/HolodeckControl.dm index 4c0d0a755e6..53a070e64ad 100644 --- a/code/modules/holodeck/HolodeckControl.dm +++ b/code/modules/holodeck/HolodeckControl.dm @@ -211,7 +211,7 @@ if(isobj(obj)) var/mob/M = obj.loc if(ismob(M)) - M.remove_from_mob(obj) + M.removeItem(obj) M.update_icons() //so their overlays update if(!silent) diff --git a/code/modules/hydroponics/beekeeping/beehive.dm b/code/modules/hydroponics/beekeeping/beehive.dm index 5cd5458b4a7..a9d589d8410 100644 --- a/code/modules/hydroponics/beekeeping/beehive.dm +++ b/code/modules/hydroponics/beekeeping/beehive.dm @@ -67,8 +67,7 @@ ++frames user.visible_message("[user] loads \the [I] into \the [src].", "You load \the [I] into \the [src].") update_icon() - user.drop_from_inventory(I) - qdel(I) + user.deleteItem(I) return else if(istype(I, /obj/item/bee_pack)) var/obj/item/bee_pack/B = I @@ -229,8 +228,7 @@ if(do_after(user, 30)) user.visible_message("[user] constructs a beehive.", "You construct a beehive.") new /obj/machinery/beehive(get_turf(user)) - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) return /obj/item/stack/wax diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 608398a039c..7c17c584670 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -288,7 +288,7 @@ if(prob(35)) if(user) user << "\The [src] has fallen to bits." - user.drop_from_inventory(src) + user.removeItem(src) qdel(src) add_fingerprint(user) diff --git a/code/modules/hydroponics/seed_machines.dm b/code/modules/hydroponics/seed_machines.dm index 015ab88ccbf..f731a28f722 100644 --- a/code/modules/hydroponics/seed_machines.dm +++ b/code/modules/hydroponics/seed_machines.dm @@ -88,8 +88,7 @@ if(S.seed && S.seed.get_trait(TRAIT_IMMUTABLE) > 0) user << "That seed is not compatible with our genetics technology." else - user.drop_from_inventory(W) - W.loc = src + user.removeItem(W, src) seed = W user << "You load [W] into [src]." return @@ -114,8 +113,7 @@ user << "That disk does not have any gene data loaded." return - user.drop_from_inventory(W) - W.loc = src + user.removeItem(W, src) loaded_disk = W user << "You load [W] into [src]." diff --git a/code/modules/hydroponics/seed_storage.dm b/code/modules/hydroponics/seed_storage.dm index 448173104be..de183d475dc 100644 --- a/code/modules/hydroponics/seed_storage.dm +++ b/code/modules/hydroponics/seed_storage.dm @@ -225,7 +225,7 @@ /obj/machinery/seed_storage/proc/add(var/obj/item/seeds/O as obj) if (istype(O.loc, /mob)) var/mob/user = O.loc - user.remove_from_mob(O) + user.removeItem(O) else if(istype(O.loc,/obj/item/weapon/storage)) var/obj/item/weapon/storage/S = O.loc S.remove_from_storage(O, src) diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm index cfafd90ea21..3e1cfc73e83 100644 --- a/code/modules/hydroponics/trays/tray.dm +++ b/code/modules/hydroponics/trays/tray.dm @@ -475,7 +475,7 @@ if(!seed) var/obj/item/seeds/S = O - user.remove_from_mob(O) + user.removeItem(O) if(!S.seed) user << "The packet seems to be empty. You throw it away." @@ -520,7 +520,7 @@ else if ( istype(O, /obj/item/weapon/plantspray) ) var/obj/item/weapon/plantspray/spray = O - user.remove_from_mob(O) + user.removeItem(O) toxins += spray.toxicity pestlevel -= spray.pest_kill_str weedlevel -= spray.weed_kill_str diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm index ce365bbde27..f3a8d4ea4d6 100644 --- a/code/modules/mining/satchel_ore_boxdm.dm +++ b/code/modules/mining/satchel_ore_boxdm.dm @@ -12,8 +12,7 @@ /obj/structure/ore_box/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/ore)) - user.remove_from_mob(W) - src.contents += W + user.removeItem(W, src) if (istype(W, /obj/item/weapon/storage)) var/obj/item/weapon/storage/S = W S.hide_from(usr) diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index d5fde7978df..e0108ffa01c 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -44,9 +44,8 @@ var/list/slot_equipment_priority = list( \ if(!W.mob_can_equip(src, slot)) if(del_on_fail) qdel(W) - else - if(!disable_warning) - src << "\red You are unable to equip that." //Only print if del_on_fail is false + else if(!disable_warning) + src << "\red You are unable to equip that." //Only print if del_on_fail is false return 0 equip_to_slot(W, slot, redraw_mob) //This proc should not ever fail. @@ -116,22 +115,6 @@ var/list/slot_equipment_priority = list( \ W.dropped() return 0 -// Removes an item from inventory and places it in the target atom. -// If canremove or other conditions need to be checked then use unEquip instead. -/mob/proc/drop_from_inventory(var/obj/item/W, var/atom/Target = null) - - if(W) - if(!Target) - Target = loc - - remove_from_mob(W) - if(!(W && W.loc)) return 1 // self destroying objects (tk, grabs) - - W.forceMove(Target) - update_icons() - return 1 - return 0 - //Drops the item in our left hand /mob/proc/drop_l_hand(var/atom/Target) return 0 @@ -176,26 +159,34 @@ var/list/slot_equipment_priority = list( \ break return slot -//This differs from remove_from_mob() in that it checks if the item can be unequipped first. -/mob/proc/unEquip(obj/item/I, force = 0) //Force overrides NODROP for things like wizarditis and admin undress. - if(!(force || canUnEquip(I))) - return - drop_from_inventory(I) +/mob/proc/removeItem(var/obj/item/I, var/atom/T = loc, var/force = 0) + if(!force && !src.canUnEquip(I)) + return 0 + + u_equip(I) + if(src.client) + src.client.screen -= I + + I.layer = initial(I.layer) + I.screen_loc = null + + I.dropped(src) + + if(I && I.loc) // Some items self-delete + I.forceMove(T) + return 1 -//Attemps to remove an object on a mob. -/mob/proc/remove_from_mob(var/obj/O) - src.u_equip(O) - if (src.client) - src.client.screen -= O - O.layer = initial(O.layer) - O.screen_loc = null - if(istype(O, /obj/item)) - var/obj/item/I = O - I.forceMove(src.loc) - I.dropped(src) - return 1 +/mob/proc/deleteItem(var/obj/item/I) + u_equip(I) + if(src.client) + src.client.screen -= I + I.screen_loc = null + + I.dropped(src) + if(I && I.loc) + qdel(I) //Returns the item equipped to the specified slot, if any. /mob/proc/get_equipped_item(var/slot) diff --git a/code/modules/mob/living/bot/cleanbot.dm b/code/modules/mob/living/bot/cleanbot.dm index 60a431aad30..21e8b6a2dcd 100644 --- a/code/modules/mob/living/bot/cleanbot.dm +++ b/code/modules/mob/living/bot/cleanbot.dm @@ -189,8 +189,7 @@ var/mob/living/bot/cleanbot/A = new /mob/living/bot/cleanbot(T) A.name = created_name user << "You add the robot arm to the bucket and sensor assembly. Beep boop!" - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) else if(istype(O, /obj/item/weapon/pen)) var/t = sanitizeSafe(input(user, "Enter new robot name", name, created_name), MAX_NAME_LEN) diff --git a/code/modules/mob/living/bot/ed209bot.dm b/code/modules/mob/living/bot/ed209bot.dm index 3c50432025d..96d9397c7ed 100644 --- a/code/modules/mob/living/bot/ed209bot.dm +++ b/code/modules/mob/living/bot/ed209bot.dm @@ -185,7 +185,5 @@ user << "You complete the ED-209." var/turf/T = get_turf(src) new /mob/living/bot/secbot/ed209(T,created_name,lasercolor) - user.drop_item() qdel(W) - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) diff --git a/code/modules/mob/living/bot/farmbot.dm b/code/modules/mob/living/bot/farmbot.dm index 1187d16b5fd..613a551f6a7 100644 --- a/code/modules/mob/living/bot/farmbot.dm +++ b/code/modules/mob/living/bot/farmbot.dm @@ -310,8 +310,7 @@ return user << "You add the robot arm to [src]." - user.drop_from_inventory(S) - qdel(S) + user.deleteItem(S) new /obj/item/weapon/farmbot_arm_assembly(loc, src) @@ -321,30 +320,26 @@ build_step++ user << "You add the plant analyzer to [src]." name = "farmbot assembly" - user.remove_from_mob(W) - qdel(W) + user.deleteItem(W) else if((istype(W, /obj/item/weapon/reagent_containers/glass/bucket)) && (build_step == 1)) build_step++ user << "You add a bucket to [src]." name = "farmbot assembly with bucket" - user.remove_from_mob(W) - qdel(W) + user.deleteItem(W) else if((istype(W, /obj/item/weapon/material/minihoe)) && (build_step == 2)) build_step++ user << "You add a minihoe to [src]." name = "farmbot assembly with bucket and minihoe" - user.remove_from_mob(W) - qdel(W) + user.deleteItem(W) else if((isprox(W)) && (build_step == 3)) build_step++ user << "You complete the Farmbot! Beep boop." var/mob/living/bot/farmbot/S = new /mob/living/bot/farmbot(get_turf(src), tank) S.name = created_name - user.remove_from_mob(W) - qdel(W) + user.deleteItem(W) qdel(src) else if(istype(W, /obj/item/weapon/pen)) diff --git a/code/modules/mob/living/bot/floorbot.dm b/code/modules/mob/living/bot/floorbot.dm index cb297178868..38655699879 100644 --- a/code/modules/mob/living/bot/floorbot.dm +++ b/code/modules/mob/living/bot/floorbot.dm @@ -289,8 +289,7 @@ var/obj/item/weapon/toolbox_tiles/B = new /obj/item/weapon/toolbox_tiles user.put_in_hands(B) user << "You add the tiles into the empty toolbox. They protrude from the top." - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) else user << "You need 10 floor tiles for a floorbot." return @@ -315,8 +314,7 @@ B.created_name = created_name user.put_in_hands(B) user << "You add the sensor to the toolbox and tiles!" - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) else if (istype(W, /obj/item/weapon/pen)) var/t = sanitizeSafe(input(user, "Enter new robot name", name, created_name), MAX_NAME_LEN) if(!t) @@ -345,8 +343,7 @@ var/mob/living/bot/floorbot/A = new /mob/living/bot/floorbot(T) A.name = created_name user << "You add the robot arm to the odd looking toolbox assembly! Boop beep!" - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) else if(istype(W, /obj/item/weapon/pen)) var/t = sanitizeSafe(input(user, "Enter new robot name", name, created_name), MAX_NAME_LEN) if(!t) diff --git a/code/modules/mob/living/bot/medbot.dm b/code/modules/mob/living/bot/medbot.dm index e4d39b5afe1..a8530cd9ce9 100644 --- a/code/modules/mob/living/bot/medbot.dm +++ b/code/modules/mob/living/bot/medbot.dm @@ -283,8 +283,7 @@ qdel(S) user.put_in_hands(A) user << "You add the robot arm to the first aid kit." - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) /obj/item/weapon/firstaid_arm_assembly name = "first aid/robot arm assembly" @@ -331,5 +330,4 @@ var/mob/living/bot/medbot/S = new /mob/living/bot/medbot(T) S.skin = skin S.name = created_name - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) diff --git a/code/modules/mob/living/bot/secbot.dm b/code/modules/mob/living/bot/secbot.dm index ea80efca7e1..83f26ea550c 100644 --- a/code/modules/mob/living/bot/secbot.dm +++ b/code/modules/mob/living/bot/secbot.dm @@ -228,8 +228,7 @@ var/obj/item/weapon/secbot_assembly/A = new /obj/item/weapon/secbot_assembly user.put_in_hands(A) user << "You add the signaler to the helmet." - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) else return diff --git a/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm b/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm index 9bf9e62dfb9..2fb5a8a0e64 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona_attacks.dm @@ -16,7 +16,7 @@ if(hat) user << "\The [src] is already wearing \the [hat]." return - user.unEquip(W) + user.removeItem(W) wear_hat(W) user.visible_message("\The [user] puts \the [W] on \the [src].") return diff --git a/code/modules/mob/living/carbon/alien/progression.dm b/code/modules/mob/living/carbon/alien/progression.dm index 54c7f9a9692..2ab2fed934d 100644 --- a/code/modules/mob/living/carbon/alien/progression.dm +++ b/code/modules/mob/living/carbon/alien/progression.dm @@ -34,7 +34,7 @@ adult.key = src.key for (var/obj/item/W in src.contents) - src.drop_from_inventory(W) + src.removeItem(W, force = 1) for(var/datum/language/L in languages) adult.add_language(L.name) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 6b9cbf02589..6898ff39e61 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -327,8 +327,7 @@ if(!item) return //Grab processing has a chance of returning null - src.remove_from_mob(item) - item.loc = src.loc + src.removeItem(item, loc) //actually throw it! if (item) diff --git a/code/modules/mob/living/carbon/give.dm b/code/modules/mob/living/carbon/give.dm index 14c8efbbadd..6745c11bb20 100644 --- a/code/modules/mob/living/carbon/give.dm +++ b/code/modules/mob/living/carbon/give.dm @@ -37,6 +37,6 @@ src << "Their hands are full." return - if(src.unEquip(I)) + if(src.removeItem(I)) target.put_in_hands(I) // If this fails it will just end up on the floor, but that's fitting for things like dionaea. target.visible_message("\The [src] handed \the [I] to \the [target].") diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 368cad0ff7d..391e5417091 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -11,7 +11,7 @@ sleep(1) for(var/obj/item/I in src) - drop_from_inventory(I) + removeItem(I) I.throw_at(get_edge_target_turf(src,pick(alldirs)), rand(1,3), round(30/I.w_class)) ..(species.gibbed_anim) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 74d8b54a930..111868089bf 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1348,10 +1348,10 @@ S << "[U] pops your [current_limb.joint] back in!" current_limb.undislocate() -/mob/living/carbon/human/drop_from_inventory(var/obj/item/W, var/atom/Target = null) - if(W in organs) - return - ..() +/mob/living/carbon/human/removeItem(var/obj/item/I, var/atom/T = loc, var/force = 0) + if(I in src.organs) + return 0 + return ..() /mob/living/carbon/human/reset_view(atom/A, update_hud = 1) ..() diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 56a47f918b3..a38e516acf8 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -281,7 +281,7 @@ //Actually disarm them for(var/obj/item/I in holding) if(I) - drop_from_inventory(I) + removeItem(I) visible_message("[M] has disarmed [src]!") playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) return diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 1c09c04c709..105d7be9bd2 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -56,7 +56,7 @@ emp_act if(c_hand && (stun_amount || agony_amount > 10)) msg_admin_attack("[src.name] ([src.ckey]) was disarmed by a stun effect") - drop_from_inventory(c_hand) + removeItem(c_hand) if (affected.status & ORGAN_ROBOT) emote("me", 1, "drops what they were holding, their [affected.name] malfunctioning!") else diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm index e87fd83dd4b..8f7e40602dd 100644 --- a/code/modules/mob/living/carbon/human/human_organs.dm +++ b/code/modules/mob/living/carbon/human/human_organs.dm @@ -117,7 +117,7 @@ var/obj/item/organ/external/E = get_organ(limb_tag) if(!E) visible_message("Lacking a functioning left hand, \the [src] drops \the [l_hand].") - drop_from_inventory(l_hand) + removeItem(l_hand) break if(r_hand) @@ -125,7 +125,7 @@ var/obj/item/organ/external/E = get_organ(limb_tag) if(!E) visible_message("Lacking a functioning right hand, \the [src] drops \the [r_hand].") - drop_from_inventory(r_hand) + removeItem(r_hand) break // Check again... @@ -141,11 +141,11 @@ if(HAND_LEFT, ARM_LEFT) if(!l_hand) continue - drop_from_inventory(l_hand) + removeItem(l_hand) if(HAND_RIGHT, ARM_RIGHT) if(!r_hand) continue - drop_from_inventory(r_hand) + removeItem(r_hand) var/emote_scream = pick("screams in pain and ", "lets out a sharp cry and ", "cries out and ") emote("me", 1, "[(E.can_feel_pain()) ? "" : emote_scream ]drops what they were holding in their [E.name]!") @@ -155,11 +155,11 @@ if(HAND_LEFT, ARM_LEFT) if(!l_hand) continue - drop_from_inventory(l_hand) + removeItem(l_hand) if(HAND_RIGHT, ARM_RIGHT) if(!r_hand) continue - drop_from_inventory(r_hand) + removeItem(r_hand) emote("me", 1, "drops what they were holding, their [E.name] malfunctioning!") diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index 48b668a5015..852d46c6cc0 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -139,7 +139,7 @@ for(var/obj/item/W in src) - drop_from_inventory(W) + removeItem(W, force = 1) visible_message("\The [src] quivers slightly, then splits apart with a wet slithering noise.") diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 42262b8c93c..77aff853aea 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -85,18 +85,18 @@ This saves us from having to call add_fingerprint() any time something is put in if (W == wear_suit) if(s_store) - drop_from_inventory(s_store) + removeItem(s_store) wear_suit = null update_inv_wear_suit() else if (W == w_uniform) if (r_store) - drop_from_inventory(r_store) + removeItem(r_store) if (l_store) - drop_from_inventory(l_store) + removeItem(l_store) if (wear_id) - drop_from_inventory(wear_id) + removeItem(wear_id) if (belt) - drop_from_inventory(belt) + removeItem(belt) w_uniform = null update_inv_w_uniform() else if (W == gloves) @@ -289,7 +289,7 @@ This saves us from having to call add_fingerprint() any time something is put in update_inv_s_store(redraw_mob) if(slot_in_backpack) if(src.get_active_hand() == W) - src.remove_from_mob(W) + src.removeItem(W) W.loc = src.back if(slot_tie) var/obj/item/clothing/under/uniform = src.w_uniform diff --git a/code/modules/mob/living/carbon/human/stripping.dm b/code/modules/mob/living/carbon/human/stripping.dm index 26efe8ee90f..8e116f443a9 100644 --- a/code/modules/mob/living/carbon/human/stripping.dm +++ b/code/modules/mob/living/carbon/human/stripping.dm @@ -82,8 +82,8 @@ if(stripping) admin_attack_log(user, src, "Attempted to remove \a [target_slot]", "Target of an attempt to remove \a [target_slot].", "attempted to remove \a [target_slot] from") - unEquip(target_slot) - else if(user.unEquip(held)) + removeItem(target_slot) + else if(user.removeItem(held)) equip_to_slot_if_possible(held, text2num(slot_to_strip), 0, 1, 1) if(held.loc != src) user.put_in_hands(held) @@ -94,9 +94,9 @@ user << "\The [src] has nothing in their pockets." return if(r_store) - unEquip(r_store) + removeItem(r_store) if(l_store) - unEquip(l_store) + removeItem(l_store) visible_message("\The [user] empties \the [src]'s pockets!") // Modify the current target sensor level. diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 6d5c3a56234..ef4ed66599a 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -748,7 +748,7 @@ var/global/list/damage_icon_parts = list() standing.color = wear_suit.color if( istype(wear_suit, /obj/item/clothing/suit/straight_jacket) ) - drop_from_inventory(handcuffed) + removeItem(handcuffed, force = 1) drop_l_hand() drop_r_hand() diff --git a/code/modules/mob/living/carbon/resist.dm b/code/modules/mob/living/carbon/resist.dm index 8b6f7227187..06501b92b0e 100644 --- a/code/modules/mob/living/carbon/resist.dm +++ b/code/modules/mob/living/carbon/resist.dm @@ -66,7 +66,7 @@ "\The [src] manages to remove \the [handcuffed]!", "You successfully remove \the [handcuffed]." ) - drop_from_inventory(handcuffed) + removeItem(handcuffed) /mob/living/carbon/proc/escape_legcuffs() if(!canClick()) @@ -101,7 +101,7 @@ "You successfully remove \the [legcuffed]." ) - drop_from_inventory(legcuffed) + removeItem(legcuffed) legcuffed = null update_inv_legcuffed() diff --git a/code/modules/mob/living/inventory.dm b/code/modules/mob/living/inventory.dm index c1aa244d550..76c9a5f8d0a 100644 --- a/code/modules/mob/living/inventory.dm +++ b/code/modules/mob/living/inventory.dm @@ -38,11 +38,11 @@ //Drops the item in our left hand /mob/living/drop_l_hand(var/atom/Target) - return drop_from_inventory(l_hand, Target) + return removeItem(l_hand, Target) //Drops the item in our right hand /mob/living/drop_r_hand(var/atom/Target) - return drop_from_inventory(r_hand, Target) + return removeItem(r_hand, Target) /mob/living/proc/hands_are_full() return (r_hand && l_hand) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index b3fa6e43ea6..a3e2eae1897 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -393,11 +393,11 @@ default behaviour is: var/mob/living/carbon/C = src if (C.handcuffed && !initial(C.handcuffed)) - C.drop_from_inventory(C.handcuffed) + C.removeItem(C.handcuffed) C.handcuffed = initial(C.handcuffed) if (C.legcuffed && !initial(C.legcuffed)) - C.drop_from_inventory(C.legcuffed) + C.removeItem(C.legcuffed) C.legcuffed = initial(C.legcuffed) BITSET(hud_updateflag, HEALTH_HUD) BITSET(hud_updateflag, STATUS_HUD) @@ -595,7 +595,7 @@ default behaviour is: var/mob/M = H.loc //Get our mob holder (if any). if(istype(M)) - M.drop_from_inventory(H) + M.removeItem(H) M << "\The [H] wriggles out of your grip!" src << "You wriggle out of \the [M]'s grip!" @@ -771,10 +771,10 @@ default behaviour is: /mob/living/proc/slip(var/slipped_on,stun_duration=8) return 0 -/mob/living/carbon/drop_from_inventory(var/obj/item/W, var/atom/Target = null) - if(W in internal_organs) - return - ..() +/mob/living/carbon/removeItem(var/obj/item/I, var/atom/T = loc, var/force = 0) + if(I in src.internal_organs) + return 0 + return ..() /mob/living/touch_map_edge() @@ -895,8 +895,8 @@ default behaviour is: if(lying) density = 0 - if(l_hand) unEquip(l_hand) - if(r_hand) unEquip(r_hand) + if(l_hand) removeItem(l_hand) + if(r_hand) removeItem(r_hand) else density = initial(density) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 587daf649e2..e05ec237849 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -265,7 +265,7 @@ affecting.implants -= card H.visible_message("\The [src] explodes out of \the [H]'s [affecting.name] in shower of gore!") break - holder.drop_from_inventory(card) + holder.removeItem(card) else if(istype(card.loc,/obj/item/device/pda)) var/obj/item/device/pda/holder = card.loc holder.pai = null @@ -383,7 +383,7 @@ if(istype(H)) var/mob/living/M = H.loc if(istype(M)) - M.drop_from_inventory(H) + M.removeItem(H) H.loc = get_turf(src) src.loc = get_turf(H) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 8c0ec04900e..e92cc389a50 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -145,7 +145,7 @@ var/list/mob_hat_cache = list() if(hat) user << "\The [src] is already wearing \the [hat]." return - user.unEquip(W) + user.removeItem(W) wear_hat(W) user.visible_message("\The [user] puts \the [W] on \the [src].") return diff --git a/code/modules/mob/living/simple_animal/constructs/soulstone.dm b/code/modules/mob/living/simple_animal/constructs/soulstone.dm index 54fd7382791..722d6c1550b 100644 --- a/code/modules/mob/living/simple_animal/constructs/soulstone.dm +++ b/code/modules/mob/living/simple_animal/constructs/soulstone.dm @@ -118,7 +118,7 @@ return for(var/obj/item/W in T) - T.drop_from_inventory(W) + T.removeItem(W) new /obj/effect/decal/remains/human(T.loc) //Spawns a skeleton T.invisibility = 101 diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 8b9271a40c3..b999ec68401 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -607,9 +607,8 @@ stolen_item = C.r_hand if(stolen_item) - C.remove_from_mob(stolen_item) + C.removeItem(stolen_item, src) held_item = stolen_item - stolen_item.loc = src visible_message("[src] grabs the [held_item] out of [C]'s hand!", "\blue You snag the [held_item] out of [C]'s hand!", "You hear the sounds of wings flapping furiously.") return held_item diff --git a/code/modules/mob/mob_grab_specials.dm b/code/modules/mob/mob_grab_specials.dm index 64a98985cfc..a5c45c79fb8 100644 --- a/code/modules/mob/mob_grab_specials.dm +++ b/code/modules/mob/mob_grab_specials.dm @@ -106,9 +106,7 @@ target.attack_log += text("\[[time_stamp()]\] Headbutted by [attacker.name] ([attacker.ckey])") msg_admin_attack("[key_name(attacker)] has headbutted [key_name(target)]") - attacker.drop_from_inventory(src) - src.loc = null - qdel(src) + attacker.deleteItem(src) return /obj/item/weapon/grab/proc/dislocate(mob/living/carbon/human/target, mob/living/attacker, var/target_zone) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index ca8d1bffe1a..3986b4df65d 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -4,7 +4,7 @@ for(var/obj/item/W in src) if (W==w_uniform) // will be torn continue - drop_from_inventory(W) + removeItem(W, force = 1) regenerate_icons() transforming = 1 canmove = 0 @@ -31,7 +31,7 @@ return for(var/obj/item/W in src) - drop_from_inventory(W) + removeItem(W, force = 1) set_species(species.primitive_form) dna.SetSEState(MONKEYBLOCK,1) dna.SetSEValueRange(MONKEYBLOCK,0xDAC, 0xFFF) @@ -57,7 +57,7 @@ if (transforming) return for(var/obj/item/W in src) - drop_from_inventory(W) + removeItem(W, force = 1) transforming = 1 canmove = 0 icon = null @@ -113,7 +113,7 @@ if (transforming) return for(var/obj/item/W in src) - drop_from_inventory(W) + removeItem(W, force = 1) regenerate_icons() transforming = 1 canmove = 0 @@ -165,7 +165,7 @@ if (transforming) return for(var/obj/item/W in src) - drop_from_inventory(W) + removeItem(W, force = 1) regenerate_icons() transforming = 1 canmove = 0 @@ -199,7 +199,7 @@ if (transforming) return for(var/obj/item/W in src) - drop_from_inventory(W) + removeItem(W, force = 1) regenerate_icons() transforming = 1 canmove = 0 @@ -228,7 +228,7 @@ if(transforming) return for(var/obj/item/W in src) - drop_from_inventory(W) + removeItem(W, force = 1) regenerate_icons() transforming = 1 diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index 44376e91108..70a9398ae23 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -323,7 +323,7 @@ var/list/organ_cache = list() var/datum/reagent/blood/B = locate(/datum/reagent/blood) in reagents.reagent_list blood_splatter(src,B,1) - user.drop_from_inventory(src) + user.removeItem(src) var/obj/item/weapon/reagent_containers/food/snacks/organ/O = new(get_turf(src)) O.name = name O.icon = icon diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index cebd834a24f..d351ca9cdd0 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -833,12 +833,12 @@ Note that amputating the affected organ does in fact remove the infection from t holder.visible_message(\ "\The [holder.handcuffed.name] falls off of [holder.name].",\ "\The [holder.handcuffed.name] falls off you.") - holder.drop_from_inventory(holder.handcuffed) + holder.removeItem(holder.handcuffed, force = 1) if (holder.legcuffed && body_part in list(FOOT_LEFT, FOOT_RIGHT, LEG_LEFT, LEG_RIGHT)) holder.visible_message(\ "\The [holder.legcuffed.name] falls off of [holder.name].",\ "\The [holder.legcuffed.name] falls off you.") - holder.drop_from_inventory(holder.legcuffed) + holder.removeItem(holder.legcuffed, force = 1) /obj/item/organ/external/proc/bandage() var/rval = 0 @@ -1005,7 +1005,7 @@ Note that amputating the affected organ does in fact remove the infection from t W.add_blood(owner) if(ismob(W.loc)) var/mob/living/H = W.loc - H.drop_from_inventory(W) + H.removeItem(W) W.loc = owner /obj/item/organ/external/removed(var/mob/living/user, var/ignore_children = 0) diff --git a/code/modules/organs/subtypes/machine.dm b/code/modules/organs/subtypes/machine.dm index 04544035c08..723ca8856fc 100644 --- a/code/modules/organs/subtypes/machine.dm +++ b/code/modules/organs/subtypes/machine.dm @@ -75,7 +75,7 @@ var/mob/living/holder_mob = loc if(istype(holder_mob)) - holder_mob.drop_from_inventory(src) + holder_mob.removeItem(src) qdel(src) /obj/item/organ/internal/mmi_holder/posibrain diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm index dc7ec847772..6862e16c615 100644 --- a/code/modules/paperwork/faxmachine.dm +++ b/code/modules/paperwork/faxmachine.dm @@ -113,8 +113,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins scan = null else var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/card/id) && usr.unEquip(I)) - I.loc = src + if (istype(I, /obj/item/weapon/card/id) && usr.removeItem(I, src)) scan = I authenticated = 0 diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index bb4a9d1a23f..9ca7d1f0317 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -307,7 +307,7 @@ "You burn right through \the [src], turning it to ash. It flutters through the air before settling on the floor in a heap.") if(user.get_inactive_hand() == src) - user.drop_from_inventory(src) + user.removeItem(src) new /obj/effect/decal/cleanable/ash(src.loc) qdel(src) @@ -415,23 +415,23 @@ B.name = name else if (P.name != "paper" && P.name != "photo") B.name = P.name - user.drop_from_inventory(P) + user.removeItem(P) if (istype(user, /mob/living/carbon/human)) var/mob/living/carbon/human/h_user = user if (h_user.r_hand == src) - h_user.drop_from_inventory(src) + h_user.removeItem(src) h_user.put_in_r_hand(B) else if (h_user.l_hand == src) - h_user.drop_from_inventory(src) + h_user.removeItem(src) h_user.put_in_l_hand(B) else if (h_user.l_store == src) - h_user.drop_from_inventory(src) + h_user.removeItem(src) B.loc = h_user B.layer = 20 h_user.l_store = B h_user.update_inv_pockets() else if (h_user.r_store == src) - h_user.drop_from_inventory(src) + h_user.removeItem(src) B.loc = h_user B.layer = 20 h_user.r_store = B diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index 53110bed0fa..d6aaec0936c 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -34,7 +34,7 @@ // merging bundles else if(istype(W, /obj/item/weapon/paper_bundle)) - user.drop_from_inventory(W) + user.removeItem(W) for(var/obj/O in W) O.loc = src O.add_fingerprint(usr) @@ -61,8 +61,7 @@ else if(istype(sheet, /obj/item/weapon/photo)) user << "You add [(sheet.name == "photo") ? "the photo" : sheet.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name]." - user.drop_from_inventory(sheet) - sheet.loc = src + user.removeItem(sheet, src) pages.Insert(index, sheet) @@ -85,7 +84,7 @@ "You burn right through \the [src], turning it to ash. It flutters through the air before settling on the floor in a heap.") if(user.get_inactive_hand() == src) - user.drop_from_inventory(src) + user.removeItem(src) new /obj/effect/decal/cleanable/ash(src.loc) qdel(src) @@ -168,7 +167,7 @@ if(pages.len <= 1) var/obj/item/weapon/paper/P = src[1] - usr.drop_from_inventory(src) + usr.removeItem(src) usr.put_in_hands(P) qdel(src) @@ -206,8 +205,7 @@ O.loc = usr.loc O.layer = initial(O.layer) O.add_fingerprint(usr) - usr.drop_from_inventory(src) - qdel(src) + usr.deleteItem(src) return diff --git a/code/modules/paperwork/papershredder.dm b/code/modules/paperwork/papershredder.dm index 37cfdaa86b1..96daf90c992 100644 --- a/code/modules/paperwork/papershredder.dm +++ b/code/modules/paperwork/papershredder.dm @@ -31,8 +31,7 @@ user << "\The [src] is full; please empty it before you continue." return paperamount += paper_result - user.drop_from_inventory(W) - qdel(W) + user.deleteItem(W) playsound(src.loc, 'sound/items/pshred.ogg', 75, 1) if(paperamount > max_paper) user <<"\The [src] was too full, and shredded paper goes everywhere!" @@ -119,7 +118,7 @@ /obj/item/weapon/shreddedp/proc/FireBurn() var/mob/living/M = loc if(istype(M)) - M.drop_from_inventory(src) + M.removeItem(src) PoolOrNew(/obj/effect/decal/cleanable/ash,get_turf(src)) qdel(src) diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm index 8c7af58346e..26e3651c4d6 100644 --- a/code/modules/power/antimatter/control.dm +++ b/code/modules/power/antimatter/control.dm @@ -158,8 +158,7 @@ user << "\red There is already a [fueljar] inside!" return fueljar = W - user.remove_from_mob(W) - W.loc = src + user.removeItem(W, src) user.update_icons() user.visible_message("[user.name] loads an [W.name] into the [src.name].", \ "You load an [W.name].", \ diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 219ebff1410..9a7d5d14ac2 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -108,8 +108,7 @@ if(stored_ammo.len >= max_ammo) user << "[src] is full!" return - user.remove_from_mob(C) - C.loc = src + user.removeItem(C, src) stored_ammo.Insert(1, C) //add to the head of the list update_icon() diff --git a/code/modules/projectiles/guns/launcher/crossbow.dm b/code/modules/projectiles/guns/launcher/crossbow.dm index 407b70d20a1..1ab6b5bcacd 100644 --- a/code/modules/projectiles/guns/launcher/crossbow.dm +++ b/code/modules/projectiles/guns/launcher/crossbow.dm @@ -136,7 +136,7 @@ /obj/item/weapon/gun/launcher/crossbow/attackby(obj/item/W as obj, mob/user as mob) if(!bolt) if (istype(W,/obj/item/weapon/arrow)) - user.drop_from_inventory(W, src) + user.removeItem(W, src) bolt = W user.visible_message("[user] slides [bolt] into [src].","You slide [bolt] into [src].") update_icon() diff --git a/code/modules/projectiles/guns/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/launcher/grenade_launcher.dm index 547dc702cf7..fe05453df0a 100644 --- a/code/modules/projectiles/guns/launcher/grenade_launcher.dm +++ b/code/modules/projectiles/guns/launcher/grenade_launcher.dm @@ -47,8 +47,7 @@ if(grenades.len >= max_grenades) user << "[src] is full." return - user.remove_from_mob(G) - G.loc = src + user.removeItem(G, src) grenades.Insert(1, G) //add to the head of the list, so that it is loaded on the next pump user.visible_message("[user] inserts \a [G] into [src].", "You insert \a [G] into [src].") return @@ -106,8 +105,7 @@ if(chambered) user << "[src] is already loaded." return - user.remove_from_mob(G) - G.loc = src + user.removeItem(G, src) chambered = G user.visible_message("[user] load \a [G] into [src].", "You load \a [G] into [src].") return diff --git a/code/modules/projectiles/guns/launcher/pneumatic.dm b/code/modules/projectiles/guns/launcher/pneumatic.dm index b20e9521e60..efe0175d9bc 100644 --- a/code/modules/projectiles/guns/launcher/pneumatic.dm +++ b/code/modules/projectiles/guns/launcher/pneumatic.dm @@ -65,7 +65,7 @@ /obj/item/weapon/gun/launcher/pneumatic/attackby(obj/item/W as obj, mob/user as mob) if(!tank && istype(W,/obj/item/weapon/tank)) - user.drop_from_inventory(W, src) + user.removeItem(W, src) tank = W user.visible_message("[user] jams [W] into [src]'s valve and twists it closed.","You jam [W] into [src]'s valve and twist it closed.") update_icon() @@ -161,8 +161,7 @@ /obj/item/weapon/cannonframe/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/pipe)) if(buildstate == 0) - user.drop_from_inventory(W) - qdel(W) + user.deleteItem(W) user << "You secure the piping inside the frame." buildstate++ update_icon() @@ -179,8 +178,7 @@ return else if(istype(W,/obj/item/device/transfer_valve)) if(buildstate == 4) - user.drop_from_inventory(W) - qdel(W) + user.deleteItem(W) user << "You install the transfer valve and connect it to the piping." buildstate++ update_icon() diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm index 07cb48d784e..8f5f2047885 100644 --- a/code/modules/projectiles/guns/launcher/syringe_gun.dm +++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm @@ -22,8 +22,7 @@ if(istype(I, /obj/item/weapon/reagent_containers/syringe)) syringe = I user << "You carefully insert [syringe] into [src]." - user.remove_from_mob(syringe) - syringe.loc = src + user.removeItem(syringe, src) sharp = 1 name = "syringe dart" update_icon() @@ -123,8 +122,7 @@ if(darts.len >= max_darts) user << "[src] is full!" return - user.remove_from_mob(C) - C.loc = src + user.removeItem(C, src) darts += C //add to the end user.visible_message("[user] inserts \a [C] into [src].", "You insert \a [C] into [src].") else diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index d032cb38483..d61a02d30e6 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -104,8 +104,7 @@ if(ammo_magazine) user << "[src] already has a magazine loaded." //already a magazine here return - user.remove_from_mob(AM) - AM.loc = src + user.removeItem(AM, src) ammo_magazine = AM user.visible_message("[user] inserts [AM] into [src].", "You insert [AM] into [src].") playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1) @@ -134,8 +133,7 @@ user << "[src] is full." return - user.remove_from_mob(C) - C.loc = src + user.removeItem(C, src) loaded.Insert(1, C) //add to the head of the list user.visible_message("[user] inserts \a [C] into [src].", "You insert \a [C] into [src].") playsound(src.loc, 'sound/weapons/empty.ogg', 50, 1) diff --git a/code/modules/projectiles/projectile/change.dm b/code/modules/projectiles/projectile/change.dm index 9fcc709ba05..dfddd67882d 100644 --- a/code/modules/projectiles/projectile/change.dm +++ b/code/modules/projectiles/projectile/change.dm @@ -25,7 +25,7 @@ if(istype(W, /obj/item/weapon/implant)) //TODO: Carn. give implants a dropped() or something qdel(W) continue - M.drop_from_inventory(W) + M.removeItem(W, force = 1) var/mob/living/new_mob diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index d69bd5a13c4..c1f2dc0ddf2 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -393,8 +393,7 @@ user << "\The [O] is not suitable for blending." return 1 - user.remove_from_mob(O) - O.loc = src + user.removeItem(O, src) holdingitems += O src.updateUsrDialog() return 0 diff --git a/code/modules/reagents/dispenser/dispenser2.dm b/code/modules/reagents/dispenser/dispenser2.dm index 06c6bbb8eb7..060a4ecfcb2 100644 --- a/code/modules/reagents/dispenser/dispenser2.dm +++ b/code/modules/reagents/dispenser/dispenser2.dm @@ -50,7 +50,7 @@ return if(user) - user.drop_from_inventory(C) + user.removeItem(C) user << "You add \the [C] to \the [src]." C.loc = src @@ -103,8 +103,7 @@ return container = RC - user.drop_from_inventory(RC) - RC.loc = src + user.removeItem(RC, src) user << "You set \the [RC] on \the [src]." nanomanager.update_uis(src) // update all UIs attached to src diff --git a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm index c53d91675bf..396a35e1ec5 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm @@ -49,7 +49,7 @@ /obj/item/weapon/reagent_containers/food/drinks/bottle/proc/smash(var/newloc, atom/against = null) if(ismob(loc)) var/mob/M = loc - M.drop_from_inventory(src) + M.removeItem(src) //Creates a shattering noise and replaces the bottle with a broken_bottle var/obj/item/weapon/broken_bottle/B = new /obj/item/weapon/broken_bottle(newloc) @@ -110,10 +110,9 @@ /obj/item/weapon/reagent_containers/food/drinks/bottle/proc/insert_rag(obj/item/weapon/reagent_containers/glass/rag/R, mob/user) if(!isGlass || rag) return - if(user.unEquip(R)) + if(user.removeItem(R, src)) user << "You stuff [R] into [src]." rag = R - rag.forceMove(src) flags &= ~OPENCONTAINER update_icon() diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 5bde55f24dc..cfe34198de0 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -19,7 +19,7 @@ if(!usr) return if(!reagents.total_volume) M.visible_message("[M] finishes eating \the [src].","You finish eating \the [src].") - usr.drop_from_inventory(src) //so icons update :[ + usr.removeItem(src) //so icons update :[ if(trash) if(ispath(trash,/obj/item)) @@ -36,8 +36,7 @@ /obj/item/weapon/reagent_containers/food/snacks/attack(mob/M as mob, mob/user as mob, def_zone) if(!reagents.total_volume) user << "None of [src] left!" - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) return 0 if(istype(M, /mob/living/carbon)) @@ -164,10 +163,8 @@ return user << "\red You slip [W] inside [src]." - user.remove_from_mob(W) - W.dropped(user) + user.removeItem(W, src) add_fingerprint(user) - contents += W return if (has_edge(W)) @@ -490,8 +487,7 @@ return user << "You crack \the [src] into \the [O]." reagents.trans_to(O, reagents.total_volume) - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) /obj/item/weapon/reagent_containers/food/snacks/egg/throw_impact(atom/hit_atom) ..() @@ -1626,7 +1622,7 @@ H.name = H.real_name if(ismob(loc)) var/mob/M = loc - M.unEquip(src) + M.removeItem(src) qdel(src) return 1 diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index a5903e744d8..1a9484ea3eb 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -226,8 +226,7 @@ user << "You add [D] to [src]." qdel(D) user.put_in_hands(new /obj/item/weapon/bucket_sensor) - user.drop_from_inventory(src) - qdel(src) + user.deleteItem(src) return else if(istype(D, /obj/item/weapon/mop)) if(reagents.total_volume < 1) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 7fc7707c28b..e0dc0fc9f6b 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -31,7 +31,7 @@ return M << "You swallow \the [src]." - M.drop_from_inventory(src) //icon update + M.removeItem(src) //icon update if(reagents.total_volume) reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST) qdel(src) @@ -53,7 +53,7 @@ if(!do_mob(user, M)) return - user.drop_from_inventory(src) //icon update + user.removeItem(src) //icon update user.visible_message("[user] forces [M] to swallow \the [src].") var/contained = reagentlist() diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 741e9eccdd7..9b4b697f9c0 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -243,8 +243,7 @@ if (target != user && H.getarmor(target_zone, "melee") > 5 && prob(50)) for(var/mob/O in viewers(world.view, user)) O.show_message(text("\red [user] tries to stab [target] in \the [hit_area] with [src.name], but the attack is deflected by armor!"), 1) - user.remove_from_mob(src) - qdel(src) + user.deleteItem(src) user.attack_log += "\[[time_stamp()]\] Attacked [target.name] ([target.ckey]) with \the [src] (INTENT: HARM)." target.attack_log += "\[[time_stamp()]\] Attacked by [user.name] ([user.ckey]) with [src.name] (INTENT: HARM)." diff --git a/code/modules/spells/spellbook.dm b/code/modules/spells/spellbook.dm index 822bc8da7cf..822037d40d8 100644 --- a/code/modules/spells/spellbook.dm +++ b/code/modules/spells/spellbook.dm @@ -421,7 +421,7 @@ magichead.canremove = 0 //curses! magichead.flags_inv = null //so you can still see their face magichead.voicechange = 1 //NEEEEIIGHH - user.drop_from_inventory(user.wear_mask) + user.removeItem(user.wear_mask) user.equip_to_slot_if_possible(magichead, slot_wear_mask, 1, 1) qdel(src) else diff --git a/code/modules/spells/targeted/equip/equip.dm b/code/modules/spells/targeted/equip/equip.dm index 735daf78e8f..692a25fd359 100644 --- a/code/modules/spells/targeted/equip/equip.dm +++ b/code/modules/spells/targeted/equip/equip.dm @@ -19,7 +19,7 @@ var/obj/item/old_item = L.get_equipped_item(slot_id) L.equip_to_slot(new_item, slot_id) if(old_item) - L.remove_from_mob(old_item) + L.removeItem(old_item) if(delete_old) qdel(old_item) else @@ -33,8 +33,7 @@ for(var/obj/item/to_remove in summoned_items) if(istype(to_remove.loc, /mob)) var/mob/M = to_remove.loc - M.remove_from_mob(to_remove) - qdel(to_remove) + M.deleteItem(to_remove) /spell/targeted/equip_item/proc/summon_item(var/newtype) return new newtype diff --git a/code/modules/supermatter/supermatter.dm b/code/modules/supermatter/supermatter.dm index 4e80282daa7..e313b211965 100644 --- a/code/modules/supermatter/supermatter.dm +++ b/code/modules/supermatter/supermatter.dm @@ -342,7 +342,7 @@ "You touch \the [W] to \the [src] when everything suddenly goes silent.\"\n\The [W] flashes into dust as you flinch away from \the [src].",\ "Everything suddenly goes silent.") - user.drop_from_inventory(W) + user.removeItem(W) Consume(W) user.apply_effect(150, IRRADIATE) diff --git a/code/modules/surgery/limb_reattach.dm b/code/modules/surgery/limb_reattach.dm index aee13ede832..352dd9232d0 100644 --- a/code/modules/surgery/limb_reattach.dm +++ b/code/modules/surgery/limb_reattach.dm @@ -30,7 +30,7 @@ var/obj/item/organ/external/E = tool user.visible_message("[user] has attached [target]'s [E.name] to the [E.amputation_point].>", \ "You have attached [target]'s [E.name] to the [E.amputation_point].") - user.drop_from_inventory(E) + user.removeItem(E) E.replaced(target) E.loc = target target.update_body() diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 9b7b0067598..aee6e667e77 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -278,7 +278,7 @@ "You have transplanted \the [tool] into [target]'s [affected.name].") var/obj/item/organ/O = tool if(istype(O)) - user.remove_from_mob(O) + user.removeItem(O) O.replaced(target,affected) fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index 96ff090b366..1cd0bacef5e 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -417,8 +417,7 @@ var/obj/item/device/mmi/M = tool var/obj/item/organ/internal/mmi_holder/holder = new(target, 1) target.internal_organs_by_name["brain"] = holder - user.drop_from_inventory(tool) - tool.loc = holder + user.removeItem(tool, holder) holder.stored_mmi = tool holder.update_from_mmi() diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index ddc56dad3f6..634c2bbc595 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -237,8 +237,7 @@ if(!istype(C)) return - H.drop_from_inventory(C) - C.forceMove(src) + H.removeItem(C, src) cell = C powercheck() usr << "You install [C] in [src]."