mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-27 06:00:23 +01:00
Merge pull request #1243 from Kelenius/cleanupTwo
Mob inventory cleanup, part 2
This commit is contained in:
+1
-1
@@ -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.
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
user.visible_message("<span class='warning'>[user] has unsheathed \a [concealed_blade] from \his [src]!</span>", "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("<span class='warning'>[user] has sheathed \a [W] into \his [src]!</span>", "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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
playsound(src, 'sound/effects/supermatter.ogg', 50, 1)
|
||||
|
||||
user.drop_from_inventory(W)
|
||||
user.removeItem(W, force = 1)
|
||||
Consume(W)
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -52,8 +52,7 @@
|
||||
if(beaker)
|
||||
user << "<span class='notice'>]The [src] is already loaded.</span>"
|
||||
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 << "<span class='notice'>\The [src] is full! Activate it.</span>"
|
||||
else
|
||||
user.remove_from_mob(O)
|
||||
O.loc = src
|
||||
user.removeItem(O, src)
|
||||
user << "<span class='notice'>You put \the [O] in \the [src]</span>"
|
||||
update_icon()
|
||||
return
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -126,9 +126,7 @@
|
||||
"<span class='notice'>You add one of [O] to \the [src].</span>")
|
||||
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( \
|
||||
"<span class='notice'>\The [user] has added \the [O] to \the [src].</span>", \
|
||||
"<span class='notice'>You add \the [O] to \the [src].</span>")
|
||||
|
||||
@@ -218,8 +218,7 @@
|
||||
user << "<span class='notice'>\The [src] is full.</span>"
|
||||
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
|
||||
|
||||
@@ -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 ..()
|
||||
|
||||
|
||||
@@ -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 << "<span class='notice'>\the [I] is stuck to your hand, you cannot put it in \the [src]</span>"
|
||||
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 << "<span class='notice'>\the [I] is stuck to your hand, you cannot put it in \the [src]</span>"
|
||||
return
|
||||
user << "<span class='notice'>You add the prox sensor to the turret.</span>"
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -17,8 +17,7 @@
|
||||
return
|
||||
var/obj/S = new deploy_path(get_turf(user))
|
||||
user.visible_message("<span class='notice'>\The [user] deploys \the [S].</span>")
|
||||
user.unEquip(src)
|
||||
qdel(src)
|
||||
user.deleteItem(src)
|
||||
|
||||
/obj/machinery/power/supply_beacon
|
||||
name = "supply beacon"
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -23,8 +23,7 @@
|
||||
|
||||
if(!parts)
|
||||
user << "<span class='warning'>This kit has no parts for this modification left.</span>"
|
||||
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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -47,9 +47,8 @@
|
||||
if(attached_device)
|
||||
user << "<span class='warning'>There is already an device attached to the valve, remove it first.</span>"
|
||||
return
|
||||
user.remove_from_mob(item)
|
||||
user.removeItem(A, src)
|
||||
attached_device = A
|
||||
A.loc = src
|
||||
user << "<span class='notice'>You attach the [item] to the valve controls and secure it.</span>"
|
||||
A.holder = src
|
||||
A.toggle_secure() //this calls update_icon(), which calls update_icon() on the holder (i.e. the bomb).
|
||||
|
||||
@@ -72,8 +72,7 @@
|
||||
return
|
||||
var/obj/item/weapon/spacecash/S = W
|
||||
user.visible_message("<span class='notice'>[user] puts [S.worth] [S.worth > 1 ? "thalers" : "thaler"] into \the [src].</span>")
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
B.loc = get_turf(src)
|
||||
user << "<span class='notice'>You armed the robot frame.</span>"
|
||||
if (user.get_inactive_hand()==src)
|
||||
user.remove_from_mob(src)
|
||||
user.removeItem(src)
|
||||
user.put_in_inactive_hand(B)
|
||||
qdel(src)
|
||||
else
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -51,8 +51,7 @@
|
||||
if((stored_matter + 10) > 30)
|
||||
user << "<span class='notice'>The RCD can't hold any more matter-units.</span>"
|
||||
return
|
||||
user.drop_from_inventory(W)
|
||||
qdel(W)
|
||||
user.deleteItem(W)
|
||||
stored_matter += 10
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
user << "<span class='notice'>The RCD now holds [stored_matter]/30 matter-units.</span>"
|
||||
|
||||
@@ -156,7 +156,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
var/mob/living/M = loc
|
||||
if (!nomessage)
|
||||
M << "<span class='notice'>Your [name] goes out.</span>"
|
||||
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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -59,8 +59,7 @@
|
||||
path = 1
|
||||
user << "<span class='notice'>You add [W] to the metal casing.</span>"
|
||||
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?
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -62,9 +62,7 @@
|
||||
finished = new /obj/item/weapon/melee/baton/cattleprod(get_turf(user))
|
||||
user << "<span class='notice'>You fasten the wirecutters to the top of the rod with the cable, prongs outward.</span>"
|
||||
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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
T.visible_message("<span class='danger'>\The [src] [material.destruction_desc]!</span>")
|
||||
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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
/*
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
)
|
||||
|
||||
deployed = 1
|
||||
user.drop_from_inventory(src)
|
||||
user.removeItem(src)
|
||||
update_icon()
|
||||
anchored = 1
|
||||
|
||||
|
||||
@@ -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 << "<span class='notice'>You cannot hang [W] on [src]</span>"
|
||||
|
||||
@@ -66,8 +66,7 @@
|
||||
user << "<span class='warning'>Unwield the axe first.</span>"
|
||||
return
|
||||
fireaxe = O
|
||||
user.remove_from_mob(O)
|
||||
src.contents += O
|
||||
user.removeItem(O, src)
|
||||
user << "<span class='notice'>You place the fire axe back in the [src.name].</span>"
|
||||
update_icon()
|
||||
else
|
||||
|
||||
@@ -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 << "<span class='notice'>You place [O] in [src].</span>"
|
||||
else
|
||||
|
||||
@@ -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 << "<span class='notice'>You pin the paper to the noticeboard.</span>"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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("<span class='danger'>[user] breaks [src] over [M]'s back!</span>")
|
||||
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
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -432,8 +432,7 @@
|
||||
if(holding)
|
||||
user << "<span class='warning'>\The [src] is already holding \a [holding].</span>"
|
||||
return
|
||||
user.unEquip(I)
|
||||
I.forceMove(src)
|
||||
user.removeItem(I, src)
|
||||
holding = I
|
||||
user.visible_message("<span class='notice'>\The [user] shoves \the [I] into \the [src].</span>")
|
||||
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)
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -55,8 +55,7 @@
|
||||
return 0
|
||||
|
||||
user << "<font color='blue'><b>You slot \the [input_device] into the suit module.</b></font>"
|
||||
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
|
||||
|
||||
|
||||
@@ -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 << "<font color='blue'>You have been transferred to \the [holder]'s [src].</font>"
|
||||
user << "<font color='blue'>You load [ai_mob] into \the [holder]'s [src].</font>"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 << "<font color='blue'><b>You slot \the [input_device] into the suit module.</b></font>"
|
||||
user.drop_from_inventory(input_device)
|
||||
del(input_device)
|
||||
user.deleteItem(input_device)
|
||||
accepted_item.charges++
|
||||
return 1
|
||||
|
||||
|
||||
@@ -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("<font color='blue'>[M] starts putting on \the [src]...</font>", "<font color='blue'>You start putting on \the [src]...</font>")
|
||||
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 << "<font color='blue'><b>Your [use_obj.name] [use_obj.gender == PLURAL ? "retract" : "retracts"] swiftly.</b></font>"
|
||||
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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 << "<span class='notice'>You retract your suit helmet.</span>"
|
||||
helmet.canremove = 1
|
||||
H.drop_from_inventory(helmet)
|
||||
helmet.forceMove(src)
|
||||
H.removeItem(helmet, src)
|
||||
else
|
||||
if(H.head)
|
||||
H << "<span class='danger'>You cannot deploy your helmet while wearing \the [H.head].</span>"
|
||||
@@ -200,7 +197,7 @@
|
||||
cooler = null
|
||||
H << "<span class='info'>You press the emergency release, ejecting \the [removing] from your suit.</span>"
|
||||
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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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("<span class='notice'>[user] holsters \the [holstered].</span>", "<span class='notice'>You holster \the [holstered].</span>")
|
||||
|
||||
@@ -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 << "<span class='notice'>You insert \the [W] into \the [src].</span>"
|
||||
else
|
||||
user << "<span class='warning'>\The [src] only accepts used swabs.</span>"
|
||||
|
||||
@@ -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 << "<span class='notice'>You insert \the [W] into the microscope.</span>"
|
||||
user.unEquip(W)
|
||||
W.forceMove(src)
|
||||
user.removeItem(W, src)
|
||||
sample = W
|
||||
update_icon()
|
||||
return
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
/obj/item/weapon/reagent_containers/glass/rag/attack_self(mob/user as mob)
|
||||
if(on_fire)
|
||||
user.visible_message("<span class='warning'>\The [user] stamps out [src].</span>", "<span class='warning'>You stamp out [src].</span>")
|
||||
user.unEquip(src)
|
||||
user.removeItem(src)
|
||||
extinguish()
|
||||
else
|
||||
remove_contents(user)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 << "<span class='notice'>You combine the Thalers to a bundle of [SC.worth] Thalers.</span>"
|
||||
qdel(src)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
..()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -67,8 +67,7 @@
|
||||
++frames
|
||||
user.visible_message("<span class='notice'>[user] loads \the [I] into \the [src].</span>", "<span class='notice'>You load \the [I] into \the [src].</span>")
|
||||
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("<span class='notice'>[user] constructs a beehive.</span>", "<span class='notice'>You construct a beehive.</span>")
|
||||
new /obj/machinery/beehive(get_turf(user))
|
||||
user.drop_from_inventory(src)
|
||||
qdel(src)
|
||||
user.deleteItem(src)
|
||||
return
|
||||
|
||||
/obj/item/stack/wax
|
||||
|
||||
@@ -288,7 +288,7 @@
|
||||
if(prob(35))
|
||||
if(user)
|
||||
user << "<span class='danger'>\The [src] has fallen to bits.</span>"
|
||||
user.drop_from_inventory(src)
|
||||
user.removeItem(src)
|
||||
qdel(src)
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
@@ -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]."
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -189,8 +189,7 @@
|
||||
var/mob/living/bot/cleanbot/A = new /mob/living/bot/cleanbot(T)
|
||||
A.name = created_name
|
||||
user << "<span class='notice'>You add the robot arm to the bucket and sensor assembly. Beep boop!</span>"
|
||||
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)
|
||||
|
||||
@@ -185,7 +185,5 @@
|
||||
user << "<span class='notice'>You complete the ED-209.</span>"
|
||||
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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -289,8 +289,7 @@
|
||||
var/obj/item/weapon/toolbox_tiles/B = new /obj/item/weapon/toolbox_tiles
|
||||
user.put_in_hands(B)
|
||||
user << "<span class='notice'>You add the tiles into the empty toolbox. They protrude from the top.</span>"
|
||||
user.drop_from_inventory(src)
|
||||
qdel(src)
|
||||
user.deleteItem(src)
|
||||
else
|
||||
user << "<span class='warning'>You need 10 floor tiles for a floorbot.</span>"
|
||||
return
|
||||
@@ -315,8 +314,7 @@
|
||||
B.created_name = created_name
|
||||
user.put_in_hands(B)
|
||||
user << "<span class='notice'>You add the sensor to the toolbox and tiles!</span>"
|
||||
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 << "<span class='notice'>You add the robot arm to the odd looking toolbox assembly! Boop beep!</span>"
|
||||
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)
|
||||
|
||||
@@ -283,8 +283,7 @@
|
||||
qdel(S)
|
||||
user.put_in_hands(A)
|
||||
user << "<span class='notice'>You add the robot arm to the first aid kit.</span>"
|
||||
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)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user