diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm
index 3d0a829d875..9569becc9fc 100644
--- a/code/ATMOSPHERICS/atmospherics.dm
+++ b/code/ATMOSPHERICS/atmospherics.dm
@@ -74,7 +74,7 @@ Pipelines + Other Objects -> Pipe network
/obj/machinery/atmospherics/update_icon()
return null
-/obj/machinery/atmospherics/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+/obj/machinery/atmospherics/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob, params)
if(can_unwrench && istype(W, /obj/item/weapon/wrench))
var/turf/T = src.loc
if (level==1 && isturf(T) && T.intact)
diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
index 240057ed6eb..0719c32f502 100644
--- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
@@ -167,7 +167,7 @@ Passive gate is similar to the regular pump except:
-/obj/machinery/atmospherics/binary/passive_gate/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+/obj/machinery/atmospherics/binary/passive_gate/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob, params)
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (on)
diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm
index 464b37fef82..09a5e421de6 100644
--- a/code/ATMOSPHERICS/components/binary_devices/pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm
@@ -172,7 +172,7 @@ Thus, the two variables affect pump operation are set in New():
..()
update_icon()
-/obj/machinery/atmospherics/binary/pump/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+/obj/machinery/atmospherics/binary/pump/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob, params)
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (!(stat & NOPOWER) && on)
diff --git a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
index 1ed309c8919..de0ca2a8ab7 100644
--- a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
@@ -171,7 +171,7 @@ Thus, the two variables affect pump operation are set in New():
-/obj/machinery/atmospherics/binary/volume_pump/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+/obj/machinery/atmospherics/binary/volume_pump/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob, params)
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (!(stat & NOPOWER) && on)
diff --git a/code/ATMOSPHERICS/components/portables_connector.dm b/code/ATMOSPHERICS/components/portables_connector.dm
index 6fd16461e2d..84c9f0c7714 100644
--- a/code/ATMOSPHERICS/components/portables_connector.dm
+++ b/code/ATMOSPHERICS/components/portables_connector.dm
@@ -34,7 +34,7 @@
connected_device.disconnect()
..()
-/obj/machinery/atmospherics/unary/portables_connector/attackby(obj/item/weapon/W, mob/user)
+/obj/machinery/atmospherics/unary/portables_connector/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
if(connected_device)
user << "You cannot unwrench this [src], dettach [connected_device] first."
diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm
index a03cc9b3656..aa7fc41240a 100644
--- a/code/ATMOSPHERICS/components/unary/vent_pump.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm
@@ -265,7 +265,7 @@
update_icon()
return
-/obj/machinery/atmospherics/unary/vent_pump/attackby(obj/item/W, mob/user)
+/obj/machinery/atmospherics/unary/vent_pump/attackby(obj/item/W, mob/user, params)
if (istype(W, /obj/item/weapon/wrench)&& !(stat & NOPOWER) && on)
user << "You cannot unwrench this [src], turn it off first."
return 1
diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
index cfe5d8e436e..cb7859c1268 100644
--- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
@@ -237,7 +237,7 @@
stat |= NOPOWER
update_icon_nopipes()
-/obj/machinery/atmospherics/unary/vent_scrubber/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+/obj/machinery/atmospherics/unary/vent_scrubber/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob, params)
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (!(stat & NOPOWER) && on)
diff --git a/code/ATMOSPHERICS/pipes.dm b/code/ATMOSPHERICS/pipes.dm
index 404387a84f1..b2a1bb5236b 100644
--- a/code/ATMOSPHERICS/pipes.dm
+++ b/code/ATMOSPHERICS/pipes.dm
@@ -35,7 +35,7 @@
parent = new /datum/pipeline()
parent.build_pipeline(src)
-/obj/machinery/atmospherics/pipe/attackby(obj/item/weapon/W, mob/user)
+/obj/machinery/atmospherics/pipe/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/device/analyzer))
atmosanalyzer_scan(parent.air, user)
return
diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index d3acf80de85..f21f383e69b 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -113,7 +113,7 @@
if(A.Adjacent(src)) // see adjacent.dm
if(W)
// Return 1 in attackby() to prevent afterattack() effects (when safely moving items for example)
- var/resolved = A.attackby(W,src)
+ var/resolved = A.attackby(W,src,params)
if(!resolved && A && W)
W.afterattack(A,src,1,params) // 1: clicking something Adjacent
else
diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm
index f0dc1c3c720..25cf22540ae 100644
--- a/code/_onclick/cyborg.dm
+++ b/code/_onclick/cyborg.dm
@@ -69,7 +69,7 @@
// cyborgs are prohibited from using storage items so we can I think safely remove (A.loc in contents)
if(A == loc || (A in loc) || (A in contents))
// No adjacency checks
- var/resolved = A.attackby(W,src)
+ var/resolved = A.attackby(W,src, params)
if(!resolved && A && W)
W.afterattack(A,src,1,params)
return
@@ -80,7 +80,7 @@
// cyborgs are prohibited from using storage items so we can I think safely remove (A.loc && isturf(A.loc.loc))
if(isturf(A) || isturf(A.loc))
if(A.Adjacent(src)) // see adjacent.dm
- var/resolved = A.attackby(W, src)
+ var/resolved = A.attackby(W, src, params)
if(!resolved && A && W)
W.afterattack(A, src, 1, params)
return
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index e23a1e42479..b0b2864a7ff 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -201,7 +201,7 @@
/obj/screen/storage
name = "storage"
-/obj/screen/storage/Click()
+/obj/screen/storage/Click(location, control, params)
if(world.time <= usr.next_move)
return 1
if(usr.stat || usr.paralysis || usr.stunned || usr.weakened)
@@ -211,7 +211,7 @@
if(master)
var/obj/item/I = usr.get_active_hand()
if(I)
- master.attackby(I, usr)
+ master.attackby(I, usr, params)
return 1
/obj/screen/throw_catch
diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm
index c3d906c7742..75917f2de7d 100644
--- a/code/_onclick/item_attack.dm
+++ b/code/_onclick/item_attack.dm
@@ -4,14 +4,15 @@
return
// No comment
-/atom/proc/attackby(obj/item/W, mob/user)
+/atom/proc/attackby(obj/item/W, mob/user, params)
return
-/atom/movable/attackby(obj/item/W, mob/living/user)
+
+/atom/movable/attackby(obj/item/W, mob/living/user, params)
user.do_attack_animation(src)
if(W && !(W.flags&NOBLUDGEON))
visible_message("[user] has hit [src] with [W].")
-/mob/living/attackby(obj/item/I, mob/user)
+/mob/living/attackby(obj/item/I, mob/user, params)
user.changeNext_move(CLICK_CD_MELEE)
I.attack(src, user)
diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm
index ec70b9aebe2..3471a81f95d 100644
--- a/code/_onclick/telekinesis.dm
+++ b/code/_onclick/telekinesis.dm
@@ -92,7 +92,7 @@ var/const/tk_maxrange = 15
if(focus)
focus.attack_self_tk(user)
-/obj/item/tk_grab/afterattack(atom/target, mob/living/carbon/user, proximity)//TODO: go over this
+/obj/item/tk_grab/afterattack(atom/target, mob/living/carbon/user, proximity, params)//TODO: go over this
if(!target || !user) return
if(last_throw+3 > world.time) return
if(!host || host != user)
@@ -118,7 +118,7 @@ var/const/tk_maxrange = 15
if(!istype(target, /turf) && istype(focus,/obj/item) && target.Adjacent(focus))
var/obj/item/I = focus
- var/resolved = target.attackby(I, user, user:get_organ_target())
+ var/resolved = target.attackby(I, user, params)
if(!resolved && target && I)
I.afterattack(target,user,1) // for splashing with beakers
diff --git a/code/defines/obj.dm b/code/defines/obj.dm
index 0aeee6b0bc3..4e620df5fc2 100644
--- a/code/defines/obj.dm
+++ b/code/defines/obj.dm
@@ -4,7 +4,7 @@
anchored = 1
density = 1
-/obj/structure/signpost/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/signpost/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
return attack_hand(user)
/obj/structure/signpost/attack_hand(mob/user as mob)
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 0c5b5edfb19..45baa224943 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -213,9 +213,9 @@
verbs.Cut()
return
-/atom/movable/overlay/attackby(a, b)
+/atom/movable/overlay/attackby(a, b, c)
if (src.master)
- return src.master.attackby(a, b)
+ return src.master.attackby(a, b, c)
return
/atom/movable/overlay/attack_paw(a, b, c)
diff --git a/code/game/dna.dm b/code/game/dna.dm
index 6604ce28caf..de97e0e1b04 100644
--- a/code/game/dna.dm
+++ b/code/game/dna.dm
@@ -433,7 +433,7 @@
open_machine()
return
-/obj/machinery/dna_scannernew/attackby(var/obj/item/I, mob/user)
+/obj/machinery/dna_scannernew/attackby(var/obj/item/I, mob/user, params)
if(!occupant && default_deconstruction_screwdriver(user, icon_state, icon_state, I))//sent icon_state is irrelevant...
update_icon()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed
@@ -495,7 +495,7 @@
idle_power_usage = 10
active_power_usage = 400
-/obj/machinery/computer/scan_consolenew/attackby(obj/item/I as obj, mob/user as mob)
+/obj/machinery/computer/scan_consolenew/attackby(obj/item/I as obj, mob/user as mob, params)
if (istype(I, /obj/item/weapon/disk/data)) //INSERT SOME DISKETTES
if (!src.diskette)
user.drop_item()
diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm
index c3a0f3cff6e..3a01fd40794 100644
--- a/code/game/gamemodes/blob/theblob.dm
+++ b/code/game/gamemodes/blob/theblob.dm
@@ -155,7 +155,7 @@
L.blob_act()
-/obj/effect/blob/attackby(var/obj/item/weapon/W, var/mob/living/user)
+/obj/effect/blob/attackby(var/obj/item/weapon/W, var/mob/living/user, params)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1)
diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm
index 93c6a3753c9..3dacbb2ba24 100644
--- a/code/game/gamemodes/cult/ritual.dm
+++ b/code/game/gamemodes/cult/ritual.dm
@@ -153,7 +153,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
-/obj/effect/rune/attackby(I as obj, user as mob)
+/obj/effect/rune/attackby(I as obj, user as mob, params)
if(istype(I, /obj/item/weapon/tome) && iscultist(user))
user << "You retrace your steps, carefully undoing the lines of the rune."
qdel(src)
@@ -662,7 +662,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
user << "The book seems full of illegible scribbles. Is this a joke?"
return
-/obj/item/weapon/tome/attackby(obj/item/weapon/tome/T as obj, mob/living/user as mob)
+/obj/item/weapon/tome/attackby(obj/item/weapon/tome/T as obj, mob/living/user as mob, params)
if(istype(T, /obj/item/weapon/tome)) // sanity check to prevent a runtime error
switch(alert("Copy the runes from your tome?",,"Copy", "Cancel"))
if("cancel")
diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm
index 6a3b1791c85..b4b9edbac73 100644
--- a/code/game/gamemodes/meteor/meteors.dm
+++ b/code/game/gamemodes/meteor/meteors.dm
@@ -156,7 +156,7 @@
/obj/effect/meteor/ex_act()
return
-/obj/effect/meteor/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/effect/meteor/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/pickaxe))
qdel(src)
return
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm
index ff3c6190cd1..0fbf15cc283 100644
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm
+++ b/code/game/gamemodes/nuclear/nuclearbomb.dm
@@ -41,7 +41,7 @@ var/bomb_set
src.attack_hand(M)
return
-/obj/machinery/nuclearbomb/attackby(obj/item/weapon/I as obj, mob/user as mob)
+/obj/machinery/nuclearbomb/attackby(obj/item/weapon/I as obj, mob/user as mob, params)
if (istype(I, /obj/item/weapon/disk/nuclear))
usr.drop_item()
I.loc = src
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index 48054d26cfb..4dfb32d2c77 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -53,7 +53,7 @@
if(spawn_amt_left <= 0)
qdel(src)
-/obj/effect/rend/attackby(obj/item/I as obj, mob/user as mob)
+/obj/effect/rend/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/nullrod))
user.visible_message("[usr] seals \the [src] with \the [I].")
qdel(src)
diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm
index b9c9c43a3e3..2df1b4cd4ca 100644
--- a/code/game/gamemodes/wizard/soulstone.dm
+++ b/code/game/gamemodes/wizard/soulstone.dm
@@ -92,7 +92,7 @@
icon_state = "construct"
desc = "A wicked machine used by those skilled in magical arts. It is inactive"
-/obj/structure/constructshell/attackby(obj/item/O as obj, mob/user as mob)
+/obj/structure/constructshell/attackby(obj/item/O as obj, mob/user as mob, params)
if(istype(O, /obj/item/device/soulstone))
var/obj/item/device/soulstone/SS = O
SS.transfer_soul("CONSTRUCT",src,user)
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index 084cefb272c..6fe5906aaf5 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -14,7 +14,7 @@
var/list/active_challenges = list()
var/mob/living/carbon/human/owner
-/obj/item/weapon/spellbook/attackby(obj/item/O as obj, mob/user as mob)
+/obj/item/weapon/spellbook/attackby(obj/item/O as obj, mob/user as mob, params)
if(istype(O, /obj/item/weapon/antag_spawner/contract))
var/obj/item/weapon/antag_spawner/contract/contract = O
if(contract.used)
diff --git a/code/game/machinery/Freezer.dm b/code/game/machinery/Freezer.dm
index 5889d0301a4..c6c097368c8 100644
--- a/code/game/machinery/Freezer.dm
+++ b/code/game/machinery/Freezer.dm
@@ -34,7 +34,7 @@
min_temperature = T0C - (170 + (T*15))
current_heat_capacity = 1000 * ((H - 1) ** 2)
-/obj/machinery/atmospherics/unary/cold_sink/freezer/attackby(obj/item/I, mob/user)
+/obj/machinery/atmospherics/unary/cold_sink/freezer/attackby(obj/item/I, mob/user, params)
if(default_deconstruction_screwdriver(user, "freezer-o", "freezer", I))
on = 0
update_icon()
@@ -159,7 +159,7 @@
max_temperature = T20C + (140 * T)
current_heat_capacity = 1000 * ((H - 1) ** 2)
-/obj/machinery/atmospherics/unary/heat_reservoir/heater/attackby(obj/item/I, mob/user)
+/obj/machinery/atmospherics/unary/heat_reservoir/heater/attackby(obj/item/I, mob/user, params)
if(default_deconstruction_screwdriver(user, "heater-o", "heater", I))
on = 0
update_icon()
diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm
index 2d492dfccfc..bb9d5db7eee 100644
--- a/code/game/machinery/PDApainter.dm
+++ b/code/game/machinery/PDApainter.dm
@@ -40,7 +40,7 @@
src.colorlist += D
-/obj/machinery/pdapainter/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/pdapainter/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/device/pda))
if(storedpda)
user << "There is already a PDA inside."
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index d3a45be951c..dcae67a797b 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -69,7 +69,7 @@
qdel(src)
return
-/obj/machinery/sleeper/attackby(obj/item/I, mob/user)
+/obj/machinery/sleeper/attackby(obj/item/I, mob/user, params)
if(!state_open && !occupant)
if(default_deconstruction_screwdriver(user, "sleeper-o", "sleeper", I))
return
diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm
index 44bfebdb992..734f483cf55 100644
--- a/code/game/machinery/ai_slipper.dm
+++ b/code/game/machinery/ai_slipper.dm
@@ -28,7 +28,7 @@
src.uses = uses
src.power_change()
-/obj/machinery/ai_slipper/attackby(obj/item/weapon/W, mob/user)
+/obj/machinery/ai_slipper/attackby(obj/item/weapon/W, mob/user, params)
if(stat & (NOPOWER|BROKEN))
return
if (istype(user, /mob/living/silicon))
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index ed795747706..884d10e2788 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -767,7 +767,7 @@ table tr:first-child th:first-child { border: none;}
post_alert(new_area_danger_level)
update_icon()
-/obj/machinery/alarm/attackby(obj/item/W as obj, mob/user as mob)
+/obj/machinery/alarm/attackby(obj/item/W as obj, mob/user as mob, params)
switch(buildstage)
if(2)
if(istype(W, /obj/item/weapon/wirecutters) && panel_open && (wires.wires_status == 27 || wires.wires_status == 31)) //this checks for all wires to be cut, except the syphon wire which is optional.
@@ -886,7 +886,7 @@ Code shamelessly copied from apc_frame
icon_state = "alarm_bitem"
flags = CONDUCT
-/obj/item/alarm_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/alarm_frame/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( get_turf(src.loc), 2 )
qdel(src)
@@ -1000,7 +1000,7 @@ FIRE ALARM
if(prob(50/severity)) alarm()
..()
-/obj/machinery/firealarm/attackby(obj/item/W as obj, mob/user as mob)
+/obj/machinery/firealarm/attackby(obj/item/W as obj, mob/user as mob, params)
src.add_fingerprint(user)
if (istype(W, /obj/item/weapon/screwdriver) && buildstage == 2)
@@ -1234,7 +1234,7 @@ Code shamelessly copied from apc_frame
flags = CONDUCT
-/obj/item/firealarm_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/firealarm_frame/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( get_turf(src.loc), 2 )
qdel(src)
diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm
index 14957d84b85..99fba02a701 100644
--- a/code/game/machinery/atmoalter/canister.dm
+++ b/code/game/machinery/atmoalter/canister.dm
@@ -227,7 +227,7 @@ update_flag
return
return
-/obj/machinery/portable_atmospherics/canister/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+/obj/machinery/portable_atmospherics/canister/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob, params)
if(!istype(W, /obj/item/weapon/wrench) && !istype(W, /obj/item/weapon/tank) && !istype(W, /obj/item/device/analyzer) && !istype(W, /obj/item/device/pda))
visible_message("[user] hits \the [src] with a [W]!")
investigate_log("was smacked with \a [W] by [key_name(user)]", "atmos")
diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm
index 8758bb4aa8d..c9a7c1cf6c2 100644
--- a/code/game/machinery/atmoalter/meter.dm
+++ b/code/game/machinery/atmoalter/meter.dm
@@ -85,7 +85,7 @@
user << status()
-/obj/machinery/meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+/obj/machinery/meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob, params)
if (istype(W, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "You begin to unfasten \the [src]..."
diff --git a/code/game/machinery/atmoalter/portable_atmospherics.dm b/code/game/machinery/atmoalter/portable_atmospherics.dm
index 3741c13b09e..b2dac4a8317 100644
--- a/code/game/machinery/atmoalter/portable_atmospherics.dm
+++ b/code/game/machinery/atmoalter/portable_atmospherics.dm
@@ -62,7 +62,7 @@
/obj/machinery/portable_atmospherics/portableConnectorReturnAir()
return air_contents
-/obj/machinery/portable_atmospherics/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+/obj/machinery/portable_atmospherics/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob, params)
if ((istype(W, /obj/item/weapon/tank) && !( src.destroyed )))
if (src.holding)
return
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index 11194f2af2c..2b82a9e7b1f 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -89,7 +89,7 @@
return
-/obj/machinery/autolathe/attackby(obj/item/O, mob/user)
+/obj/machinery/autolathe/attackby(obj/item/O, mob/user, params)
if (busy)
user << "The autolathe is busy. Please wait for completion of previous operation."
return 1
diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm
index 1253c55cd19..2dddc0aeb9f 100644
--- a/code/game/machinery/bots/bots.dm
+++ b/code/game/machinery/bots/bots.dm
@@ -238,7 +238,7 @@
return 1 //Successful completion. Used to prevent child process() continuing if this one is ended early.
-/obj/machinery/bot/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/bot/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/screwdriver))
if(!locked)
open = !open
diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm
index 17051973fc4..69ed1cd26df 100644
--- a/code/game/machinery/bots/cleanbot.dm
+++ b/code/game/machinery/bots/cleanbot.dm
@@ -115,7 +115,7 @@ text("[on ? "On" : "Off"]"))
beacon_freq = freq
updateUsrDialog()
-/obj/machinery/bot/cleanbot/attackby(obj/item/weapon/W, mob/user as mob)
+/obj/machinery/bot/cleanbot/attackby(obj/item/weapon/W, mob/user as mob, params)
if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda))
if(allowed(user) && !open && !emagged)
locked = !locked
@@ -256,7 +256,7 @@ text("[on ? "On" : "Off"]"))
qdel(src)
return
-/obj/item/weapon/bucket_sensor/attackby(var/obj/item/W, mob/user as mob)
+/obj/item/weapon/bucket_sensor/attackby(var/obj/item/W, mob/user as mob, params)
..()
if(istype(W, /obj/item/robot_parts/l_arm) || istype(W, /obj/item/robot_parts/r_arm))
user.drop_item()
diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm
index 333cefdca0c..df69dc9c78b 100644
--- a/code/game/machinery/bots/ed209bot.dm
+++ b/code/game/machinery/bots/ed209bot.dm
@@ -169,7 +169,7 @@ Auto Patrol[]"},
declare_arrests = !declare_arrests
updateUsrDialog()
-/obj/machinery/bot/ed209/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/bot/ed209/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda))
if (allowed(user) && !open && !emagged)
locked = !locked
@@ -541,7 +541,7 @@ Auto Patrol[]"},
-/obj/item/weapon/ed209_assembly/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/ed209_assembly/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if(istype(W, /obj/item/weapon/pen))
diff --git a/code/game/machinery/bots/floorbot.dm b/code/game/machinery/bots/floorbot.dm
index c740b26f02f..a2112f53b2e 100644
--- a/code/game/machinery/bots/floorbot.dm
+++ b/code/game/machinery/bots/floorbot.dm
@@ -132,7 +132,7 @@
return
-/obj/machinery/bot/floorbot/attackby(var/obj/item/W , mob/user as mob)
+/obj/machinery/bot/floorbot/attackby(var/obj/item/W , mob/user as mob, params)
if(istype(W, /obj/item/stack/tile/plasteel))
var/obj/item/stack/tile/plasteel/T = W
if(amount >= 50)
@@ -474,7 +474,7 @@ obj/machinery/bot/floorbot/process_scan(var/scan_target)
return
-/obj/item/weapon/storage/toolbox/mechanical/attackby(var/obj/item/stack/tile/plasteel/T, mob/user as mob)
+/obj/item/weapon/storage/toolbox/mechanical/attackby(var/obj/item/stack/tile/plasteel/T, mob/user as mob, params)
if(!istype(T, /obj/item/stack/tile/plasteel))
..()
return
@@ -493,7 +493,7 @@ obj/machinery/bot/floorbot/process_scan(var/scan_target)
user << "You need 10 floor tiles to start building a floorbot."
return
-/obj/item/weapon/toolbox_tiles/attackby(var/obj/item/W, mob/user as mob)
+/obj/item/weapon/toolbox_tiles/attackby(var/obj/item/W, mob/user as mob, params)
..()
if(isprox(W))
qdel(W)
@@ -513,7 +513,7 @@ obj/machinery/bot/floorbot/process_scan(var/scan_target)
created_name = t
-/obj/item/weapon/toolbox_tiles_sensor/attackby(var/obj/item/W, mob/user as mob)
+/obj/item/weapon/toolbox_tiles_sensor/attackby(var/obj/item/W, mob/user as mob, params)
..()
if(istype(W, /obj/item/robot_parts/l_arm) || istype(W, /obj/item/robot_parts/r_arm))
qdel(W)
diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm
index 1a54f03895d..2dafe5746f3 100644
--- a/code/game/machinery/bots/medbot.dm
+++ b/code/game/machinery/bots/medbot.dm
@@ -209,7 +209,7 @@
updateUsrDialog()
return
-/obj/machinery/bot/medbot/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/bot/medbot/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda))
if (allowed(user) && !open && !emagged)
locked = !locked
@@ -535,7 +535,7 @@
* Medbot Assembly -- Can be made out of all three medkits.
*/
-/obj/item/weapon/storage/firstaid/attackby(var/obj/item/robot_parts/S, mob/user as mob)
+/obj/item/weapon/storage/firstaid/attackby(var/obj/item/robot_parts/S, mob/user as mob, params)
if ((!istype(S, /obj/item/robot_parts/l_arm)) && (!istype(S, /obj/item/robot_parts/r_arm)))
..()
@@ -563,7 +563,7 @@
qdel(src)
-/obj/item/weapon/firstaid_arm_assembly/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/firstaid_arm_assembly/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if(istype(W, /obj/item/weapon/pen))
var/t = stripped_input(user, "Enter new robot name", name, created_name,MAX_NAME_LEN)
diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm
index 914046a5649..eb580f5795c 100644
--- a/code/game/machinery/bots/mulebot.dm
+++ b/code/game/machinery/bots/mulebot.dm
@@ -87,7 +87,7 @@ obj/machinery/bot/mulebot/bot_reset()
// screwdriver: open/close hatch
// cell: insert it
// other: chance to knock rider off bot
-/obj/machinery/bot/mulebot/attackby(var/obj/item/I, var/mob/user)
+/obj/machinery/bot/mulebot/attackby(var/obj/item/I, var/mob/user, params)
if(istype(I, /obj/item/weapon/card/id) || istype(I, /obj/item/device/pda))
if(toggle_lock(user))
user << "Controls [(locked ? "locked" : "unlocked")]."
diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm
index 2c9838cf9d5..f5bd7dada47 100644
--- a/code/game/machinery/bots/secbot.dm
+++ b/code/game/machinery/bots/secbot.dm
@@ -155,7 +155,7 @@ Auto Patrol: []"},
updateUsrDialog()
-/obj/machinery/bot/secbot/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/bot/secbot/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda))
if(allowed(user) && !open && !emagged)
locked = !locked
@@ -386,7 +386,7 @@ Auto Patrol: []"},
//Secbot Construction
-/obj/item/clothing/head/helmet/attackby(var/obj/item/device/assembly/signaler/S, mob/user as mob)
+/obj/item/clothing/head/helmet/attackby(var/obj/item/device/assembly/signaler/S, mob/user as mob, params)
..()
if(!issignaler(S))
..()
@@ -405,7 +405,7 @@ Auto Patrol: []"},
else
return
-/obj/item/weapon/secbot_assembly/attackby(obj/item/I, mob/user)
+/obj/item/weapon/secbot_assembly/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/weapon/weldingtool))
if(!build_step)
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index ca16ad5dbc3..8a8b1836eae 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -124,7 +124,7 @@
add_hiddenprint(user)
deactivate(user,0)
-/obj/machinery/camera/attackby(W as obj, mob/living/user as mob)
+/obj/machinery/camera/attackby(W as obj, mob/living/user as mob, params)
var/msg = "You attach [W] into the assembly inner circuits."
var/msg2 = "The camera already has that upgrade!"
diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm
index cdd9cda8520..5e36e6ff1af 100644
--- a/code/game/machinery/camera/camera_assembly.dm
+++ b/code/game/machinery/camera/camera_assembly.dm
@@ -22,7 +22,7 @@
4 = Screwdriver panel closed and is fully built (you cannot attach upgrades)
*/
-/obj/item/weapon/camera_assembly/attackby(obj/item/W as obj, mob/living/user as mob)
+/obj/item/weapon/camera_assembly/attackby(obj/item/W as obj, mob/living/user as mob, params)
switch(state)
diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm
index 543516c36a7..59731eaa01b 100644
--- a/code/game/machinery/cell_charger.dm
+++ b/code/game/machinery/cell_charger.dm
@@ -32,7 +32,7 @@
if(charging)
user << "Current charge: [round(charging.percent(), 1)]%"
-/obj/machinery/cell_charger/attackby(obj/item/weapon/W, mob/user)
+/obj/machinery/cell_charger/attackby(obj/item/weapon/W, mob/user, params)
if(stat & BROKEN)
return
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index 6c1586348e8..ab45982bb34 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -242,7 +242,7 @@
return
//Let's unlock this early I guess. Might be too early, needs tweaking.
-/obj/machinery/clonepod/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/clonepod/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(!(occupant || mess || locked))
if(default_deconstruction_screwdriver(user, "[icon_state]_maintenance", "[initial(icon_state)]",W))
return
diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm
index 601bde71545..c96493032e7 100644
--- a/code/game/machinery/computer/HolodeckControl.dm
+++ b/code/game/machinery/computer/HolodeckControl.dm
@@ -275,7 +275,7 @@
icon_state = "floor"
thermal_conductivity = 0
-/turf/simulated/floor/holofloor/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/turf/simulated/floor/holofloor/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
return
// HOLOFLOOR DOES NOT GIVE A FUCK
@@ -284,7 +284,7 @@
gender = PLURAL
name = "lush grass"
-/turf/simulated/floor/fancy/grass/holo/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/turf/simulated/floor/fancy/grass/holo/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
return
// HOLOGRASS DOES NOT GIVE A FUCK
@@ -304,7 +304,7 @@
return // HOLOTABLE DOES NOT GIVE A FUCK
-/obj/structure/table/holotable/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/table/holotable/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2)
var/obj/item/weapon/grab/G = W
if(G.state < GRAB_AGGRESSIVE)
@@ -423,7 +423,7 @@
density = 1
throwpass = 1
-/obj/structure/holohoop/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/holohoop/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2)
var/obj/item/weapon/grab/G = W
if(G.state < GRAB_AGGRESSIVE)
@@ -481,7 +481,7 @@
..()
-/obj/machinery/readybutton/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/readybutton/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
user << "The device is a solid button, there's nothing you can do with it!"
/obj/machinery/readybutton/attack_hand(mob/user as mob)
diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm
index 8cd861754a4..d3b042a86b4 100644
--- a/code/game/machinery/computer/ai_core.dm
+++ b/code/game/machinery/computer/ai_core.dm
@@ -10,7 +10,7 @@
var/obj/item/device/mmi/brain = null
-/obj/structure/AIcore/attackby(obj/item/P as obj, mob/user as mob)
+/obj/structure/AIcore/attackby(obj/item/P as obj, mob/user as mob, params)
switch(state)
if(0)
if(istype(P, /obj/item/weapon/wrench))
@@ -188,7 +188,7 @@
anchored = 1
state = 20//So it doesn't interact based on the above. Not really necessary.
-/obj/structure/AIcore/deactivated/attackby(var/obj/item/A as obj, var/mob/user as mob)
+/obj/structure/AIcore/deactivated/attackby(var/obj/item/A as obj, var/mob/user as mob, params)
if(istype(A, /obj/item/device/aicard))//Is it?
A.transfer_ai("INACTIVE","AICARD",src,user)
if(istype(A, /obj/item/weapon/wrench))
diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm
index 44943554a88..35d84985fbf 100644
--- a/code/game/machinery/computer/aifixer.dm
+++ b/code/game/machinery/computer/aifixer.dm
@@ -13,7 +13,7 @@
..()
-/obj/machinery/computer/aifixer/attackby(I as obj, user as mob)
+/obj/machinery/computer/aifixer/attackby(I as obj, user as mob, params)
if(occupier && istype(I, /obj/item/weapon/screwdriver))
if(stat & (NOPOWER|BROKEN))
user << "The screws on [name]'s screen won't budge."
diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm
index b74a49d5d28..0250b8575d7 100644
--- a/code/game/machinery/computer/buildandrepair.dm
+++ b/code/game/machinery/computer/buildandrepair.dm
@@ -242,7 +242,7 @@
origin_tech = "programming=1"
-/obj/item/weapon/circuitboard/supplycomp/attackby(obj/item/I as obj, mob/user as mob)
+/obj/item/weapon/circuitboard/supplycomp/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I,/obj/item/device/multitool))
var/catastasis = src.contraband_enabled
var/opposite_catastasis
@@ -264,7 +264,7 @@
user << "DERP! BUG! Report this (And what you were doing to cause it) to Agouri"
return
-/obj/item/weapon/circuitboard/rdconsole/attackby(obj/item/I as obj, mob/user as mob)
+/obj/item/weapon/circuitboard/rdconsole/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I,/obj/item/weapon/screwdriver))
if(build_path == /obj/machinery/computer/rdconsole/core)
name = "circuit board (RD Console - Robotics)"
@@ -276,7 +276,7 @@
user << "Defaulting access protocols."
return
-/obj/item/weapon/circuitboard/libraryconsole/attackby(obj/item/I as obj, mob/user as mob)
+/obj/item/weapon/circuitboard/libraryconsole/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I,/obj/item/weapon/screwdriver))
if(build_path == /obj/machinery/computer/libraryconsole/bookmanagement)
name = "circuit board (Library Visitor Console)"
@@ -288,7 +288,7 @@
user << "Access protocols successfully updated."
return
-/obj/item/weapon/circuitboard/shuttle/attackby(obj/item/I as obj, mob/user as mob)
+/obj/item/weapon/circuitboard/shuttle/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/device/multitool))
var/chosen_id = round(input(usr, "Choose an ID number (-1 for reset):", "Input an Integer", null) as num|null)
if(chosen_id >= 0)
@@ -297,7 +297,7 @@
shuttleId = initial(shuttleId)
return
-/obj/structure/computerframe/attackby(obj/item/P as obj, mob/user as mob)
+/obj/structure/computerframe/attackby(obj/item/P as obj, mob/user as mob, params)
add_fingerprint(user)
switch(state)
if(0)
diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm
index f8dd1fc0ddd..acc6cccc4db 100644
--- a/code/game/machinery/computer/card.dm
+++ b/code/game/machinery/computer/card.dm
@@ -42,7 +42,7 @@ var/time_last_changed_position = 0
//Assoc array: "JobName" = (int)
var/list/opened_positions = list();
-/obj/machinery/computer/card/attackby(O as obj, user as mob)//TODO:SANITY
+/obj/machinery/computer/card/attackby(O as obj, user as mob, params)//TODO:SANITY
if(istype(O, /obj/item/weapon/card/id))
var/obj/item/weapon/card/id/idcard = O
if(check_access(idcard))
diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm
index 2c68d334bd1..adf27aed284 100644
--- a/code/game/machinery/computer/cloning.dm
+++ b/code/game/machinery/computer/cloning.dm
@@ -73,7 +73,7 @@
return null
-/obj/machinery/computer/cloning/attackby(obj/item/W as obj, mob/user as mob)
+/obj/machinery/computer/cloning/attackby(obj/item/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/disk/data)) //INSERT SOME DISKETTES
if (!src.diskette)
user.drop_item()
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index 710b1db4bd8..e674e57bcac 100644
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -321,7 +321,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
src.updateUsrDialog()
-/obj/machinery/computer/communications/attackby(var/obj/I as obj, var/mob/user as mob)
+/obj/machinery/computer/communications/attackby(var/obj/I as obj, var/mob/user as mob, params)
if(istype(I, /obj/item/weapon/card/id))
attack_hand(user)
else
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index bdd1c99ea3e..c07f00af0d4 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -91,7 +91,7 @@
update_icon()
return
-/obj/machinery/computer/attackby(I as obj, user as mob)
+/obj/machinery/computer/attackby(I as obj, user as mob, params)
if(istype(I, /obj/item/weapon/screwdriver) && circuit)
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
user << " You start to disconnect the monitor."
diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm
index 58991352c91..c314be68b5e 100644
--- a/code/game/machinery/computer/law.dm
+++ b/code/game/machinery/computer/law.dm
@@ -4,7 +4,7 @@
var/mob/living/silicon/current = null //The target of future law uploads
icon_state = null //To make sure mappers understand THIS ISN'T A VALID TYPE
-/obj/machinery/computer/upload/attackby(obj/item/O as obj, mob/user as mob)
+/obj/machinery/computer/upload/attackby(obj/item/O as obj, mob/user as mob, params)
if(istype(O, /obj/item/weapon/aiModule))
var/obj/item/weapon/aiModule/M = O
if(src.stat & (NOPOWER|BROKEN|MAINT))
diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm
index 45e0278b5df..bc686b127d9 100644
--- a/code/game/machinery/computer/medical.dm
+++ b/code/game/machinery/computer/medical.dm
@@ -19,7 +19,7 @@
var/sortBy = "name"
var/order = 1 // -1 = Descending - 1 = Ascending
-/obj/machinery/computer/med_data/attackby(obj/item/O as obj, user as mob)
+/obj/machinery/computer/med_data/attackby(obj/item/O as obj, user as mob, params)
if(istype(O, /obj/item/weapon/card/id) && !scan)
usr.drop_item()
O.loc = src
diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm
index da96e20f42a..29aabf85107 100644
--- a/code/game/machinery/computer/message.dm
+++ b/code/game/machinery/computer/message.dm
@@ -34,7 +34,7 @@
var/custommessage = "This is a test, please ignore."
-/obj/machinery/computer/message_monitor/attackby(obj/item/weapon/O as obj, mob/living/user as mob)
+/obj/machinery/computer/message_monitor/attackby(obj/item/weapon/O as obj, mob/living/user as mob, params)
if(stat & (NOPOWER|BROKEN))
return
if(!istype(user))
diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm
index 5d2a2b8e178..d58f416f99c 100644
--- a/code/game/machinery/computer/prisoner.dm
+++ b/code/game/machinery/computer/prisoner.dm
@@ -71,7 +71,7 @@
popup.open()
return
-/obj/machinery/computer/prisoner/attackby(obj/item/I as obj, mob/user as mob)
+/obj/machinery/computer/prisoner/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/card/id))
return attack_hand(user)
..()
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index 480c87c5965..656e5edd3c8 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -23,7 +23,7 @@
var/order = 1 // -1 = Descending - 1 = Ascending
-/obj/machinery/computer/secure_data/attackby(obj/item/O as obj, user as mob)
+/obj/machinery/computer/secure_data/attackby(obj/item/O as obj, user as mob, params)
if(istype(O, /obj/item/weapon/card/id) && !scan)
usr.drop_item()
O.loc = src
diff --git a/code/game/machinery/computer/shuttle.dm b/code/game/machinery/computer/shuttle.dm
index 74cb6d384c9..73be97cc324 100644
--- a/code/game/machinery/computer/shuttle.dm
+++ b/code/game/machinery/computer/shuttle.dm
@@ -6,7 +6,7 @@
var/list/authorized = list()
-/obj/machinery/computer/emergency_shuttle/attackby(var/obj/item/weapon/card/W as obj, var/mob/user as mob)
+/obj/machinery/computer/emergency_shuttle/attackby(var/obj/item/weapon/card/W as obj, var/mob/user as mob, params)
if(stat & (BROKEN|NOPOWER)) return
if(!istype(W, /obj/item/weapon/card))
return
diff --git a/code/game/machinery/computer/telecrystalconsoles.dm b/code/game/machinery/computer/telecrystalconsoles.dm
index 72625aae8e8..2d78380fc63 100644
--- a/code/game/machinery/computer/telecrystalconsoles.dm
+++ b/code/game/machinery/computer/telecrystalconsoles.dm
@@ -29,7 +29,7 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
name = "[name] [rand(1,999)]"
-/obj/machinery/computer/telecrystals/uplinker/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/computer/telecrystals/uplinker/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item))
if(uplinkholder)
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index 45579d38889..941a445e17b 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -53,7 +53,7 @@
else
desc += "."
-/obj/machinery/constructable_frame/machine_frame/attackby(obj/item/P as obj, mob/user as mob)
+/obj/machinery/constructable_frame/machine_frame/attackby(obj/item/P as obj, mob/user as mob, params)
if(P.crit_fail)
user << "This part is faulty, you cannot add this to the machine!"
return
@@ -218,7 +218,7 @@ to destroy them and players will be able to make replacements.
/obj/machinery/vending/cigarette = "ShadyCigs Deluxe",
/obj/machinery/vending/autodrobe = "AutoDrobe")
-/obj/item/weapon/circuitboard/vendor/attackby(obj/item/I, mob/user)
+/obj/item/weapon/circuitboard/vendor/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
set_type(pick(names_paths), user)
@@ -329,7 +329,7 @@ to destroy them and players will be able to make replacements.
/obj/item/stack/cable_coil = 1,
/obj/item/weapon/stock_parts/console_screen = 1)
-/obj/item/weapon/circuitboard/thermomachine/attackby(obj/item/I, mob/user)
+/obj/item/weapon/circuitboard/thermomachine/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
if(build_path == /obj/machinery/atmospherics/unary/cold_sink/freezer)
build_path = /obj/machinery/atmospherics/unary/heat_reservoir/heater
diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm
index b0f83365b21..6c57394b1ef 100644
--- a/code/game/machinery/cryo.dm
+++ b/code/game/machinery/cryo.dm
@@ -227,7 +227,7 @@
add_fingerprint(usr)
return 1 // update UIs attached to this object
-/obj/machinery/atmospherics/unary/cryo_cell/attackby(obj/item/I, mob/user)
+/obj/machinery/atmospherics/unary/cryo_cell/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/reagent_containers/glass))
if(beaker)
user << "A beaker is already loaded into [src]."
diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index aa6b6139e21..98c7cf1fff0 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -63,7 +63,7 @@ for reference:
var/health = 100.0
var/maxhealth = 100.0
-/obj/structure/barricade/wooden/attackby(obj/item/W as obj, mob/user as mob)
+/obj/structure/barricade/wooden/attackby(obj/item/W as obj, mob/user as mob, params)
user.changeNext_move(CLICK_CD_MELEE)
if (istype(W, /obj/item/stack/sheet/mineral/wood))
if (src.health < src.maxhealth)
@@ -148,7 +148,7 @@ for reference:
src.icon_state = "barrier[src.locked]"
-/obj/machinery/deployable/barrier/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/deployable/barrier/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (W.GetID())
if (src.allowed(user))
if (src.emagged < 2.0)
diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm
index 6cb03f37885..21e5a276091 100644
--- a/code/game/machinery/door_control.dm
+++ b/code/game/machinery/door_control.dm
@@ -38,7 +38,7 @@
/obj/machinery/door_control/attack_paw(mob/user as mob)
return src.attack_hand(user)
-/obj/machinery/door_control/attackby(obj/item/weapon/W, mob/user as mob)
+/obj/machinery/door_control/attackby(obj/item/weapon/W, mob/user as mob, params)
/* For later implementation
if (istype(W, /obj/item/weapon/screwdriver))
{
@@ -124,7 +124,7 @@
/obj/machinery/driver_button/attack_paw(mob/user as mob)
return src.attack_hand(user)
-/obj/machinery/driver_button/attackby(obj/item/weapon/W, mob/user as mob)
+/obj/machinery/driver_button/attackby(obj/item/weapon/W, mob/user as mob, params)
if(istype(W, /obj/item/device/detective_scanner))
return
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index f4626671333..ade7ad34aa9 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -877,7 +877,7 @@ About the new airlock wires panel:
updateUsrDialog()
return
-/obj/machinery/door/airlock/attackby(C as obj, mob/user as mob)
+/obj/machinery/door/airlock/attackby(C as obj, mob/user as mob, params)
if(!istype(usr, /mob/living/silicon))
if(src.isElectrified())
if(src.shock(user, 75))
@@ -982,7 +982,7 @@ About the new airlock wires panel:
..()
return
-/obj/machinery/door/airlock/plasma/attackby(C as obj, mob/user as mob)
+/obj/machinery/door/airlock/plasma/attackby(C as obj, mob/user as mob, params)
if(is_hot(C) > 300)//If the temperature of the object is over 300, then ignite
message_admins("Plasma wall ignited by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)")
log_game("Plasma wall ignited by [user.ckey]([user]) in ([x],[y],[z])")
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index df568fa4a23..6bfaf23190a 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -118,7 +118,7 @@
return
..()
-/obj/machinery/door/attackby(obj/item/I as obj, mob/user as mob)
+/obj/machinery/door/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/device/detective_scanner))
return
if(isrobot(user)) return //borgs can't attack doors open because it conflicts with their AI-like interaction with them.
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index fb3673b7e07..9a4e57c97f3 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -30,7 +30,7 @@
return
-/obj/machinery/door/firedoor/attackby(obj/item/weapon/C as obj, mob/user as mob)
+/obj/machinery/door/firedoor/attackby(obj/item/weapon/C as obj, mob/user as mob, params)
add_fingerprint(user)
if(operating) return//Already doing something.
if(istype(C, /obj/item/weapon/weldingtool))
diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm
index 24114f29b09..7c47ceba176 100644
--- a/code/game/machinery/doors/poddoor.dm
+++ b/code/game/machinery/doors/poddoor.dm
@@ -20,7 +20,7 @@
return ..()
-/obj/machinery/door/poddoor/attackby(obj/item/I, mob/user)
+/obj/machinery/door/poddoor/attackby(obj/item/I, mob/user, params)
add_fingerprint(user)
if(istype(I, /obj/item/weapon/twohanded/fireaxe))
diff --git a/code/game/machinery/doors/unpowered.dm b/code/game/machinery/doors/unpowered.dm
index 159041c0210..c0da7ec0dba 100644
--- a/code/game/machinery/doors/unpowered.dm
+++ b/code/game/machinery/doors/unpowered.dm
@@ -8,7 +8,7 @@
return
-/obj/machinery/door/unpowered/attackby(obj/item/I as obj, mob/user as mob)
+/obj/machinery/door/unpowered/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/melee/energy/blade)) return
if(src.locked) return
..()
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index a0cb59823f5..d9a02cecbfa 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -254,7 +254,7 @@
open()
emagged = 1
-/obj/machinery/door/window/attackby(obj/item/weapon/I as obj, mob/living/user as mob)
+/obj/machinery/door/window/attackby(obj/item/weapon/I as obj, mob/living/user as mob, params)
//If it's in the process of opening/closing, ignore the click
if (src.operating)
diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm
index 7e3d588f5f5..892539285a8 100644
--- a/code/game/machinery/doppler_array.dm
+++ b/code/game/machinery/doppler_array.dm
@@ -19,7 +19,7 @@ var/list/doppler_arrays = list()
/obj/machinery/doppler_array/process()
return PROCESS_KILL
-/obj/machinery/doppler_array/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/doppler_array/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/wrench))
if(!anchored && !isinspace())
anchored = 1
diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm
index 787057f6fae..da34431eee6 100644
--- a/code/game/machinery/flasher.dm
+++ b/code/game/machinery/flasher.dm
@@ -37,7 +37,7 @@
icon_state = "[base_state]1-p"
//Don't want to render prison breaks impossible
-/obj/machinery/flasher/attackby(obj/item/weapon/W, mob/user)
+/obj/machinery/flasher/attackby(obj/item/weapon/W, mob/user, params)
if (istype(W, /obj/item/weapon/wirecutters))
if (bulb)
user.visible_message("[user] begins to disconnect [src]'s flashbulb.", "You begin to disconnect [src]'s flashbulb.")
@@ -127,7 +127,7 @@
bulb.burn_out()
power_change()
-/obj/machinery/flasher/portable/attackby(obj/item/weapon/W, mob/user)
+/obj/machinery/flasher/portable/attackby(obj/item/weapon/W, mob/user, params)
if (istype(W, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
@@ -151,7 +151,7 @@
/obj/machinery/flasher_button/attack_paw(mob/user)
return attack_hand(user)
-/obj/machinery/flasher_button/attackby(obj/item/weapon/W, mob/user)
+/obj/machinery/flasher_button/attackby(obj/item/weapon/W, mob/user, params)
return attack_hand(user)
/obj/machinery/flasher_button/attack_hand(mob/user)
diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm
index 410f092e2a6..aa9be627ab2 100644
--- a/code/game/machinery/igniter.dm
+++ b/code/game/machinery/igniter.dm
@@ -69,7 +69,7 @@
icon_state = "[base_state]-p"
// src.sd_SetLuminosity(0)
-/obj/machinery/sparker/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/sparker/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/device/detective_scanner))
return
if (istype(W, /obj/item/weapon/screwdriver))
@@ -123,7 +123,7 @@
/obj/machinery/ignition_switch/attack_paw(mob/user as mob)
return src.attack_hand(user)
-/obj/machinery/ignition_switch/attackby(obj/item/weapon/W, mob/user as mob)
+/obj/machinery/ignition_switch/attackby(obj/item/weapon/W, mob/user as mob, params)
return src.attack_hand(user)
/obj/machinery/ignition_switch/attack_hand(mob/user as mob)
diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm
index 19c519ddb01..be55d92a750 100644
--- a/code/game/machinery/iv_drip.dm
+++ b/code/game/machinery/iv_drip.dm
@@ -72,7 +72,7 @@
usr << "There's nothing attached to the IV drip!"
-/obj/machinery/iv_drip/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/iv_drip/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/reagent_containers))
if(!isnull(beaker))
user << "There is already a reagent container loaded!"
diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm
index 917f519e5b7..3851c577c72 100644
--- a/code/game/machinery/navbeacon.dm
+++ b/code/game/machinery/navbeacon.dm
@@ -104,7 +104,7 @@
frequency.post_signal(src, signal, filter = RADIO_NAVBEACONS)
-/obj/machinery/navbeacon/attackby(var/obj/item/I, var/mob/user)
+/obj/machinery/navbeacon/attackby(var/obj/item/I, var/mob/user, params)
var/turf/T = loc
if(T.intact)
return // prevent intraction when T-scanner revealed
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index 6c271656114..29386370d5d 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -787,7 +787,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
src.updateUsrDialog()
-/obj/machinery/newscaster/attackby(obj/item/I as obj, mob/living/user as mob)
+/obj/machinery/newscaster/attackby(obj/item/I as obj, mob/living/user as mob, params)
if(istype(I, /obj/item/weapon/wrench))
user << "Now [anchored ? "un" : ""]securing [name]"
@@ -1011,7 +1011,7 @@ obj/item/weapon/newspaper/Topic(href, href_list)
src.attack_self(src.loc)
-obj/item/weapon/newspaper/attackby(obj/item/weapon/W as obj, mob/user as mob)
+obj/item/weapon/newspaper/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/pen))
if(src.scribble_page == src.curr_page)
user << "There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?"
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index d3b205e76d0..6e277a7ece8 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -296,7 +296,7 @@ var/global/list/pipeID2State = list(
/obj/item/pipe/attack_self(mob/user as mob)
return rotate()
-/obj/item/pipe/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+/obj/item/pipe/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob, params)
//*
if (!istype(W, /obj/item/weapon/wrench))
@@ -425,7 +425,7 @@ var/global/list/pipeID2State = list(
item_state = "buildpipe"
w_class = 4
-/obj/item/pipe_meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+/obj/item/pipe_meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob, params)
..()
if (!istype(W, /obj/item/weapon/wrench))
diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm
index cc9b6a575a5..7c68419557b 100644
--- a/code/game/machinery/pipe/pipe_dispenser.dm
+++ b/code/game/machinery/pipe/pipe_dispenser.dm
@@ -71,7 +71,7 @@
wait = 0
return
-/obj/machinery/pipedispenser/attackby(var/obj/item/W as obj, var/mob/user as mob)
+/obj/machinery/pipedispenser/attackby(var/obj/item/W as obj, var/mob/user as mob, params)
add_fingerprint(user)
if (istype(W, /obj/item/pipe) || istype(W, /obj/item/pipe_meter))
usr << "You put [W] back into [src]."
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index 727c1617861..948e11e1eff 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -246,7 +246,7 @@
-/obj/machinery/porta_turret/attackby(obj/item/I, mob/user)
+/obj/machinery/porta_turret/attackby(obj/item/I, mob/user, params)
if(stat & BROKEN)
if(istype(I, /obj/item/weapon/crowbar))
//If the turret is destroyed, you can remove it with a crowbar to
@@ -634,7 +634,7 @@
var/gun_charge = 0 //the gun charge of the gun type installed
-/obj/machinery/porta_turret_construct/attackby(obj/item/I, mob/user)
+/obj/machinery/porta_turret_construct/attackby(obj/item/I, mob/user, params)
//this is a bit unwieldy but self-explanatory
switch(build_step)
if(0) //first step
@@ -953,7 +953,7 @@ Status: []
"},
updateUsrDialog()
-/obj/machinery/porta_turret_cover/attackby(obj/item/I, mob/user)
+/obj/machinery/porta_turret_cover/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench) && !Parent_Turret.on)
if(Parent_Turret.raised) return
@@ -1041,7 +1041,7 @@ Status: []
"},
//don't have to check if control_area is path, since get_area_all_atoms can take path.
return
-/obj/machinery/turretid/attackby(obj/item/weapon/W, mob/user)
+/obj/machinery/turretid/attackby(obj/item/weapon/W, mob/user, params)
if(stat & BROKEN) return
if (istype(user, /mob/living/silicon))
return src.attack_hand(user)
diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm
index cf92f21046f..dd5795b3c0a 100644
--- a/code/game/machinery/recharger.dm
+++ b/code/game/machinery/recharger.dm
@@ -9,7 +9,7 @@
var/obj/item/weapon/charging = null
-/obj/machinery/recharger/attackby(obj/item/weapon/G, mob/user)
+/obj/machinery/recharger/attackby(obj/item/weapon/G, mob/user, params)
if(istype(user,/mob/living/silicon))
return
if(istype(G, /obj/item/weapon/gun/energy) || istype(G, /obj/item/weapon/melee/baton))
diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm
index 0c572785c7e..7bc63ee4692 100644
--- a/code/game/machinery/rechargestation.dm
+++ b/code/game/machinery/rechargestation.dm
@@ -72,7 +72,7 @@
/obj/machinery/recharge_station/attack_ai(user as mob)
return attack_hand(user)
-/obj/machinery/recharge_station/attackby(obj/item/P as obj, mob/user as mob)
+/obj/machinery/recharge_station/attackby(obj/item/P as obj, mob/user as mob, params)
if(state_open)
if(default_deconstruction_screwdriver(user, "borgdecon2", "borgcharger0", P))
return
diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm
index c12e0534047..7c1751ff821 100644
--- a/code/game/machinery/recycler.dm
+++ b/code/game/machinery/recycler.dm
@@ -30,7 +30,7 @@ var/const/SAFETY_COOLDOWN = 100
update_icon()
-/obj/machinery/recycler/attackby(var/obj/item/I, var/mob/user)
+/obj/machinery/recycler/attackby(var/obj/item/I, var/mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
if(emagged)
emagged = 0
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index 97d1777c00b..e357ff5cc1b 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -433,7 +433,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
slip.name = "Message - [unlinkedsender]"
src.luminosity = 2
-/obj/machinery/requests_console/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob)
+/obj/machinery/requests_console/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob, params)
if (istype(O, /obj/item/weapon/crowbar))
if(open)
user << "You close the maintenance panel."
diff --git a/code/game/machinery/robot_fabricator.dm b/code/game/machinery/robot_fabricator.dm
index 8ab48a31a60..85c818f2fd8 100644
--- a/code/game/machinery/robot_fabricator.dm
+++ b/code/game/machinery/robot_fabricator.dm
@@ -11,7 +11,7 @@
idle_power_usage = 20
active_power_usage = 5000
-/obj/machinery/robotic_fabricator/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/robotic_fabricator/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if (istype(O, /obj/item/stack/sheet/metal))
if (src.metal_amount < 150000.0)
var/count = 0
diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm
index ec9bd835142..7f7a91b734a 100644
--- a/code/game/machinery/shieldgen.dm
+++ b/code/game/machinery/shieldgen.dm
@@ -33,7 +33,7 @@
/obj/machinery/shield/CanAtmosPass(var/turf/T)
return !density
-/obj/machinery/shield/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/shield/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(!istype(W)) return
//Calculate damage
@@ -231,7 +231,7 @@
user << "The device must first be secured to the floor."
return
-/obj/machinery/shieldgen/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/shieldgen/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/screwdriver))
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
if(is_open)
@@ -449,7 +449,7 @@
CF.dir = field_dir
-/obj/machinery/shieldwallgen/attackby(obj/item/W, mob/user)
+/obj/machinery/shieldwallgen/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
if(active)
user << "Turn off the field generator first."
diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm
index 969a621e8de..0bc33615834 100644
--- a/code/game/machinery/slotmachine.dm
+++ b/code/game/machinery/slotmachine.dm
@@ -73,7 +73,7 @@
..()
update_icon()
-/obj/machinery/computer/slot_machine/attackby(obj/item/I, mob/living/user)
+/obj/machinery/computer/slot_machine/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weapon/coin))
var/obj/item/weapon/coin/C = I
if(prob(2))
diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm
index 58d4ba0cf8f..223472818c6 100644
--- a/code/game/machinery/spaceheater.dm
+++ b/code/game/machinery/spaceheater.dm
@@ -44,7 +44,7 @@
cell.emp_act(severity)
..(severity)
-/obj/machinery/space_heater/attackby(obj/item/I, mob/user)
+/obj/machinery/space_heater/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/stock_parts/cell))
if(open)
if(cell)
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 16aac4c25cb..7ca4e86de13 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -504,7 +504,7 @@
return
-/obj/machinery/suit_storage_unit/attackby(obj/item/I as obj, mob/user as mob)
+/obj/machinery/suit_storage_unit/attackby(obj/item/I as obj, mob/user as mob, params)
if(!src.ispowered)
if(istype(I, /obj/item/weapon/crowbar) && !isopen)
if(toggle_open(user))
diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm
index 1b3958fbcb3..85107a4deb7 100644
--- a/code/game/machinery/syndicatebeacon.dm
+++ b/code/game/machinery/syndicatebeacon.dm
@@ -154,7 +154,7 @@
return
-/obj/machinery/power/singularity_beacon/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/power/singularity_beacon/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weapon/screwdriver))
if(active)
user << "You need to deactivate the beacon first!"
diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm
index 9b04e98a683..18e6e16ebac 100644
--- a/code/game/machinery/syndicatebomb.dm
+++ b/code/game/machinery/syndicatebomb.dm
@@ -48,7 +48,7 @@
/obj/machinery/syndicatebomb/update_icon()
icon_state = "[initial(icon_state)][active ? "-active" : "-inactive"][open_panel ? "-wires" : ""]"
-/obj/machinery/syndicatebomb/attackby(var/obj/item/I, var/mob/user)
+/obj/machinery/syndicatebomb/attackby(var/obj/item/I, var/mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
if(!anchored)
if(!isturf(src.loc) || istype(src.loc, /turf/space))
diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm
index 843430a8201..f1dd4b2acb2 100644
--- a/code/game/machinery/telecomms/machine_interactions.dm
+++ b/code/game/machinery/telecomms/machine_interactions.dm
@@ -15,7 +15,7 @@
var/construct_op = 0
-/obj/machinery/telecomms/attackby(obj/item/P as obj, mob/user as mob)
+/obj/machinery/telecomms/attackby(obj/item/P as obj, mob/user as mob, params)
// Using a multitool lets you access the receiver's interface
if(istype(P, /obj/item/device/multitool))
diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm
index ac36d0c03ce..e04ae94a755 100644
--- a/code/game/machinery/teleporter.dm
+++ b/code/game/machinery/teleporter.dm
@@ -29,7 +29,7 @@
break
return power_station
-/obj/machinery/computer/teleporter/attackby(I as obj, mob/living/user as mob)
+/obj/machinery/computer/teleporter/attackby(I as obj, mob/living/user as mob, params)
if(istype(I, /obj/item/device/gps))
var/obj/item/device/gps/L = I
if(L.locked_location && !(stat & (NOPOWER|BROKEN)))
@@ -279,7 +279,7 @@
use_power(5000)
return
-/obj/machinery/teleport/hub/attackby(obj/item/W, mob/user)
+/obj/machinery/teleport/hub/attackby(obj/item/W, mob/user, params)
if(default_deconstruction_screwdriver(user, "tele-o", "tele0", W))
return
@@ -375,7 +375,7 @@
teleporter_hub.update_icon()
..()
-/obj/machinery/teleport/station/attackby(var/obj/item/weapon/W, mob/user)
+/obj/machinery/teleport/station/attackby(var/obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/device/multitool) && !panel_open)
var/obj/item/device/multitool/M = W
if(M.buffer && istype(M.buffer, /obj/machinery/teleport/station) && M.buffer != src)
diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm
index 30e11d25386..590501e4cf0 100644
--- a/code/game/machinery/turrets.dm
+++ b/code/game/machinery/turrets.dm
@@ -273,7 +273,7 @@
src.die()
return
-/obj/machinery/turret/attackby(obj/item/weapon/W, mob/user)//I can't believe no one added this before/N
+/obj/machinery/turret/attackby(obj/item/weapon/W, mob/user, params)//I can't believe no one added this before/N
..()
user.changeNext_move(CLICK_CD_MELEE)
playsound(src.loc, 'sound/weapons/smash.ogg', 60, 1)
@@ -527,7 +527,7 @@
//don't have to check if control_area is path, since get_area_all_atoms can take path.
return
-/obj/machinery/areaturretid/attackby(obj/item/weapon/W, mob/user)
+/obj/machinery/areaturretid/attackby(obj/item/weapon/W, mob/user, params)
if(stat & BROKEN) return
if (istype(user, /mob/living/silicon))
return src.attack_hand(user)
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 824b74292bf..7e5b1f52247 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -147,7 +147,7 @@
total += restock
return total
-/obj/machinery/vending/snack/attackby(obj/item/weapon/W, mob/user)
+/obj/machinery/vending/snack/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/reagent_containers/food/snacks))
if(!compartment_access_check(user))
return
@@ -212,7 +212,7 @@
dish_quants[S.name] = 1
sortList(dish_quants)
-/obj/machinery/vending/attackby(obj/item/weapon/W, mob/user)
+/obj/machinery/vending/attackby(obj/item/weapon/W, mob/user, params)
if(panel_open)
if(default_unfasten_wrench(user, W, time = 60))
return
diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm
index cc5b028658b..2079cf376e7 100644
--- a/code/game/machinery/washing_machine.dm
+++ b/code/game/machinery/washing_machine.dm
@@ -178,7 +178,7 @@
/obj/machinery/washing_machine/update_icon()
icon_state = "wm_[state][panel]"
-/obj/machinery/washing_machine/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/washing_machine/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
/*if(istype(W,/obj/item/weapon/screwdriver))
panel = !panel
user << "\blue you [panel ? "open" : "close"] the [src]'s maintenance panel"*/
diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm
index 88f4c35a6f3..ac3841fcae2 100644
--- a/code/game/mecha/equipment/tools/tools.dm
+++ b/code/game/mecha/equipment/tools/tools.dm
@@ -1050,7 +1050,7 @@
return 0
return
-/obj/item/mecha_parts/mecha_equipment/generator/attackby(weapon,mob/user)
+/obj/item/mecha_parts/mecha_equipment/generator/attackby(weapon,mob/user, params)
var/result = load_fuel(weapon)
if(isnull(result))
user.visible_message("[user] tries to shove [weapon] into [src]. What a dumb-ass.","[fuel] traces minimal. [weapon] cannot be used as fuel.")
diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm
index 4474df3f7c7..08f454d379a 100644
--- a/code/game/mecha/mech_bay.dm
+++ b/code/game/mecha/mech_bay.dm
@@ -65,7 +65,7 @@
recharge_console.update_icon()
-/obj/machinery/mech_bay_recharge_port/attackby(obj/item/I, mob/user)
+/obj/machinery/mech_bay_recharge_port/attackby(obj/item/I, mob/user, params)
if(default_deconstruction_screwdriver(user, "recharge_port-o", "recharge_port", I))
return
diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm
index 6d47aaf0a74..4b4f714f6dd 100644
--- a/code/game/mecha/mech_fabricator.dm
+++ b/code/game/mecha/mech_fabricator.dm
@@ -486,7 +486,7 @@
return result
-/obj/machinery/mecha_part_fabricator/attackby(obj/W as obj, mob/user as mob)
+/obj/machinery/mecha_part_fabricator/attackby(obj/W as obj, mob/user as mob, params)
if(default_deconstruction_screwdriver(user, "fab-o", "fab-idle", W))
return
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index f418d8daeb2..b14cfad4777 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -660,7 +660,7 @@ obj/mecha/proc/can_use(mob/user)
////// AttackBy //////
//////////////////////
-/obj/mecha/attackby(obj/item/W as obj, mob/user as mob)
+/obj/mecha/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/device/mmi))
if(mmi_move_inside(W,user))
diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm
index 90879bad7f7..0e6d689b85f 100644
--- a/code/game/mecha/mecha_parts.dm
+++ b/code/game/mecha/mecha_parts.dm
@@ -15,7 +15,7 @@
icon_state = "backbone"
var/datum/construction/construct
-/obj/item/mecha_parts/chassis/attackby(obj/item/W as obj, mob/user as mob)
+/obj/item/mecha_parts/chassis/attackby(obj/item/W as obj, mob/user as mob, params)
if(!construct || !construct.action(W, user))
..()
return
diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm
index 6d929530ee6..feeb4b6c56e 100644
--- a/code/game/mecha/mecha_wreckage.dm
+++ b/code/game/mecha/mecha_wreckage.dm
@@ -15,7 +15,7 @@
var/list/crowbar_salvage = list()
var/salvage_num = 5
-/obj/structure/mecha_wreckage/attackby(obj/item/I, mob/user)
+/obj/structure/mecha_wreckage/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/weldingtool))
if(salvage_num <= 0)
user << "You don't see anything that can be cut with [I]."
diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm
index c3c97749174..1bafea2ff6d 100644
--- a/code/game/objects/effects/aliens.dm
+++ b/code/game/objects/effects/aliens.dm
@@ -132,7 +132,7 @@
healthcheck()
-/obj/structure/alien/resin/attackby(obj/item/I, mob/living/user)
+/obj/structure/alien/resin/attackby(obj/item/I, mob/living/user, params)
user.changeNext_move(CLICK_CD_MELEE)
health -= I.force
playsound(loc, 'sound/effects/attackblob.ogg', 100, 1)
@@ -213,7 +213,7 @@
qdel(src)
-/obj/structure/alien/weeds/attackby(obj/item/I, mob/user)
+/obj/structure/alien/weeds/attackby(obj/item/I, mob/user, params)
user.changeNext_move(CLICK_CD_MELEE)
if(I.attack_verb.len)
visible_message("[user] has [pick(I.attack_verb)] [src] with [I]!")
@@ -369,7 +369,7 @@
healthcheck()
-/obj/structure/alien/egg/attackby(obj/item/I, mob/user)
+/obj/structure/alien/egg/attackby(obj/item/I, mob/user, params)
if(I.attack_verb.len)
visible_message("[user] has [pick(I.attack_verb)] [src] with [I]!")
else
diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm
index 70ebc8bc021..5636d376136 100644
--- a/code/game/objects/effects/anomalies.dm
+++ b/code/game/objects/effects/anomalies.dm
@@ -35,7 +35,7 @@
qdel(src)
-/obj/effect/anomaly/attackby(obj/item/I, mob/user)
+/obj/effect/anomaly/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/device/analyzer))
user << "Analyzing... [src]'s unstable field is fluctuating along frequency [aSignal.code]:[format_frequency(aSignal.frequency)]."
diff --git a/code/game/objects/effects/decals/contraband.dm b/code/game/objects/effects/decals/contraband.dm
index 6d60db1b4cd..e7cff56a202 100644
--- a/code/game/objects/effects/decals/contraband.dm
+++ b/code/game/objects/effects/decals/contraband.dm
@@ -296,7 +296,7 @@ obj/structure/sign/poster/New(serial,subtype)
desc += " This is a bug, please report the circumstances under which you encountered this poster at https://github.com/NTStation/NTstation13/issues."
..()
-obj/structure/sign/poster/attackby(obj/item/I, mob/user)
+obj/structure/sign/poster/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wirecutters))
playsound(loc, 'sound/items/Wirecutter.ogg', 100, 1)
if(ruined)
diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm
index b5f2e0abbab..d00614174e9 100644
--- a/code/game/objects/effects/effect_system/effects_foam.dm
+++ b/code/game/objects/effects/effect_system/effects_foam.dm
@@ -225,7 +225,7 @@
user << "You hit the metal foam but bounce off it."
-/obj/structure/foamedmetal/attackby(var/obj/item/I, var/mob/user)
+/obj/structure/foamedmetal/attackby(var/obj/item/I, var/mob/user, params)
if (istype(I, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = I
G.affecting.loc = src.loc
diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm
index f2ff3511e2c..02712530739 100644
--- a/code/game/objects/effects/glowshroom.dm
+++ b/code/game/objects/effects/glowshroom.dm
@@ -112,7 +112,7 @@
floor = 1
return 1
-/obj/effect/glowshroom/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/effect/glowshroom/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
endurance -= W.force
CheckEndurance()
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index 4a4bd7ddb52..e68ef779d94 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -20,7 +20,7 @@
qdel(src)
return
-/obj/effect/spider/attackby(var/obj/item/weapon/W, var/mob/user)
+/obj/effect/spider/attackby(var/obj/item/weapon/W, var/mob/user, params)
if(W.attack_verb.len)
visible_message("[user] has [pick(W.attack_verb)] \the [src] with \the [W]!")
else
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index d8998295710..4d57cbad475 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -191,7 +191,7 @@
// Due to storage type consolidation this should get used more now.
// I have cleaned it up a little, but it could probably use more. -Sayu
-/obj/item/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weapon/storage))
var/obj/item/weapon/storage/S = W
if(S.use_to_pickup)
diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm
index 0ad3469a5c6..af2552dded1 100644
--- a/code/game/objects/items/apc_frame.dm
+++ b/code/game/objects/items/apc_frame.dm
@@ -7,7 +7,7 @@
icon_state = "apc_frame"
flags = CONDUCT
-/obj/item/apc_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/apc_frame/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( get_turf(src.loc), 2 )
diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm
index 3308b7266c1..6450218c3d8 100644
--- a/code/game/objects/items/bodybag.dm
+++ b/code/game/objects/items/bodybag.dm
@@ -42,7 +42,7 @@
mob_storage_capacity = 2
-/obj/structure/closet/body_bag/attackby(obj/item/I, mob/user)
+/obj/structure/closet/body_bag/attackby(obj/item/I, mob/user, params)
if (istype(I, /obj/item/weapon/pen))
var/t = stripped_input(user, "What would you like the label to be?", name, null, 53)
if(user.get_active_hand() != I)
diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm
index 18b17f4dac2..5d63211a30d 100644
--- a/code/game/objects/items/candle.dm
+++ b/code/game/objects/items/candle.dm
@@ -23,7 +23,7 @@
icon_state = "candle[i][lit ? "_lit" : ""]"
-/obj/item/candle/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/candle/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
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index 7a00402078e..64b328c5877 100644
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -898,7 +898,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
return
// access to status display signals
-/obj/item/device/pda/attackby(obj/item/C as obj, mob/user as mob)
+/obj/item/device/pda/attackby(obj/item/C as obj, mob/user as mob, params)
..()
if(istype(C, /obj/item/weapon/cartridge) && !cartridge)
cartridge = C
diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm
index 655c568fc94..6d5c687803b 100644
--- a/code/game/objects/items/devices/camera_bug.dm
+++ b/code/game/objects/items/devices/camera_bug.dm
@@ -308,7 +308,7 @@
break
src.updateSelfDialog()
-/obj/item/device/camera_bug/attackby(var/obj/item/W as obj,var/mob/living/user as mob)
+/obj/item/device/camera_bug/attackby(var/obj/item/W as obj,var/mob/living/user as mob, params)
if(istype(W,/obj/item/weapon/screwdriver) && expansion)
expansion.loc = get_turf(loc)
user << "You unscrew [expansion]."
diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm
index 83d29275a4e..fc6892d28aa 100644
--- a/code/game/objects/items/devices/laserpointer.dm
+++ b/code/game/objects/items/devices/laserpointer.dm
@@ -44,7 +44,7 @@
/obj/item/device/laser_pointer/attack(mob/living/M, mob/user)
laser_act(M, user)
-/obj/item/device/laser_pointer/attackby(obj/item/W, mob/user)
+/obj/item/device/laser_pointer/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/stock_parts/micro_laser))
if(!diode)
user.drop_item()
diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm
index dbb1d9a4b29..d4f37fa97e5 100644
--- a/code/game/objects/items/devices/lightreplacer.dm
+++ b/code/game/objects/items/devices/lightreplacer.dm
@@ -70,7 +70,7 @@
..()
user << "It has [uses] light\s remaining."
-/obj/item/device/lightreplacer/attackby(obj/item/W, mob/user)
+/obj/item/device/lightreplacer/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/stack/sheet/glass))
var/obj/item/stack/sheet/glass/G = W
diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm
index 39d714ccc7e..746dfaea182 100644
--- a/code/game/objects/items/devices/powersink.dm
+++ b/code/game/objects/items/devices/powersink.dm
@@ -54,7 +54,7 @@
update_icon()
SetLuminosity(0)
-/obj/item/device/powersink/attackby(var/obj/item/I, var/mob/user)
+/obj/item/device/powersink/attackby(var/obj/item/I, var/mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
if(mode == DISCONNECTED)
var/turf/T = loc
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index 00554448925..06922665771 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -31,7 +31,7 @@
return
..()
-/obj/item/device/electropack/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/device/electropack/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if(istype(W, /obj/item/clothing/head/helmet))
var/obj/item/assembly/shock_kit/A = new /obj/item/assembly/shock_kit( user )
diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm
index 4ff44ecbb84..ceec8b34cf9 100644
--- a/code/game/objects/items/devices/radio/encryptionkey.dm
+++ b/code/game/objects/items/devices/radio/encryptionkey.dm
@@ -13,7 +13,7 @@
/obj/item/device/encryptionkey/New()
-/obj/item/device/encryptionkey/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/device/encryptionkey/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
/obj/item/device/encryptionkey/syndicate
icon_state = "cypherkey"
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index 6c0de160e24..a008a70b8bb 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -200,7 +200,7 @@
/obj/item/device/radio/headset/ai/receive_range(freq, level)
return ..(freq, level, 1)
-/obj/item/device/radio/headset/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/device/radio/headset/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
// ..()
user.set_machine(src)
if (!( istype(W, /obj/item/weapon/screwdriver) || (istype(W, /obj/item/device/encryptionkey/ ))))
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index cb8854cc0e1..8b038de7814 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -488,7 +488,7 @@
else
user << "[name] can not be modified or attached."
-/obj/item/device/radio/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/device/radio/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
user.set_machine(src)
if (!( istype(W, /obj/item/weapon/screwdriver) ))
@@ -536,7 +536,7 @@
..()
set_frequency(SYND_FREQ)
-/obj/item/device/radio/borg/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/device/radio/borg/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
// ..()
user.set_machine(src)
if (!( istype(W, /obj/item/weapon/screwdriver) || (istype(W, /obj/item/device/encryptionkey/ ))))
diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm
index 480eb0a87ca..ff22ee44971 100644
--- a/code/game/objects/items/devices/taperecorder.dm
+++ b/code/game/objects/items/devices/taperecorder.dm
@@ -31,7 +31,7 @@
user << "The wire panel is [open_panel ? "opened" : "closed"]."
-/obj/item/device/taperecorder/attackby(obj/item/I, mob/user)
+/obj/item/device/taperecorder/attackby(obj/item/I, mob/user, params)
if(!mytape && istype(I, /obj/item/device/tape))
user.drop_item()
I.loc = src
@@ -280,7 +280,7 @@
ruined = 0
-/obj/item/device/tape/attackby(obj/item/I, mob/user)
+/obj/item/device/tape/attackby(obj/item/I, mob/user, params)
if(ruined && istype(I, /obj/item/weapon/screwdriver))
user << "You start winding the tape back in."
if(do_after(user, 120))
diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm
index 74bc14e63ca..85c5c9ceb4a 100644
--- a/code/game/objects/items/devices/transfer_valve.dm
+++ b/code/game/objects/items/devices/transfer_valve.dm
@@ -13,7 +13,7 @@
/obj/item/device/transfer_valve/IsAssemblyHolder()
return 1
-/obj/item/device/transfer_valve/attackby(obj/item/item, mob/user)
+/obj/item/device/transfer_valve/attackby(obj/item/item, mob/user, params)
if(istype(item, /obj/item/weapon/tank))
if(tank_one && tank_two)
user << "There are already two tanks attached, remove one first."
diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm
index a50eabc6017..d72e28e591e 100644
--- a/code/game/objects/items/devices/uplinks.dm
+++ b/code/game/objects/items/devices/uplinks.dm
@@ -172,7 +172,7 @@ var/list/world_uplinks = list()
return 1
return 0
//Refund proc for the borg teleporter (later I'll make a general refund proc if there is demand for it)
-/obj/item/device/radio/uplink/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/device/radio/uplink/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/antag_spawner/borg_tele))
var/obj/item/weapon/antag_spawner/borg_tele/S = W
if(!S.used)
diff --git a/code/game/objects/items/holotape.dm b/code/game/objects/items/holotape.dm
index 09044d7fdc1..93f3aa7d0d0 100644
--- a/code/game/objects/items/holotape.dm
+++ b/code/game/objects/items/holotape.dm
@@ -198,7 +198,7 @@
breaktape()
return
-/obj/item/holotape/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/holotape/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
user.changeNext_move(CLICK_CD_MELEE)
add_fingerprint(user)
health -= W.force * 0.3
diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm
index 8b39e7e64eb..6c2c7849723 100644
--- a/code/game/objects/items/latexballoon.dm
+++ b/code/game/objects/items/latexballoon.dm
@@ -50,7 +50,7 @@
burst()
return
-/obj/item/latexballon/attackby(obj/item/W as obj, mob/user as mob)
+/obj/item/latexballon/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/tank))
var/obj/item/weapon/tank/T = W
blow(T, user)
diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm
index b0fbf2cd1fe..9641f540d89 100644
--- a/code/game/objects/items/robot/robot_parts.dm
+++ b/code/game/objects/items/robot/robot_parts.dm
@@ -85,7 +85,7 @@
return 1
return 0
-/obj/item/robot_parts/robot_suit/attackby(obj/item/W as obj, mob/user as mob)
+/obj/item/robot_parts/robot_suit/attackby(obj/item/W as obj, mob/user as mob, params)
..()
if(istype(W, /obj/item/stack/sheet/metal) && !l_arm && !r_arm && !l_leg && !r_leg && !chest && !head)
var/obj/item/stack/sheet/metal/M = W
@@ -290,7 +290,7 @@
Interact(usr)
return
-/obj/item/robot_parts/chest/attackby(obj/item/W as obj, mob/user as mob)
+/obj/item/robot_parts/chest/attackby(obj/item/W as obj, mob/user as mob, params)
..()
if(istype(W, /obj/item/weapon/stock_parts/cell))
if(src.cell)
@@ -313,7 +313,7 @@
user << "You need one length of coil to wire it."
return
-/obj/item/robot_parts/head/attackby(obj/item/W as obj, mob/user as mob)
+/obj/item/robot_parts/head/attackby(obj/item/W as obj, mob/user as mob, params)
..()
if(istype(W, /obj/item/device/flash/handheld))
var/obj/item/device/flash/handheld/F = W
diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm
index 2b7d034f1b3..ad9da7a8362 100644
--- a/code/game/objects/items/shooting_range.dm
+++ b/code/game/objects/items/shooting_range.dm
@@ -32,7 +32,7 @@
-/obj/item/target/attackby(obj/item/W as obj, mob/user as mob)
+/obj/item/target/attackby(obj/item/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0, user))
diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm
index 101eeb2ab0b..eb2bd629f67 100644
--- a/code/game/objects/items/stacks/rods.dm
+++ b/code/game/objects/items/stacks/rods.dm
@@ -33,7 +33,7 @@ var/global/list/datum/stack_recipe/rod_recipes = list ( \
else
icon_state = "rods"
-/obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob)
+/obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index a35780bb7bc..3e8c37ccb9a 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -24,7 +24,7 @@
/obj/item/stack/sheet/glass/attack_self(mob/user as mob)
construct_window(user)
-/obj/item/stack/sheet/glass/attackby(obj/item/W, mob/user)
+/obj/item/stack/sheet/glass/attackby(obj/item/W, mob/user, params)
..()
add_fingerprint(user)
if(istype(W, /obj/item/stack/cable_coil))
@@ -315,7 +315,7 @@
M.adjustBruteLoss(force / 2)
-/obj/item/weapon/shard/attackby(obj/item/I, mob/user)
+/obj/item/weapon/shard/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = I
if(WT.remove_fuel(0, user))
diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm
index e96d3a290f5..4c4fa99a3e5 100644
--- a/code/game/objects/items/stacks/sheets/leather.dm
+++ b/code/game/objects/items/stacks/sheets/leather.dm
@@ -108,7 +108,7 @@ var/global/list/datum/stack_recipe/xeno_recipes = list ( \
//Step one - dehairing.
-/obj/item/stack/sheet/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/stack/sheet/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if( istype(W, /obj/item/weapon/kitchenknife) || \
istype(W, /obj/item/weapon/kitchen/utensil/knife) || \
istype(W, /obj/item/weapon/twohanded/fireaxe) || \
diff --git a/code/game/objects/items/stacks/sheets/light.dm b/code/game/objects/items/stacks/sheets/light.dm
index 00bc8110c1c..200718edd3e 100644
--- a/code/game/objects/items/stacks/sheets/light.dm
+++ b/code/game/objects/items/stacks/sheets/light.dm
@@ -11,7 +11,7 @@
flags = CONDUCT
max_amount = 60
-/obj/item/stack/light_w/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/item/stack/light_w/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
..()
if(istype(O,/obj/item/weapon/wirecutters))
var/obj/item/stack/cable_coil/CC = new (user.loc)
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index a3e8959f9a8..ed4ce6212e1 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -217,7 +217,7 @@
..()
return
-/obj/item/stack/attackby(obj/item/W as obj, mob/user as mob)
+/obj/item/stack/attackby(obj/item/W as obj, mob/user as mob, params)
if (istype(W, src.type))
var/obj/item/stack/S = W
diff --git a/code/game/objects/items/stacks/tiles/light.dm b/code/game/objects/items/stacks/tiles/light.dm
index 2a208746460..79d572c9cc7 100644
--- a/code/game/objects/items/stacks/tiles/light.dm
+++ b/code/game/objects/items/stacks/tiles/light.dm
@@ -25,7 +25,7 @@
else
state = 0 //fine
-/obj/item/stack/tile/light/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/item/stack/tile/light/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
..()
if(istype(O,/obj/item/weapon/crowbar))
new/obj/item/stack/sheet/metal(user.loc)
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index ca7c35d65f5..fd477f005ce 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -16,7 +16,7 @@
var/turf_type = null
var/mineralType = null
-/obj/item/stack/tile/attackby(obj/item/W as obj, mob/user as mob)
+/obj/item/stack/tile/attackby(obj/item/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 6c21bea8066..ab1dc24ff71 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -50,7 +50,7 @@
src.update_icon()
return
-/obj/item/toy/balloon/attackby(obj/O as obj, mob/user as mob)
+/obj/item/toy/balloon/attackby(obj/O as obj, mob/user as mob, params)
if(istype(O, /obj/item/weapon/reagent_containers/glass))
if(O.reagents)
if(O.reagents.total_volume < 1)
@@ -131,7 +131,7 @@
..()
user << "There [bullets == 1 ? "is" : "are"] [bullets] cap\s left."
-/obj/item/toy/gun/attackby(obj/item/toy/ammo/gun/A as obj, mob/user as mob)
+/obj/item/toy/gun/attackby(obj/item/toy/ammo/gun/A as obj, mob/user as mob, params)
if (istype(A, /obj/item/toy/ammo/gun))
if (src.bullets >= 7)
@@ -207,7 +207,7 @@
if (bullets)
user << "It is loaded with [bullets] foam dart\s."
-/obj/item/toy/crossbow/attackby(obj/item/I as obj, mob/user as mob)
+/obj/item/toy/crossbow/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/toy/ammo/crossbow))
if(bullets <= 4)
user.drop_item()
@@ -337,7 +337,7 @@
return
// Copied from /obj/item/weapon/melee/energy/sword/attackby
-/obj/item/toy/sword/attackby(obj/item/weapon/W, mob/living/user)
+/obj/item/toy/sword/attackby(obj/item/weapon/W, mob/living/user, params)
..()
if(istype(W, /obj/item/toy/sword))
if(W == src)
@@ -769,7 +769,7 @@ obj/item/toy/cards/deck/attack_self(mob/user as mob)
user.visible_message("[user] shuffles the deck.", "You shuffle the deck.")
cooldown = world.time
-obj/item/toy/cards/deck/attackby(obj/item/toy/cards/singlecard/C, mob/living/user)
+obj/item/toy/cards/deck/attackby(obj/item/toy/cards/singlecard/C, mob/living/user, params)
..()
if(istype(C))
if(C.parentdeck == src)
@@ -789,7 +789,7 @@ obj/item/toy/cards/deck/attackby(obj/item/toy/cards/singlecard/C, mob/living/use
src.icon_state = "deck_[deckstyle]_low"
-obj/item/toy/cards/deck/attackby(obj/item/toy/cards/cardhand/C, mob/living/user)
+obj/item/toy/cards/deck/attackby(obj/item/toy/cards/cardhand/C, mob/living/user, params)
..()
if(istype(C))
if(C.parentdeck == src)
@@ -893,7 +893,7 @@ obj/item/toy/cards/cardhand/Topic(href, href_list)
qdel(src)
return
-obj/item/toy/cards/cardhand/attackby(obj/item/toy/cards/singlecard/C, mob/living/user)
+obj/item/toy/cards/cardhand/attackby(obj/item/toy/cards/singlecard/C, mob/living/user, params)
if(istype(C))
if(C.parentdeck == src.parentdeck)
src.currenthand += C.cardname
@@ -963,7 +963,7 @@ obj/item/toy/cards/singlecard/verb/Flip()
src.name = "card"
src.pixel_x = -5
-obj/item/toy/cards/singlecard/attackby(obj/item/I, mob/living/user)
+obj/item/toy/cards/singlecard/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/toy/cards/singlecard/))
var/obj/item/toy/cards/singlecard/C = I
if(C.parentdeck == src.parentdeck)
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index 19d17f14778..b71c719761a 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -100,7 +100,7 @@ RCD
return
-/obj/item/weapon/rcd/attackby(obj/item/weapon/W, mob/user)
+/obj/item/weapon/rcd/attackby(obj/item/weapon/W, mob/user, params)
..()
if(istype(W, /obj/item/weapon/rcd_ammo))
var/obj/item/weapon/rcd_ammo/R = W
diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm
index 109284d9947..1d43d93fae9 100644
--- a/code/game/objects/items/weapons/RSF.dm
+++ b/code/game/objects/items/weapons/RSF.dm
@@ -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)
diff --git a/code/game/objects/items/weapons/airlock_painter.dm b/code/game/objects/items/weapons/airlock_painter.dm
index 209ef6c386f..2f595b5cba0 100644
--- a/code/game/objects/items/weapons/airlock_painter.dm
+++ b/code/game/objects/items/weapons/airlock_painter.dm
@@ -57,7 +57,7 @@
user << "Its ink levels look [ink_level]."
-/obj/item/weapon/airlock_painter/attackby(obj/item/weapon/W, mob/user)
+/obj/item/weapon/airlock_painter/attackby(obj/item/weapon/W, mob/user, params)
..()
if(istype(W, /obj/item/device/toner))
if(ink)
diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm
index d76afe2e5cc..c8c9fa39367 100644
--- a/code/game/objects/items/weapons/cigs_lighters.dm
+++ b/code/game/objects/items/weapons/cigs_lighters.dm
@@ -120,7 +120,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
create_reagents(chem_volume) // making the cigarette a chemical holder with a maximum volume of 15
reagents.add_reagent("nicotine", 15)
-/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)
..()
var/lighting_text = "[user] lights their [name] with [W]."
if(istype(W, /obj/item/weapon/weldingtool))
@@ -368,7 +368,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
return
-/obj/item/clothing/mask/cigarette/pipe/attackby(var/obj/item/O, var/mob/user)
+/obj/item/clothing/mask/cigarette/pipe/attackby(var/obj/item/O, var/mob/user, params)
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown))
var/obj/item/weapon/reagent_containers/food/snacks/grown/G = O
if(!packeditem)
diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm
index b018211f126..ad5cb815cfa 100644
--- a/code/game/objects/items/weapons/defib.dm
+++ b/code/game/objects/items/weapons/defib.dm
@@ -100,7 +100,7 @@
H.put_in_l_hand(src)
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(W == paddles)
paddles.unwield()
toggle_paddles()
@@ -257,7 +257,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()
diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm
index f1b1ad4dc09..e1e8d500734 100644
--- a/code/game/objects/items/weapons/explosives.dm
+++ b/code/game/objects/items/weapons/explosives.dm
@@ -40,7 +40,7 @@
explode(get_turf(user))
return .
-/obj/item/weapon/c4/attackby(var/obj/item/I, var/mob/user)
+/obj/item/weapon/c4/attackby(var/obj/item/I, var/mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
open_panel = !open_panel
user << "You [open_panel ? "open" : "close"] the wire panel."
diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm
index a38d376dd14..558844c688c 100644
--- a/code/game/objects/items/weapons/flamethrower.dm
+++ b/code/game/objects/items/weapons/flamethrower.dm
@@ -67,7 +67,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(istype(W, /obj/item/weapon/wrench) && !status)//Taking this apart
var/turf/T = get_turf(src)
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index 463e260c395..0d27aba743b 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -47,7 +47,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/screwdriver))
if(stage == WIRED)
if(beakers.len)
@@ -250,7 +250,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 << "You add [I] to the [initial(name)] assembly."
user.drop_item()
diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm
index eb815c35be9..51a787a0b28 100644
--- a/code/game/objects/items/weapons/grenades/grenade.dm
+++ b/code/game/objects/items/weapons/grenades/grenade.dm
@@ -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")
diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm
index ad243908696..240eb422464 100644
--- a/code/game/objects/items/weapons/handcuffs.dm
+++ b/code/game/objects/items/weapons/handcuffs.dm
@@ -85,7 +85,7 @@
/obj/item/weapon/restraints/handcuffs/cable/white
icon_state = "cuff_white"
-/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
diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm
index 8f7eebac27c..5da2cd828bc 100644
--- a/code/game/objects/items/weapons/implants/implantcase.dm
+++ b/code/game/objects/items/weapons/implants/implantcase.dm
@@ -16,7 +16,7 @@
icon_state = "implantcase-0"
-/obj/item/weapon/implantcase/attackby(obj/item/weapon/W, mob/user)
+/obj/item/weapon/implantcase/attackby(obj/item/weapon/W, mob/user, params)
..()
if(istype(W, /obj/item/weapon/pen))
var/t = stripped_input(user, "What would you like the label to be?", name, null)
diff --git a/code/game/objects/items/weapons/implants/implantchair.dm b/code/game/objects/items/weapons/implants/implantchair.dm
index 5cca21dc9fe..8b31a4f662a 100644
--- a/code/game/objects/items/weapons/implants/implantchair.dm
+++ b/code/game/objects/items/weapons/implants/implantchair.dm
@@ -73,7 +73,7 @@
return
-/obj/machinery/implantchair/attackby(var/obj/item/weapon/G as obj, var/mob/user as mob)
+/obj/machinery/implantchair/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
diff --git a/code/game/objects/items/weapons/implants/implantpad.dm b/code/game/objects/items/weapons/implants/implantpad.dm
index ba0fa0d0dd9..1720cb073e0 100644
--- a/code/game/objects/items/weapons/implants/implantpad.dm
+++ b/code/game/objects/items/weapons/implants/implantpad.dm
@@ -32,7 +32,7 @@
return ..()
-/obj/item/weapon/implantpad/attackby(obj/item/weapon/implantcase/C, mob/user)
+/obj/item/weapon/implantpad/attackby(obj/item/weapon/implantcase/C, mob/user, params)
..()
if(istype(C, /obj/item/weapon/implantcase))
if(!case)
diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index 12df49b5a23..d1e142cd09f 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -117,7 +117,7 @@
/obj/item/weapon/melee/energy/sword/saber/red
item_color = "red"
-/obj/item/weapon/melee/energy/sword/saber/attackby(obj/item/weapon/W, mob/living/user)
+/obj/item/weapon/melee/energy/sword/saber/attackby(obj/item/weapon/W, mob/living/user, params)
..()
if(istype(W, /obj/item/weapon/melee/energy/sword/saber))
if(W == src)
diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm
index ef37fb2ab50..f08ddf39317 100644
--- a/code/game/objects/items/weapons/mop.dm
+++ b/code/game/objects/items/weapons/mop.dm
@@ -50,7 +50,7 @@ obj/item/weapon/mop/proc/clean(turf/simulated/A)
user << "You have finished mopping!"
-/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
..()
diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm
index 6a8e4d21393..2a9a15c156c 100644
--- a/code/game/objects/items/weapons/shields.dm
+++ b/code/game/objects/items/weapons/shields.dm
@@ -21,7 +21,7 @@
/obj/item/weapon/shield/riot/IsShield()
return 1
-/obj/item/weapon/shield/riot/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/shield/riot/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("[user] bashes [src] with [W]!")
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index 3c7a6e98ad8..80a46ed0572 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -19,7 +19,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)
..()
diff --git a/code/game/objects/items/weapons/storage/book.dm b/code/game/objects/items/weapons/storage/book.dm
index 136d250eec9..7389d749eab 100644
--- a/code/game/objects/items/weapons/storage/book.dm
+++ b/code/game/objects/items/weapons/storage/book.dm
@@ -132,6 +132,6 @@
A.reagents.del_reagent("unholywater")
A.reagents.add_reagent("holywater",unholy2clean)
-/obj/item/weapon/storage/book/bible/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/storage/book/bible/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
playsound(src.loc, "rustle", 50, 1, -5)
..()
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index 2a26329b210..49432cc52db 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -50,7 +50,7 @@
user.update_inv_r_hand()
qdel(src)
-/obj/item/weapon/storage/box/attackby(obj/item/W, mob/user)
+/obj/item/weapon/storage/box/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/stack/packageWrap))
return 0
..()
@@ -546,7 +546,7 @@
for(var/i=1; i <= storage_slots; i++)
new /obj/item/weapon/match(src)
-/obj/item/weapon/storage/box/matches/attackby(obj/item/weapon/match/W as obj, mob/user as mob)
+/obj/item/weapon/storage/box/matches/attackby(obj/item/weapon/match/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/match))
W.matchignite()
return
diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index c84ec21f623..209191666fc 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -124,7 +124,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")
diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm
index d8313137772..a8cbcbcb282 100644
--- a/code/game/objects/items/weapons/storage/lockbox.dm
+++ b/code/game/objects/items/weapons/storage/lockbox.dm
@@ -17,7 +17,7 @@
var/icon_broken = "lockbox+b"
-/obj/item/weapon/storage/lockbox/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/storage/lockbox/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (W.GetID())
if(src.broken)
user << "It appears to be broken."
diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm
index a5fb164b08b..f39e702b365 100644
--- a/code/game/objects/items/weapons/storage/secure.dm
+++ b/code/game/objects/items/weapons/storage/secure.dm
@@ -31,7 +31,7 @@
..()
user << text("The service panel is [src.open ? "open" : "closed"].")
-/obj/item/weapon/storage/secure/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/storage/secure/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(locked)
if (istype(W, /obj/item/weapon/melee/energy/blade) && !emagged)
emagged = 1
diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm
index dbbd74dbd19..7eaf4c6304a 100644
--- a/code/game/objects/items/weapons/storage/storage.dm
+++ b/code/game/objects/items/weapons/storage/storage.dm
@@ -321,7 +321,7 @@
//This proc is called when you want to place an item into the storage item.
-/obj/item/weapon/storage/attackby(obj/item/W, mob/user)
+/obj/item/weapon/storage/attackby(obj/item/W, mob/user, params)
..()
if(isrobot(user))
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 0a4f729b1d8..878b80b8b05 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -80,7 +80,7 @@
if(!bcell)
user <<"The baton does not have a power source installed."
-/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)
diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm
index 12c4f8d1a13..870e0115d75 100644
--- a/code/game/objects/items/weapons/tanks/tank_types.dm
+++ b/code/game/objects/items/weapons/tanks/tank_types.dm
@@ -86,7 +86,7 @@
src.air_contents.toxins = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
return
-/obj/item/weapon/tank/internals/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/tank/internals/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if (istype(W, /obj/item/weapon/flamethrower))
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index 0541e73b561..ab28088dfe3 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -74,7 +74,7 @@
qdel(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)
..()
src.add_fingerprint(user)
diff --git a/code/game/objects/items/weapons/tanks/watertank.dm b/code/game/objects/items/weapons/tanks/watertank.dm
index a6a02875972..93a3a7f1564 100644
--- a/code/game/objects/items/weapons/tanks/watertank.dm
+++ b/code/game/objects/items/weapons/tanks/watertank.dm
@@ -93,7 +93,7 @@
H.put_in_l_hand(src)
return
-/obj/item/weapon/watertank/attackby(obj/item/W, mob/user)
+/obj/item/weapon/watertank/attackby(obj/item/W, mob/user, params)
if(W == noz)
remove_noz()
return
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index bea71df24c1..f019f83079d 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -186,7 +186,7 @@
user << "It contains [get_fuel()] unit\s of fuel out of [max_fuel]."
-/obj/item/weapon/weldingtool/attackby(obj/item/I, mob/user)
+/obj/item/weapon/weldingtool/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
flamethrower_screwdriver(I, user)
if(istype(I, /obj/item/stack/rods))
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index 5bcefc888eb..67acf259eae 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -258,7 +258,7 @@ obj/item/weapon/twohanded/
New()
item_color = "red"
-/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)
diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm
index 1891f5bd801..d69f4d83c75 100644
--- a/code/game/objects/items/weapons/weaponry.dm
+++ b/code/game/objects/items/weapons/weaponry.dm
@@ -107,7 +107,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
diff --git a/code/game/objects/structures/OpTable.dm b/code/game/objects/structures/OpTable.dm
index 1efdde80ab6..fc83ebf771a 100644
--- a/code/game/objects/structures/OpTable.dm
+++ b/code/game/objects/structures/OpTable.dm
@@ -28,7 +28,7 @@
return 0
-/obj/structure/optable/attackby(obj/item/weapon/W, mob/user)
+/obj/structure/optable/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = W
if(!G.confirm())
diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm
index 89a20dc21ca..390b29acc5b 100644
--- a/code/game/objects/structures/bedsheet_bin.dm
+++ b/code/game/objects/structures/bedsheet_bin.dm
@@ -32,7 +32,7 @@ LINEN BINS
add_fingerprint(user)
return
-/obj/item/weapon/bedsheet/attackby(obj/item/I, mob/user)
+/obj/item/weapon/bedsheet/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wirecutters) || istype(I, /obj/item/weapon/shard))
new /obj/item/stack/medical/gauze/improvised(src.loc)
qdel(src)
@@ -186,7 +186,7 @@ LINEN BINS
else icon_state = "linenbin-full"
-/obj/structure/bedsheetbin/attackby(obj/item/I as obj, mob/user as mob)
+/obj/structure/bedsheetbin/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/bedsheet))
user.drop_item()
I.loc = src
diff --git a/code/game/objects/structures/crates_lockers/bins.dm b/code/game/objects/structures/crates_lockers/bins.dm
index 275eccc890f..8ece4f59820 100644
--- a/code/game/objects/structures/crates_lockers/bins.dm
+++ b/code/game/objects/structures/crates_lockers/bins.dm
@@ -29,7 +29,7 @@
else
overlays += orangelight
-/obj/structure/closet/crate/bin/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/closet/crate/bin/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/storage/bag/trash))
var/obj/item/weapon/storage/bag/trash/T = W
user << "You fill the bag."
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index 10ba58741b0..8f8a2d17172 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -154,7 +154,7 @@
qdel(src)
-/obj/structure/closet/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/closet/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(src.opened)
if(istype(W, /obj/item/weapon/grab))
if(src.large)
diff --git a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
index 4dc425417ea..04f7361017b 100644
--- a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
@@ -15,7 +15,7 @@
locked = 1
var/smashed = 0
-/obj/structure/closet/fireaxecabinet/attackby(var/obj/item/O as obj, var/mob/living/user as mob) //Marker -Agouri
+/obj/structure/closet/fireaxecabinet/attackby(var/obj/item/O as obj, var/mob/living/user as mob, params) //Marker -Agouri
//..() //That's very useful, Erro
var/hasaxe = 0 //gonna come in handy later~
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
index a27ef5b902d..0bbe929e43c 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
@@ -55,7 +55,7 @@
new /obj/item/device/radio/headset( src )
return
-/obj/structure/closet/secure_closet/personal/attackby(obj/item/W as obj, mob/user as mob)
+/obj/structure/closet/secure_closet/personal/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W))
var/obj/item/weapon/card/id/I = W.GetID()
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
index b8583ba94d9..c117504b4ea 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
@@ -60,7 +60,7 @@
return 1
return 0
-/obj/structure/closet/secure_closet/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/closet/secure_closet/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(!src.opened && src.broken)
user << "The locker appears to be broken."
diff --git a/code/game/objects/structures/crates_lockers/closets/statue.dm b/code/game/objects/structures/crates_lockers/closets/statue.dm
index be30fc5a1ba..df449794738 100644
--- a/code/game/objects/structures/crates_lockers/closets/statue.dm
+++ b/code/game/objects/structures/crates_lockers/closets/statue.dm
@@ -124,7 +124,7 @@
for(var/mob/M in src)
shatter(M)
-/obj/structure/closet/statue/attackby(obj/item/I as obj, mob/user as mob)
+/obj/structure/closet/statue/attackby(obj/item/I as obj, mob/user as mob, params)
health -= I.force
visible_message("[user] strikes [src] with [I].")
if(health <= 0)
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index d14476622bc..f6aa7b779b2 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -299,7 +299,7 @@
else
..()
-/obj/structure/closet/crate/secure/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/closet/crate/secure/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/card) && src.allowed(user) && !locked && !opened && !broken)
user << "You lock \the [src]."
src.locked = 1
@@ -336,7 +336,7 @@
/obj/structure/closet/crate/attack_paw(mob/user as mob)
return attack_hand(user)
-/obj/structure/closet/crate/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/closet/crate/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(opened)
if(isrobot(user))
return
diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm
index 61cf95a61f2..038dee96250 100644
--- a/code/game/objects/structures/crates_lockers/largecrate.dm
+++ b/code/game/objects/structures/crates_lockers/largecrate.dm
@@ -9,7 +9,7 @@
user << "You need a crowbar to pry this open!"
return
-/obj/structure/largecrate/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/largecrate/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/crowbar))
new /obj/item/stack/sheet/mineral/wood(src)
var/turf/T = get_turf(src)
diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm
index 893750a15aa..8c645b59f96 100644
--- a/code/game/objects/structures/displaycase.dm
+++ b/code/game/objects/structures/displaycase.dm
@@ -71,7 +71,7 @@
return
-/obj/structure/displaycase/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/displaycase/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
user.changeNext_move(CLICK_CD_MELEE)
src.health -= W.force
src.healthcheck()
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index 12719f4a0fd..71ad52a0388 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -333,7 +333,7 @@ obj/structure/door_assembly/New()
mineral = "glass"
icon_state = "door_as_gviro1"
-/obj/structure/door_assembly/attackby(obj/item/W as obj, mob/user as mob)
+/obj/structure/door_assembly/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/pen))
var/t = stripped_input(user, "Enter the name for the door.", src.name, src.created_name,MAX_NAME_LEN)
if(!t)
@@ -466,7 +466,7 @@ obj/structure/door_assembly/New()
if(!D.sub_door)
door_check = 0
break
-
+
if(door_check)
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
user.visible_message("[user] secures the airlock assembly to the floor.", \
diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm
index c35f898f96e..36b14829157 100644
--- a/code/game/objects/structures/electricchair.dm
+++ b/code/game/objects/structures/electricchair.dm
@@ -10,7 +10,7 @@
overlays += image('icons/obj/objects.dmi', src, "echair_over", MOB_LAYER + 1, dir)
return
-/obj/structure/stool/bed/chair/e_chair/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/stool/bed/chair/e_chair/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/wrench))
var/obj/structure/stool/bed/chair/C = new /obj/structure/stool/bed/chair(loc)
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm
index b2874a23bc9..db03ae8550c 100644
--- a/code/game/objects/structures/extinguisher.dm
+++ b/code/game/objects/structures/extinguisher.dm
@@ -24,7 +24,7 @@
return
-/obj/structure/extinguisher_cabinet/attackby(obj/item/O, mob/user)
+/obj/structure/extinguisher_cabinet/attackby(obj/item/O, mob/user, params)
if(isrobot(user) || isalien(user))
return
if(istype(O, /obj/item/weapon/extinguisher))
diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm
index 7e25264fb9c..2e84f4d900d 100644
--- a/code/game/objects/structures/false_walls.dm
+++ b/code/game/objects/structures/false_walls.dm
@@ -95,7 +95,7 @@
qdel(src)
return T
-/obj/structure/falsewall/attackby(obj/item/weapon/W, mob/user)
+/obj/structure/falsewall/attackby(obj/item/weapon/W, mob/user, params)
if(opening)
user << "You must wait until the door has stopped moving."
return
@@ -199,7 +199,7 @@
var/active = null
var/last_event = 0
-/obj/structure/falsewall/uranium/attackby(obj/item/weapon/W, mob/user)
+/obj/structure/falsewall/uranium/attackby(obj/item/weapon/W, mob/user, params)
radiate()
..()
@@ -251,7 +251,7 @@
mineral = "plasma"
walltype = "plasma"
-/obj/structure/falsewall/plasma/attackby(obj/item/weapon/W, mob/user)
+/obj/structure/falsewall/plasma/attackby(obj/item/weapon/W, mob/user, params)
if(is_hot(W) > 300)
message_admins("Plasma falsewall ignited by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1)
log_game("Plasma falsewall ignited by [user.ckey]([user]) in ([x],[y],[z])")
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index 4768a2941a2..c04e9fe4dda 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -7,7 +7,7 @@
var/state = 0
var/girderpasschance = 20 // percentage chance that a projectile passes through the girder.
-/obj/structure/girder/attackby(obj/item/W as obj, mob/user as mob)
+/obj/structure/girder/attackby(obj/item/W as obj, mob/user as mob, params)
add_fingerprint(user)
if(istype(W, /obj/item/weapon/wrench) && state == 0)
if(anchored && !istype(src,/obj/structure/girder/displaced))
@@ -255,7 +255,7 @@
density = 1
layer = 2
-/obj/structure/cultgirder/attackby(obj/item/W as obj, mob/user as mob)
+/obj/structure/cultgirder/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
user << "Now disassembling the girder..."
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index 4ea22d338a1..211b3ec3491 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -131,7 +131,7 @@
var/obj/item/stack/rods/newrods = new(loc)
transfer_fingerprints_to(newrods)
-/obj/structure/grille/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/grille/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
user.changeNext_move(CLICK_CD_MELEE)
add_fingerprint(user)
if(istype(W, /obj/item/weapon/wirecutters))
diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index 5a8bc0ca53d..34a68cee94c 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -36,7 +36,7 @@
return
-/obj/structure/janitorialcart/attackby(obj/item/I, mob/user)
+/obj/structure/janitorialcart/attackby(obj/item/I, mob/user, params)
var/fail_msg = "There is already one of those in [src]."
if(istype(I, /obj/item/weapon/mop))
@@ -194,7 +194,7 @@
user << "It has been upgraded with a floor buffer."
-/obj/structure/stool/bed/chair/janicart/attackby(obj/item/I, mob/user)
+/obj/structure/stool/bed/chair/janicart/attackby(obj/item/I, mob/user, params)
if(istype(I, keytype))
user << "Hold [I] in one of your hands while you drive this [callme]."
else if(istype(I, /obj/item/weapon/storage/bag/trash))
diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm
index 7dc66d1970e..f4ef857668b 100644
--- a/code/game/objects/structures/kitchen_spike.dm
+++ b/code/game/objects/structures/kitchen_spike.dm
@@ -23,7 +23,7 @@
/obj/structure/kitchenspike/attack_paw(mob/user as mob)
return src.attack_hand(usr)
-/obj/structure/kitchenspike/attackby(obj/item/weapon/grab/G as obj, mob/user as mob)
+/obj/structure/kitchenspike/attackby(obj/item/weapon/grab/G as obj, mob/user as mob, params)
if(!istype(G, /obj/item/weapon/grab))
return
if(istype(G.affecting, /mob/living/carbon/monkey))
diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm
index a10448cfcc4..dfcb2f58270 100644
--- a/code/game/objects/structures/ladders.dm
+++ b/code/game/objects/structures/ladders.dm
@@ -69,5 +69,5 @@
/obj/structure/ladder/attack_paw(mob/user as mob)
return attack_hand(user)
-/obj/structure/ladder/attackby(obj/item/weapon/W, mob/user as mob)
+/obj/structure/ladder/attackby(obj/item/weapon/W, mob/user as mob, params)
return attack_hand(user)
\ No newline at end of file
diff --git a/code/game/objects/structures/lamarr_cage.dm b/code/game/objects/structures/lamarr_cage.dm
index eed83352412..3a191773127 100644
--- a/code/game/objects/structures/lamarr_cage.dm
+++ b/code/game/objects/structures/lamarr_cage.dm
@@ -60,7 +60,7 @@
return
-/obj/structure/lamarr/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/lamarr/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
user.changeNext_move(CLICK_CD_MELEE)
src.health -= W.force
src.healthcheck()
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index 76e9135128b..e29be23452d 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -50,7 +50,7 @@
else
return
-/obj/structure/lattice/attackby(obj/item/C as obj, mob/user as mob)
+/obj/structure/lattice/attackby(obj/item/C as obj, mob/user as mob, params)
var/turf/T = get_turf(src)
if (istype(C, /obj/item/stack/tile/plasteel))
T.attackby(C, user) //BubbleWrap - hand this off to the underlying turf instead (for building plating)
@@ -121,7 +121,7 @@
C.Deconstruct()
..()
-/obj/structure/lattice/catwalk/attackby(obj/item/C as obj, mob/user as mob)
+/obj/structure/lattice/catwalk/attackby(obj/item/C as obj, mob/user as mob, params)
..()
if(istype(C, /obj/item/stack/cable_coil))
var/turf/T = get_turf(src)
diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm
index 0ce35f52907..01dd4848f2b 100644
--- a/code/game/objects/structures/mineral_doors.dm
+++ b/code/game/objects/structures/mineral_doors.dm
@@ -122,7 +122,7 @@
else
icon_state = mineralType
-/obj/structure/mineral_door/attackby(obj/item/weapon/W, mob/user)
+/obj/structure/mineral_door/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W,/obj/item/weapon/pickaxe))
var/obj/item/weapon/pickaxe/digTool = W
user << "You start digging the [name]."
@@ -217,7 +217,7 @@
/obj/structure/mineral_door/transparent/plasma
mineralType = "plasma"
-/obj/structure/mineral_door/transparent/plasma/attackby(obj/item/weapon/W, mob/user)
+/obj/structure/mineral_door/transparent/plasma/attackby(obj/item/weapon/W, mob/user, params)
if(is_hot(W))
message_admins("Plasma mineral door ignited by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1)
log_game("Plasma mineral door ignited by [user.ckey]([user]) in ([x],[y],[z])")
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index b191c23aeef..87809a71d38 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -56,7 +56,7 @@
..()
-/obj/structure/mirror/attackby(obj/item/I as obj, mob/living/user as mob)
+/obj/structure/mirror/attackby(obj/item/I as obj, mob/living/user as mob, params)
user.do_attack_animation(src)
if(I.damtype == STAMINA)
return
diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm
index 43975af4b0f..d654ab2291e 100644
--- a/code/game/objects/structures/mop_bucket.dm
+++ b/code/game/objects/structures/mop_bucket.dm
@@ -12,7 +12,7 @@
/obj/structure/mopbucket/New()
create_reagents(100)
-/obj/structure/mopbucket/attackby(obj/item/I, mob/user)
+/obj/structure/mopbucket/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/mop))
if(reagents.total_volume < 1)
user << "[src] is out of water!"
diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm
index e31a3edd71a..0de4c76e488 100644
--- a/code/game/objects/structures/morgue.dm
+++ b/code/game/objects/structures/morgue.dm
@@ -57,7 +57,7 @@
close()
add_fingerprint(user)
-/obj/structure/bodycontainer/attackby(P as obj, mob/user as mob)
+/obj/structure/bodycontainer/attackby(P as obj, mob/user as mob, params)
if (istype(P, /obj/item/weapon/pen))
var/t = stripped_input(user, "What would you like the label to be?", text("[]", name), null)
if (user.get_active_hand() != P)
@@ -208,7 +208,7 @@ Crematorium Switch
usr << "Access denied."
return
-/obj/machinery/crema_switch/attackby(obj/item/W as obj, mob/user as mob)
+/obj/machinery/crema_switch/attackby(obj/item/W as obj, mob/user as mob, params)
if(W.GetID())
attack_hand(user)
else
diff --git a/code/game/objects/structures/musician.dm b/code/game/objects/structures/musician.dm
index 6510eaf31a5..85875833820 100644
--- a/code/game/objects/structures/musician.dm
+++ b/code/game/objects/structures/musician.dm
@@ -338,7 +338,7 @@
user.set_machine(src)
song.interact(user)
-/obj/structure/piano/attackby(obj/item/O as obj, mob/user as mob)
+/obj/structure/piano/attackby(obj/item/O as obj, mob/user as mob, params)
if (istype(O, /obj/item/weapon/wrench))
if (!anchored && !isinspace())
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm
index a5ad84c20eb..d5997adfda9 100644
--- a/code/game/objects/structures/noticeboard.dm
+++ b/code/game/objects/structures/noticeboard.dm
@@ -16,7 +16,7 @@
icon_state = "nboard0[notices]"
//attaching papers!!
-/obj/structure/noticeboard/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob)
+/obj/structure/noticeboard/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/paper))
if(notices < 5)
O.add_fingerprint(user)
diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm
index 8acbe878808..392dc05693f 100644
--- a/code/game/objects/structures/safe.dm
+++ b/code/game/objects/structures/safe.dm
@@ -142,7 +142,7 @@ FLOOR SAFES
updateUsrDialog()
-/obj/structure/safe/attackby(obj/item/I as obj, mob/user as mob)
+/obj/structure/safe/attackby(obj/item/I as obj, mob/user as mob, params)
if(open)
if(I.w_class + space <= maxspace)
space += I.w_class
diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm
index 87b694983c7..142f11d1834 100644
--- a/code/game/objects/structures/statues.dm
+++ b/code/game/objects/structures/statues.dm
@@ -16,7 +16,7 @@
density = 0
..()
-/obj/structure/statue/attackby(obj/item/weapon/W, mob/living/user as mob)
+/obj/structure/statue/attackby(obj/item/weapon/W, mob/living/user as mob, params)
add_fingerprint(user)
user.changeNext_move(CLICK_CD_MELEE)
if(istype(W, /obj/item/weapon/wrench))
@@ -156,7 +156,7 @@
desc = "This statue has a sickening green colour."
icon_state = "eng"
-/obj/structure/statue/uranium/attackby(obj/item/weapon/W, mob/user)
+/obj/structure/statue/uranium/attackby(obj/item/weapon/W, mob/user, params)
radiate()
..()
@@ -206,7 +206,7 @@
PlasmaBurn(500)
..()
-/obj/structure/statue/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/statue/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(is_hot(W) > 300)//If the temperature of the object is over 300, then ignite
message_admins("Plasma statue ignited by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1)
log_game("Plasma statue ignited by [user.ckey]([user]) in ([x],[y],[z])")
@@ -312,7 +312,7 @@
honk()
..()
-/obj/structure/statue/bananium/attackby(obj/item/weapon/W, mob/user)
+/obj/structure/statue/bananium/attackby(obj/item/weapon/W, mob/user, params)
honk()
..()
diff --git a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm
index 7efa0020aa2..974a5a9af5e 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm
@@ -57,7 +57,7 @@
-/obj/structure/stool/bed/nest/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/stool/bed/nest/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
var/aforce = W.force
health = max(0, health - aforce)
playsound(loc, 'sound/effects/attackblob.ogg', 100, 1)
diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
index d73dba16439..88e013b0c76 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
@@ -14,7 +14,7 @@
..()
handle_rotation()
-/obj/structure/stool/bed/chair/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/stool/bed/chair/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if(istype(W, /obj/item/assembly/shock_kit))
var/obj/item/assembly/shock_kit/SK = W
@@ -81,7 +81,7 @@
name = "wooden chair"
desc = "Old is never too old to not be in fashion."
-/obj/structure/stool/bed/chair/wood/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/stool/bed/chair/wood/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
new /obj/item/stack/sheet/mineral/wood(src.loc)
diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm
index 01c86ee14a5..b3627ecda2c 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm
@@ -26,7 +26,7 @@
new /obj/item/stack/sheet/metal(src.loc)
qdel(src)
-/obj/structure/stool/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/stool/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
new /obj/item/stack/sheet/metal(src.loc)
diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm
index 9955c1c7b4b..ed6433552c7 100644
--- a/code/game/objects/structures/table_frames.dm
+++ b/code/game/objects/structures/table_frames.dm
@@ -20,7 +20,7 @@
var/framestack = /obj/item/stack/rods
var/framestackamount = 2
-/obj/structure/table_frame/attackby(var/obj/item/I, mob/user)
+/obj/structure/table_frame/attackby(var/obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
user << "Now disassembling [src]."
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
@@ -66,7 +66,7 @@
framestack = /obj/item/stack/sheet/mineral/wood
framestackamount = 2
-/obj/structure/table_frame/wood/attackby(var/obj/item/I, mob/user)
+/obj/structure/table_frame/wood/attackby(var/obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
..()
if(istype(I, /obj/item/stack/sheet/mineral/wood))
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index 3042fc6c383..79c7b682a38 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -268,7 +268,7 @@
return 1
qdel(I)
-/obj/structure/table/attackby(obj/item/I, mob/user)
+/obj/structure/table/attackby(obj/item/I, mob/user, params)
if (istype(I, /obj/item/weapon/grab))
tablepush(I, user)
return
@@ -322,6 +322,10 @@
if(!(I.flags & ABSTRACT)) //rip more parems rip in peace ;_;
if(user.drop_item())
I.Move(loc)
+ var/list/click_params = params2list(params)
+ //Center the icon where the user clicked.
+ I.pixel_x = (text2num(click_params["icon-x"]) - 16)
+ I.pixel_y = (text2num(click_params["icon-y"]) - 16)
/*
@@ -444,7 +448,7 @@
var/status = 2
buildstack = /obj/item/stack/sheet/plasteel
-/obj/structure/table/reinforced/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/table/reinforced/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
if(WT.remove_fuel(0, user))
@@ -535,7 +539,7 @@
step(O, get_dir(O, src))
return
-/obj/structure/rack/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/rack/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
rack_destroy()
@@ -601,7 +605,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 )
diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm
index 06f5aa67d74..b14dbcdb764 100644
--- a/code/game/objects/structures/tank_dispenser.dm
+++ b/code/game/objects/structures/tank_dispenser.dm
@@ -47,7 +47,7 @@
return
-/obj/structure/dispenser/attackby(obj/item/I as obj, mob/user as mob)
+/obj/structure/dispenser/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/tank/internals/oxygen) || istype(I, /obj/item/weapon/tank/internals/air) || istype(I, /obj/item/weapon/tank/internals/anesthetic))
if(oxygentanks < 10)
user.drop_item()
diff --git a/code/game/objects/structures/target_stake.dm b/code/game/objects/structures/target_stake.dm
index 9f0f6e9686e..15405604004 100644
--- a/code/game/objects/structures/target_stake.dm
+++ b/code/game/objects/structures/target_stake.dm
@@ -18,7 +18,7 @@
pinned_target = null
density = 1
-/obj/structure/target_stake/attackby(obj/item/W as obj, mob/user as mob)
+/obj/structure/target_stake/attackby(obj/item/W as obj, mob/user as mob, params)
// Putting objects on the stake. Most importantly, targets
if(pinned_target)
return // get rid of that pinned target first!
diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm
index 5662d28988c..949f192ecc7 100644
--- a/code/game/objects/structures/transit_tubes/station.dm
+++ b/code/game/objects/structures/transit_tubes/station.dm
@@ -81,7 +81,7 @@
break
-/obj/structure/transit_tube/station/attackby(obj/item/W, mob/user)
+/obj/structure/transit_tube/station/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/grab) && icon_state == "open")
var/obj/item/weapon/grab/G = W
if(ismob(G.affecting) && G.state >= GRAB_AGGRESSIVE)
diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm
index 871ffe59b0f..bdee679770d 100644
--- a/code/game/objects/structures/transit_tubes/transit_tube.dm
+++ b/code/game/objects/structures/transit_tubes/transit_tube.dm
@@ -38,7 +38,7 @@ obj/structure/transit_tube/ex_act(severity, target)
if(tube_dirs == null)
init_dirs()
-/obj/structure/transit_tube/attackby(obj/item/W, mob/user)
+/obj/structure/transit_tube/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
if(copytext(icon_state, 1, 3) != "D-") //decorative diagonals cannot be unwrenched directly
for(var/obj/structure/transit_tube_pod/pod in src.loc)
diff --git a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm
index 4412fdc711e..aa13ac145fc 100644
--- a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm
+++ b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm
@@ -77,7 +77,7 @@
R.generate_automatic_corners(R.tube_dirs)
return R
-/obj/structure/c_transit_tube/attackby(var/obj/item/I, var/mob/user)
+/obj/structure/c_transit_tube/attackby(var/obj/item/I, var/mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
user << "You start attaching the [name]..."
src.add_fingerprint(user)
diff --git a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm
index eeaa29e8a85..645a121e168 100644
--- a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm
+++ b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm
@@ -25,7 +25,7 @@
..()
-/obj/structure/transit_tube_pod/attackby(var/obj/item/I, var/mob/user)
+/obj/structure/transit_tube_pod/attackby(var/obj/item/I, var/mob/user, params)
if(istype(I, /obj/item/weapon/crowbar))
if(!moving)
for(var/obj/structure/transit_tube/station/T in loc)
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 91a1cc97a96..886593f4af8 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -46,7 +46,7 @@
icon_state = "toilet[open][cistern]"
-/obj/structure/toilet/attackby(obj/item/I, mob/living/user)
+/obj/structure/toilet/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weapon/crowbar))
user << "You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]."
playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, 1)
@@ -113,7 +113,7 @@
anchored = 1
-/obj/structure/urinal/attackby(obj/item/I, mob/user)
+/obj/structure/urinal/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = I
if(!G.confirm())
@@ -167,7 +167,7 @@
tile.MakeSlippery()
-/obj/machinery/shower/attackby(obj/item/I, mob/user)
+/obj/machinery/shower/attackby(obj/item/I, mob/user, params)
if(I.type == /obj/item/device/analyzer)
user << "The water temperature seems to be [watertemp]."
if(istype(I, /obj/item/weapon/wrench))
@@ -375,7 +375,7 @@
user.visible_message("[user] washes their hands in [src].")
-/obj/structure/sink/attackby(obj/item/O, mob/user)
+/obj/structure/sink/attackby(obj/item/O, mob/user, params)
if(busy)
user << "Someone's already washing here."
return
@@ -445,7 +445,7 @@
..()
icon_state = "puddle"
-/obj/structure/sink/puddle/attackby(obj/item/O as obj, mob/user as mob)
+/obj/structure/sink/puddle/attackby(obj/item/O as obj, mob/user as mob, params)
icon_state = "puddle-splash"
..()
icon_state = "puddle"
\ No newline at end of file
diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm
index 8e5d20cd8c4..9ba3ec15458 100644
--- a/code/game/objects/structures/windoor_assembly.dm
+++ b/code/game/objects/structures/windoor_assembly.dm
@@ -68,7 +68,7 @@ obj/structure/windoor_assembly/Destroy()
return 1
-/obj/structure/windoor_assembly/attackby(obj/item/W as obj, mob/user as mob)
+/obj/structure/windoor_assembly/attackby(obj/item/W as obj, mob/user as mob, params)
//I really should have spread this out across more states but thin little windoors are hard to sprite.
add_fingerprint(user)
switch(state)
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 72a1f94595a..a38bcadf6e0 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -180,7 +180,7 @@
attack_generic(user, rand(10, 15))
update_nearby_icons()
-/obj/structure/window/attackby(obj/item/I, mob/living/user)
+/obj/structure/window/attackby(obj/item/I, mob/living/user, params)
if(!can_be_reached(user))
return 1 //skip the afterattack
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index 2ef4066499b..4a57dbdda30 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -123,7 +123,7 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
W.update_icon()
return W
-/turf/simulated/floor/attackby(obj/item/C as obj, mob/user as mob)
+/turf/simulated/floor/attackby(obj/item/C as obj, mob/user as mob, params)
if(!C || !user)
return 1
if(..())
diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm
index 4fe22480e21..b2e008e7df3 100644
--- a/code/game/turfs/simulated/floor/fancy_floor.dm
+++ b/code/game/turfs/simulated/floor/fancy_floor.dm
@@ -9,7 +9,7 @@
floor_tile = /obj/item/stack/tile/wood
broken_states = list("wood-broken", "wood-broken2", "wood-broken3", "wood-broken4", "wood-broken5", "wood-broken6", "wood-broken7")
-/turf/simulated/floor/wood/attackby(obj/item/C as obj, mob/user as mob)
+/turf/simulated/floor/wood/attackby(obj/item/C as obj, mob/user as mob, params)
if(..())
return
if(istype(C, /obj/item/weapon/screwdriver))
@@ -50,7 +50,7 @@
update_icon()
fancy_update(type)
-/turf/simulated/floor/fancy/grass/attackby(obj/item/C as obj, mob/user as mob)
+/turf/simulated/floor/fancy/grass/attackby(obj/item/C as obj, mob/user as mob, params)
if(..())
return
if(istype(C, /obj/item/weapon/shovel))
diff --git a/code/game/turfs/simulated/floor/light_floor.dm b/code/game/turfs/simulated/floor/light_floor.dm
index 51f52b5de4c..10379dbf1a6 100644
--- a/code/game/turfs/simulated/floor/light_floor.dm
+++ b/code/game/turfs/simulated/floor/light_floor.dm
@@ -51,7 +51,7 @@
update_icon()
..()
-/turf/simulated/floor/light/attackby(obj/item/C as obj, mob/user as mob)
+/turf/simulated/floor/light/attackby(obj/item/C as obj, mob/user as mob, params)
if(..())
return
if(istype(C,/obj/item/weapon/light/bulb)) //only for light tiles
diff --git a/code/game/turfs/simulated/floor/mineral_floor.dm b/code/game/turfs/simulated/floor/mineral_floor.dm
index ceb2465412c..f550095c738 100644
--- a/code/game/turfs/simulated/floor/mineral_floor.dm
+++ b/code/game/turfs/simulated/floor/mineral_floor.dm
@@ -38,7 +38,7 @@
if(exposed_temperature > 300)
PlasmaBurn()
-/turf/simulated/floor/mineral/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/turf/simulated/floor/mineral/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(is_hot(W) > 300)//If the temperature of the object is over 300, then ignite
message_admins("Plasma flooring was ignited by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1)
log_game("Plasma flooring was ignited by [user.ckey]([user]) in ([x],[y],[z])")
@@ -86,7 +86,7 @@
if(istype(AM))
squeek()
-/turf/simulated/floor/mineral/bananium/attackby(obj/item/weapon/W, mob/user)
+/turf/simulated/floor/mineral/bananium/attackby(obj/item/weapon/W, mob/user, params)
.=..()
if(!.)
honk()
@@ -144,7 +144,7 @@
if(istype(AM))
radiate()
-/turf/simulated/floor/mineral/uranium/attackby(obj/item/weapon/W, mob/user)
+/turf/simulated/floor/mineral/uranium/attackby(obj/item/weapon/W, mob/user, params)
.=..()
if(!.)
radiate()
diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm
index c0c65f4d039..362db4f8cc3 100644
--- a/code/game/turfs/simulated/floor/plating.dm
+++ b/code/game/turfs/simulated/floor/plating.dm
@@ -26,7 +26,7 @@
if(!broken && !burnt)
icon_state = icon_plating //Because asteroids are 'platings' too.
-/turf/simulated/floor/plating/attackby(obj/item/C as obj, mob/user as mob)
+/turf/simulated/floor/plating/attackby(obj/item/C as obj, mob/user as mob, params)
if(..())
return
if(istype(C, /obj/item/stack/rods))
@@ -92,7 +92,7 @@
..()
return //unplateable
-/turf/simulated/floor/engine/attackby(obj/item/weapon/C as obj, mob/user as mob)
+/turf/simulated/floor/engine/attackby(obj/item/weapon/C as obj, mob/user as mob, params)
if(!C || !user)
return
if(istype(C, /obj/item/weapon/wrench))
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index 96178d35462..b71f8d9ca60 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -121,7 +121,7 @@
return
-/turf/simulated/wall/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/turf/simulated/wall/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
user.changeNext_move(CLICK_CD_MELEE)
if (!user.IsAdvancedToolUser())
user << "You don't have the dexterity to do this!"
diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm
index d0bf27ec6de..817fd5be882 100644
--- a/code/game/turfs/simulated/walls_mineral.dm
+++ b/code/game/turfs/simulated/walls_mineral.dm
@@ -76,7 +76,7 @@
radiate()
..()
-/turf/simulated/wall/mineral/uranium/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/turf/simulated/wall/mineral/uranium/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
radiate()
..()
@@ -92,7 +92,7 @@
mineral = "plasma"
thermal_conductivity = 0.04
-/turf/simulated/wall/mineral/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/turf/simulated/wall/mineral/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(is_hot(W) > 300)//If the temperature of the object is over 300, then ignite
message_admins("Plasma wall ignited by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1)
log_game("Plasma wall ignited by [user.ckey]([user]) in ([x],[y],[z])")
diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm
index 31f898eca1d..02978a0b85c 100644
--- a/code/game/turfs/space/space.dm
+++ b/code/game/turfs/space/space.dm
@@ -19,7 +19,7 @@
/turf/space/attack_paw(mob/user as mob)
return src.attack_hand(user)
-/turf/space/attackby(obj/item/C, mob/user)
+/turf/space/attackby(obj/item/C, mob/user, params)
..()
if(istype(C, /obj/item/stack/rods))
var/obj/item/stack/rods/R = C
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index b2b510e5457..9ad9a61ba4d 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -42,7 +42,7 @@
/turf/attack_hand(mob/user as mob)
user.Move_Pulled(src)
-/turf/attackby(obj/item/C, mob/user)
+/turf/attackby(obj/item/C, mob/user, params)
if(cancable && istype(C, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/coil = C
for(var/obj/structure/cable/LC in src)
diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm
index b1d0325970a..75cf0fc191e 100644
--- a/code/modules/assembly/assembly.dm
+++ b/code/modules/assembly/assembly.dm
@@ -87,7 +87,7 @@
return secured
-/obj/item/device/assembly/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/device/assembly/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(isassembly(W))
var/obj/item/device/assembly/A = W
if((!A.secured) && (!secured))
diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm
index 755074c2855..b63a0feefe7 100644
--- a/code/modules/assembly/bomb.dm
+++ b/code/modules/assembly/bomb.dm
@@ -23,7 +23,7 @@
overlays += bombassembly.overlays
overlays += "bomb_assembly"
-/obj/item/device/onetankbomb/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/device/onetankbomb/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/device/analyzer))
bombtank.attackby(W, user)
return
diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm
index 1ef63734a9f..7f3a9545228 100644
--- a/code/modules/assembly/holder.dm
+++ b/code/modules/assembly/holder.dm
@@ -79,7 +79,7 @@
..()
return
-/obj/item/device/assembly_holder/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/device/assembly_holder/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/screwdriver))
var/turf/T = get_turf(src)
if(!T)
diff --git a/code/modules/assembly/shock_kit.dm b/code/modules/assembly/shock_kit.dm
index b1c79da69d4..6e76220a71b 100644
--- a/code/modules/assembly/shock_kit.dm
+++ b/code/modules/assembly/shock_kit.dm
@@ -14,7 +14,7 @@
..()
return
-/obj/item/assembly/shock_kit/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/assembly/shock_kit/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/wrench))
var/turf/T = loc
if(ismob(T))
diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm
index ed3d7413b2e..3a8ef41caef 100644
--- a/code/modules/awaymissions/gateway.dm
+++ b/code/modules/awaymissions/gateway.dm
@@ -133,7 +133,7 @@ obj/machinery/gateway/centerstation/process()
return
-/obj/machinery/gateway/centerstation/attackby(obj/item/device/W as obj, mob/user as mob)
+/obj/machinery/gateway/centerstation/attackby(obj/item/device/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/device/multitool))
user << "\black The gate is already calibrated, there is no work for you to do here."
return
@@ -227,7 +227,7 @@ obj/machinery/gateway/centerstation/process()
M.dir = SOUTH
-/obj/machinery/gateway/centeraway/attackby(obj/item/device/W as obj, mob/user as mob)
+/obj/machinery/gateway/centeraway/attackby(obj/item/device/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/device/multitool))
if(calibrated)
user << "\black The gate is already calibrated, there is no work for you to do here."
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 6c831dadf68..54aeace00c6 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -214,7 +214,7 @@ BLIND // can't see anything
*/
var/obj/item/clothing/tie/hastie = null
-/obj/item/clothing/under/attackby(obj/item/I, mob/user)
+/obj/item/clothing/under/attackby(obj/item/I, mob/user, params)
attachTie(I, user)
..()
diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm
index b7b4ad452de..4f7982d6d64 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -37,7 +37,7 @@
/obj/item/clothing/gloves/color/black/ce
item_color = "chief" //Exists for washing machines. Is not different from black gloves in any way.
-/obj/item/clothing/gloves/color/black/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/clothing/gloves/color/black/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/wirecutters))
if(icon_state == initial(icon_state)) //only if not dyed
user << "You snip the fingertips off of [src]."
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index d7cd68cb6e8..2366d9f3877 100644
--- a/code/modules/clothing/masks/gasmask.dm
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -73,7 +73,7 @@
..()
verbs -= /obj/item/clothing/mask/gas/sechailer/verb/adjust
-/obj/item/clothing/mask/gas/sechailer/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/clothing/mask/gas/sechailer/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/screwdriver))
switch(aggressiveness)
if(1)
diff --git a/code/modules/clothing/shoes/bananashoes.dm b/code/modules/clothing/shoes/bananashoes.dm
index 6c1999ac6e1..ee256e42595 100644
--- a/code/modules/clothing/shoes/bananashoes.dm
+++ b/code/modules/clothing/shoes/bananashoes.dm
@@ -34,7 +34,7 @@
bananium -= sheet_amount * 2000
user << "You retrieve [sheet_amount] sheets of bananium."
-/obj/item/clothing/shoes/clown_shoes/banana_shoes/attackby(obj/item/O, mob/user)
+/obj/item/clothing/shoes/clown_shoes/banana_shoes/attackby(obj/item/O, mob/user, params)
if(istype(O,/obj/item/stack/sheet/mineral/bananium))
var/obj/item/stack/sheet/mineral/bananium/M = O
bananium += 2000 * M.amount
diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm
index 639a593aa68..e463f77fb68 100644
--- a/code/modules/clothing/shoes/colour.dm
+++ b/code/modules/clothing/shoes/colour.dm
@@ -89,7 +89,7 @@
src.icon_state = "orange"
return
-/obj/item/clothing/shoes/sneakers/orange/attackby(H as obj, loc)
+/obj/item/clothing/shoes/sneakers/orange/attackby(H as obj, loc, params)
..()
if ((istype(H, /obj/item/weapon/restraints/handcuffs) && !( src.chained )))
//H = null
diff --git a/code/modules/clothing/under/chameleon.dm b/code/modules/clothing/under/chameleon.dm
index 25411ffb4dc..a92c45a0ab6 100644
--- a/code/modules/clothing/under/chameleon.dm
+++ b/code/modules/clothing/under/chameleon.dm
@@ -22,7 +22,7 @@
return
-/obj/item/clothing/under/chameleon/attackby(obj/item/clothing/under/U as obj, mob/user as mob)
+/obj/item/clothing/under/chameleon/attackby(obj/item/clothing/under/U as obj, mob/user as mob, params)
..()
if(istype(U, /obj/item/clothing/under/chameleon))
user << "\Nothing happens."
diff --git a/code/modules/crafting/guncrafting.dm b/code/modules/crafting/guncrafting.dm
index ba354b64915..ca3da0b965d 100644
--- a/code/modules/crafting/guncrafting.dm
+++ b/code/modules/crafting/guncrafting.dm
@@ -18,7 +18,7 @@
// CRAFTING //
-/obj/item/weaponcrafting/reciever/attackby(obj/item/W as obj, mob/user as mob)
+/obj/item/weaponcrafting/reciever/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/pipe))
user << "You attach the shotgun barrel to the reciever. The pins seem loose."
var/obj/item/weaponcrafting/ishotgunconstruction/I = new /obj/item/weaponcrafting/ishotgunconstruction
@@ -36,7 +36,7 @@
icon = 'icons/obj/improvised.dmi'
icon_state = "ishotgunstep1"
-/obj/item/weaponcrafting/ishotgunconstruction/attackby(var/obj/item/I, mob/user as mob)
+/obj/item/weaponcrafting/ishotgunconstruction/attackby(var/obj/item/I, mob/user as mob, params)
..()
if(istype(I, /obj/item/weapon/screwdriver))
var/obj/item/weaponcrafting/ishotgunconstruction2/C = new /obj/item/weaponcrafting/ishotgunconstruction2
@@ -51,7 +51,7 @@
icon = 'icons/obj/improvised.dmi'
icon_state = "ishotgunstep1"
-/obj/item/weaponcrafting/ishotgunconstruction2/attackby(obj/item/W as obj, mob/user as mob)
+/obj/item/weaponcrafting/ishotgunconstruction2/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weaponcrafting/stock))
user << "You attach the stock to the reciever-barrel assembly."
var/obj/item/weaponcrafting/ishotgunconstruction3/I = new /obj/item/weaponcrafting/ishotgunconstruction3
@@ -67,7 +67,7 @@
icon = 'icons/obj/improvised.dmi'
icon_state = "ishotgunstep2"
-/obj/item/weaponcrafting/ishotgunconstruction3/attackby(var/obj/item/I, mob/user as mob)
+/obj/item/weaponcrafting/ishotgunconstruction3/attackby(var/obj/item/I, mob/user as mob, params)
..()
if(istype(I, /obj/item/stack/packageWrap))
var/obj/item/stack/packageWrap/C = I
diff --git a/code/modules/detectivework/evidence.dm b/code/modules/detectivework/evidence.dm
index c381d15bb7c..d8f8b6aad65 100644
--- a/code/modules/detectivework/evidence.dm
+++ b/code/modules/detectivework/evidence.dm
@@ -13,7 +13,7 @@
return
evidencebagEquip(I, user)
-/obj/item/weapon/evidencebag/attackby(obj/item/I, mob/user)
+/obj/item/weapon/evidencebag/attackby(obj/item/I, mob/user, params)
if(evidencebagEquip(I, user))
return 1
diff --git a/code/modules/events/ninja.dm b/code/modules/events/ninja.dm
index 7396ef19ed8..fba9d8a692c 100644
--- a/code/modules/events/ninja.dm
+++ b/code/modules/events/ninja.dm
@@ -1815,7 +1815,7 @@ ________________________________________________________________________________
//=======//GENERAL SUIT PROCS//=======//
-/obj/item/clothing/suit/space/space_ninja/attackby(obj/item/I, mob/U)
+/obj/item/clothing/suit/space/space_ninja/attackby(obj/item/I, mob/U, params)
if(U==affecting)//Safety, in case you try doing this without wearing the suit/being the person with the suit.
if(istype(I, /obj/item/device/aicard))//If it's an AI card.
if(s_control)
@@ -2421,7 +2421,7 @@ It is possible to destroy the net by the occupant or someone else.
healthcheck()
return
-/obj/effect/energy_net/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/effect/energy_net/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
var/aforce = W.force
health = max(0, health - aforce)
healthcheck()
diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm
index e6f2cf53b70..f59f388482a 100644
--- a/code/modules/events/spacevine.dm
+++ b/code/modules/events/spacevine.dm
@@ -246,7 +246,7 @@
eater.say("Nom")
Destroy()
-/obj/effect/spacevine/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/effect/spacevine/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (!W || !user || !W.type) return
user.changeNext_move(CLICK_CD_MELEE)
diff --git a/code/modules/events/wormholes.dm b/code/modules/events/wormholes.dm
index d16e067c5dd..ba051b22f9d 100644
--- a/code/modules/events/wormholes.dm
+++ b/code/modules/events/wormholes.dm
@@ -52,7 +52,7 @@
/obj/effect/portal/wormhole/attack_hand(mob/user)
teleport(user)
-/obj/effect/portal/wormhole/attackby(obj/item/I, mob/user)
+/obj/effect/portal/wormhole/attackby(obj/item/I, mob/user, params)
teleport(user)
/obj/effect/portal/wormhole/teleport(atom/movable/M)
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index 645260c3ec2..1327d56fac9 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -246,7 +246,7 @@ mob/living/carbon/proc/handle_hallucinations()
var/health = 100
-/obj/effect/fake_attacker/attackby(var/obj/item/weapon/P as obj, mob/living/user as mob)
+/obj/effect/fake_attacker/attackby(var/obj/item/weapon/P as obj, mob/living/user as mob, params)
step_away(src,my_target,2)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
diff --git a/code/modules/food&drinks/food/customizables.dm b/code/modules/food&drinks/food/customizables.dm
index 7645b4938d6..c14262e0538 100644
--- a/code/modules/food&drinks/food/customizables.dm
+++ b/code/modules/food&drinks/food/customizables.dm
@@ -35,7 +35,7 @@
size = "monster"
user << "It contains [ingredients.len?"[ingredients_listed]":"no ingredient, "]making a [size]-sized [initial(name)]."
-/obj/item/weapon/reagent_containers/food/snacks/customizable/attackby(obj/item/I, mob/user)
+/obj/item/weapon/reagent_containers/food/snacks/customizable/attackby(obj/item/I, mob/user, params)
if(istype(I,/obj/item/weapon/reagent_containers/food/snacks))
var/obj/item/weapon/reagent_containers/food/snacks/S = I
if(I.w_class > 2)
@@ -209,7 +209,7 @@
icon_state = BASE.icon_state
..()
-/obj/item/weapon/reagent_containers/food/snacks/customizable/sandwich/attackby(obj/item/I, mob/user)
+/obj/item/weapon/reagent_containers/food/snacks/customizable/sandwich/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/breadslice)) //we're finishing the custom food.
var/obj/item/weapon/reagent_containers/food/snacks/breadslice/BS = I
if(finished)
@@ -258,7 +258,7 @@
flags = OPENCONTAINER
w_class = 3
-/obj/item/weapon/reagent_containers/glass/bowl/attackby(obj/item/I,mob/user)
+/obj/item/weapon/reagent_containers/glass/bowl/attackby(obj/item/I,mob/user, params)
if(istype(I,/obj/item/weapon/reagent_containers/food/snacks))
var/obj/item/weapon/reagent_containers/food/snacks/S = I
if(I.w_class > 2)
diff --git a/code/modules/food&drinks/food/snacks.dm b/code/modules/food&drinks/food/snacks.dm
index a596eeb6f44..417154f71ba 100644
--- a/code/modules/food&drinks/food/snacks.dm
+++ b/code/modules/food&drinks/food/snacks.dm
@@ -133,7 +133,7 @@
user << "[src] was bitten multiple times!"
-/obj/item/weapon/reagent_containers/food/snacks/attackby(obj/item/weapon/W, mob/user)
+/obj/item/weapon/reagent_containers/food/snacks/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W,/obj/item/weapon/storage))
..() // -> item/attackby()
return 0
@@ -263,7 +263,7 @@
/obj/item/weapon/reagent_containers/food/snacks/store
w_class = 3
-/obj/item/weapon/reagent_containers/food/snacks/store/attackby(obj/item/weapon/W, mob/user)
+/obj/item/weapon/reagent_containers/food/snacks/store/attackby(obj/item/weapon/W, mob/user, params)
if(W.w_class > 2 || custom_food_type) //can't store objects inside food needed to start a customizable snack.
..()
else
diff --git a/code/modules/food&drinks/food/snacks/dough.dm b/code/modules/food&drinks/food/snacks/dough.dm
index 4c31b944901..08d7a46691f 100644
--- a/code/modules/food&drinks/food/snacks/dough.dm
+++ b/code/modules/food&drinks/food/snacks/dough.dm
@@ -3,7 +3,7 @@
/////////////////// Dough Ingredients ////////////////////////
// Flour + egg = dough
-/obj/item/weapon/reagent_containers/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/reagent_containers/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/egg))
var/obj/item/weapon/reagent_containers/food/snacks/egg/E = W
if(flags & OPENCONTAINER)
@@ -33,7 +33,7 @@
// Dough + rolling pin = flat dough
-/obj/item/weapon/reagent_containers/food/snacks/dough/attackby(obj/item/I, mob/user)
+/obj/item/weapon/reagent_containers/food/snacks/dough/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/kitchen/rollingpin))
if(isturf(loc))
new /obj/item/weapon/reagent_containers/food/snacks/flatdough(loc)
@@ -97,7 +97,7 @@
w_class = 3
// Cake batter + rolling pin = pie dough
-/obj/item/weapon/reagent_containers/food/snacks/cakebatter/attackby(obj/item/I, mob/user)
+/obj/item/weapon/reagent_containers/food/snacks/cakebatter/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/kitchen/rollingpin))
if(isturf(loc))
new /obj/item/weapon/reagent_containers/food/snacks/piedough(loc)
diff --git a/code/modules/food&drinks/food/snacks_egg.dm b/code/modules/food&drinks/food/snacks_egg.dm
index 1242f615521..8d9a585c2f8 100644
--- a/code/modules/food&drinks/food/snacks_egg.dm
+++ b/code/modules/food&drinks/food/snacks_egg.dm
@@ -22,7 +22,7 @@
reagents.reaction(hit_atom, TOUCH)
del(src) // Not qdel, because it'll hit other mobs then the floor for runtimes.
-/obj/item/weapon/reagent_containers/food/snacks/egg/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/reagent_containers/food/snacks/egg/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype( W, /obj/item/toy/crayon ))
var/obj/item/toy/crayon/C = W
var/clr = C.colourName
@@ -93,7 +93,7 @@
bitesize = 1
w_class = 3
-/obj/item/weapon/reagent_containers/food/snacks/omelette/attackby(obj/item/weapon/W, mob/user)
+/obj/item/weapon/reagent_containers/food/snacks/omelette/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W,/obj/item/weapon/kitchen/utensil/fork))
if(W.icon_state == "forkloaded")
user << "You already have omelette on your fork."
diff --git a/code/modules/food&drinks/food/snacks_pizza.dm b/code/modules/food&drinks/food/snacks_pizza.dm
index c5afdb0edd5..ee66d4f8f49 100644
--- a/code/modules/food&drinks/food/snacks_pizza.dm
+++ b/code/modules/food&drinks/food/snacks_pizza.dm
@@ -166,7 +166,7 @@
update_icon()
-/obj/item/pizzabox/attackby(obj/item/I, mob/user)
+/obj/item/pizzabox/attackby(obj/item/I, mob/user, params)
if( istype(I, /obj/item/pizzabox/) )
var/obj/item/pizzabox/box = I
diff --git a/code/modules/food&drinks/kitchen machinery/food_cart.dm b/code/modules/food&drinks/kitchen machinery/food_cart.dm
index 177e9a642ac..fdae544a1b9 100644
--- a/code/modules/food&drinks/kitchen machinery/food_cart.dm
+++ b/code/modules/food&drinks/kitchen machinery/food_cart.dm
@@ -59,7 +59,7 @@
/obj/machinery/food_cart/proc/isFull()
return food_stored >= STORAGE_CAPACITY
-/obj/machinery/food_cart/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/food_cart/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/reagent_containers/food/drinks/drinkingglass))
var/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/DG = O
if(!DG.reagents.total_volume) //glass is empty
diff --git a/code/modules/food&drinks/kitchen machinery/gibber.dm b/code/modules/food&drinks/kitchen machinery/gibber.dm
index 58e2c4a6673..640e9d9024a 100644
--- a/code/modules/food&drinks/kitchen machinery/gibber.dm
+++ b/code/modules/food&drinks/kitchen machinery/gibber.dm
@@ -77,7 +77,7 @@
else
src.startgibbing(user)
-/obj/machinery/gibber/attackby(obj/item/weapon/grab/G as obj, mob/user as mob)
+/obj/machinery/gibber/attackby(obj/item/weapon/grab/G as obj, mob/user as mob, params)
if(src.occupant)
user << "The gibber is full, empty it first!"
return
diff --git a/code/modules/food&drinks/kitchen machinery/icecream_vat.dm b/code/modules/food&drinks/kitchen machinery/icecream_vat.dm
index 59616572d00..1965f4cdde4 100644
--- a/code/modules/food&drinks/kitchen machinery/icecream_vat.dm
+++ b/code/modules/food&drinks/kitchen machinery/icecream_vat.dm
@@ -87,7 +87,7 @@
popup.set_content(dat)
popup.open()
-/obj/machinery/icecream_vat/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/icecream_vat/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/icecream))
var/obj/item/weapon/reagent_containers/food/snacks/icecream/I = O
if(!I.ice_creamed)
diff --git a/code/modules/food&drinks/kitchen machinery/juicer.dm b/code/modules/food&drinks/kitchen machinery/juicer.dm
index 7006fb779a5..3cf4bc60a2a 100644
--- a/code/modules/food&drinks/kitchen machinery/juicer.dm
+++ b/code/modules/food&drinks/kitchen machinery/juicer.dm
@@ -33,7 +33,7 @@
return
-/obj/machinery/juicer/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/juicer/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(default_unfasten_wrench(user, O))
return
if (istype(O,/obj/item/weapon/reagent_containers/glass) || \
diff --git a/code/modules/food&drinks/kitchen machinery/microwave.dm b/code/modules/food&drinks/kitchen machinery/microwave.dm
index 8c972d958b6..432fae10ead 100644
--- a/code/modules/food&drinks/kitchen machinery/microwave.dm
+++ b/code/modules/food&drinks/kitchen machinery/microwave.dm
@@ -42,7 +42,7 @@
* Item Adding
********************/
-/obj/machinery/microwave/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/microwave/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(operating)
return
if(!broken && dirty<100)
diff --git a/code/modules/food&drinks/kitchen machinery/monkeyrecycler.dm b/code/modules/food&drinks/kitchen machinery/monkeyrecycler.dm
index 01bc4d888a8..7d709d9cf8f 100644
--- a/code/modules/food&drinks/kitchen machinery/monkeyrecycler.dm
+++ b/code/modules/food&drinks/kitchen machinery/monkeyrecycler.dm
@@ -12,7 +12,7 @@
var/grinded = 0
-/obj/machinery/monkey_recycler/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/monkey_recycler/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(default_unfasten_wrench(user, O))
return
diff --git a/code/modules/food&drinks/kitchen machinery/processor.dm b/code/modules/food&drinks/kitchen machinery/processor.dm
index 16bf307f51c..1a3be0f8587 100644
--- a/code/modules/food&drinks/kitchen machinery/processor.dm
+++ b/code/modules/food&drinks/kitchen machinery/processor.dm
@@ -107,7 +107,7 @@
return P
return 0
-/obj/machinery/processor/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/processor/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(src.processing)
user << "The processor is in the process of processing."
return 1
diff --git a/code/modules/food&drinks/kitchen machinery/smartfridge.dm b/code/modules/food&drinks/kitchen machinery/smartfridge.dm
index 8e344d54189..758e3876730 100644
--- a/code/modules/food&drinks/kitchen machinery/smartfridge.dm
+++ b/code/modules/food&drinks/kitchen machinery/smartfridge.dm
@@ -34,7 +34,7 @@
* Item Adding
********************/
-/obj/machinery/smartfridge/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/smartfridge/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(default_unfasten_wrench(user, O))
power_change()
return
diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm
index d7237bbaf06..3c4002b026b 100644
--- a/code/modules/hydroponics/biogenerator.dm
+++ b/code/modules/hydroponics/biogenerator.dm
@@ -49,7 +49,7 @@
icon_state = "biogen-work"
return
-/obj/machinery/biogenerator/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/biogenerator/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/reagent_containers/glass) && !panel_open)
if(beaker)
user << "A container is already loaded into the machine."
diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm
index b4c10d115c7..80b4bf82706 100644
--- a/code/modules/hydroponics/grown.dm
+++ b/code/modules/hydroponics/grown.dm
@@ -48,7 +48,7 @@
return 1
return 0
-/obj/item/weapon/reagent_containers/food/snacks/grown/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/item/weapon/reagent_containers/food/snacks/grown/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
..()
if (istype(O, /obj/item/device/analyzer/plant_analyzer))
var/msg
@@ -72,7 +72,7 @@
return
return
-/obj/item/weapon/grown/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/item/weapon/grown/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
..()
if (istype(O, /obj/item/device/analyzer/plant_analyzer))
var/msg
@@ -166,7 +166,7 @@
reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
bitesize = reagents.total_volume
-/obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = W
@@ -395,7 +395,7 @@
..()
reagents.add_reagent("gold", 1 + round((potency / 5), 1))
-/obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
. = ..()
if (istype(O, /obj/item/device/analyzer/plant_analyzer))
user << "- Mineral Content: [reagents.get_reagent_amount("gold")]%"
@@ -431,7 +431,7 @@
reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
bitesize = 1 + round(reagents.total_volume / 2, 1)
-/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/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/twohanded/fireaxe) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/melee/energy))
user.show_message("You carve a face into [src]!", 1)
@@ -528,7 +528,7 @@
reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
bitesize = 1 + round(reagents.total_volume / 2, 1)
-/obj/item/weapon/reagent_containers/food/snacks/grown/chili/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/item/weapon/reagent_containers/food/snacks/grown/chili/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
. = ..()
if (istype(O, /obj/item/device/analyzer/plant_analyzer))
user << "- Capsaicin: [reagents.get_reagent_amount("capsaicin")]%"
@@ -548,7 +548,7 @@
reagents.add_reagent("frostoil", 3+round(potency / 5, 1))
bitesize = 1 + round(reagents.total_volume / 2, 1)
-/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
. = ..()
if (istype(O, /obj/item/device/analyzer/plant_analyzer))
user << "- Frostoil: [reagents.get_reagent_amount("frostoil")]%"
@@ -569,7 +569,7 @@
reagents.add_reagent("condensedcapsaicin", 4+round(potency / 4, 1))
bitesize = 1 + round(reagents.total_volume / 4, 1)
-/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
. = ..()
if (istype(O, /obj/item/device/analyzer/plant_analyzer))
user << "- Capsaicin: [reagents.get_reagent_amount("capsaicin")]%"
@@ -900,7 +900,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
reagents.add_reagent("morphine", 3+round(potency / 3, 1))
bitesize = 1 + round(reagents.total_volume / 2, 1)
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
. = ..()
if (istype(O, /obj/item/device/analyzer/plant_analyzer))
user << "- Anti-Toxin: [reagents.get_reagent_amount("charcoal")]%"
@@ -920,7 +920,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
reagents.add_reagent("mushroomhallucinogen", 1 + round(potency / 25, 1))
bitesize = 1 + round(reagents.total_volume / 2, 1)
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
. = ..()
if (istype(O, /obj/item/device/analyzer/plant_analyzer))
user << "- Amatoxins: [reagents.get_reagent_amount("amatoxin")]%"
@@ -940,7 +940,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
reagents.add_reagent("mushroomhallucinogen", 1 + round(potency / 25, 1))
bitesize = 1 + round(reagents.total_volume / 2, 1)
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
. = ..()
if (istype(O, /obj/item/device/analyzer/plant_analyzer))
user << "- Amatoxins: [reagents.get_reagent_amount("amatoxin")]%"
@@ -959,7 +959,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
reagents.add_reagent("mushroomhallucinogen", 3+round(potency / 5, 1))
bitesize = 1 + round(reagents.total_volume / 2, 1)
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
. = ..()
if (istype(O, /obj/item/device/analyzer/plant_analyzer))
user << "- Mushroom Hallucinogen: [reagents.get_reagent_amount("mushroomhallucinogen")]%"
diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm
index ab23458d86c..fd8c3c37a67 100644
--- a/code/modules/hydroponics/growninedible.dm
+++ b/code/modules/hydroponics/growninedible.dm
@@ -64,7 +64,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/wheat)
-/obj/item/weapon/grown/log/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/grown/log/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/twohanded/fireaxe) && W:wielded) || istype(W, /obj/item/weapon/melee/energy))
user.show_message("You make planks out of \the [src]!", 1)
@@ -289,7 +289,7 @@
throw_speed = 3
throw_range = 7
-/obj/item/weapon/grown/corncob/attackby(obj/item/weapon/grown/W as obj, mob/user as mob)
+/obj/item/weapon/grown/corncob/attackby(obj/item/weapon/grown/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))
user << "You use [W] to fashion a pipe out of the corn cob!"
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index 200a6349dfa..da3bc6eb6b2 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -49,7 +49,7 @@
waterlevel = maxwater
nutrilevel = 3
-/obj/machinery/hydroponics/constructable/attackby(obj/item/I, mob/user)
+/obj/machinery/hydroponics/constructable/attackby(obj/item/I, mob/user, params)
if(exchange_parts(user, I))
return
@@ -571,7 +571,7 @@ obj/machinery/hydroponics/proc/applyChemicals(var/datum/reagents/S)
if(1 to 32) mutatepest()
else usr << "Nothing happens..."
-obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob)
+obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
//Called when mob user "attacks" it with object O
if(istype(O, /obj/item/weapon/reagent_containers) ) // Syringe stuff (and other reagent containers now too)
@@ -977,7 +977,7 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob)
SetLuminosity(0)
return
-/obj/machinery/hydroponics/soil/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/hydroponics/soil/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
..()
if(istype(O, /obj/item/weapon/shovel))
user << "You clear up [src]!"
diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm
index 52f7c1a8664..616d6039a5d 100644
--- a/code/modules/hydroponics/seed_extractor.dm
+++ b/code/modules/hydroponics/seed_extractor.dm
@@ -52,7 +52,7 @@
anchored = 1
var/piles = list()
-obj/machinery/seed_extractor/attackby(var/obj/item/O as obj, var/mob/user as mob)
+obj/machinery/seed_extractor/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(isrobot(user))
return
diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm
index 0fb1587d716..86fe5ae8c7e 100644
--- a/code/modules/hydroponics/seeds.dm
+++ b/code/modules/hydroponics/seeds.dm
@@ -27,7 +27,7 @@
pixel_x = rand(-8, 8)
pixel_y = rand(-8, 8)
-/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/device/analyzer/plant_analyzer))
user << "*** [plantname] ***"
user << "-Plant Endurance: [endurance]"
@@ -83,7 +83,7 @@
var/factions = null
var/contains_sample = 0
-/obj/item/seeds/replicapod/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/seeds/replicapod/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weapon/reagent_containers/syringe))
if(!contains_sample)
for(var/datum/reagent/blood/bloodSample in W.reagents.reagent_list)
diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm
index 3a4fec5c359..1e5aa530242 100644
--- a/code/modules/library/lib_items.dm
+++ b/code/modules/library/lib_items.dm
@@ -31,7 +31,7 @@
update_icon()
-/obj/structure/bookcase/attackby(obj/item/I, mob/user)
+/obj/structure/bookcase/attackby(obj/item/I, mob/user, params)
switch(state)
if(0)
if(istype(I, /obj/item/weapon/wrench))
@@ -186,7 +186,7 @@
user << "This book is completely blank!"
-/obj/item/weapon/book/attackby(obj/item/I, mob/user)
+/obj/item/weapon/book/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/pen))
if(is_blind(user))
return
diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm
index 24c5f811d65..2e10f1d241b 100644
--- a/code/modules/library/lib_machines.dm
+++ b/code/modules/library/lib_machines.dm
@@ -286,7 +286,7 @@ var/global/list/datum/cachedbook/cachedbooks // List of our cached book datums
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
popup.open()
-/obj/machinery/computer/libraryconsole/bookmanagement/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/computer/libraryconsole/bookmanagement/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/barcodescanner))
var/obj/item/weapon/barcodescanner/scanner = W
scanner.computer = src
@@ -446,7 +446,7 @@ var/global/list/datum/cachedbook/cachedbooks // List of our cached book datums
density = 1
var/obj/item/weapon/book/cache // Last scanned book
-/obj/machinery/libraryscanner/attackby(var/obj/O as obj, var/mob/user as mob)
+/obj/machinery/libraryscanner/attackby(var/obj/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/book))
user.drop_item()
O.loc = src
@@ -501,7 +501,7 @@ var/global/list/datum/cachedbook/cachedbooks // List of our cached book datums
density = 1
var/busy = 0
-/obj/machinery/bookbinder/attackby(var/obj/O as obj, var/mob/user as mob)
+/obj/machinery/bookbinder/attackby(var/obj/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/paper))
if(busy)
user << "The book binder is busy. Please wait for completion of previous operation."
diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm
index 6f82f8176d9..c86d86dcfdb 100644
--- a/code/modules/mining/equipment_locker.dm
+++ b/code/modules/mining/equipment_locker.dm
@@ -66,7 +66,7 @@
else
break
-/obj/machinery/mineral/ore_redemption/attackby(var/obj/item/weapon/W, var/mob/user)
+/obj/machinery/mineral/ore_redemption/attackby(var/obj/item/weapon/W, var/mob/user, params)
if(istype(W,/obj/item/weapon/card/id))
var/obj/item/weapon/card/id/I = usr.get_active_hand()
if(istype(I) && !istype(inserted_id))
@@ -320,7 +320,7 @@
updateUsrDialog()
return
-/obj/machinery/mineral/equipment_vendor/attackby(obj/item/I as obj, mob/user as mob)
+/obj/machinery/mineral/equipment_vendor/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/mining_voucher))
RedeemVoucher(I, user)
return
@@ -383,7 +383,7 @@
icon_state = "data"
var/points = 500
-/obj/item/weapon/card/mining_point_card/attackby(obj/item/I as obj, mob/user as mob)
+/obj/item/weapon/card/mining_point_card/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/card/id))
if(points)
var/obj/item/weapon/card/id/C = I
@@ -582,7 +582,7 @@
/obj/item/weapon/ore/plasma, /obj/item/weapon/ore/uranium, /obj/item/weapon/ore/iron,
/obj/item/weapon/ore/bananium)
-/mob/living/simple_animal/hostile/mining_drone/attackby(obj/item/I as obj, mob/user as mob)
+/mob/living/simple_animal/hostile/mining_drone/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/W = I
if(W.welding && !stat)
diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm
index 9bb95d6f639..8bfe24ce149 100644
--- a/code/modules/mining/laborcamp/laborstacker.dm
+++ b/code/modules/mining/laborcamp/laborstacker.dm
@@ -18,7 +18,7 @@
/obj/machinery/mineral/labor_claim_console/New()
..()
Radio = new/obj/item/device/radio(src)
- Radio.listening = 0
+ Radio.listening = 0
spawn(7)
src.machine = locate(/obj/machinery/mineral/stacking_machine, get_step(src, machinedir))
var/t
@@ -58,7 +58,7 @@
user << browse("[dat]", "window=console_stacking_machine")
-/obj/machinery/mineral/labor_claim_console/attackby(obj/item/I as obj, mob/user as mob)
+/obj/machinery/mineral/labor_claim_console/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/card/id))
return attack_hand(user)
..()
@@ -158,7 +158,7 @@
/obj/machinery/mineral/labor_points_checker/attack_hand(mob/user)
user.examinate(src)
-/obj/machinery/mineral/labor_points_checker/attackby(obj/item/I as obj, mob/user as mob)
+/obj/machinery/mineral/labor_points_checker/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/card/id))
if(istype(I, /obj/item/weapon/card/id/prisoner))
var/obj/item/weapon/card/id/prisoner/prisoner_id = I
diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm
index b9f0a945e3c..927de26c2a0 100644
--- a/code/modules/mining/mine_turfs.dm
+++ b/code/modules/mining/mine_turfs.dm
@@ -204,7 +204,7 @@
det_time = rand(8,10) //So you don't know exactly when the hot potato will explode
..()
-/turf/simulated/mineral/gibtonite/attackby(obj/item/I, mob/user)
+/turf/simulated/mineral/gibtonite/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/device/mining_scanner) || istype(I, /obj/item/device/t_scanner/adv_mining_scanner) && stage == 1)
user.visible_message("You use [I] to locate where to cut off the chain reaction and attempt to stop it...")
defuse()
@@ -381,7 +381,7 @@
new /mob/living/simple_animal/hostile/asteroid/hivelord(T)
return
-/turf/simulated/mineral/attackby(var/obj/item/weapon/pickaxe/P as obj, mob/user as mob)
+/turf/simulated/mineral/attackby(var/obj/item/weapon/pickaxe/P as obj, mob/user as mob, params)
if (!user.IsAdvancedToolUser())
usr << "You don't have the dexterity to do this!"
@@ -519,7 +519,7 @@
src.gets_dug()
return
-/turf/simulated/floor/plating/asteroid/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/turf/simulated/floor/plating/asteroid/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
//note that this proc does not call ..()
if(!W || !user)
return 0
diff --git a/code/modules/mining/money_bag.dm b/code/modules/mining/money_bag.dm
index 525401825bc..4f0e74aff4c 100644
--- a/code/modules/mining/money_bag.dm
+++ b/code/modules/mining/money_bag.dm
@@ -56,7 +56,7 @@
dat += text("Adamantine coins: [amt_adamantine] Remove one
")
user << browse("[dat]", "window=moneybag")
-/obj/item/weapon/moneybag/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/moneybag/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
if (istype(W, /obj/item/weapon/coin))
var/obj/item/weapon/coin/C = W
diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm
index f315cf87a18..73374998632 100644
--- a/code/modules/mining/ores_coins.dm
+++ b/code/modules/mining/ores_coins.dm
@@ -7,7 +7,7 @@
var/points = 0 //How many points this ore gets you from the ore redemption machine
var/refined_type = null //What this ore defaults to being refined into
-/obj/item/weapon/ore/attackby(obj/item/I as obj, mob/user as mob)
+/obj/item/weapon/ore/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/W = I
if(W.remove_fuel(15))
@@ -59,7 +59,7 @@
points = 36
refined_type = /obj/item/stack/sheet/mineral/plasma
-/obj/item/weapon/ore/plasma/attackby(obj/item/I as obj, mob/user as mob)
+/obj/item/weapon/ore/plasma/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/W = I
if(W.welding)
@@ -114,7 +114,7 @@
var/det_time = 100
var/quality = 1 //How pure this gibtonite is, determines the explosion produced by it and is derived from the det_time of the rock wall it was taken from, higher value = better
-/obj/item/weapon/twohanded/required/gibtonite/attackby(obj/item/I, mob/user)
+/obj/item/weapon/twohanded/required/gibtonite/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/pickaxe) || istype(I, /obj/item/weapon/resonator))
GibtoniteReaction(user)
return
@@ -248,7 +248,7 @@
value = 20
-/obj/item/weapon/coin/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/coin/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/CC = W
if(string_attached)
diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm
index c8311e58f8d..d3c739768ee 100644
--- a/code/modules/mining/satchel_ore_boxdm.dm
+++ b/code/modules/mining/satchel_ore_boxdm.dm
@@ -8,7 +8,7 @@
desc = "It's heavy"
density = 1
-/obj/structure/ore_box/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/ore_box/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/ore))
user.drop_item()
W.loc = src
diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm
index 816d92c5a7e..7b3d42921a4 100644
--- a/code/modules/mob/inventory.dm
+++ b/code/modules/mob/inventory.dm
@@ -31,6 +31,8 @@
if(client) client.screen |= W
if(pulling == W) stop_pulling()
update_inv_l_hand(0)
+ W.pixel_x = initial(W.pixel_x)
+ W.pixel_y = initial(W.pixel_y)
return 1
return 0
@@ -48,6 +50,8 @@
if(client) client.screen |= W
if(pulling == W) stop_pulling()
update_inv_r_hand(0)
+ W.pixel_x = initial(W.pixel_x)
+ W.pixel_y = initial(W.pixel_y)
return 1
return 0
diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm
index 4860105322b..6749b8d2108 100644
--- a/code/modules/mob/living/carbon/alien/special/facehugger.dm
+++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm
@@ -54,7 +54,7 @@ var/const/MAX_ACTIVE_TIME = 400
if (sterile)
user << "It looks like the proboscis has been removed."
-/obj/item/clothing/mask/facehugger/attackby(var/obj/item/O,var/mob/m)
+/obj/item/clothing/mask/facehugger/attackby(var/obj/item/O,var/mob/m, params)
if(O.force)
Die()
return
diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm
index cfb26251a0b..49a3bc558d3 100644
--- a/code/modules/mob/living/carbon/brain/MMI.dm
+++ b/code/modules/mob/living/carbon/brain/MMI.dm
@@ -18,7 +18,7 @@
var/obj/mecha = null //This does not appear to be used outside of reference in mecha.dm.
var/obj/item/organ/brain/brain = null //The actual brain
-/obj/item/device/mmi/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/item/device/mmi/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O,/obj/item/organ/brain)) //Time to stick a brain in it --NEO
var/obj/item/organ/brain/newbrain = O
if(brain)
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index cb7e9993016..6e6516ccd0f 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -12,7 +12,7 @@
..()
-/mob/living/carbon/attackby(obj/item/I, mob/user)
+/mob/living/carbon/attackby(obj/item/I, mob/user, params)
if(lying || isslime(src))
if(surgeries.len)
if(user.a_intent == "help")
diff --git a/code/modules/mob/living/carbon/slime/slime.dm b/code/modules/mob/living/carbon/slime/slime.dm
index 208960cc5f1..c148d07213c 100644
--- a/code/modules/mob/living/carbon/slime/slime.dm
+++ b/code/modules/mob/living/carbon/slime/slime.dm
@@ -422,7 +422,7 @@
updatehealth()
return
-/mob/living/carbon/slime/attackby(obj/item/W, mob/living/user)
+/mob/living/carbon/slime/attackby(obj/item/W, mob/living/user, params)
if(istype(W,/obj/item/stack/sheet/mineral/plasma)) //Let's you feed slimes plasma.
if (user in Friends)
++Friends[user]
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 33702682e9e..1038950db3d 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -392,7 +392,7 @@
return !cleared
-/mob/living/silicon/robot/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/mob/living/silicon/robot/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/restraints/handcuffs)) // fuck i don't even know why isrobot() in handcuff code isn't working so this will have to do
return
diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm
index a763d6ef994..5c42668c257 100644
--- a/code/modules/mob/living/simple_animal/friendly/corgi.dm
+++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm
@@ -61,7 +61,7 @@
onclose(user, "mob[real_name]")
return
-/mob/living/simple_animal/corgi/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/mob/living/simple_animal/corgi/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(inventory_head && inventory_back)
//helmet and armor = 100% protection
if( istype(inventory_head,/obj/item/clothing/head/helmet) && istype(inventory_back,/obj/item/clothing/suit/armor) )
diff --git a/code/modules/mob/living/simple_animal/friendly/drone.dm b/code/modules/mob/living/simple_animal/friendly/drone.dm
index 875c95ffbe5..ee37b9f52a4 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone.dm
@@ -147,7 +147,7 @@
qdel(access_card) //Otherwise it ends up on the floor!
..()
-/mob/living/simple_animal/drone/attackby(obj/item/I, mob/user)
+/mob/living/simple_animal/drone/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver) && stat != DEAD)
if(health < health_repair_max)
user << "You start to tighten loose screws on [src]."
diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
index 53eb82ca79a..d976a50bf86 100644
--- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
@@ -71,7 +71,7 @@
SV.eat(src)
-/mob/living/simple_animal/hostile/retaliate/goat/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/mob/living/simple_animal/hostile/retaliate/goat/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(stat == CONSCIOUS && istype(O, /obj/item/weapon/reagent_containers/glass))
user.visible_message("[user] milks [src] using \the [O].")
var/obj/item/weapon/reagent_containers/glass/G = O
@@ -111,7 +111,7 @@
udder.my_atom = src
..()
-/mob/living/simple_animal/cow/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/mob/living/simple_animal/cow/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(stat == CONSCIOUS && istype(O, /obj/item/weapon/reagent_containers/glass))
user.visible_message("[user] milks [src] using \the [O].")
var/obj/item/weapon/reagent_containers/glass/G = O
@@ -227,7 +227,7 @@ var/global/chicken_count = 0
..()
chicken_count -= 1
-/mob/living/simple_animal/chicken/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/mob/living/simple_animal/chicken/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/wheat)) //feedin' dem chickens
if(!stat && eggsleft < 8)
user.visible_message("[user] feeds [O] to [name]! It clucks happily.","You feed [O] to [name]! It clucks happily.")
diff --git a/code/modules/mob/living/simple_animal/friendly/pug.dm b/code/modules/mob/living/simple_animal/friendly/pug.dm
index ba23a49dba0..f685428fa4d 100644
--- a/code/modules/mob/living/simple_animal/friendly/pug.dm
+++ b/code/modules/mob/living/simple_animal/friendly/pug.dm
@@ -30,7 +30,7 @@
dir = i
sleep(1)
-/mob/living/simple_animal/pug/attackby(var/obj/item/O as obj, var/mob/user as mob) //Marker -Agouri
+/mob/living/simple_animal/pug/attackby(var/obj/item/O as obj, var/mob/user as mob, params) //Marker -Agouri
if(istype(O, /obj/item/weapon/newspaper))
if(!stat)
user.visible_message("[user] baps [name] on the nose with the rolled up [O]")
diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
index 355e7624b0a..c93b394050e 100644
--- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
@@ -124,7 +124,7 @@
src.visible_message("The [src.name] was bruised!")
bruised = 1
-/mob/living/simple_animal/hostile/mushroom/attackby(obj/item/I as obj, mob/user as mob)
+/mob/living/simple_animal/hostile/mushroom/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom))
if(stat == DEAD && !recovery_cooldown)
Recover()
diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm
index 1919d88db64..72b30675077 100644
--- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm
+++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm
@@ -57,7 +57,7 @@
attacktext = "slashes"
status_flags = 0
-/mob/living/simple_animal/hostile/syndicate/melee/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/mob/living/simple_animal/hostile/syndicate/melee/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(O.force)
if(prob(80))
var/damage = O.force
diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index b886317a3eb..d49855fc02f 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -303,7 +303,7 @@
icon_state = "parrot_fly"
//Mobs with objects
-/mob/living/simple_animal/parrot/attackby(var/obj/item/O as obj, var/mob/living/user as mob)
+/mob/living/simple_animal/parrot/attackby(var/obj/item/O as obj, var/mob/living/user as mob, params)
if(!stat && !client && !istype(O, /obj/item/stack/medical) && !istype(O,/obj/item/weapon/reagent_containers/food/snacks/cracker))
if(O.force)
if(parrot_state == PARROT_PERCH)
diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm
index beb2cbe7144..ebca47633b9 100644
--- a/code/modules/mob/living/simple_animal/shade.dm
+++ b/code/modules/mob/living/simple_animal/shade.dm
@@ -38,7 +38,7 @@
return
-/mob/living/simple_animal/shade/attackby(var/obj/item/O as obj, var/mob/user as mob) //Marker -Agouri
+/mob/living/simple_animal/shade/attackby(var/obj/item/O as obj, var/mob/user as mob, params) //Marker -Agouri
if(istype(O, /obj/item/device/soulstone))
var/obj/item/device/soulstone/SS = O
SS.transfer_soul("SHADE", src, user)
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index 2c388beaf02..4ec1152734c 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -327,7 +327,7 @@
updatehealth()
-/mob/living/simple_animal/attackby(var/obj/item/O as obj, var/mob/living/user as mob) //Marker -Agouri
+/mob/living/simple_animal/attackby(var/obj/item/O as obj, var/mob/living/user as mob, params) //Marker -Agouri
if(O.flags & NOBLUDGEON)
return
diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm
index 78a8fe94662..ac8e32ecf63 100644
--- a/code/modules/paperwork/clipboard.dm
+++ b/code/modules/paperwork/clipboard.dm
@@ -26,7 +26,7 @@
overlays += "clipboard_over"
-/obj/item/weapon/clipboard/attackby(obj/item/weapon/W, mob/user)
+/obj/item/weapon/clipboard/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/paper))
user.drop_item()
W.loc = src
diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm
index ccc56ce4e4c..92077b14d4a 100644
--- a/code/modules/paperwork/filingcabinet.dm
+++ b/code/modules/paperwork/filingcabinet.dm
@@ -41,7 +41,7 @@
qdel(src)
..()
-/obj/structure/filingcabinet/attackby(obj/item/P, mob/user)
+/obj/structure/filingcabinet/attackby(obj/item/P, mob/user, params)
if(istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/folder) || istype(P, /obj/item/weapon/photo) || istype(P, /obj/item/documents))
user << "You put [P] in [src]."
user.drop_item()
diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm
index a0ee5982c54..b75140b9c43 100644
--- a/code/modules/paperwork/folders.dm
+++ b/code/modules/paperwork/folders.dm
@@ -29,7 +29,7 @@
overlays += "folder_paper"
-/obj/item/weapon/folder/attackby(obj/item/weapon/W, mob/user)
+/obj/item/weapon/folder/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/photo) || istype(W, /obj/item/documents))
user.drop_item()
W.loc = src
diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm
index 67923d56280..d9a6b9527d4 100644
--- a/code/modules/paperwork/handlabeler.dm
+++ b/code/modules/paperwork/handlabeler.dm
@@ -52,7 +52,7 @@
else
user << "You turn off [src]."
-/obj/item/weapon/hand_labeler/attackby(obj/item/I as obj, mob/user as mob)
+/obj/item/weapon/hand_labeler/attackby(obj/item/I as obj, mob/user as mob, params)
..()
if(istype(I, /obj/item/hand_labeler_refill))
user << "You insert [I] into [src]."
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index cb7008ca6d9..f6c3e72e005 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -265,7 +265,7 @@
update_icon()
-/obj/item/weapon/paper/attackby(obj/item/weapon/P, mob/living/carbon/human/user)
+/obj/item/weapon/paper/attackby(obj/item/weapon/P, mob/living/carbon/human/user, params)
..()
if(is_blind(user))
diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm
index 8f9f44e41ff..248f36b8967 100644
--- a/code/modules/paperwork/paperbin.dm
+++ b/code/modules/paperwork/paperbin.dm
@@ -62,7 +62,7 @@
add_fingerprint(user)
-/obj/item/weapon/paper_bin/attackby(obj/item/weapon/paper/i, mob/user)
+/obj/item/weapon/paper_bin/attackby(obj/item/weapon/paper/i, mob/user, params)
if(!istype(i))
return ..()
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index 5e8763958d4..f49516e8f76 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -218,7 +218,7 @@
greytoggle = "Greyscale"
updateUsrDialog()
-/obj/machinery/photocopier/attackby(obj/item/O, mob/user)
+/obj/machinery/photocopier/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/weapon/paper))
if(copier_empty())
user.drop_item()
diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm
index 247b0356c00..f24dc009643 100644
--- a/code/modules/paperwork/photography.dm
+++ b/code/modules/paperwork/photography.dm
@@ -38,7 +38,7 @@
user.examinate(src)
-/obj/item/weapon/photo/attackby(obj/item/weapon/P, mob/user)
+/obj/item/weapon/photo/attackby(obj/item/weapon/P, mob/user, params)
if(istype(P, /obj/item/weapon/pen) || istype(P, /obj/item/toy/crayon))
var/txt = sanitize(input(user, "What would you like to write on the back?", "Photo Writing", null) as text)
txt = copytext(txt, 1, 128)
@@ -135,7 +135,7 @@
return
-/obj/item/device/camera/attackby(obj/item/I, mob/user)
+/obj/item/device/camera/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/device/camera_film))
if(pictures_left)
user << "[src] still has some film in it!"
diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm
index b0c74c5aca3..57e815508f7 100644
--- a/code/modules/power/antimatter/control.dm
+++ b/code/modules/power/antimatter/control.dm
@@ -137,7 +137,7 @@
//No other icons for it atm
-/obj/machinery/power/am_control_unit/attackby(obj/item/W, mob/user)
+/obj/machinery/power/am_control_unit/attackby(obj/item/W, mob/user, params)
if(!istype(W) || !user) return
if(istype(W, /obj/item/weapon/wrench))
if(!anchored)
diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm
index e30567795c0..3d4e85ace35 100644
--- a/code/modules/power/antimatter/shielding.dm
+++ b/code/modules/power/antimatter/shielding.dm
@@ -125,7 +125,7 @@ proc/cardinalrange(var/center)
else if(processing) shutdown_core()
-/obj/machinery/am_shielding/attackby(obj/item/W, mob/user)
+/obj/machinery/am_shielding/attackby(obj/item/W, mob/user, params)
if(!istype(W) || !user) return
if(W.force > 10)
stability -= W.force/2
@@ -203,7 +203,7 @@ proc/cardinalrange(var/center)
throw_range = 2
m_amt = 100
-/obj/item/device/am_shielding_container/attackby(var/obj/item/I, var/mob/user)
+/obj/item/device/am_shielding_container/attackby(var/obj/item/I, var/mob/user, params)
if(istype(I, /obj/item/device/multitool) && istype(src.loc,/turf))
new/obj/machinery/am_shielding(src.loc)
qdel(src)
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 2759983b7eb..042d4731b63 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -370,7 +370,7 @@
//attack with an item - open/close cover, insert cell, or (un)lock interface
-/obj/machinery/power/apc/attackby(obj/item/W, mob/living/user)
+/obj/machinery/power/apc/attackby(obj/item/W, mob/living/user, params)
if (istype(user, /mob/living/silicon) && get_dist(src,user)>1)
return src.attack_hand(user)
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index c03819fdd88..ad6c46d0540 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -128,7 +128,7 @@ By design, d1 is the smallest direction and d2 is the highest
// - Cable coil : merge cables
// - Multitool : get the power currently passing through the cable
//
-/obj/structure/cable/attackby(obj/item/W, mob/user)
+/obj/structure/cable/attackby(obj/item/W, mob/user, params)
var/turf/T = src.loc
if(T.intact)
return
@@ -550,7 +550,7 @@ obj/structure/cable/proc/avail()
// Items usable on a cable coil :
// - Wirecutters : cut them duh !
// - Cable coil : merge cables
-/obj/item/stack/cable_coil/attackby(obj/item/weapon/W, mob/user)
+/obj/item/stack/cable_coil/attackby(obj/item/weapon/W, mob/user, params)
..()
if( istype(W, /obj/item/weapon/wirecutters) && src.amount > 1)
src.amount--
diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm
index 31b13bf9ed9..97fa83a7f47 100644
--- a/code/modules/power/cell.dm
+++ b/code/modules/power/cell.dm
@@ -67,7 +67,7 @@
SNG.drain("CELL",src,H.wear_suit)
return
-/obj/item/weapon/stock_parts/cell/attackby(obj/item/W, mob/user)
+/obj/item/weapon/stock_parts/cell/attackby(obj/item/W, mob/user, params)
..()
if(istype(W, /obj/item/weapon/reagent_containers/syringe))
var/obj/item/weapon/reagent_containers/syringe/S = W
diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm
index 8a04231290f..61d2bb8a9f6 100644
--- a/code/modules/power/gravitygenerator.dm
+++ b/code/modules/power/gravitygenerator.dm
@@ -63,7 +63,7 @@ var/const/GRAV_NEEDS_WRENCH = 3
/obj/machinery/gravity_generator/part
var/obj/machinery/gravity_generator/main/main_part = null
-/obj/machinery/gravity_generator/part/attackby(obj/item/I as obj, mob/user as mob)
+/obj/machinery/gravity_generator/part/attackby(obj/item/I as obj, mob/user as mob, params)
return main_part.attackby(I, user)
/obj/machinery/gravity_generator/part/get_status()
@@ -171,7 +171,7 @@ var/const/GRAV_NEEDS_WRENCH = 3
// Interaction
// Fixing the gravity generator.
-/obj/machinery/gravity_generator/main/attackby(obj/item/I as obj, mob/user as mob)
+/obj/machinery/gravity_generator/main/attackby(obj/item/I as obj, mob/user as mob, params)
var/old_broken_state = broken_state
switch(broken_state)
if(GRAV_NEEDS_SCREWDRIVER)
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index 47bc5989647..31e2944aa96 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -21,7 +21,7 @@
var/obj/machinery/light/newlight = null
var/sheets_refunded = 2
-/obj/item/light_fixture_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/light_fixture_frame/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( get_turf(src.loc), sheets_refunded )
qdel(src)
@@ -94,7 +94,7 @@
if(3)
user << "The casing is closed."
-/obj/machinery/light_construct/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/light_construct/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
src.add_fingerprint(user)
if (istype(W, /obj/item/weapon/wrench))
if (src.stage == 1)
@@ -328,7 +328,7 @@
// attack with item - insert light (if right type), otherwise try to break the light
-/obj/machinery/light/attackby(obj/item/W, mob/living/user)
+/obj/machinery/light/attackby(obj/item/W, mob/living/user, params)
//Light replacer code
if(istype(W, /obj/item/device/lightreplacer))
@@ -676,7 +676,7 @@
// attack bulb/tube with object
// if a syringe, can inject plasma to make it explode
-/obj/item/weapon/light/attackby(var/obj/item/I, var/mob/user)
+/obj/item/weapon/light/attackby(var/obj/item/I, var/mob/user, params)
..()
if(istype(I, /obj/item/weapon/reagent_containers/syringe))
var/obj/item/weapon/reagent_containers/syringe/S = I
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index 3a5370a4bd1..28a024aa07e 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -194,7 +194,7 @@ display round(lastgen) and plasmatank amount
/obj/machinery/power/port_gen/pacman/proc/overheat()
explosion(src.loc, 2, 5, 2, -1)
-/obj/machinery/power/port_gen/pacman/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/power/port_gen/pacman/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, sheet_path))
var/obj/item/stack/addstack = O
var/amount = min((max_sheets - sheets), addstack.amount)
diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm
index 3ee6979100f..d7554e0cbb6 100644
--- a/code/modules/power/power.dm
+++ b/code/modules/power/power.dm
@@ -114,7 +114,7 @@
// attach a wire to a power machine - leads from the turf you are standing on
//almost never called, overwritten by all power machines but terminal and generator
-/obj/machinery/power/attackby(obj/item/weapon/W, mob/user)
+/obj/machinery/power/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/stack/cable_coil))
diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm
index dcbda800de8..79f25526b21 100644
--- a/code/modules/power/singularity/collector.dm
+++ b/code/modules/power/singularity/collector.dm
@@ -51,7 +51,7 @@ var/global/list/rad_collectors = list()
..()
-/obj/machinery/power/rad_collector/attackby(obj/item/W, mob/user)
+/obj/machinery/power/rad_collector/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/device/multitool))
user << "The [W.name] detects that [last_power]W were recently produced."
return 1
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index 8e358e5a43c..fe3691f5415 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -148,7 +148,7 @@
A.fire()
-/obj/machinery/power/emitter/attackby(obj/item/W, mob/user)
+/obj/machinery/power/emitter/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
if(active)
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index d0fdaf04d41..4e05a8f837e 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -94,7 +94,7 @@ field_generator power level display
return
-/obj/machinery/field/generator/attackby(obj/item/W, mob/user)
+/obj/machinery/field/generator/attackby(obj/item/W, mob/user, params)
if(active)
user << "The [src] needs to be off."
return
diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm
index 0f27d92cd47..f73e3bcfa7d 100644
--- a/code/modules/power/singularity/generator.dm
+++ b/code/modules/power/singularity/generator.dm
@@ -15,7 +15,7 @@
new /obj/singularity/(T, 50)
if(src) qdel(src)
-/obj/machinery/the_singularitygen/attackby(obj/item/W, mob/user)
+/obj/machinery/the_singularitygen/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
if(!anchored && !isinspace())
diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
index 5c2cbfb70ce..77972f145b6 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
@@ -129,7 +129,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
..()
-/obj/structure/particle_accelerator/attackby(obj/item/W, mob/user)
+/obj/structure/particle_accelerator/attackby(obj/item/W, mob/user, params)
if(istool(W))
if(src.process_tool_hit(W,user))
return
@@ -308,7 +308,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
..()
-/obj/machinery/particle_accelerator/attackby(obj/item/W, mob/user)
+/obj/machinery/particle_accelerator/attackby(obj/item/W, mob/user, params)
if(istool(W))
if(src.process_tool_hit(W,user))
return
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index 3ee6f487554..f3ace39921c 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -67,7 +67,7 @@
C += PC.maxcharge
capacity = C / (15000) * 1e6
-/obj/machinery/power/smes/attackby(obj/item/I, mob/user)
+/obj/machinery/power/smes/attackby(obj/item/I, mob/user, params)
//opening using screwdriver
if(default_deconstruction_screwdriver(user, "[initial(icon_state)]-o", initial(icon_state), I))
update_icon()
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index 4bd0315f263..fa2254fd807 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -55,7 +55,7 @@
-/obj/machinery/power/solar/attackby(obj/item/weapon/W, mob/user)
+/obj/machinery/power/solar/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/crowbar))
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
@@ -221,7 +221,7 @@
glass_type = null
-/obj/item/solar_assembly/attackby(var/obj/item/weapon/W, var/mob/user)
+/obj/item/solar_assembly/attackby(var/obj/item/weapon/W, var/mob/user, params)
if(!anchored && isturf(loc))
if(istype(W, /obj/item/weapon/wrench))
@@ -394,7 +394,7 @@
ui.push_data(data)
return
-/obj/machinery/power/solar_control/attackby(I as obj, user as mob)
+/obj/machinery/power/solar_control/attackby(I as obj, user as mob, params)
if(istype(I, /obj/item/weapon/screwdriver))
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
if(do_after(user, 20))
diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm
index 03d8aab4865..6152f0e07ab 100644
--- a/code/modules/power/supermatter/supermatter.dm
+++ b/code/modules/power/supermatter/supermatter.dm
@@ -237,7 +237,7 @@
R.receive_pulse(power/10)
return
-/obj/machinery/power/supermatter_shard/attackby(obj/item/W as obj, mob/living/user as mob)
+/obj/machinery/power/supermatter_shard/attackby(obj/item/W as obj, mob/living/user as mob, params)
if(!istype(W) || (W.flags & ABSTRACT) || !istype(user))
return
if(user.drop_item(W))
diff --git a/code/modules/power/terminal.dm b/code/modules/power/terminal.dm
index f977462f7ec..834f7e3f9b3 100644
--- a/code/modules/power/terminal.dm
+++ b/code/modules/power/terminal.dm
@@ -72,7 +72,7 @@
qdel(src)
-/obj/machinery/power/terminal/attackby(obj/item/W, mob/living/user)
+/obj/machinery/power/terminal/attackby(obj/item/W, mob/living/user, params)
if(istype(W, /obj/item/weapon/wirecutters))
dismantle(user)
return
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index 5cf341f9fbb..9b66f6afb91 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -58,7 +58,7 @@
if(powernet && (powernet == control.powernet)) //update if we're still in the same powernet
control.cdir = angle
-/obj/machinery/power/tracker/attackby(var/obj/item/weapon/W, var/mob/user)
+/obj/machinery/power/tracker/attackby(var/obj/item/weapon/W, var/mob/user, params)
if(istype(W, /obj/item/weapon/crowbar))
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm
index 3e82df3d402..86e3930b58a 100644
--- a/code/modules/power/turbine.dm
+++ b/code/modules/power/turbine.dm
@@ -111,7 +111,7 @@
E += M.rating
efficiency = E / 6
-/obj/machinery/power/compressor/attackby(obj/item/I, mob/user)
+/obj/machinery/power/compressor/attackby(obj/item/I, mob/user, params)
if(default_deconstruction_screwdriver(user, initial(icon_state), initial(icon_state), I))
return
@@ -281,7 +281,7 @@
interact(user)
-/obj/machinery/power/turbine/attackby(obj/item/I, mob/user)
+/obj/machinery/power/turbine/attackby(obj/item/I, mob/user, params)
if(default_deconstruction_screwdriver(user, initial(icon_state), initial(icon_state), I))
return
diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm
index 608522f5e19..d7558cebcd4 100644
--- a/code/modules/projectiles/ammunition.dm
+++ b/code/modules/projectiles/ammunition.dm
@@ -93,7 +93,7 @@
return 0
-/obj/item/ammo_box/attackby(var/obj/item/A as obj, mob/user as mob, var/silent = 0, var/replace_spent = 0)
+/obj/item/ammo_box/attackby(var/obj/item/A as obj, mob/user as mob, params, var/silent = 0, var/replace_spent = 0)
var/num_loaded = 0
if(istype(A, /obj/item/ammo_box))
var/obj/item/ammo_box/AM = A
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 76fc0172346..a071d709df1 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -185,7 +185,7 @@
else
return
-/obj/item/weapon/gun/attackby(var/obj/item/A as obj, mob/user as mob)
+/obj/item/weapon/gun/attackby(var/obj/item/A as obj, mob/user as mob, params)
if(istype(A, /obj/item/device/flashlight/seclite))
var/obj/item/device/flashlight/seclite/S = A
if(can_flashlight)
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index 83a7f26c922..9b8bb0f23ae 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -137,7 +137,7 @@
charge.range += range_add
-/obj/item/weapon/gun/energy/kinetic_accelerator/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/weapon/gun/energy/kinetic_accelerator/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/screwdriver) && upgrades["screwdriver"] < 3)
upgrades["screwdriver"]++
overheat_time -= 1
diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm
index 0205e95f426..acce8548cde 100644
--- a/code/modules/projectiles/guns/projectile.dm
+++ b/code/modules/projectiles/guns/projectile.dm
@@ -45,7 +45,7 @@
return 0
return 1
-/obj/item/weapon/gun/projectile/attackby(var/obj/item/A as obj, mob/user as mob)
+/obj/item/weapon/gun/projectile/attackby(var/obj/item/A as obj, mob/user as mob, params)
..()
if (istype(A, /obj/item/ammo_box/magazine))
var/obj/item/ammo_box/magazine/AM = A
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index d758cc24516..aa1b315ef26 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -25,7 +25,7 @@
icon_state = "[initial(icon_state)][magazine ? "-[magazine.max_ammo]" : ""][chambered ? "" : "-e"][suppressed ? "-suppressed" : ""]"
return
-/obj/item/weapon/gun/projectile/automatic/attackby(var/obj/item/A as obj, mob/user as mob)
+/obj/item/weapon/gun/projectile/automatic/attackby(var/obj/item/A as obj, mob/user as mob, params)
. = ..()
if(.)
return
@@ -155,7 +155,7 @@
user << "You remove the magazine from [src]."
-/obj/item/weapon/gun/projectile/automatic/l6_saw/attackby(var/obj/item/A as obj, mob/user as mob)
+/obj/item/weapon/gun/projectile/automatic/l6_saw/attackby(var/obj/item/A as obj, mob/user as mob, params)
if(!cover_open)
user << "[src]'s cover is closed! You can't insert a new mag!"
return
@@ -188,11 +188,11 @@
..()
return
-/obj/item/weapon/gun/projectile/automatic/m90/attackby(var/obj/item/A, mob/user)
+/obj/item/weapon/gun/projectile/automatic/m90/attackby(var/obj/item/A, mob/user, params)
if(istype(A, /obj/item/ammo_casing))
if(istype(A, underbarrel.magazine.ammo_type))
underbarrel.attack_self()
- underbarrel.attackby(A, user)
+ underbarrel.attackby(A, user, params)
else
..()
diff --git a/code/modules/projectiles/guns/projectile/launchers.dm b/code/modules/projectiles/guns/projectile/launchers.dm
index d5929c607e4..4b05c3f86dc 100644
--- a/code/modules/projectiles/guns/projectile/launchers.dm
+++ b/code/modules/projectiles/guns/projectile/launchers.dm
@@ -10,7 +10,7 @@
fire_sound = 'sound/weapons/grenadelaunch.ogg'
w_class = 3
-/obj/item/weapon/gun/projectile/revolver/grenadelauncher/attackby(var/obj/item/A, mob/user)
+/obj/item/weapon/gun/projectile/revolver/grenadelauncher/attackby(var/obj/item/A, mob/user, params)
..()
if(istype(A, /obj/item/ammo_box) || istype(A, /obj/item/ammo_casing))
chamber_round()
@@ -68,8 +68,8 @@
/obj/item/weapon/gun/projectile/automatic/speargun/process_chamber(var/eject_casing = 0, var/empty_chamber = 1)
..()
-/obj/item/weapon/gun/projectile/automatic/speargun/attackby(var/obj/item/A, mob/user)
- var/num_loaded = magazine.attackby(A, user, 1)
+/obj/item/weapon/gun/projectile/automatic/speargun/attackby(var/obj/item/A, mob/user, params)
+ var/num_loaded = magazine.attackby(A, user, params, 1)
if(num_loaded)
user << "You load [num_loaded] spear\s into \the [src]."
update_icon()
diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm
index 2e7f07102ee..be0fa4540a0 100644
--- a/code/modules/projectiles/guns/projectile/revolver.dm
+++ b/code/modules/projectiles/guns/projectile/revolver.dm
@@ -14,8 +14,8 @@
/obj/item/weapon/gun/projectile/revolver/process_chamber()
return ..(0, 1)
-/obj/item/weapon/gun/projectile/revolver/attackby(var/obj/item/A as obj, mob/user as mob)
- var/num_loaded = magazine.attackby(A, user, 1)
+/obj/item/weapon/gun/projectile/revolver/attackby(var/obj/item/A as obj, mob/user as mob, params)
+ var/num_loaded = magazine.attackby(A, user, params, 1)
if(num_loaded)
user << "You load [num_loaded] shell\s into \the [src]."
A.update_icon()
@@ -102,7 +102,7 @@
M << "Your gun is now skinned as [choice]. Say hello to your new friend."
return 1
-/obj/item/weapon/gun/projectile/revolver/detective/attackby(var/obj/item/A as obj, mob/user as mob)
+/obj/item/weapon/gun/projectile/revolver/detective/attackby(var/obj/item/A as obj, mob/user as mob, params)
..()
if(istype(A, /obj/item/weapon/screwdriver))
if(magazine.caliber == "38")
@@ -162,7 +162,7 @@
chamber_round()
spun = 1
-/obj/item/weapon/gun/projectile/revolver/russian/attackby(var/obj/item/A as obj, mob/user as mob)
+/obj/item/weapon/gun/projectile/revolver/russian/attackby(var/obj/item/A as obj, mob/user as mob, params)
var/num_loaded = ..()
if(num_loaded)
user.visible_message("[user] loads a single bullet into the revolver and spins the chamber.", "You load a single bullet into the chamber and spin it.")
diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm
index bcae62ee0b6..8301d638c28 100644
--- a/code/modules/projectiles/guns/projectile/shotgun.dm
+++ b/code/modules/projectiles/guns/projectile/shotgun.dm
@@ -11,8 +11,8 @@
mag_type = /obj/item/ammo_box/magazine/internal/shot
var/recentpump = 0 // to prevent spammage
-/obj/item/weapon/gun/projectile/shotgun/attackby(var/obj/item/A as obj, mob/user as mob)
- var/num_loaded = magazine.attackby(A, user, 1)
+/obj/item/weapon/gun/projectile/shotgun/attackby(var/obj/item/A as obj, mob/user as mob, params)
+ var/num_loaded = magazine.attackby(A, user, params, 1)
if(num_loaded)
user << "You load [num_loaded] shell\s into \the [src]!"
A.update_icon()
@@ -81,7 +81,7 @@
mag_type = /obj/item/ammo_box/magazine/internal/shotriot
sawn_desc = "Come with me if you want to live."
-/obj/item/weapon/gun/projectile/shotgun/riot/attackby(var/obj/item/A as obj, mob/user as mob)
+/obj/item/weapon/gun/projectile/shotgun/riot/attackby(var/obj/item/A as obj, mob/user as mob, params)
..()
if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/pickaxe/plasmacutter))
sawoff(user)
@@ -113,7 +113,7 @@
update_icon() //I.E. fix the desc
return 1
-/obj/item/weapon/gun/projectile/shotgun/boltaction/attackby(var/obj/item/A as obj, mob/user as mob)
+/obj/item/weapon/gun/projectile/shotgun/boltaction/attackby(var/obj/item/A as obj, mob/user as mob, params)
if(!bolt_open)
user << "The bolt is closed!"
return
@@ -140,7 +140,7 @@
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/dualshot
sawn_desc = "Omar's coming!"
-/obj/item/weapon/gun/projectile/revolver/doublebarrel/attackby(var/obj/item/A as obj, mob/user as mob)
+/obj/item/weapon/gun/projectile/revolver/doublebarrel/attackby(var/obj/item/A as obj, mob/user as mob, params)
..()
if(istype(A, /obj/item/ammo_box) || istype(A, /obj/item/ammo_casing))
chamber_round()
@@ -180,7 +180,7 @@
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/improvised
sawn_desc = "I'm just here for the gasoline."
-/obj/item/weapon/gun/projectile/revolver/doublebarrel/improvised/attackby(var/obj/item/A as obj, mob/user as mob)
+/obj/item/weapon/gun/projectile/revolver/doublebarrel/improvised/attackby(var/obj/item/A as obj, mob/user as mob, params)
..()
if(istype(A, /obj/item/stack/cable_coil) && !sawn_state)
var/obj/item/stack/cable_coil/C = A
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index 4f048370812..fb41549a60d 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -144,7 +144,7 @@
add_fingerprint(usr)
return 1 // update UIs attached to this object
-/obj/machinery/chem_dispenser/attackby(var/obj/item/weapon/reagent_containers/glass/B as obj, var/mob/user as mob)
+/obj/machinery/chem_dispenser/attackby(var/obj/item/weapon/reagent_containers/glass/B as obj, var/mob/user as mob, params)
if(isrobot(user))
return
@@ -222,7 +222,7 @@
for(i=1, i<=M.rating, i++)
dispensable_reagents = sortList(dispensable_reagents | special_reagents[i])
-/obj/machinery/chem_dispenser/constructable/attackby(var/obj/item/I, var/mob/user)
+/obj/machinery/chem_dispenser/constructable/attackby(var/obj/item/I, var/mob/user, params)
..()
if(default_deconstruction_screwdriver(user, "minidispenser-o", "minidispenser", I))
return
@@ -278,7 +278,7 @@
stat |= NOPOWER
-/obj/machinery/chem_master/attackby(var/obj/item/B as obj, var/mob/user as mob)
+/obj/machinery/chem_master/attackby(var/obj/item/B as obj, var/mob/user as mob, params)
if(default_unfasten_wrench(user, B))
return
@@ -849,7 +849,7 @@ obj/machinery/computer/pandemic/proc/replicator_cooldown(var/waittime)
return
-/obj/machinery/computer/pandemic/attackby(var/obj/I as obj, var/mob/user as mob)
+/obj/machinery/computer/pandemic/attackby(var/obj/I as obj, var/mob/user as mob, params)
if(istype(I, /obj/item/weapon/reagent_containers/glass))
if(stat & (NOPOWER|BROKEN)) return
if(src.beaker)
@@ -971,7 +971,7 @@ obj/machinery/computer/pandemic/proc/replicator_cooldown(var/waittime)
return
-/obj/machinery/reagentgrinder/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/reagentgrinder/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(default_unfasten_wrench(user, O))
return
@@ -1367,7 +1367,7 @@ obj/machinery/computer/pandemic/proc/replicator_cooldown(var/waittime)
stat |= NOPOWER
SSnano.update_uis(src)
-/obj/machinery/chem_heater/attackby(var/obj/item/I as obj, var/mob/user as mob)
+/obj/machinery/chem_heater/attackby(var/obj/item/I as obj, var/mob/user as mob, params)
if(isrobot(user))
return
diff --git a/code/modules/reagents/grenade_launcher.dm b/code/modules/reagents/grenade_launcher.dm
index ffe53c751d5..0ae8523e6f8 100644
--- a/code/modules/reagents/grenade_launcher.dm
+++ b/code/modules/reagents/grenade_launcher.dm
@@ -16,7 +16,7 @@
..()
user << "[grenades] / [max_grenades] grenades loaded."
-/obj/item/weapon/gun/grenadelauncher/attackby(obj/item/I as obj, mob/user as mob)
+/obj/item/weapon/gun/grenadelauncher/attackby(obj/item/I as obj, mob/user as mob, params)
if((istype(I, /obj/item/weapon/grenade)))
if(grenades.len < max_grenades)
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 43fd8047020..540db68b85c 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -204,7 +204,7 @@
volume = 70
flags = OPENCONTAINER
-/obj/item/weapon/reagent_containers/glass/bucket/attackby(var/obj/D, mob/user as mob)
+/obj/item/weapon/reagent_containers/glass/bucket/attackby(var/obj/D, mob/user as mob, params)
if(isprox(D))
user << "You add [D] to [src]."
qdel(D)
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 6b75ddc95df..8c14b5d5b77 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -43,7 +43,7 @@
/obj/item/weapon/reagent_containers/syringe/attack_paw()
return attack_hand()
-/obj/item/weapon/reagent_containers/syringe/attackby(obj/item/I, mob/user)
+/obj/item/weapon/reagent_containers/syringe/attackby(obj/item/I, mob/user, params)
return
/obj/item/weapon/reagent_containers/syringe/afterattack(obj/target, mob/user , proximity)
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm
index 2737d29e8e5..7d8a3147a9c 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/reagent_dispenser.dm
@@ -30,7 +30,7 @@
if(prob(50))
qdel(src)
-/obj/structure/reagent_dispensers/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/structure/reagent_dispensers/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
return
/obj/structure/reagent_dispensers/New()
@@ -153,7 +153,7 @@
user.put_in_hands(new /obj/item/weapon/reagent_containers/food/drinks/sillycup)
user.visible_message("[user] gets a cup from [src].","You get a cup from [src].")
-/obj/structure/reagent_dispensers/water_cooler/attackby(var/obj/item/I, var/mob/user)
+/obj/structure/reagent_dispensers/water_cooler/attackby(var/obj/item/I, var/mob/user, params)
if(istype(I, /obj/item/weapon/paper))
user.drop_item()
qdel(I)
diff --git a/code/modules/reagents/syringe_gun.dm b/code/modules/reagents/syringe_gun.dm
index 6e913260b32..3786555a0e8 100644
--- a/code/modules/reagents/syringe_gun.dm
+++ b/code/modules/reagents/syringe_gun.dm
@@ -58,7 +58,7 @@
return 1
-/obj/item/weapon/gun/syringe/attackby(var/obj/item/A as obj, mob/user as mob, var/show_msg = 1)
+/obj/item/weapon/gun/syringe/attackby(var/obj/item/A as obj, mob/user as mob, params, var/show_msg = 1)
if(istype(A, /obj/item/weapon/reagent_containers/syringe))
if(syringes.len < max_syringes)
user.drop_item()
diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm
index eb347345fb9..3d725cafcfd 100644
--- a/code/modules/recycling/conveyor2.dm
+++ b/code/modules/recycling/conveyor2.dm
@@ -115,7 +115,7 @@
break
// attack with item, place item on conveyor
-/obj/machinery/conveyor/attackby(var/obj/item/I, mob/user)
+/obj/machinery/conveyor/attackby(var/obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/crowbar))
if(!(stat & BROKEN))
var/obj/item/conveyor_construct/C = new/obj/item/conveyor_construct(src.loc)
@@ -257,7 +257,7 @@
S.position = position
S.update()
-/obj/machinery/conveyor_switch/attackby(var/obj/item/I, mob/user)
+/obj/machinery/conveyor_switch/attackby(var/obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/crowbar))
var/obj/item/conveyor_switch_construct/C = new/obj/item/conveyor_switch_construct(src.loc)
C.id = id
@@ -281,7 +281,7 @@
w_class = 4
var/id = "" //inherited by the belt
-/obj/item/conveyor_construct/attackby(obj/item/I, mob/user)
+/obj/item/conveyor_construct/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/conveyor_switch_construct))
user << "You link the switch to the conveyor belt assembly."
diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm
index 9cfa947a4aa..33b1ae0df0f 100644
--- a/code/modules/recycling/disposal-construction.dm
+++ b/code/modules/recycling/disposal-construction.dm
@@ -153,7 +153,7 @@
// wrench: (un)anchor
// weldingtool: convert to real pipe
-/obj/structure/disposalconstruct/attackby(var/obj/item/I, var/mob/user)
+/obj/structure/disposalconstruct/attackby(var/obj/item/I, var/mob/user, params)
var/nicetype = "pipe"
var/ispipe = is_pipe() // Indicates if we should change the level of this pipe
add_fingerprint(user)
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index 6338b919ea1..f70795a8737 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -71,7 +71,7 @@
trunk_check()
// attack by item places it in to disposal
-/obj/machinery/disposal/attackby(var/obj/item/I, var/mob/user)
+/obj/machinery/disposal/attackby(var/obj/item/I, var/mob/user, params)
if(stat & BROKEN || !I || !user)
return
@@ -847,7 +847,7 @@
//attack by item
//weldingtool: unfasten and convert to obj/disposalconstruct
-/obj/structure/disposalpipe/attackby(var/obj/item/I, var/mob/user)
+/obj/structure/disposalpipe/attackby(var/obj/item/I, var/mob/user, params)
var/turf/T = src.loc
if(T.intact)
@@ -983,7 +983,7 @@
update()
return
-/obj/structure/disposalpipe/sortjunction/attackby(var/obj/item/I, var/mob/user)
+/obj/structure/disposalpipe/sortjunction/attackby(var/obj/item/I, var/mob/user, params)
if(..())
return
@@ -1129,7 +1129,7 @@
return
// Override attackby so we disallow trunkremoval when somethings ontop
-/obj/structure/disposalpipe/trunk/attackby(var/obj/item/I, var/mob/user)
+/obj/structure/disposalpipe/trunk/attackby(var/obj/item/I, var/mob/user, params)
//Disposal bins or chutes
/*
@@ -1280,7 +1280,7 @@
qdel(H)
return
-/obj/structure/disposaloutlet/attackby(var/obj/item/I, var/mob/user)
+/obj/structure/disposaloutlet/attackby(var/obj/item/I, var/mob/user, params)
if(!I || !user)
return
src.add_fingerprint(user)
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index 30deb867d78..191cfb390cf 100644
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -24,7 +24,7 @@
AM.loc = T
..()
-/obj/structure/bigDelivery/attackby(obj/item/W as obj, mob/user as mob)
+/obj/structure/bigDelivery/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/device/destTagger))
var/obj/item/device/destTagger/O = W
@@ -78,7 +78,7 @@
qdel(src)
-/obj/item/smallDelivery/attackby(obj/item/W as obj, mob/user as mob)
+/obj/item/smallDelivery/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/device/destTagger))
var/obj/item/device/destTagger/O = W
@@ -321,7 +321,7 @@
update()
return
-/obj/machinery/disposal/deliveryChute/attackby(var/obj/item/I, var/mob/user)
+/obj/machinery/disposal/deliveryChute/attackby(var/obj/item/I, var/mob/user, params)
if(!I || !user)
return
diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm
index 958ed65f986..6dc2bd1375a 100644
--- a/code/modules/research/circuitprinter.dm
+++ b/code/modules/research/circuitprinter.dm
@@ -73,7 +73,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
/obj/machinery/r_n_d/circuit_imprinter/proc/TotalMaterials()
return g_amount + gold_amount + diamond_amount
-/obj/machinery/r_n_d/circuit_imprinter/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/r_n_d/circuit_imprinter/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if (shocked)
shock(user,50)
if (default_deconstruction_screwdriver(user, "circuit_imprinter_t", "circuit_imprinter", O))
diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm
index 3bbdb2f2db6..57f36ad9179 100644
--- a/code/modules/research/destructive_analyzer.dm
+++ b/code/modules/research/destructive_analyzer.dm
@@ -37,7 +37,7 @@ Note: Must be placed within 3 tiles of the R&D Console
return temp_list
-/obj/machinery/r_n_d/destructive_analyzer/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/r_n_d/destructive_analyzer/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if (shocked)
shock(user,50)
if (default_deconstruction_screwdriver(user, "d_analyzer_t", "d_analyzer", O))
diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm
index 2a29843f616..8559b6a0b70 100644
--- a/code/modules/research/experimentor.dm
+++ b/code/modules/research/experimentor.dm
@@ -120,7 +120,7 @@
return FALSE
return TRUE
-/obj/machinery/r_n_d/experimentor/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/r_n_d/experimentor/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if (shocked)
shock(user,50)
diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm
index 0a9128fdfb7..ed202ccb9f5 100644
--- a/code/modules/research/protolathe.dm
+++ b/code/modules/research/protolathe.dm
@@ -94,7 +94,7 @@ Note: Must be placed west/left of and R&D console to function.
A = A / max(1, (being_built.materials[M]/efficiency_coeff))
return A
-/obj/machinery/r_n_d/protolathe/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/r_n_d/protolathe/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if (shocked)
shock(user,50)
if (default_deconstruction_screwdriver(user, "protolathe_t", "protolathe", O))
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index 5960753494e..1749511b743 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -143,7 +143,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
griefProtection()
*/
-/obj/machinery/computer/rdconsole/attackby(var/obj/item/weapon/D as obj, var/mob/user as mob)
+/obj/machinery/computer/rdconsole/attackby(var/obj/item/weapon/D as obj, var/mob/user as mob, params)
//Loading a disk into it.
if(istype(D, /obj/item/weapon/disk))
diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm
index eaad476fd44..62dd6e45bac 100644
--- a/code/modules/research/server.dm
+++ b/code/modules/research/server.dm
@@ -121,7 +121,7 @@
env.merge(removed)
air_update_turf()
-/obj/machinery/r_n_d/server/attackby(var/obj/item/O as obj, var/mob/user as mob)
+/obj/machinery/r_n_d/server/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if (disabled)
return
if (shocked)
@@ -316,7 +316,7 @@
onclose(user, "server_control")
return
-/obj/machinery/computer/rdservercontrol/attackby(var/obj/item/weapon/D as obj, var/mob/user as mob)
+/obj/machinery/computer/rdservercontrol/attackby(var/obj/item/weapon/D as obj, var/mob/user as mob, params)
..()
src.updateUsrDialog()
return
diff --git a/code/modules/security levels/keycard authentication.dm b/code/modules/security levels/keycard authentication.dm
index 54583c227ca..3d75e5a227a 100644
--- a/code/modules/security levels/keycard authentication.dm
+++ b/code/modules/security levels/keycard authentication.dm
@@ -28,7 +28,7 @@
user << "You are too primitive to use this device."
return
-/obj/machinery/keycard_auth/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/keycard_auth/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(stat & (NOPOWER|BROKEN))
user << "This device is not powered."
return
diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm
index 7021aec8fc4..7949dcfba88 100644
--- a/code/modules/telesci/telepad.dm
+++ b/code/modules/telesci/telepad.dm
@@ -27,7 +27,7 @@
E += C.rating
efficiency = E
-/obj/machinery/telepad/attackby(obj/item/I, mob/user)
+/obj/machinery/telepad/attackby(obj/item/I, mob/user, params)
if(default_deconstruction_screwdriver(user, "pad-idle-o", "pad-idle", I))
return
@@ -54,7 +54,7 @@
idle_power_usage = 20
active_power_usage = 500
var/stage = 0
-/obj/machinery/telepad_cargo/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/machinery/telepad_cargo/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/wrench))
anchored = 0
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm
index dee72977156..ea9d253b54f 100644
--- a/code/modules/telesci/telesci_computer.dm
+++ b/code/modules/telesci/telesci_computer.dm
@@ -53,7 +53,7 @@
user << "You are too primitive to use this computer."
return
-/obj/machinery/computer/telescience/attackby(obj/item/W, mob/user)
+/obj/machinery/computer/telescience/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/bluespace_crystal))
if(crystals.len >= max_crystals)
user << "There are not enough crystal slots."