mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 02:16:05 +00:00
Merge pull request #3876 from ComicIronic/MoMMIDrop
drop_item and click code.
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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."
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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]."
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>."
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"])
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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>"
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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++
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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!
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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++
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -320,7 +320,7 @@
|
||||
code = 0
|
||||
else
|
||||
code = S.code
|
||||
user.drop_item()
|
||||
user.drop_item(W)
|
||||
del(W)
|
||||
has_signaler = 1
|
||||
update_icon()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>")
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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].")
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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":""]"
|
||||
|
||||
@@ -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*/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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].")
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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>"
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user