Adds a "params" parameter to attackby(), so it keeps track of pixel_x and pixel_y among other things

This commit is contained in:
Markolie
2015-02-22 22:12:11 +01:00
parent aee4626ed9
commit 672305e034
456 changed files with 714 additions and 1182 deletions
+1 -1
View File
@@ -36,7 +36,7 @@ RCD
return
attackby(obj/item/weapon/W, mob/user)
attackby(obj/item/weapon/W, mob/user, params)
..()
if(istype(W, /obj/item/weapon/rcd_ammo))
if((matter + 20) > 100)
+1 -1
View File
@@ -19,7 +19,7 @@ RSF
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
return
/obj/item/weapon/rsf/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/rsf/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if (istype(W, /obj/item/weapon/rcd_ammo))
if ((matter + 10) > 30)
+1 -1
View File
@@ -161,7 +161,7 @@
/obj/item/weapon/card/id/GetID()
return src
/obj/item/weapon/card/id/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/card/id/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if(istype(W,/obj/item/weapon/id_wallet))
user << "You slip [src] into [W]."
@@ -78,7 +78,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
..()
del(reagents)
/obj/item/clothing/mask/cigarette/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/clothing/mask/cigarette/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
@@ -287,7 +287,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
icon_state = "cigarbutt"
/obj/item/clothing/mask/cigarette/cigar/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/clothing/mask/cigarette/cigar/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/match))
..()
else
@@ -359,7 +359,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
smoketime = initial(smoketime)
return
/obj/item/clothing/mask/cigarette/pipe/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/clothing/mask/cigarette/pipe/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/match))
..()
else
+2 -2
View File
@@ -78,7 +78,7 @@
usr << "<span class='warning'>Put the defibrillator on your back first!</span>"
return
/obj/item/weapon/defibrillator/attackby(obj/item/weapon/W, mob/user)
/obj/item/weapon/defibrillator/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/stock_parts/cell))
var/obj/item/weapon/stock_parts/cell/C = W
if(bcell)
@@ -231,7 +231,7 @@
update_icon()
return
/obj/item/weapon/defibrillator/compact/combat/attackby(obj/item/weapon/W, mob/user)
/obj/item/weapon/defibrillator/compact/combat/attackby(obj/item/weapon/W, mob/user, params)
if(W == paddles)
paddles.unwield()
toggle_paddles()
@@ -44,7 +44,7 @@
explode(get_turf(user))
return .
/obj/item/weapon/plastique/attackby(var/obj/item/I, var/mob/user)
/obj/item/weapon/plastique/attackby(var/obj/item/I, var/mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
open_panel = !open_panel
user << "<span class='notice'>You [open_panel ? "open" : "close"] the wire panel.</span>"
@@ -64,7 +64,7 @@
return
/*
/obj/item/weapon/extinguisher/attackby(obj/item/W, mob/user)
/obj/item/weapon/extinguisher/attackby(obj/item/W, mob/user, params)
if(user.stat || user.restrained() || user.lying) return
if (istype(W, /obj/item/weapon/wrench))
+2 -2
View File
@@ -4,7 +4,7 @@ obj/item/weapon/firework
icon_state = "rocket_0"
var/litzor = 0
var/datum/effects/system/sparkel_spread/S
obj/item/weapon/firework/attackby(obj/item/weapon/W,mob/user)
obj/item/weapon/firework/attackby(obj/item/weapon/W,mob/user, params)
if(litzor)
return
if (istype(W, /obj/item/weapon/weldingtool) && W:welding || istype(W,/obj/item/weapon/lighter) && W:lit)
@@ -26,7 +26,7 @@ obj/item/weapon/sparkler
icon_state = "sparkler_0"
var/litzor = 0
var/datum/effect/effect/system/spark_spread/S
obj/item/weapon/sparkler/attackby(obj/item/weapon/W,mob/user)
obj/item/weapon/sparkler/attackby(obj/item/weapon/W,mob/user, params)
if(litzor)
return
if (istype(W, /obj/item/weapon/weldingtool) && W:welding || istype(W,/obj/item/weapon/lighter) && W:lit)
@@ -69,7 +69,7 @@
var/turflist = getline(user, target_turf)
flame_turf(turflist)
/obj/item/weapon/flamethrower/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/weapon/flamethrower/attackby(obj/item/W as obj, mob/user as mob, params)
if(user.stat || user.restrained() || user.lying) return
if(iswrench(W) && !status)//Taking this apart
var/turf/T = get_turf(src)
@@ -43,7 +43,7 @@
return
user << "\blue You cant move."
/obj/effect/spresent/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/effect/spresent/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if (!istype(W, /obj/item/weapon/wirecutters))
@@ -38,7 +38,7 @@ var/turf/T
var/fillamt = 0
/obj/item/weapon/grenade/bananade/casing/attackby(var/obj/item/I, mob/user as mob)
/obj/item/weapon/grenade/bananade/casing/attackby(var/obj/item/I, mob/user as mob, params)
if(istype(I, /obj/item/weapon/bananapeel))
if(fillamt < 9)
usr << "<span class='notice'>You add another banana peel to the assembly.</span>"
@@ -103,7 +103,7 @@
prime()
/obj/item/weapon/grenade/chem_grenade/attackby(obj/item/I, mob/user)
/obj/item/weapon/grenade/chem_grenade/attackby(obj/item/I, mob/user, params)
if(istype(I,/obj/item/weapon/hand_labeler))
var/obj/item/weapon/hand_labeler/HL = I
if(length(HL.label))
@@ -368,7 +368,7 @@
//I tried to just put it in the allowed_containers list but
//if you do that it must have reagents. If you're going to
//make a special case you might as well do it explicitly. -Sayu
/obj/item/weapon/grenade/chem_grenade/large/attackby(obj/item/I, mob/user)
/obj/item/weapon/grenade/chem_grenade/large/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/slime_extract) && stage == WIRED)
user << "<span class='notice'>You add [I] to the assembly.</span>"
user.drop_item()
@@ -81,7 +81,7 @@
M.unEquip(src)
/obj/item/weapon/grenade/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/grenade/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/screwdriver))
switch(det_time)
if ("1")
+1 -1
View File
@@ -122,7 +122,7 @@ var/last_chew = 0
desc = "Use this to keep prisoners in line. Or you know, your significant other."
icon_state = "pinkcuffs"
/obj/item/weapon/restraints/handcuffs/cable/attackby(var/obj/item/I, mob/user as mob)
/obj/item/weapon/restraints/handcuffs/cable/attackby(var/obj/item/I, mob/user as mob, params)
..()
if(istype(I, /obj/item/stack/rods))
var/obj/item/stack/rods/R = I
@@ -39,7 +39,7 @@
if(0)
usr << "The bag now picks up one seed pouch at a time."
/obj/item/seeds/attackby(var/obj/item/O as obj, var/mob/user as mob)
/obj/item/seeds/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
..()
if (istype(O, /obj/item/weapon/seedbag))
var/obj/item/weapon/seedbag/S = O
@@ -230,7 +230,7 @@
/*
* Corncob
*/
/obj/item/weapon/corncob/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/corncob/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/kitchenknife/ritual))
user << "<span class='notice'>You use [W] to fashion a pipe out of the corn cob!</span>"
@@ -21,7 +21,7 @@
return
attackby(obj/item/weapon/I as obj, mob/user as mob)
attackby(obj/item/weapon/I as obj, mob/user as mob, params)
..()
if (istype(I, /obj/item/weapon/pen))
var/t = input(user, "What would you like the label to be?", text("[]", src.name), null) as text
@@ -74,7 +74,7 @@
return
attackby(var/obj/item/weapon/G as obj, var/mob/user as mob)
attackby(var/obj/item/weapon/G as obj, var/mob/user as mob, params)
if(istype(G, /obj/item/weapon/grab))
if(!ismob(G:affecting))
return
@@ -38,7 +38,7 @@
return
attackby(obj/item/weapon/implantcase/C as obj, mob/user as mob)
attackby(obj/item/weapon/implantcase/C as obj, mob/user as mob, params)
..()
if(istype(C, /obj/item/weapon/implantcase))
if(!( src.case ))
+1 -1
View File
@@ -411,7 +411,7 @@
/obj/item/weapon/tray/var/cooldown = 0 //shield bash cooldown. based on world.time
/obj/item/weapon/tray/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/tray/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/kitchen/rollingpin))
if(cooldown < world.time - 25)
user.visible_message("<span class='warning'>[user] bashes [src] with [W]!</span>")
+1 -1
View File
@@ -49,7 +49,7 @@
user << "<span class='notice'>You have finished mopping!</span>"
/obj/effect/attackby(obj/item/I, mob/user)
/obj/effect/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/mop) || istype(I, /obj/item/weapon/soap))
return
..()
+2 -2
View File
@@ -50,7 +50,7 @@
else
return
/obj/item/weapon/shard/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/shard/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if ( istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
@@ -61,7 +61,7 @@
continue
if(G.amount>=G.max_amount)
continue
G.attackby(NG, user)
G.attackby(NG, user, params)
usr << "You add the newly-formed glass to the stack. It now contains [NG.amount] sheets."
//SN src = null
del(src)
+1 -1
View File
@@ -22,7 +22,7 @@
IsShield()
return 1
attackby(obj/item/weapon/W as obj, mob/user as mob)
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/melee/baton))
if(cooldown < world.time - 25)
user.visible_message("<span class='warning'>[user] bashes [src] with [W]!</span>")
@@ -13,7 +13,7 @@
max_w_class = 3
max_combined_w_class = 21
/obj/item/weapon/storage/backpack/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/storage/backpack/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
playsound(src.loc, "rustle", 50, 1, -5)
..()
@@ -33,7 +33,7 @@
..()
return
attackby(obj/item/weapon/W as obj, mob/user as mob)
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(crit_fail)
user << "\red The Bluespace generator isn't working."
return
@@ -115,6 +115,6 @@
A.reagents.del_reagent("water")
A.reagents.add_reagent("holywater",water2holy)
/obj/item/weapon/storage/bible/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/storage/bible/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
playsound(src.loc, "rustle", 50, 1, -5)
..()
@@ -562,7 +562,7 @@
for(var/i=1; i <= storage_slots; i++)
new /obj/item/weapon/match(src)
attackby(obj/item/weapon/match/W as obj, mob/user as mob)
attackby(obj/item/weapon/match/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/match) && W.lit == 0)
W.lit = 1
W.icon_state = "match_lit"
@@ -129,7 +129,7 @@
for(var/obj/item/toy/crayon/crayon in contents)
overlays += image('icons/obj/crayons.dmi',crayon.colourName)
/obj/item/weapon/storage/fancy/crayons/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/weapon/storage/fancy/crayons/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/toy/crayon))
switch(W:colourName)
if("mime")
@@ -319,7 +319,7 @@
overlays += image(icon, src, "ledb")
return
/obj/item/weapon/storage/lockbox/vials/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/storage/lockbox/vials/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
update_icon()
@@ -17,7 +17,7 @@
var/icon_broken = "lockbox+b"
attackby(obj/item/weapon/W as obj, mob/user as mob)
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/card/id))
if(src.broken)
user << "\red It appears to be broken."
@@ -32,7 +32,7 @@
..()
usr << text("The service panel is [src.open ? "open" : "closed"].")
attackby(obj/item/weapon/W as obj, mob/user as mob)
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(locked)
if ((istype(W, /obj/item/weapon/melee/energy/blade)) && (!src.emagged))
emag_act(user, W)
@@ -1,6 +1,6 @@
// To clarify:
// For use_to_pickup and allow_quick_gather functionality,
// see item/attackby() (/game/objects/items.dm)
// see item/attackby() (/game/objects/items.dm, params)
// Do not remove this functionality without good reason, cough reagent_containers cough.
// -Sayu
@@ -326,7 +326,7 @@
return 1
//This proc is called when you want to place an item into the storage item.
/obj/item/weapon/storage/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/weapon/storage/attackby(obj/item/W as obj, mob/user as mob, params)
..()
if(isrobot(user))
+2 -2
View File
@@ -59,7 +59,7 @@
if(!bcell)
user <<"<span class='warning'>The baton does not have a power source installed.</span>"
/obj/item/weapon/melee/baton/attackby(obj/item/weapon/W, mob/user)
/obj/item/weapon/melee/baton/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/stock_parts/cell))
var/obj/item/weapon/stock_parts/cell/C = W
if(bcell)
@@ -177,7 +177,7 @@
bcell = R.cell
return ..()
/obj/item/weapon/melee/baton/robot/attackby(obj/item/weapon/W, mob/user)
/obj/item/weapon/melee/baton/robot/attackby(obj/item/weapon/W, mob/user, params)
return
/obj/item/weapon/melee/baton/loaded/ntcane
@@ -60,7 +60,7 @@
add_fingerprint(user)
return
/obj/item/weapon/melee/energy/sword/attackby(obj/item/weapon/W, mob/living/user)
/obj/item/weapon/melee/energy/sword/attackby(obj/item/weapon/W, mob/living/user, params)
..()
if(istype(W, /obj/item/weapon/melee/energy/sword))
if(W == src)
@@ -11,7 +11,7 @@
/*
* Table Parts
*/
/obj/item/weapon/table_parts/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/table_parts/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if (istype(W, /obj/item/weapon/wrench))
new /obj/item/stack/sheet/metal( user.loc )
@@ -36,7 +36,7 @@
/*
* Reinforced Table Parts
*/
/obj/item/weapon/table_parts/reinforced/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/table_parts/reinforced/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/wrench))
new /obj/item/stack/sheet/metal( user.loc )
new /obj/item/stack/rods( user.loc )
@@ -51,7 +51,7 @@
/*
* Wooden Table Parts
*/
/obj/item/weapon/table_parts/wood/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/table_parts/wood/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/wrench))
new /obj/item/stack/sheet/wood( user.loc )
del(src)
@@ -65,7 +65,7 @@
/*
* Rack Parts
*/
/obj/item/weapon/rack_parts/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/rack_parts/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if (istype(W, /obj/item/weapon/wrench))
new /obj/item/stack/sheet/metal( user.loc )
@@ -110,7 +110,7 @@
src.air_contents.update_values()
return
/obj/item/weapon/tank/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/tank/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if (istype(W, /obj/item/weapon/flamethrower))
@@ -78,7 +78,7 @@
del(src)
/obj/item/weapon/tank/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/tank/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
var/obj/icon = src
+1 -1
View File
@@ -172,7 +172,7 @@
return
/obj/item/weapon/weldingtool/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/weapon/weldingtool/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weapon/screwdriver))
if(welding)
user << "\red Stop welding first!"
+1 -1
View File
@@ -267,7 +267,7 @@ obj/item/weapon/twohanded/
..()
hitsound = 'sound/weapons/blade1.ogg'
/obj/item/weapon/twohanded/dualsaber/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/twohanded/dualsaber/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if(istype(W, /obj/item/device/multitool))
if(hacked == 0)
+1 -1
View File
@@ -165,7 +165,7 @@ obj/item/weapon/wirerod
m_amt = 1875
attack_verb = list("hit", "bludgeoned", "whacked", "bonked")
obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob)
obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob, params)
..()
if(istype(I, /obj/item/weapon/shard))
var/obj/item/weapon/twohanded/spear/S = new /obj/item/weapon/twohanded/spear