Merge pull request #3876 from ComicIronic/MoMMIDrop

drop_item and click code.
This commit is contained in:
d3athrow
2015-04-12 14:12:55 -05:00
194 changed files with 372 additions and 460 deletions

View File

@@ -80,7 +80,7 @@
if(panel_open && !cell)
var/obj/item/weapon/cell/C = usr.get_active_hand()
if(istype(C))
usr.drop_item(src)
usr.drop_item(C, src)
cell = C
C.add_fingerprint(usr)

View File

@@ -59,7 +59,7 @@
// insert cell
var/obj/item/weapon/cell/C = usr.get_active_hand()
if(istype(C))
user.drop_item(src)
user.drop_item(C, src)
cell = C
C.add_fingerprint(usr)
@@ -142,7 +142,7 @@
if(panel_open && !cell)
var/obj/item/weapon/cell/C = usr.get_active_hand()
if(istype(C))
usr.drop_item(src)
usr.drop_item(C, src)
cell = C
C.add_fingerprint(usr)

View File

@@ -126,7 +126,7 @@
src.add_fingerprint(usr)
if (istype(W, /obj/item/pipe) || istype(W, /obj/item/pipe_meter) || istype(W, /obj/item/pipe_gsensor))
usr << "\blue You put [W] back to [src]."
user.drop_item()
user.drop_item(W, src)
if(istype(W, /obj/item/pipe))
returnToPool(W)
else

View File

@@ -18,7 +18,7 @@
user << "\red There is already a fuel rod assembly in there!"
else
cur_assembly = I
user.drop_item(src)
user.drop_item(I, src)
icon_state = "port1"
user << "\blue You insert [I] into [src]. Touch the panel again to insert [I] into the injector."

View File

@@ -74,7 +74,7 @@
if(istype(W, /obj/item/weapon/fuel_assembly) && !cur_assembly)
if(emergency_insert_ready)
cur_assembly = W
user.drop_item(src)
user.drop_item(W, src)
emergency_insert_ready = 0
return

View File

@@ -22,7 +22,7 @@
if (contents.len >= max_butts)
user << "This ashtray is full."
return
user.drop_item(src)
user.drop_item(W, src)
var/obj/item/clothing/mask/cigarette/cig = W
if(istype(cig, /obj/item/weapon/cigbutt))
user << "You drop the [cig] into [src]."

View File

@@ -91,7 +91,7 @@ log transactions
if(istype(I, /obj/item/weapon/card))
var/obj/item/weapon/card/id/idcard = I
if(!held_card)
usr.drop_item(src)
usr.drop_item(idcard, src)
held_card = idcard
if(authenticated_account && held_card.associated_account_number != authenticated_account.account_number)
authenticated_account = null
@@ -366,7 +366,7 @@ log transactions
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/weapon/card/id))
usr.drop_item(src)
usr.drop_item(I, src)
held_card = I
if("logout")
authenticated_account = null

View File

@@ -141,7 +141,7 @@ var/list/alldepartments = list("Central Command")
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/weapon/card/id))
usr.drop_item(src)
usr.drop_item(I, src)
scan = I
authenticated = 0
@@ -166,7 +166,7 @@ var/list/alldepartments = list("Central Command")
if(istype(O, /obj/item/weapon/paper))
if(!tofax)
user.drop_item(src)
user.drop_item(O, src)
tofax = O
user << "<span class='notice'>You insert the paper into \the [src].</span>"
flick("faxsend", src)
@@ -178,7 +178,7 @@ var/list/alldepartments = list("Central Command")
var/obj/item/weapon/card/id/idcard = O
if(!scan)
usr.drop_item(src)
usr.drop_item(idcard, src)
scan = idcard
else if(istype(O, /obj/item/weapon/wrench))

View File

@@ -121,7 +121,7 @@
if(battery)
user << "<span class='notice'>The pod already has a battery.</span>"
return
user.drop_item(src)
user.drop_item(W, src)
battery = W
return
if(istype(W, /obj/item/device/spacepod_equipment))
@@ -136,7 +136,7 @@
return
else
user << "<span class='notice'>You insert \the [W] into the equipment system.</span>"
user.drop_item(equipment_system)
user.drop_item(W, equipment_system)
equipment_system.weapon_system = W
equipment_system.weapon_system.my_atom = src
new/obj/item/device/spacepod_equipment/weaponry/proc/fire_weapon_system(src, equipment_system.weapon_system.verb_name, equipment_system.weapon_system.verb_desc) //Yes, it has to be referenced like that. W.verb_name/desc doesn't compile.

View File

@@ -73,7 +73,7 @@
var/resolved = W.preattack(A, src, 1, params)
if(!resolved)
resolved = A.attackby(W,src)
resolved = A.attackby(W,src,params)
if(ismob(A) || istype(A, /obj/mecha) || istype(W, /obj/item/weapon/grab))
delayNextAttack(10)
if(!resolved && A && W)
@@ -93,7 +93,7 @@
*/
var/resolved = W.preattack(A, src, 1, params)
if(!resolved)
resolved = A.attackby(W,src)
resolved = A.attackby(W,src,params)
if(ismob(A) || istype(A, /obj/mecha))
delayNextAttack(10)
if(!resolved && A && W)

View File

@@ -76,7 +76,7 @@ var/const/tk_maxrange = 15
dropped(mob/user as mob)
if(focus && user && loc != user && loc != user.loc) // drop_item() gets called when you tk-attack a table/closet with an item
if(focus && user && loc != user && loc != user.loc) // drop_item(null, ) gets called when you tk-attack a table/closet with an item
if(focus.Adjacent(loc))
focus.loc = loc

View File

@@ -35,5 +35,5 @@ BONUS
M.emote("cough")
var/obj/item/I = M.get_active_hand()
if(I && I.w_class < 3)
M.drop_item()
M.drop_item(I)
return

View File

@@ -82,7 +82,8 @@ STI KALY - blind
var/mob/living/carbon/H = affected_mob
if(prob(chance))
if(!istype(H.r_hand, /obj/item/weapon/staff))
H.drop_r_hand()
if(H.r_hand) //no need to drop if we aren't holding anything
H.drop_item(H.r_hand)
H.put_in_r_hand( new /obj/item/weapon/staff(H) )
return
return

View File

@@ -168,8 +168,7 @@
else
var/atom_name = used_atom.name
if(permanence || (Co_KEEP in given_step))
user.drop_item(holder)
used_atom.loc = holder
user.drop_item(used_atom, holder)
used_atoms.Add(list("[steps.Find(given_step)]" = used_atom))
else
qdel(used_atom)
@@ -334,8 +333,7 @@
else
var/atom_name = used_atom.name
if(permanence || (Co_KEEP in given_step))
user.drop_item(holder)
used_atom.loc = holder
user.drop_item(used_atom, holder)
if(!("[index][diff == FORWARD ? "+" : "-"]" in used_atoms))
used_atoms.Add(list("[index][diff == FORWARD ? "+" : "-"]" = list()))
used_atoms["[index][diff == FORWARD ? "+" : "-"]"] += used_atom

View File

@@ -141,7 +141,7 @@ var/list/wireColours = list("red", "blue", "green", "black", "orange", "brown",
// Attach
else
if(istype(I, /obj/item/device/assembly/signaler))
L.drop_item()
L.drop_item(I)
Attach(colour, I)
else
L << "<span class='error'>You need a remote signaller!</span>"

View File

@@ -306,7 +306,7 @@ var/global/list/PDA_Manifest = list()
siemens_coefficient = 1
/obj/item/weapon/beach_ball/afterattack(atom/target as mob|obj|turf|area, mob/user as mob)
user.drop_item()
user.drop_item(src)
src.throw_at(target, throw_range, throw_speed)
/obj/effect/stop

View File

@@ -222,7 +222,7 @@
if((M_CLUMSY in H.mutations) && prob(50))
H <<"\red You smack yourself in the face while swinging the [src]!"
H.Stun(2)
H.drop_item()
H.drop_item(src)
return
if (!thrown_from && usr) //if something hasn't set it already (like a mech does when it launches)
thrown_from = usr //then the user must have thrown it
@@ -374,14 +374,14 @@
if(I.w_class) //if it has a defined weight
if(I.w_class == 2.0 || I.w_class == 3.0) //just one is too specific, so don't change this
if(weight1 == null)
user.drop_item(src)
user.drop_item(I, src)
weight1 = I
user.show_message("<span class='notice'>You tie [weight1] to the [src].</span>")
update_icon()
//del(I)
return
if(weight2 == null) //just in case
user.drop_item(src)
user.drop_item(I, src)
weight2 = I
user.show_message("<span class='notice'>You tie [weight2] to the [src].</span>")
update_icon()
@@ -429,8 +429,7 @@
IED = null
return
if(2,3)
user.drop_item(src)
I.loc = src
user.drop_item(I, src)
var/turf/bombturf = get_turf(src)
var/area/A = get_area(bombturf)
var/log_str = "[key_name(usr)]<A HREF='?_src_=holder;adminmoreinfo=\ref[user]'>?</A> has rigged a beartrap with an IED at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[bombturf.x];Y=[bombturf.y];Z=[bombturf.z]'>[A.name] (JMP)</a>."

View File

@@ -211,7 +211,7 @@
return
beaker = item
user.drop_item(src)
user.drop_item(beaker, src)
user.visible_message("[user] adds \a [item] to \the [src]!", "You add \a [item] to \the [src]!")
return
if(istype(item, /obj/item/weapon/grab)) //sanity checks, you chucklefucks
@@ -343,7 +343,7 @@
..()
if (istype(O, /obj/item/weapon/disk/data)) //INSERT SOME diskS
if (!src.disk)
user.drop_item(src)
user.drop_item(O, src)
src.disk = O
user << "You insert [O]."
nanomanager.update_uis(src) // update all UIs attached to src()

View File

@@ -73,7 +73,7 @@
/mob/living/simple_animal/hostile/retaliate/snowman/attackby(var/obj/item/W, var/mob/user)
if(!carrot && istype(W, /obj/item/weapon/reagent_containers/food/snacks/grown/carrot))
visible_message("<span class='notice'>[user] puts \a [W] on \the [src]'s nose.</span>")
user.drop_item(src)
user.drop_item(W, src)
carrot = W
overlays += "snowman_carrot"
speak -= "Would you happen to have a carrot for my nose?"
@@ -88,7 +88,7 @@
hat = null
else
speak += "I feel so dandy!"
user.drop_item(src)
user.drop_item(W, src)
hat = W
overlays += image('icons/mob/head.dmi', hat.icon_state)

View File

@@ -814,7 +814,7 @@ ________________________________________________________________________________
U << "<span class='warning'>ERROR:</span> Remote access channel disabled."
return//Return individually so that ..() can run properly at the end of the proc.
else if(istype(I, /obj/item/device/paicard) && !pai)//If it's a pai card.
U:drop_item(src)
U.drop_item(I, src)
pai = I
U << "<span class='notice'>You slot \the [I] into \the [src].</span>"
updateUsrDialog()
@@ -839,7 +839,7 @@ ________________________________________________________________________________
if(I:maxcharge>cell.maxcharge&&n_gloves&&n_gloves.candrain)
U << "<span class='notice'>Higher maximum capacity detected.\nUpgrading...</span>"
if (n_gloves&&n_gloves.candrain&&do_after(U,s_delay))
U.drop_item(src)
U.drop_item(I, src)
I:charge = min(I:charge+cell.charge, I:maxcharge)
var/obj/item/weapon/cell/old_cell = cell
old_cell.charge = 0
@@ -918,10 +918,9 @@ ________________________________________________________________________________
else return 1
if(2)
if(istype(U.get_active_hand(), /obj/item/weapon/melee/energy/blade))
U.drop_item()
U.drop_item(U.get_active_hand())
if(istype(U.get_inactive_hand(), /obj/item/weapon/melee/energy/blade))
U.swap_hand()
U.drop_item()
U.drop_item(U.get_inactive_hand())
return 0
/obj/item/clothing/suit/space/space_ninja/examine(mob/user)

View File

@@ -38,7 +38,7 @@ var/bomb_set
/obj/machinery/nuclearbomb/attackby(obj/item/weapon/O as obj, mob/user as mob)
if (src.extended)
if (istype(O, /obj/item/weapon/disk/nuclear))
usr.drop_item(src)
usr.drop_item(O, src)
src.auth = O
src.add_fingerprint(user)
return
@@ -188,7 +188,7 @@ var/bomb_set
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/weapon/disk/nuclear))
usr.drop_item(src)
usr.drop_item(I, src)
src.auth = I
if (src.auth)
if (href_list["type"])

View File

@@ -79,7 +79,7 @@
if ((( istype(O, /obj/item/weapon) ) || user.get_active_hand() == O))
user.drop_item()
user.drop_item(O)
if (O.loc != src.loc)
step(O, get_dir(O, src))
return
@@ -170,5 +170,5 @@
del(W)
return
if(isrobot(user)) return
user.drop_item(src.loc)
user.drop_item(W, src.loc)
return

View File

@@ -88,7 +88,7 @@
if (src.holding)
return
var/obj/item/weapon/tank/T = W
user.drop_item(src)
user.drop_item(T, src)
src.holding = T
update_icon()
return

View File

@@ -54,14 +54,14 @@
else
health = 10
nutrilevel += 10
user.drop_item()
user.drop_item(O)
qdel(O)
user << "\blue You carefully insert the queen into [src], she gets busy making a hive."
bees_in_hive = 0
else if(istype(O, /obj/item/beezeez))
beezeez += 100
nutrilevel += 10
user.drop_item()
user.drop_item(O)
if(health > 0)
user << "\blue You insert [O] into [src]. A relaxed humming appears to pick up."
else

View File

@@ -92,7 +92,7 @@
else if(!prints_prosthetics && istype(W, /obj/item/weapon/reagent_containers/food/snacks/meat))
visible_message("<span class='notice'>\The [src] processes \the [W].</span>")
stored_matter += 50
user.drop_item()
user.drop_item(W)
qdel(W)
return
// Steel for matter.
@@ -100,7 +100,7 @@
var/obj/item/stack/sheet/metal/M = W
visible_message("<span class='notice'>\The [src] processes \the [W].</span>")
stored_matter += M.amount * 10
user.drop_item()
user.drop_item(M)
returnToPool(M)
return
else if(istype(W, /obj/item/weapon/wrench))

View File

@@ -342,7 +342,7 @@ text("<A href='?src=\ref[src];operation=oddbutton'>[src.oddbutton ? "Yes" : "No"
/obj/item/weapon/bucket_sensor/attackby(var/obj/item/W, mob/user as mob)
..()
if(istype(W, /obj/item/robot_parts/l_arm) || istype(W, /obj/item/robot_parts/r_arm))
user.drop_item()
user.drop_item(W)
qdel(W)
var/turf/T = get_turf(src.loc)
var/obj/machinery/bot/cleanbot/A = new /obj/machinery/bot/cleanbot(T)

View File

@@ -934,7 +934,7 @@ Auto Patrol: []"},
switch(build_step)
if(0,1)
if( istype(W, /obj/item/robot_parts/l_leg) || istype(W, /obj/item/robot_parts/r_leg) )
user.drop_item()
user.drop_item(W)
qdel(W)
build_step++
user << "<span class='notice'>You add the robot leg to [src].</span>"
@@ -952,7 +952,7 @@ Auto Patrol: []"},
else if( istype(W, /obj/item/clothing/suit/bluetag) )
lasercolor = "b"
if( lasercolor || istype(W, /obj/item/clothing/suit/armor/vest) )
user.drop_item()
user.drop_item(W)
qdel(W)
build_step++
user << "<span class='notice'>You add the armor to [src].</span>"
@@ -969,7 +969,7 @@ Auto Patrol: []"},
user << "<span class='notice'>You welded the vest to [src].</span>"
if(4)
if( istype(W, /obj/item/clothing/head/helmet) )
user.drop_item()
user.drop_item(W)
qdel(W)
build_step++
user << "<span class='notice'>You add the helmet to [src].</span>"
@@ -979,7 +979,7 @@ Auto Patrol: []"},
if(5)
if( isprox(W) )
user.drop_item()
user.drop_item(W)
qdel(W)
build_step++
user << "<span class='notice'>You add the prox sensor to [src].</span>"
@@ -1019,7 +1019,7 @@ Auto Patrol: []"},
user << "<span class='notice'>You add [W] to [src].</span>"
src.item_state = "[lasercolor]ed209_taser"
src.icon_state = "[lasercolor]ed209_taser"
user.drop_item()
user.drop_item(W)
qdel(W)
if(8)
@@ -1039,7 +1039,7 @@ Auto Patrol: []"},
user << "<span class='notice'>You complete the ED-209.</span>"
var/turf/T = get_turf(src)
new /obj/machinery/bot/ed209(T,created_name,lasercolor)
user.drop_item()
user.drop_item(W)
qdel(W)
user.drop_from_inventory(src)
qdel(src)

View File

@@ -174,7 +174,7 @@
if ( get_total_ferts() >= Max_Fertilizers )
user << "The fertilizer storage is full!"
return
user.drop_item(src)
user.drop_item(W, src)
user << "You insert [W]."
flick("farmbot_hatch",src)
src.updateUsrDialog()

View File

@@ -214,7 +214,7 @@
user << "<span class='notice'>There is already a beaker loaded.</span>"
return
user.drop_item(src)
user.drop_item(W, src)
src.reagent_glass = W
user << "<span class='notice'>You insert [W].</span>"
src.updateUsrDialog()
@@ -589,7 +589,7 @@
switch(build_step)
if(0)
if(istype(W, /obj/item/device/healthanalyzer))
user.drop_item()
user.drop_item(W)
qdel(W)
src.build_step++
user << "<span class='notice'>You add the health sensor to [src].</span>"
@@ -598,7 +598,7 @@
if(1)
if(isprox(W))
user.drop_item()
user.drop_item(W)
qdel(W)
src.build_step++
user << "<span class='notice'>You complete the Medibot! Beep boop.</span>"

View File

@@ -122,7 +122,7 @@ var/global/mulebot_count = 0
else if(istype(I,/obj/item/weapon/cell) && open && !cell)
var/obj/item/weapon/cell/C = I
user.drop_item(src)
user.drop_item(C, src)
cell = C
updateDialog()
else if(istype(I,/obj/item/weapon/screwdriver))
@@ -302,7 +302,7 @@ var/global/mulebot_count = 0
if(open && !cell)
var/obj/item/weapon/cell/C = usr.get_active_hand()
if(istype(C))
usr.drop_item(src)
usr.drop_item(C, src)
cell = C
C.add_fingerprint(usr)

View File

@@ -817,7 +817,7 @@ Auto Patrol: []"},
user << "You weld a hole in [src]!"
else if(isprox(W) && (src.build_step == 1))
user.drop_item()
user.drop_item(W)
src.build_step++
user << "You add the prox sensor to [src]!"
src.overlays += image('icons/obj/aibots.dmi', "hs_eye")
@@ -825,7 +825,7 @@ Auto Patrol: []"},
qdel(W)
else if(((istype(W, /obj/item/robot_parts/l_arm)) || (istype(W, /obj/item/robot_parts/r_arm))) && (src.build_step == 2))
user.drop_item()
user.drop_item(W)
src.build_step++
user << "You add the robot arm to [src]!"
src.name = "helmet/signaler/prox sensor/robot arm assembly"
@@ -833,7 +833,7 @@ Auto Patrol: []"},
qdel(W)
else if((istype(W, /obj/item/weapon/melee/baton)) && (src.build_step >= 3))
user.drop_item()
user.drop_item(W)
src.build_step++
user << "You complete the Securitron! Beep boop."
var/obj/machinery/bot/secbot/S = new /obj/machinery/bot/secbot

View File

@@ -122,7 +122,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.drop_item(src)
user.drop_item(W, src)
return
// Taking out upgrades

View File

@@ -78,7 +78,7 @@
user << "<span class='warning'>[src] blinks red as you try to insert the cell!</span>"
return
user.drop_item(src)
user.drop_item(W, src)
charging = W
user.visible_message("<span class='notice'>[user] inserts a cell into [src].</span>", "<span class='notice'>You insert a cell into [src].</span>")
chargelevel = -1

View File

@@ -340,7 +340,7 @@
else if (istype(W, /obj/item/weapon/reagent_containers/food/snacks/meat))
user << "<span class='notice'>\The [src] processes \the [W].</span>"
biomass += 50
user.drop_item()
user.drop_item(W)
qdel(W)
return
else

View File

@@ -516,7 +516,7 @@
qdel(W)
return
else if (istype(W, /obj/item) && get_dist(src,user)<2)
user.drop_item(src.loc)
user.drop_item(W, src.loc)
visible_message("\blue [user] dunks [W] into the [src]!", 3)
return

View File

@@ -45,7 +45,7 @@
user << "<span class='notice'>You place the circuit board inside the frame.</span>"
icon_state = "1"
circuit = P
user.drop_item(src)
user.drop_item(P, src)
if(istype(P, /obj/item/weapon/screwdriver) && circuit)
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
user << "<span class='notice'>You screw the circuit board into place.</span>"
@@ -137,7 +137,7 @@
ticker.mode.remove_cultist(P:brainmob.mind, 1)
ticker.mode.remove_revolutionary(P:brainmob.mind, 1)
user.drop_item(src)
user.drop_item(P, src)
brain = P
usr << "Added [P]."
icon_state = "3b"

View File

@@ -316,7 +316,7 @@
user << "<span class='notice'>You place the circuit board inside the frame.</span>"
src.icon_state = "1"
src.circuit = P
user.drop_item(src)
user.drop_item(B, src)
else
user << "<span class='warning'>This frame does not accept circuit boards of this type!</span>"
return 1

View File

@@ -92,10 +92,10 @@
return ..()
if(!scan && access_change_ids in id_card.access)
user.drop_item(src)
user.drop_item(id_card, src)
scan = id_card
else if(!modify)
user.drop_item(src)
user.drop_item(id_card, src)
modify = id_card
nanomanager.update_uis(src)
@@ -197,7 +197,7 @@
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/weapon/card/id))
usr.drop_item(src)
usr.drop_item(I, src)
modify = I
if ("scan")
@@ -213,7 +213,7 @@
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/weapon/card/id))
usr.drop_item(src)
usr.drop_item(I, src)
scan = I
if("access")

View File

@@ -61,7 +61,7 @@
/obj/machinery/computer/cloning/attackby(obj/item/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/disk/data)) //INSERT SOME DISKETTES
if (!src.diskette)
user.drop_item(src)
user.drop_item(W, src)
src.diskette = W
user << "You insert [W]."
src.updateUsrDialog()

View File

@@ -160,7 +160,7 @@
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/weapon/card/id))
usr.drop_item(src)
usr.drop_item(I, src)
src.scan = I
else if (href_list["logout"])
src.authenticated = null

View File

@@ -65,7 +65,7 @@
return ..()
if(!pda_device)
user.drop_item(src)
user.drop_item(user_pda, src)
pda_device = user_pda
update_icon()
@@ -130,7 +130,7 @@
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/device/pda))
usr.drop_item(src)
usr.drop_item(I, src)
pda_device = I
update_icon()

View File

@@ -26,7 +26,7 @@
/obj/machinery/computer/secure_data/attackby(obj/item/O as obj, user as mob)
if(istype(O, /obj/item/weapon/card/id) && !scan)
usr.drop_item(src)
usr.drop_item(O, src)
scan = O
user << "You insert [O]."
..()
@@ -239,7 +239,7 @@ What a mess.*/
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/weapon/card/id))
usr.drop_item(src)
usr.drop_item(I, src)
scan = I
if("Log Out")

View File

@@ -79,7 +79,7 @@
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
user << "<span class='notice'>You add the circuit board to the frame.</span>"
circuit = P
user.drop_item(src)
user.drop_item(B, src)
icon_state = "box_2"
build_state = 3
components = list()
@@ -183,7 +183,7 @@
break
else
user << "<span class='warning'>You do not have enough [P]!</span>"
user.drop_item(src)
user.drop_item(P, src)
components += P
req_components[I]--
update_desc()

View File

@@ -270,7 +270,7 @@ var/global/list/cryo_health_indicator = list( "full" = image("icon" = 'icons/obj
user << "<span class='warning'>A beaker is already loaded into the machine.</span>"
return
beaker = G
user.drop_item(src)
user.drop_item(G, src)
user.visible_message("[user] adds \a [G] to \the [src]!", "You add \a [G] to \the [src]!")
if(..())
return

View File

@@ -107,7 +107,7 @@ obj/machinery/recharger/defibcharger/wallcharger/attackby(obj/item/weapon/G as o
if(a.power_equip == 0)
user << "<span class='warning'>[src] blinks red as you try to insert [D]!</span>"
return
user.drop_item(src)
user.drop_item(G, src)
charging = G
use_power = 2
update_icon()

View File

@@ -49,7 +49,7 @@
usr << "You begin to insert \the [C] into \the [src]."
if(do_after(user, 10))
usr << "\blue You secure \the [C]!"
user.drop_item(src)
user.drop_item(C, src)
_circuitboard=C
playsound(get_turf(src), 'sound/effects/pop.ogg', 50, 0)
build++

View File

@@ -75,7 +75,7 @@
if(cell)
user << "There is a power cell already installed."
else
user.drop_item(src)
user.drop_item(W, src)
cell = W
user << "You insert the power cell."
updateicon()

View File

@@ -11,7 +11,7 @@
/obj/machinery/gashapon/attackby(var/obj/O as obj, var/mob/user as mob)
if (istype(O, /obj/item/weapon/coin/))
user.drop_item(src)
user.drop_item(O, src)
user.visible_message("[user] puts a coin into [src] and turns the knob.", "You put a coin into [src] and turn the knob.")
src.visible_message("[src] clicks softly.")
sleep(rand(10,15))

View File

@@ -72,7 +72,7 @@
user << "There is already a reagent container loaded!"
return
user.drop_item(src)
user.drop_item(W, src)
src.beaker = W
user << "You attach \the [W] to \the [src]."
src.update_icon()

View File

@@ -37,7 +37,7 @@
var/grabbed = G.affecting
if(istype(grabbed, /mob/living/simple_animal/chicken))
var/mob/living/simple_animal/chicken/target = grabbed
user.drop_item()
user.drop_item(G)
del(target)
user << "<span class='notice'>[emagged ? "Bkaww!" : "You stuff the chicken in the machine."]</span>"
playsound(get_turf(src), 'sound/machines/ya_dun_clucked.ogg', 50, 1)
@@ -47,7 +47,7 @@
else if(istype(grabbed, /mob/living/simple_animal/chick))
var/mob/living/simple_animal/chick/target = grabbed
user.drop_item()
user.drop_item(G)
del(target)
user << "<span class='notice'>[emagged ? "Bkaww!" : "You stuff the chick in the machine, you monster."]</span>"
playsound(get_turf(src), 'sound/machines/ya_dun_clucked.ogg', 50, 1)
@@ -61,7 +61,7 @@
if(emagged)
user << "<span class='danger'>Bwak! Bwak! Bwak!</span>"
playsound(get_turf(src), 'sound/machines/ya_dun_clucked.ogg', 50, 1)
user.drop_item()
user.drop_item(G)
target.canmove = 0
target.icon = null
target.invisibility = 101

View File

@@ -173,8 +173,7 @@
"<span class='notice'>You add one of [O] to \the [src].</span>")
else
// user.before_take_item(O) //This just causes problems so far as I can tell. -Pete
user.drop_item(src)
contents += O
user.drop_item(O, src)
user.visible_message( \
"<span class='notice'>[user] has added \the [O] to \the [src].</span>", \
"<span class='notice'>You add \the [O] to \the [src].</span>")

View File

@@ -43,7 +43,7 @@
if(target.wear_mask || target.l_hand || target.r_hand || target.back || target.uniform || target.hat)
user << "<span class='warning'>The monkey may not have abiotic items on.</span>"
else
user.drop_item()
user.drop_item(G)
del(target)
user << "<span class='notice'>You stuff the monkey in the machine."
playsound(get_turf(src), 'sound/machines/juicer.ogg', 50, 1)

View File

@@ -160,9 +160,9 @@
user.visible_message("<span class='notice'>[user] puts [what] into [src].</span>", \
"You put [what] into the [src].")
if(what == user.get_active_hand())
user.drop_item(src)
user.drop_item(what, src)
else
user.drop_item()
user.drop_item(O)
what.loc = src
return

View File

@@ -76,7 +76,7 @@
user << "A beaker is already loaded into the machine."
return
src.beaker = B
user.drop_item(src)
user.drop_item(B, src)
user << "You add the beaker to the machine!"
src.updateUsrDialog()
update_icon()

View File

@@ -133,7 +133,7 @@
building=1
update_icon()
user.drop_item(src)
user.drop_item(O, src)
mmi.icon = null
mmi.invisibility = 101
spawn(50)

View File

@@ -932,7 +932,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
photo = null
if(istype(user.get_active_hand(), /obj/item/weapon/photo))
photo = user.get_active_hand()
user.drop_item(src)
user.drop_item(photo, src)

View File

@@ -91,7 +91,7 @@ Feel free to do whatever with this if you think it lacks.
else
var/obj/item/device/pda/P = O
if(istype(P))
user.drop_item(src)
user.drop_item(P, src)
storedpda = P
//P.add_fingerprint(usr)
update_icon()

View File

@@ -33,7 +33,7 @@
return
if (istype(G, /obj/item/weapon/gun/energy/staff))
return
user.drop_item(src)
user.drop_item(G, src)
charging = G
use_power = 2
update_icon()

View File

@@ -105,7 +105,7 @@
/obj/machinery/recharge_station/attackby(var/obj/item/W, var/mob/living/user)
if(is_type_in_list(W, acceptable_upgradeables))
if(!(locate(W.type) in upgrade_holder))
user.drop_item(src)
user.drop_item(W, src)
upgrade_holder.Add(W)
user << "<span class='notice'>You add \the [W] to \the [src].</span>"
return

View File

@@ -60,7 +60,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.drop_item()
user.drop_item(O)
var/datum/seed/new_seed_type
if(istype(O, /obj/item/weapon/grown))
@@ -93,7 +93,7 @@ obj/machinery/seed_extractor/attackby(var/obj/item/O as obj, var/mob/user as mob
var/obj/item/F = O
if(F.nonplant_seed_type)
user << "<span class='notice'>You extract some seeds from the [F.name].</span>"
user.drop_item()
user.drop_item(O)
var/t_amount = 0
var/t_max = rand(1,4)
while(t_amount < t_max)

View File

@@ -241,7 +241,7 @@
/obj/machinery/suit_storage_unit/Topic(href, href_list) //I fucking HATE this proc
if(..())
return 1
else
else
usr.set_machine(src)
if (href_list["toggleUV"])
src.toggleUV(usr)
@@ -631,7 +631,7 @@
user << "<font color='blue'>The unit already contains a suit.</font>"
return
user << "You load the [S.name] into the storage compartment."
user.drop_item(src)
user.drop_item(S, src)
src.SUIT = S
src.update_icon()
src.updateUsrDialog()
@@ -644,7 +644,7 @@
user << "<font color='blue'>The unit already contains a helmet.</font>"
return
user << "You load the [H.name] into the storage compartment."
user.drop_item(src)
user.drop_item(H, src)
src.HELMET = H
src.update_icon()
src.updateUsrDialog()
@@ -657,7 +657,7 @@
user << "<font color='blue'>The unit already contains a mask.</font>"
return
user << "You load the [M.name] into the storage compartment."
user.drop_item(src)
user.drop_item(M, src)
src.MASK = M
src.update_icon()
src.updateUsrDialog()
@@ -670,7 +670,7 @@
user << "<font color='blue'>The unit already contains shoes.</font>"
return
user << "You load \the [M.name] into the storage compartment."
user.drop_item(src)
user.drop_item(M, src)
src.BOOTS = M
src.update_icon()
src.updateUsrDialog()

View File

@@ -52,7 +52,7 @@
user << "You insert the cables."
A.amount -= 5
if(A.amount <= 0)
user.drop_item()
user.drop_item(A)
returnToPool(A)
construct_op --
stat &= ~BROKEN // the machine's not borked anymore!

View File

@@ -185,7 +185,7 @@
var/obj/item/weapon/card/id/I = C.get_active_hand()
if(istype(I))
if(check_access(I))
C.drop_item(src)
C.drop_item(I, src)
auth = I
create_log("has logged in.", usr)
else

View File

@@ -39,7 +39,7 @@
if(istype(L, /obj/effect/landmark/) && istype(L.loc, /turf))
usr << "You insert the coordinates into the machine."
usr << "A message flashes across the screen reminding the traveller that the nuclear authentication disk is to remain on the station at all times."
user.drop_item()
user.drop_item(I)
qdel(I)
/* FUCK YOU

View File

@@ -306,7 +306,7 @@
return
else if(istype(W, /obj/item/weapon/coin) && premium.len > 0)
if (isnull(coin))
user.drop_item(src)
user.drop_item(W, src)
coin = W
user << "<span class='notice'>You insert a coin into [src].</span>"
else
@@ -315,7 +315,7 @@
return
else if(istype(W, /obj/item/voucher))
if(can_accept_voucher(W, user))
user.drop_item(src)
user.drop_item(W, src)
user << "<span class='notice'>You insert [W] into [src].</span>"
return voucher_act(W, user)
else
@@ -1020,7 +1020,7 @@
usr << "You begin to insert \the [C] into \the [src]."
if(do_after(user, 10))
usr << "<span class='notice'>You secure \the [C]!</span>"
user.drop_item(src)
user.drop_item(C, src)
_circuitboard=C
playsound(get_turf(src), 'sound/effects/pop.ogg', 50, 0)
build++

View File

@@ -216,7 +216,7 @@
else if(istype(W,/obj/item/toy/crayon) ||istype(W,/obj/item/weapon/stamp))
if( wash_state in list( 1, 3, 6 ) )
if(!crayon)
user.drop_item(src)
user.drop_item(W, src)
crayon = W
else if(istype(W,/obj/item/weapon/grab))
if( (wash_state == 1) && hacked)
@@ -275,7 +275,7 @@
if(contents.len < 5)
if ( wash_state in list(1, 3) )
user.drop_item(src)
user.drop_item(W, src)
wash_state = 3
else
user << "\blue You can't put the item in right now."

View File

@@ -665,7 +665,7 @@
var/obj/item/mecha_parts/mecha_equipment/E = W
spawn()
if(E.can_attach(src))
user.drop_item()
user.drop_item(W)
E.attach(src)
user.visible_message("[user] attaches [W] to [src]", "You attach [W] to [src]")
else
@@ -731,7 +731,7 @@
if(state==4)
if(!src.cell)
user << "You install the powercell"
user.drop_item(src)
user.drop_item(W, src)
src.cell = W
src.log_message("Powercell installed")
else

View File

@@ -94,7 +94,7 @@
usr << "<span class='notice'>You put \the [G] in \the [src].</span>"
defib = G
update_icon()
user.drop_item(src)
user.drop_item(G, src)
return
return

View File

@@ -1500,13 +1500,13 @@ var/global/list/obj/item/device/pda/PDAs = list()
else
var/obj/item/I = user.get_active_hand()
if (istype(I, /obj/item/weapon/card/id))
user.drop_item(src)
user.drop_item(I, src)
id = I
else
var/obj/item/weapon/card/I = user.get_active_hand()
if (istype(I, /obj/item/weapon/card/id) && I:registered_name)
var/obj/old_id = id
user.drop_item(src)
user.drop_item(I, src)
id = I
user.put_in_hands(old_id)
return
@@ -1516,7 +1516,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
..()
if(istype(C, /obj/item/weapon/cartridge) && !cartridge)
cartridge = C
user.drop_item(src)
user.drop_item(C, src)
user << "<span class='notice'>You insert [cartridge] into [src].</span>"
if(cartridge.radio)
cartridge.radio.hostpda = src
@@ -1541,7 +1541,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
return //Return in case of failed check or when successful.
updateSelfDialog()//For the non-input related code.
else if(istype(C, /obj/item/device/paicard) && !src.pai)
user.drop_item(src)
user.drop_item(C, src)
pai = C
user << "<span class='notice'>You slot \the [C] into [src].</span>"
updateUsrDialog()
@@ -1550,7 +1550,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(O)
user << "<span class='notice'>There is already a pen in \the [src].</span>"
else
user.drop_item(src)
user.drop_item(C, src)
user << "<span class='notice'>You slide \the [C] into \the [src].</span>"
return

View File

@@ -31,7 +31,7 @@
user << "<span class='warning'>\The [I] is too small for \the [src]</span>"
return 0
user << "<span class='notice'>You stealthily place \the [src] onto \the [A]</span>"
user.drop_item(A)
user.drop_item(src, A)
active = 1
camera_bugs += src
return 1

View File

@@ -320,7 +320,7 @@
code = 0
else
code = S.code
user.drop_item()
user.drop_item(W)
del(W)
has_signaler = 1
update_icon()

View File

@@ -85,7 +85,7 @@
return
G.amount = remaining
if(!G.amount)
user.drop_item()
user.drop_item(G)
del(G)
AddUses(increment)
user << "You insert a piece of glass into the [src.name]. You have [uses] lights remaining."
@@ -97,7 +97,7 @@
if(uses < max_uses)
AddUses(1)
user << "You insert the [L.name] into the [src.name]. You have [uses] lights remaining."
user.drop_item()
user.drop_item(L)
del(L)
return
else

View File

@@ -42,7 +42,7 @@
if (!isnull(keyslot))
user << "<SPAN CLASS='notice'>The radio can't hold another key!</SPAN>"
else
user.drop_item(src)
user.drop_item(W, src)
insert_key(W)
return

View File

@@ -268,11 +268,11 @@
return
if(!keyslot1)
user.drop_item(src)
user.drop_item(W, src)
keyslot1 = W
else
user.drop_item(src)
user.drop_item(W, src)
keyslot2 = W

View File

@@ -23,11 +23,11 @@
if(!tank_one)
tank_one = item
user.drop_item(src)
user.drop_item(item, src)
user << "<span class='notice'>You attach the tank to the transfer valve.</span>"
else if(!tank_two)
tank_two = item
user.drop_item(src)
user.drop_item(item, src)
user << "<span class='notice'>You attach the tank to the transfer valve.</span>"
update_icon()

View File

@@ -114,32 +114,32 @@
qdel(src)
if(istype(W, /obj/item/robot_parts/l_leg))
if(src.l_leg) return
user.drop_item(src)
user.drop_item(W, src)
src.l_leg = W
src.updateicon()
if(istype(W, /obj/item/robot_parts/r_leg))
if(src.r_leg) return
user.drop_item(src)
user.drop_item(W, src)
src.r_leg = W
src.updateicon()
if(istype(W, /obj/item/robot_parts/l_arm))
if(src.l_arm) return
user.drop_item(src)
user.drop_item(W, src)
src.l_arm = W
src.updateicon()
if(istype(W, /obj/item/robot_parts/r_arm))
if(src.r_arm) return
user.drop_item(src)
user.drop_item(W, src)
src.r_arm = W
src.updateicon()
if(istype(W, /obj/item/robot_parts/chest))
if(src.chest) return
if(W:wires && W:cell)
user.drop_item(src)
user.drop_item(W, src)
src.chest = W
src.updateicon()
else if(!W:wires)
@@ -150,7 +150,7 @@
if(istype(W, /obj/item/robot_parts/head))
if(src.head) return
if(W:flash2 && W:flash1)
user.drop_item(src)
user.drop_item(W, src)
src.head = W
src.updateicon()
else
@@ -199,7 +199,7 @@
if(!O) return
user.drop_item()
user.drop_item(W)
O.mmi = W
O.invisibility = 0
@@ -248,7 +248,7 @@
user << "<span class='notice'>You have already inserted a cell!</span>"
return
else
user.drop_item(src)
user.drop_item(W, src)
src.cell = W
user << "<span class='notice'>You insert the cell!</span>"
if(istype(W, /obj/item/stack/cable_coil))
@@ -269,17 +269,17 @@
user << "<span class='notice'>You have already inserted the eyes!</span>"
return
else if(src.flash1)
user.drop_item(src)
user.drop_item(W, src)
src.flash2 = W
user << "<span class='notice'>You insert the flash into the eye socket!</span>"
else
user.drop_item(src)
user.drop_item(W, src)
src.flash1 = W
user << "<span class='notice'>You insert the flash into the eye socket!</span>"
else if(istype(W, /obj/item/weapon/stock_parts/manipulator))
user << "<span class='notice'>You install some manipulators and modify the head, creating a functional spider-bot!</span>"
new /mob/living/simple_animal/spiderbot(get_turf(loc))
user.drop_item()
user.drop_item(W)
del(W)
del(src)
return

View File

@@ -54,7 +54,7 @@
return
if(!module.upload(src.laws,src,user))
return
//user.drop_item()
//user.drop_item(null, )
//module.loc=src
modules += module.copy() // Instead of a reference
user << "<span class='notice'>You insert \the [module] into \the [src], and the device reads the module's contents.</span>"

View File

@@ -61,7 +61,7 @@
if(ink)
user << "<span class='notice'>\the [name] already contains \a [ink].</span>"
return
user.drop_item(src)
user.drop_item(W, src)
user << "<span class='notice'>You install \the [W] into \the [name].</span>"
ink = W
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)

View File

@@ -180,7 +180,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
new src.type_butt(location)
processing_objects.Remove(src)
user << "<span class='warning'>Half of the [name] dissolves with a nasty fizzle.</span>"
user.drop_item()
user.drop_item(src)
qdel(src)
return
var/transfered = glass.reagents.trans_to(src, chem_volume)

View File

@@ -100,7 +100,7 @@
if(result == 1)
user << "<span class='danger'>Rocks fall, you die.</span>"
user.gib()
user.drop_item(src.loc)
user.drop_item(src)
else
triggered = 1
visible_message("<span class='notice'>You hear a quiet click.</span>")

View File

@@ -74,7 +74,7 @@
user.visible_message("\red [user.name] is trying to plant some kind of explosive on [target.name]!")
if(do_after(user, 50) && in_range(user, target))
user.drop_item()
user.drop_item(src)
src.target = target
loc = null
if (ismob(target))

View File

@@ -94,7 +94,7 @@
if(isrobot(user) && !isMoMMI(user)) // MoMMI's can but borgs can't
user << "You're a robot. No."
return
user.drop_item(src)
user.drop_item(W, src)
user << "You cram \the [W] into the nozzle of \the [src]."
message_admins("[user]/[user.ckey] has crammed \a [W] into a [src].")

View File

@@ -99,7 +99,7 @@
var/obj/item/device/assembly/igniter/I = W
if(I.secured) return
if(igniter) return
user.drop_item(src)
user.drop_item(I, src)
igniter = I
update_icon()
return
@@ -108,7 +108,7 @@
if(ptank)
user << "<span class='notice'>There appears to already be a plasma tank loaded in [src]!</span>"
return
user.drop_item(src)
user.drop_item(W, src)
ptank = W
update_icon()
return

View File

@@ -32,7 +32,7 @@
w_class = W
/obj/item/weapon/gift/attack_self(mob/user as mob)
user.drop_item()
user.drop_item(src)
if(gift)
user.put_in_active_hand(gift)
gift.add_fingerprint(user)
@@ -340,7 +340,7 @@
return
src.amount -= a_used
user.drop_item()
user.drop_item(null, )
var/obj/item/weapon/gift/G = new /obj/item/weapon/gift( src.loc )
G.size = W.w_class
G.w_class = G.size + 1

View File

@@ -103,7 +103,7 @@
user << "<span class='warning'> This type of grenade cannot hold more than one slime core.</span>"
else
user << "<span class='notice'> You add \the [W] to the assembly.</span>"
user.drop_item(src)
user.drop_item(W, src)
beakers += W
E = W
inserted_cores++
@@ -111,8 +111,7 @@
name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]"
else if(W.reagents.total_volume)
user << "<span class='notice'> You add \the [W] to the assembly.</span>"
user.drop_item()
W.loc = src
user.drop_item(W, src)
beakers += W
stage = 1
name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]"
@@ -297,7 +296,7 @@ obj/item/weapon/grenade/chem_grenade/exgrenade/attackby(obj/item/weapon/W as obj
user << "<span class='warning'> You cannot fit more than two slime cores in this grenade.</span>"
else
user << "<span class='notice'> You add \the [W] to the assembly.</span>"
user.drop_item(src)
user.drop_item(W, src)
beakers += W
if (E == null)//E = first slime extract, C = second slime extract
E = W
@@ -308,7 +307,7 @@ obj/item/weapon/grenade/chem_grenade/exgrenade/attackby(obj/item/weapon/W as obj
name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]"
else if(W.reagents.total_volume)
user << "<span class='notice'> You add \the [W] to the assembly.</span>"
user.drop_item(src)
user.drop_item(W, src)
beakers += W
stage = 1
name = "unsecured EX grenade with [beakers.len] containers[detonator?" and detonator":""]"

View File

@@ -37,7 +37,7 @@
prime()
return
user.dir = get_dir(user, target)
user.drop_item()
user.drop_item(null, )
var/t = (isturf(target) ? target : target.loc)
walk_towards(src, t, 3)
return*/

View File

@@ -42,7 +42,7 @@
..()
if(istype(C, /obj/item/weapon/implantcase))
if(!( src.case ))
user.drop_item(src)
user.drop_item(C, src)
src.case = C
else
return

View File

@@ -2,7 +2,7 @@
if(istype(M, /obj/machinery/door) || istype(M, /obj/machinery/camera))
user.visible_message("[user] inserts [src] into a data port on [M].", "You insert [src] into a data port on [M].", "You hear the satisfying click of a wire jack fastening into place.")
if(user && user.get_active_hand() == src)
user.drop_item(M)
user.drop_item(src, M)
src.machine = M
else
user.visible_message("[user] dumbly fumbles to find a place on [M] to plug in [src].", "There aren't any ports on [M] that match the jack belonging to [src].")

View File

@@ -104,7 +104,7 @@
bottom_open = 0
else if(bottom_open && item.w_class <= 3.0)
stored_item = item
user.drop_item()
user.drop_item(item)
max_w_class = 3.0 - stored_item.w_class
item.loc = null //null space here we go - to stop it showing up in the briefcase
user << "You place \the [item] into the false bottom of the briefcase."

View File

@@ -62,7 +62,7 @@
/obj/item/weapon/melee/baton/attackby(obj/item/weapon/W, mob/user)
if(istype(W, /obj/item/weapon/cell))
if(!bcell)
user.drop_item(src)
user.drop_item(W, src)
bcell = W
user << "<span class='notice'>You install a cell in [src].</span>"
update_icon()

View File

@@ -97,7 +97,7 @@
return
else
stored_modules[module] = used_item
user.drop_item(src)
user.drop_item(used_item, src)
user << "You successfully load \the [used_item] into \the [src]'s [get_module_name(module)] slot."
return 1

View File

@@ -29,7 +29,7 @@
/obj/item/weapon/table_parts/attack_self(mob/user as mob)
new /obj/structure/table( user.loc )
user.drop_item()
user.drop_item(src)
del(src)
return
@@ -46,7 +46,7 @@
/obj/item/weapon/table_parts/reinforced/attack_self(mob/user as mob)
new /obj/structure/table/reinforced( user.loc )
user.drop_item()
user.drop_item(src)
del(src)
return
@@ -70,7 +70,7 @@
/obj/item/weapon/table_parts/wood/attack_self(mob/user as mob)
new /obj/structure/table/woodentable( user.loc )
user.drop_item()
user.drop_item(src)
del(src)
return
@@ -87,7 +87,7 @@
/obj/item/weapon/table_parts/wood/poker/attack_self(mob/user as mob)
new /obj/structure/table/woodentable/poker( user.loc )
user.drop_item()
user.drop_item(src)
del(src)
return
@@ -107,6 +107,6 @@
/obj/item/weapon/rack_parts/attack_self(mob/user as mob)
var/obj/structure/rack/R = new /obj/structure/rack( user.loc )
R.add_fingerprint(user)
user.drop_item()
user.drop_item(src)
del(src)
return

View File

@@ -47,7 +47,7 @@ LINEN BINS
//todo: sharp thing code/game/objects/objs.dm
/obj/item/weapon/bedsheet/attack_self(mob/user as mob)
user.drop_item()
user.drop_item(src)
if(layer == initial(layer))
layer = 5
else
@@ -157,12 +157,12 @@ LINEN BINS
/obj/structure/bedsheetbin/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/weapon/bedsheet))
user.drop_item(src)
user.drop_item(I, src)
sheets.Add(I)
amount++
user << "<span class='notice'>You put [I] in [src].</span>"
else if(amount && !hidden && I.w_class < 4) //make sure there's sheets to hide it among, make sure nothing else is hidden in there.
user.drop_item(src)
user.drop_item(I, src)
hidden = I
user << "<span class='notice'>You hide [I] among the sheets.</span>"

View File

@@ -37,14 +37,14 @@
if (istype(C, /obj/item/clothing/suit/storage/det_suit) && !suit)
user << "<span class='notice'>You place your [C] on the [src]</span>"
playsound(get_turf(src), "rustle", 50, 1, -5)
user.drop_item(src)
user.drop_item(C, src)
suit = C
update_icon()
else if (istype(C, /obj/item/clothing/head/det_hat) && !hat)
user << "<span class='notice'>You place your [C] on the [src]</span>"
playsound(get_turf(src), "rustle", 50, 1, -5)
user.drop_item(src)
user.drop_item(C, src)
hat = C
update_icon()

View File

@@ -284,10 +284,7 @@
del(src)
return
if(isrobot(user))
return
user.drop_item(src.loc)
user.drop_item(W, src.loc)
else if(istype(W, /obj/item/weapon/packageWrap))
return

View File

@@ -80,7 +80,7 @@
user << "<span class='warning'>Unwield [F] first!</span>"
return
fireaxe = O
user.drop_item(src)
user.drop_item(F, src)
visible_message("<span class='notice'>[user] places [F] back into [src].</span>", \
"<span class='notice'>You place [F] back into [src].</span>")
update_icon()

View File

@@ -461,14 +461,14 @@
user << "<span class='notice'>[src] is already rigged!</span>"
return
user << "<span class='notice'>You rig [src].</span>"
user.drop_item()
user.drop_item(W)
del(W)
rigged = 1
return
else if(istype(W, /obj/item/device/radio/electropack))
if(rigged)
user << "<span class='notice'>You attach [W] to [src].</span>"
user.drop_item(src.loc)
user.drop_item(W, src.loc)
return
else if(istype(W, /obj/item/weapon/wirecutters))
if(rigged)

View File

@@ -11,7 +11,7 @@
switch(state)
if(0)
if(istype(W, /obj/item/weapon/circuitboard/airlock) && W:icon_state != "door_electronics_smoked")
user.drop_item(src)
user.drop_item(W, src)
circuit=W
state++
playsound(get_turf(src), 'sound/items/Screwdriver.ogg', 50, 1)
@@ -222,7 +222,7 @@
user << "<span class='rose'>It's locked, you can't put anything into it.</span>"
else if(!occupant)
user << "<span class='notice'>You insert \the [W] into \the [src], and it floats as the hoverfield activates.</span>"
user.drop_item(src)
user.drop_item(W, src)
occupant=W
update_icon()

View File

@@ -222,7 +222,7 @@
busy = 1
playsound(get_turf(src), 'sound/items/Screwdriver.ogg', 100, 1)
user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly.")
user.drop_item(src)
user.drop_item(W, src)
if(do_after(user, 40))
if(!src) return

View File

@@ -14,7 +14,7 @@
return
if(istype(O, /obj/item/weapon/extinguisher))
if(!has_extinguisher && opened)
user.drop_item(src)
user.drop_item(O, src)
has_extinguisher = O
user << "<span class='notice'>You place [O] in [src].</span>"
else

Some files were not shown because too many files have changed in this diff Show More