diff --git a/code/datums/diseases/wizarditis.dm b/code/datums/diseases/wizarditis.dm index 4b2fd2ea24f..76424a971ac 100644 --- a/code/datums/diseases/wizarditis.dm +++ b/code/datums/diseases/wizarditis.dm @@ -61,21 +61,21 @@ STI KALY - blind if(prob(chance)) if(!istype(H.head, /obj/item/clothing/head/wizard)) if(H.head) - H.drop_from_inventory(H.head) + H.u_equip(H.head) H.head = new /obj/item/clothing/head/wizard(H) H.head.layer = 20 return if(prob(chance)) if(!istype(H.wear_suit, /obj/item/clothing/suit/wizrobe)) if(H.wear_suit) - H.drop_from_inventory(H.wear_suit) + H.u_equip(H.wear_suit) H.wear_suit = new /obj/item/clothing/suit/wizrobe(H) H.wear_suit.layer = 20 return if(prob(chance)) if(!istype(H.shoes, /obj/item/clothing/shoes/sandal)) if(H.shoes) - H.drop_from_inventory(H.shoes) + H.u_equip(H.shoes) H.shoes = new /obj/item/clothing/shoes/sandal(H) H.shoes.layer = 20 return diff --git a/code/datums/mind.dm b/code/datums/mind.dm index c3c3997d7fc..16d410fd737 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -877,7 +877,7 @@ datum/mind switch(href_list["common"]) if("undress") for(var/obj/item/W in current) - current.drop_from_inventory(W) + current.u_equip(W) if("takeuplink") take_uplink() memory = null//Remove any memory they may have had. diff --git a/code/datums/spells/horsemask.dm b/code/datums/spells/horsemask.dm index 30ddb9b1577..cb7c1a74924 100644 --- a/code/datums/spells/horsemask.dm +++ b/code/datums/spells/horsemask.dm @@ -35,7 +35,7 @@ magichead.voicechange = 1 //NEEEEIIGHH target.visible_message( "[target]'s face lights up in fire, and after the event a horse's head takes its place!", \ "Your face burns up, and shortly after the fire you realise you have the face of a horse!") - target.drop_from_inventory(target.wear_mask) + target.u_equip(target.wear_mask) target.equip_to_slot_if_possible(magichead, slot_wear_mask, 1, 1) flick("e_flash", target.flash) diff --git a/code/game/gamemodes/changeling/changeling_mutations.dm b/code/game/gamemodes/changeling/changeling_mutations.dm index b2f502092d3..d8b349fd6d7 100644 --- a/code/game/gamemodes/changeling/changeling_mutations.dm +++ b/code/game/gamemodes/changeling/changeling_mutations.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/weapons.dmi' icon_state = "arm_blade" item_state = "arm_blade" - flags = ABSTRACT + flags = ABSTRACT | NODROP w_class = 5.0 force = 25 throwforce = 0 //Just to be on the safe side diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index 5248f8e581f..c7de9150fe8 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -541,18 +541,20 @@ var/list/datum/dna/hivemind_bank = list() set name = "Arm Blade (20)" if(istype(l_hand, /obj/item/weapon/melee/arm_blade)) //Not the nicest way to do it, but eh - u_equip(l_hand) + del l_hand //Arm blades can't be dropped, we have to delete them directly. return if(istype(r_hand, /obj/item/weapon/melee/arm_blade)) - u_equip(r_hand) + del r_hand return var/datum/changeling/changeling = changeling_power(20) if(!changeling) return - u_equip(get_active_hand()) + if(!drop_item()) + usr << "The [get_active_hand()] is stuck to your hand, you cannot grow a blade over it!" + return put_in_hands(new /obj/item/weapon/melee/arm_blade(src)) changeling.geneticdamage += 6 diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index 81d819b3a00..51f3e43e8a2 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -107,7 +107,7 @@ U << "\red Capture failed!: \black The soul stone is full! Use or free an existing soul to make room." else for(var/obj/item/W in T) - T.drop_from_inventory(W) + T.u_equip(W) new /obj/effect/decal/remains/human(T.loc) //Spawns a skeleton T.invisibility = 101 var/atom/movable/overlay/animation = new /atom/movable/overlay( T.loc ) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 7c2f5ddf5cc..a0f661a3dbf 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -475,7 +475,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.u_equip(user.wear_mask) user.equip_to_slot_if_possible(magichead, slot_wear_mask, 1, 1) del(src) else diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 7d22a5ae9b2..a43ef59b258 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -232,7 +232,7 @@ var/global/list/autolathe_recipes_hidden = list( \ flick("autolathe_r",src)//plays glass insertion animation stack.use(amount) else - usr.before_take_item(O) + usr.u_equip(O) O.loc = src icon_state = "autolathe" busy = 1 diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm index 42f73d7a77e..c6f29a0b8ad 100644 --- a/code/game/machinery/bots/cleanbot.dm +++ b/code/game/machinery/bots/cleanbot.dm @@ -336,7 +336,7 @@ text("[src.oddbutton ? "Yes" : "No" var/obj/machinery/bot/cleanbot/A = new /obj/machinery/bot/cleanbot(T) A.name = src.created_name user << "You add the robot arm to the bucket and sensor assembly. Beep boop!" - user.drop_from_inventory(src) + user.u_equip(src) del(src) else if (istype(W, /obj/item/weapon/pen)) diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm index b62f402970d..cf753348b64 100644 --- a/code/game/machinery/bots/ed209bot.dm +++ b/code/game/machinery/bots/ed209bot.dm @@ -1015,7 +1015,7 @@ Auto Patrol: []"}, new /obj/machinery/bot/ed209(T,created_name,lasercolor) user.drop_item() del(W) - user.drop_from_inventory(src) + user.u_equip(src) del(src) diff --git a/code/game/machinery/bots/floorbot.dm b/code/game/machinery/bots/floorbot.dm index 0c53371b455..51fcd8c9c52 100644 --- a/code/game/machinery/bots/floorbot.dm +++ b/code/game/machinery/bots/floorbot.dm @@ -404,7 +404,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) + user.u_equip(src) del(src) /obj/item/weapon/toolbox_tiles/attackby(var/obj/item/W, mob/user as mob) @@ -415,7 +415,7 @@ B.created_name = src.created_name user.put_in_hands(B) user << "You add the sensor to the toolbox and tiles!" - user.drop_from_inventory(src) + user.u_equip(src) del(src) else if (istype(W, /obj/item/weapon/pen)) @@ -435,7 +435,7 @@ var/obj/machinery/bot/floorbot/A = new /obj/machinery/bot/floorbot(T) A.name = src.created_name user << "You add the robot arm to the odd looking toolbox assembly! Boop beep!" - user.drop_from_inventory(src) + user.u_equip(src) del(src) else if (istype(W, /obj/item/weapon/pen)) var/t = stripped_input(user, "Enter new robot name", src.name, src.created_name) diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm index 251bd2705fb..a58583e8968 100644 --- a/code/game/machinery/bots/medbot.dm +++ b/code/game/machinery/bots/medbot.dm @@ -554,7 +554,7 @@ del(S) user.put_in_hands(A) user << "You add the robot arm to the first aid kit." - user.drop_from_inventory(src) + user.u_equip(src) del(src) @@ -588,6 +588,6 @@ var/obj/machinery/bot/medbot/S = new /obj/machinery/bot/medbot(T) S.skin = src.skin S.name = src.created_name - user.drop_from_inventory(src) + user.u_equip(src) del(src) diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm index 6e7c8e9425c..38a982850a0 100644 --- a/code/game/machinery/bots/secbot.dm +++ b/code/game/machinery/bots/secbot.dm @@ -706,7 +706,7 @@ Auto Patrol: []"}, 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) + user.u_equip(src) del(src) else return diff --git a/code/game/machinery/kitchen/juicer.dm b/code/game/machinery/kitchen/juicer.dm index 2b84e51908d..7ce9a84da4b 100644 --- a/code/game/machinery/kitchen/juicer.dm +++ b/code/game/machinery/kitchen/juicer.dm @@ -40,7 +40,7 @@ if (beaker) return 1 else - user.before_take_item(O) + user.u_equip(O) O.loc = src beaker = O src.verbs += /obj/machinery/juicer/verb/detach @@ -50,7 +50,7 @@ if (!is_type_in_list(O, allowed_items)) user << "It looks as not containing any juice." return 1 - user.before_take_item(O) + user.u_equip(O) O.loc = src src.updateUsrDialog() return 0 diff --git a/code/game/machinery/kitchen/microwave.dm b/code/game/machinery/kitchen/microwave.dm index c1d1e5913b8..9f7221936d2 100644 --- a/code/game/machinery/kitchen/microwave.dm +++ b/code/game/machinery/kitchen/microwave.dm @@ -146,7 +146,7 @@ "\blue [user] has added one of [O] to \the [src].", \ "\blue You add one of [O] to \the [src].") else - // user.before_take_item(O) //This just causes problems so far as I can tell. -Pete + // user.u_equip(O) //This just causes problems so far as I can tell. -Pete user.drop_item() O.loc = src user.visible_message( \ diff --git a/code/game/machinery/kitchen/smartfridge.dm b/code/game/machinery/kitchen/smartfridge.dm index 81bb2a6f822..e6236e9c45a 100644 --- a/code/game/machinery/kitchen/smartfridge.dm +++ b/code/game/machinery/kitchen/smartfridge.dm @@ -101,7 +101,7 @@ /obj/machinery/smartfridge/proc/load(var/obj/item/O as obj) if(istype(O.loc,/mob)) var/mob/M = O.loc - M.before_take_item(O) + M.u_equip(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/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 6964893a50f..343e0dcd0db 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -656,7 +656,7 @@ I:amount -= 2 icon_state = "turret_frame2" if(I:amount <= 0) - user.before_take_item(I) + user.u_equip(I) del(I) else user << "You need two sheets of metal for that." @@ -704,7 +704,7 @@ gun_charge = E.power_supply.charge //the gun's charge is stored in gun_charge user << "You add [I] to the turret." build_step = 4 - user.before_take_item(I) + user.u_equip(I) del(I) //delete the gun :( return @@ -718,7 +718,7 @@ if(isprox(I)) build_step = 5 user << "You add the prox sensor to the turret." - user.before_take_item(I) + user.u_equip(I) del(I) return @@ -740,7 +740,7 @@ build_step = 7 I:amount -= 2 if(I:amount <= 0) - user.before_take_item(I) + user.u_equip(I) del(I) else user << "You need two sheets of metal for that." diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index 466a2f52338..02cee3517cc 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -138,7 +138,7 @@ var/const/SAFETY_COOLDOWN = 100 // Remove and recycle the equipped items. for(var/obj/item/I in L.get_equipped_items()) - L.drop_from_inventory(I) + L.u_equip(I) recycle(I, 0) // Instantly lie down, also go unconscious from the pain, before you die. diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index b3f18893642..d177169e773 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -28,7 +28,7 @@ if(istype(I, /obj/item/device/gps)) var/obj/item/device/gps/L = I if(L.locked_location && !(stat & (NOPOWER|BROKEN))) - user.drop_from_inventory(L) + user.u_equip(L) L.loc = src locked = L user << "You insert the GPS device into the [name]'s slot." diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 92e50c1cc62..62140bcdbc2 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -140,7 +140,7 @@ var/mob/living/carbon/human/H = M if(isobj(H.shoes)) var/thingy = H.shoes - H.drop_from_inventory(H.shoes) + H.u_equip(H.shoes) walk_away(thingy,chassis,15,2) spawn(20) if(thingy) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 24bb9f24184..d5e76014f0a 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -755,7 +755,7 @@ return else if(istype(W, /obj/item/mecha_parts/mecha_tracking)) - user.drop_from_inventory(W) + user.u_equip(W) W.forceMove(src) user.visible_message("[user] attaches [W] to [src].", "You attach [W] to [src]") return @@ -1038,7 +1038,7 @@ else if(mmi_as_oc.brainmob.stat) user << "Beta-rhythm below acceptable level." return 0 - user.drop_from_inventory(mmi_as_oc) + user.u_equip(mmi_as_oc) var/mob/brainmob = mmi_as_oc.brainmob brainmob.reset_view(src) /* diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 28287c98f6b..a14587c0f4a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -172,7 +172,7 @@ if(!A.has_fine_manipulation || w_class >= 4) if(src in A.contents) // To stop Aliens having items stuck in their pockets - A.drop_from_inventory(src) + A.u_equip(src) user << "Your claws aren't capable of such fine manipulation." return attack_paw(A) diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index 189cc4e9158..c29bcf69d7e 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -65,7 +65,7 @@ new/obj/item/trash/candle(src.loc) if(istype(src.loc, /mob)) var/mob/M = src.loc - M.before_take_item(src) + M.u_equip(src) del(src) update_icon() if(istype(loc, /turf)) //start a fire if possible diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 095849c6f9f..f5a534e5fcd 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -28,12 +28,12 @@ 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) + user.u_equip(W) W.loc = A W.master = A A.part1 = W - user.drop_from_inventory(src) + user.u_equip(src) loc = A master = A A.part2 = src diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 56494e4778a..d9524d76e29 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -103,7 +103,7 @@ user << "You armed the robot frame" W:use(1) if (user.get_inactive_hand()==src) - user.before_take_item(src) + user.u_equip(src) user.put_in_inactive_hand(B) del(src) if(istype(W, /obj/item/robot_parts/l_leg)) diff --git a/code/game/objects/items/stacks/sheets/light.dm b/code/game/objects/items/stacks/sheets/light.dm index 49c3944fe19..a01cebe4dab 100644 --- a/code/game/objects/items/stacks/sheets/light.dm +++ b/code/game/objects/items/stacks/sheets/light.dm @@ -21,18 +21,18 @@ var/obj/item/stack/sheet/glass/G = new (user.loc) G.add_fingerprint(user) if(amount <= 0) - user.drop_from_inventory(src) + user.u_equip(src) del(src) if(istype(O,/obj/item/stack/sheet/metal)) var/obj/item/stack/sheet/metal/M = O M.amount-- if(M.amount <= 0) - user.drop_from_inventory(M) + user.u_equip(M) del(M) amount-- var/obj/item/stack/tile/light/L = new (user.loc) L.add_fingerprint(user) if(amount <= 0) - user.drop_from_inventory(src) + user.u_equip(src) del(src) diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 597f61856a7..faebc3f2fdd 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -122,7 +122,7 @@ if (src.amount<=0) var/oldsrc = src src = null //dont kill proc after del() - usr.before_take_item(oldsrc) + usr.u_equip(oldsrc) del(oldsrc) if (istype(O,/obj/item)) usr.put_in_hands(O) @@ -144,7 +144,7 @@ var/oldsrc = src src = null //dont kill proc after del() if(usr) - usr.before_take_item(oldsrc) + usr.u_equip(oldsrc) del(oldsrc) return diff --git a/code/game/objects/items/stacks/tiles/light.dm b/code/game/objects/items/stacks/tiles/light.dm index 8419a711afc..716956fca9a 100644 --- a/code/game/objects/items/stacks/tiles/light.dm +++ b/code/game/objects/items/stacks/tiles/light.dm @@ -32,5 +32,5 @@ amount-- new/obj/item/stack/light_w(user.loc) if(amount <= 0) - user.drop_from_inventory(src) + user.u_equip(src) del(src) \ No newline at end of file diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 1bfebb27612..cdb5c126666 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -345,8 +345,8 @@ if(hacked) // That's right, we'll only check the "original" "sword". newSaber.hacked = 1 newSaber.item_color = "rainbow" - user.before_take_item(W) - user.before_take_item(src) + user.u_equip(W) + user.u_equip(src) del(W) del(src) else if(istype(W, /obj/item/device/multitool)) diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 7c0289be040..3f41470daf5 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -153,7 +153,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM e.start() if(ismob(loc)) var/mob/M = loc - M.drop_from_inventory(src) + M.u_equip(src) del(src) return if(reagents.get_reagent_amount("fuel")) // the fuel explodes, too, but much less violently @@ -162,7 +162,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM e.start() if(ismob(loc)) var/mob/M = loc - M.drop_from_inventory(src) + M.u_equip(src) del(src) return flags &= ~NOREACT // allowing reagents to react after being lit diff --git a/code/game/objects/items/weapons/grenades/ghettobomb.dm b/code/game/objects/items/weapons/grenades/ghettobomb.dm index c4ddd2588ce..24cc00270d2 100644 --- a/code/game/objects/items/weapons/grenades/ghettobomb.dm +++ b/code/game/objects/items/weapons/grenades/ghettobomb.dm @@ -5,8 +5,8 @@ if(istype(I, /obj/item/device/assembly/igniter)) var/obj/item/device/assembly/igniter/G = I var/obj/item/weapon/grenade/iedcasing/W = new /obj/item/weapon/grenade/iedcasing - user.before_take_item(G) - user.before_take_item(src) + user.u_equip(G) + user.u_equip(src) user.put_in_hands(W) user << "You stuff the [I] in the [src], emptying the contents beforehand." W.underlays += image(src.icon, icon_state = src.icon_state) diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index 940c1404c40..2857d6fdc6b 100644 --- a/code/game/objects/items/weapons/grenades/grenade.dm +++ b/code/game/objects/items/weapons/grenades/grenade.dm @@ -78,7 +78,7 @@ /obj/item/weapon/grenade/proc/update_mob() if(ismob(loc)) var/mob/M = loc - M.drop_from_inventory(src) + M.u_equip(src) /obj/item/weapon/grenade/attackby(obj/item/weapon/W as obj, mob/user as mob) diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 462fcf813d5..d7a82c0fc11 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -94,7 +94,7 @@ var/obj/item/weapon/wirerod/W = new /obj/item/weapon/wirerod R.use(1) - user.before_take_item(src) + user.u_equip(src) user.put_in_hands(W) user << "You wrap the cable restraint around the top of the rod." diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index b866b42e76b..a53c49f5705 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -111,8 +111,8 @@ if(src.hacked) // That's right, we'll only check the "original" esword. newSaber.hacked = 1 newSaber.item_color = "rainbow" - user.before_take_item(W) - user.before_take_item(src) + user.u_equip(W) + user.u_equip(src) del(W) del(src) else if(istype(W, /obj/item/device/multitool)) diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm index 042b9fec2e3..82499e765a8 100644 --- a/code/game/objects/items/weapons/tanks/tank_types.dm +++ b/code/game/objects/items/weapons/tanks/tank_types.dm @@ -109,7 +109,7 @@ if ((!F.status)||(F.ptank)) return src.master = F F.ptank = src - user.before_take_item(src) + user.u_equip(src) src.loc = F return diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 15e5b03ed07..4d661b37702 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -362,7 +362,7 @@ var/obj/item/stack/rods/R = I R.use(1) var/obj/item/weapon/flamethrower/F = new /obj/item/weapon/flamethrower(user.loc) - user.drop_from_inventory(src) + user.u_equip(src) loc = F F.weldtool = src add_fingerprint(user) diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index ad672c49068..7d1dacfdaa0 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -109,8 +109,8 @@ obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob) if(istype(I, /obj/item/weapon/shard)) var/obj/item/weapon/twohanded/spear/S = new /obj/item/weapon/twohanded/spear - user.before_take_item(I) - user.before_take_item(src) + user.u_equip(I) + user.u_equip(src) user.put_in_hands(S) user << "You fasten the glass shard to the top of the rod with the cable." @@ -120,8 +120,8 @@ obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob) else if(istype(I, /obj/item/weapon/wirecutters)) var/obj/item/weapon/melee/baton/cattleprod/P = new /obj/item/weapon/melee/baton/cattleprod - user.before_take_item(I) - user.before_take_item(src) + user.u_equip(I) + user.u_equip(src) user.put_in_hands(P) user << "You fasten the wirecutters to the top of the rod with the cable, prongs outward." diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 6d8599bbff4..2f586563eb3 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -295,7 +295,7 @@ if(istype(M) && M.head) var/obj/item/clothing/head/H = M.head if(!istype(H) || prob(M.hat_fall_prob())) - M.drop_from_inventory(H) + M.u_equip(H) if(prob(60)) step_rand(H) if(!M.stat) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index c2632214ab1..4ce30262e23 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.u_equip(W) 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) diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index 12625235672..4e7159d89f9 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -16,7 +16,7 @@ item_state = "rdwhimsy" item_color = "rdwhimsy" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0) - flags = FPRINT | TABLEPASS + flags = FPRINT /obj/item/clothing/under/rank/scientist desc = "It's made of a special fiber that provides minor protection against biohazards. It has markings that denote the wearer as a scientist." diff --git a/code/modules/events/ninja.dm b/code/modules/events/ninja.dm index 8f83e055f1d..af9c80fbda6 100644 --- a/code/modules/events/ninja.dm +++ b/code/modules/events/ninja.dm @@ -2690,7 +2690,7 @@ It is possible to destroy the net by the occupant or someone else. if(istype(M,/mob/living/carbon/human)) if(W==M:w_uniform) continue//So all they're left with are shoes and uniform. if(W==M:shoes) continue - M.drop_from_inventory(W) + M.u_equip(W) spawn(0) playsound(M.loc, 'sound/effects/sparks4.ogg', 50, 1) diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index f49214a6b79..2d6661b7ce6 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -54,7 +54,7 @@ if(beaker) user << "\red The biogenerator already occuped." else - user.before_take_item(O) + user.u_equip(O) O.loc = src beaker = O updateUsrDialog() @@ -86,7 +86,7 @@ if(i >= 10) user << "\red The biogenerator is full! Activate it." else - user.before_take_item(O) + user.u_equip(O) O.loc = src user << "\blue You put [O.name] in [src.name]" diff --git a/code/modules/hydroponics/hydroitemcode.dm b/code/modules/hydroponics/hydroitemcode.dm index 32dadac282a..245618d6e63 100644 --- a/code/modules/hydroponics/hydroitemcode.dm +++ b/code/modules/hydroponics/hydroitemcode.dm @@ -20,7 +20,7 @@ endurance -= rand(1,(endurance/3)+1) else usr << "All the petals have fallen off the [name] from violent whacking." - usr.drop_from_inventory(src) + usr.u_equip(src) del(src) /obj/item/weapon/grown/novaflower/pickup(mob/living/carbon/human/user as mob) @@ -46,7 +46,7 @@ force -= rand(1,(force/3)+1) // When you whack someone with it, leaves fall off else usr << "All the leaves have fallen off the nettle from violent whacking." - usr.drop_from_inventory(src) + usr.u_equip(src) del(src) /obj/item/weapon/grown/nettle/changePotency(newValue) //-QualityVan @@ -86,7 +86,7 @@ else usr << "All the leaves have fallen off the deathnettle from violent whacking." - usr.drop_from_inventory(src) + usr.u_equip(src) del(src) /obj/item/weapon/grown/deathnettle/changePotency(newValue) //-QualityVan @@ -100,7 +100,7 @@ if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/kitchen/utensil/knife)) user << "You use [W] to fashion a pipe out of the corn cob!" new /obj/item/clothing/mask/cigarette/pipe/cobpipe (user.loc) - usr.drop_from_inventory(src) + usr.u_equip(src) del(src) return @@ -115,7 +115,7 @@ if(inner_teleport_radius < 1) //Wasn't potent enough, it just splats. new/obj/effect/decal/cleanable/oil(src.loc) src.visible_message("The [src.name] has been squashed.","You hear a smack.") - usr.drop_from_inventory(src) + usr.u_equip(src) del(src) return for(var/turf/T in orange(M,outer_teleport_radius)) diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index b90479c06d1..3336482f376 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -79,39 +79,14 @@ return 0 -/mob/proc/drop_from_inventory(var/obj/item/W) - if(W) - if(client) - client.screen -= W - if(!u_equip(W)) - return 0 - if(!W) - return 1 // self destroying objects (tk, grabs) - W.layer = initial(W.layer) - W.loc = loc - - var/turf/T = get_turf(loc) - if(isturf(T)) - T.Entered(W) - - W.dropped(src) - //update_icons() // Redundant as u_equip will handle updating the specific overlay //WELL HALF OF THIS GODDDAMN PROC IS REDUNDANT DUE TO U_EQUIP - return 1 - return 0 - - //Drops the item in our left hand /mob/proc/drop_l_hand() //I really fucking wonder why this proc had an argument holy shit. - if(u_equip(l_hand)) //All needed checks are in u_equip - return 1 - return 0 + return u_equip(l_hand) //All needed checks are in u_equip //Drops the item in our right hand /mob/proc/drop_r_hand() - if(u_equip(r_hand)) //Why was this not calling u_equip in the first place jesus fuck. - return 1 - return 0 + return u_equip(r_hand) //Why was this not calling u_equip in the first place jesus fuck. //Drops the item in our active hand. @@ -120,25 +95,23 @@ else return drop_r_hand() -//Things that aren't strictly hand-related are below this comment, apparently. - -//TODO: phase out this proc -/mob/proc/before_take_item(var/obj/item/W) //TODO: what is this? - W.loc = null - W.layer = initial(W.layer) - u_equip(W) - return - +//Here lie drop_from_inventory and before_item_take, already forgotten and not missed. /mob/proc/u_equip(obj/item/I) - if(!istype(I) /* ;_; */ || (I.flags & NODROP)) return 0 + if(!I) //If there's nothing to drop, the drop is automatically succesfull. If(u_equip) should generally be used to check for NODROP. + world << "nothing here u fage" + return 1 + + if(I.flags & NODROP) + world << "cant drop this fucking shit" + return 0 if(I == r_hand) r_hand = null - update_inv_r_hand(0) + update_inv_r_hand() else if(I == l_hand) l_hand = null - update_inv_l_hand(0) + update_inv_l_hand() if(I) if(client) @@ -147,16 +120,13 @@ I.dropped(src) if(I) I.layer = initial(I.layer) - + world << "grats u did it m8 u happy now hahaha" return 1 //Attemps to remove an object on a mob. Will not move it to another area or such, just removes from the 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) + u_equip(O) O.screen_loc = null return 1 diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 4f076f5bf35..9cd918a96d4 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -40,7 +40,7 @@ var/const/MAX_ACTIVE_TIME = 400 /obj/item/clothing/mask/facehugger/attack(mob/living/M as mob, mob/user as mob) ..() - user.drop_from_inventory(src) + user.u_equip(src) Attach(M) /obj/item/clothing/mask/facehugger/examine() @@ -130,7 +130,7 @@ var/const/MAX_ACTIVE_TIME = 400 if(prob(20)) return 0 var/obj/item/clothing/W = target.wear_mask if(!W.canremove) return 0 - target.drop_from_inventory(W) + target.u_equip(W) target.visible_message("\red \b [src] tears [W] off of [target]'s face!") diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 509bfcfe04c..473d8884288 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -158,7 +158,7 @@ //End BubbleWrap if(!talked) //BubbleWrap - if(!drop_item()) + if(drop_item()) visible_message("[M] has disarmed [src]!", \ "[M] has disarmed [src]!") playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index f96f769c801..1dcd9570ad4 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -342,7 +342,7 @@ Please contact me on #coderbus IRC. ~Carnie x else // Automatically drop anything in store / id / belt if you're not wearing a uniform. //CHECK IF NECESARRY for(var/obj/item/thing in list(r_store, l_store, wear_id, belt)) // - drop_from_inventory(thing) + u_equip(thing) apply_overlay(UNIFORM_LAYER) @@ -486,7 +486,7 @@ Please contact me on #coderbus IRC. ~Carnie x overlays_standing[SUIT_LAYER] = standing if(istype(wear_suit, /obj/item/clothing/suit/straight_jacket)) - drop_from_inventory(handcuffed) + u_equip(handcuffed) drop_l_hand() drop_r_hand() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index d7971d244b7..1bd6cbe5d42 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -483,15 +483,15 @@ var/list/slot_equipment_priority = list( \ var/slot = text2num(href_list["item"]) var/obj/item/what = get_item_by_slot(slot) - if(what && !(what.flags & NODROP)) + if(what) + if(what.flags & NODROP) + usr << "You can't remove \the [what.name], it appears to be stuck!" visible_message("[usr] tries to remove [src]'s [what.name].", \ "[usr] tries to remove [src]'s [what.name].") what.add_fingerprint(usr) if(do_mob(usr, src, STRIP_DELAY)) if(what && Adjacent(usr)) u_equip(what) - else if(what.flags & NODROP) - usr << "You can't remove [src]'s [what.name], it is stuck!" else what = usr.get_active_hand() if(what && what.mob_can_equip(src, slot, 1)) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 98436558302..4e2ab2d245b 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -11,7 +11,7 @@ if(tr_flags & TR_KEEPITEMS) for(var/obj/item/W in (src.contents-implants)) - drop_from_inventory(W) + u_equip(W) //Make mob invisible and spawn animation regenerate_icons() @@ -108,7 +108,7 @@ W.layer = initial(W.layer) // for(var/obj/item/W in src) - // drop_from_inventory(W) + // u_equip(W) //Make mob invisible and spawn animation regenerate_icons() @@ -195,7 +195,7 @@ if (notransform) return for(var/obj/item/W in src) - drop_from_inventory(W) + u_equip(W) regenerate_icons() notransform = 1 canmove = 0 @@ -271,7 +271,7 @@ if(delete_items) del(W) else - drop_from_inventory(W) + u_equip(W) regenerate_icons() notransform = 1 canmove = 0 @@ -313,7 +313,7 @@ if (notransform) return for(var/obj/item/W in src) - drop_from_inventory(W) + u_equip(W) regenerate_icons() notransform = 1 canmove = 0 @@ -343,7 +343,7 @@ if (notransform) return for(var/obj/item/W in src) - drop_from_inventory(W) + u_equip(W) regenerate_icons() notransform = 1 canmove = 0 @@ -384,7 +384,7 @@ if (notransform) return for(var/obj/item/W in src) - drop_from_inventory(W) + u_equip(W) regenerate_icons() notransform = 1 canmove = 0 @@ -413,7 +413,7 @@ if(notransform) return for(var/obj/item/W in src) - drop_from_inventory(W) + u_equip(W) regenerate_icons() notransform = 1 diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 0035f9f1d71..880013ba44b 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -948,7 +948,7 @@ obj/machinery/computer/pandemic/proc/replicator_cooldown(var/waittime) user << "Cannot refine into a reagent." return 1 - user.before_take_item(O) + user.u_equip(O) O.loc = src holdingitems += O src.updateUsrDialog() diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index daf91b96f9b..8b86fcb07c4 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -17,7 +17,7 @@ /obj/item/weapon/reagent_containers/food/snacks/proc/On_Consume() if(!usr) return if(!reagents.total_volume) - usr.drop_from_inventory(src) //so icons update :[ + usr.u_equip(src) //so icons update :[ if(trash) if(ispath(trash,/obj/item/weapon/grown)) @@ -41,7 +41,7 @@ eatverb = pick("bite","chew","nibble","gnaw","gobble","chomp") if(!reagents.total_volume) //Shouldn't be needed but it checks to see if it has anything left in it. user << "None of [src] left, oh no!" - M.drop_from_inventory(src) //so icons update :[ + M.u_equip(src) //so icons update :[ del(src) return 0 if(istype(M, /mob/living/carbon)) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 673e08aefaa..b50f74a784a 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -205,7 +205,7 @@ user << "You add [D] to [src]." del(D) user.put_in_hands(new /obj/item/weapon/bucket_sensor) - user.drop_from_inventory(src) + user.u_equip(src) del(src) /* diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 7a4ae30f964..7813995456f 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -21,7 +21,7 @@ attack(mob/M, mob/user, def_zone) if(M == user) M << "You swallow [src]." - M.drop_from_inventory(src) //icon update + M.u_equip(src) //icon update if(reagents.total_volume) reagents.reaction(M, INGEST) spawn(5) @@ -37,7 +37,7 @@ if(!do_mob(user, M)) return - user.drop_from_inventory(src) //icon update + user.u_equip(src) //icon update M.visible_message("[user] forces [M] to swallow [src].", \ "[user] forces [M] to swallow [src].") diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm index 8c29fb7f0dd..34cec2e6613 100644 --- a/code/modules/telesci/telesci_computer.dm +++ b/code/modules/telesci/telesci_computer.dm @@ -76,7 +76,7 @@ else if(istype(W, /obj/item/device/gps)) if(!inserted_gps) inserted_gps = W - user.drop_from_inventory(W) + user.u_equip(W) W.loc = src user.visible_message("[user] inserts [W] into \the [src]'s GPS device slot.") else if(istype(W, /obj/item/device/multitool)) diff --git a/code/unused/assemblies.dm b/code/unused/assemblies.dm index 0b6db495148..fcfdf88d58f 100644 --- a/code/unused/assemblies.dm +++ b/code/unused/assemblies.dm @@ -211,7 +211,7 @@ part2 = null user.put_in_hand(R) - user.before_take_item(W) + user.u_equip(W) R.part3 = W R.part3.master = R del(src)