The door is secured tightly. You'll need a crowbar to open it.")
return
diff --git a/code/modules/overmap/ships/computers/computer_shims.dm b/code/modules/overmap/ships/computers/computer_shims.dm
index e9fd154fb86..616cb4f694f 100644
--- a/code/modules/overmap/ships/computers/computer_shims.dm
+++ b/code/modules/overmap/ships/computers/computer_shims.dm
@@ -80,7 +80,7 @@
// If you don't call parent in this proc, you must make all appropriate checks yourself.
// If you do, you must respect the return value.
-/obj/machinery/computer/ship/attack_hand(mob/user)
+/obj/machinery/computer/ship/attack_hand(mob/user, list/params)
if((. = ..()))
return
if(!allowed(user))
diff --git a/code/modules/overmap/ships/panicbutton.dm b/code/modules/overmap/ships/panicbutton.dm
index 5eafe96ccd9..ebc11be98d8 100644
--- a/code/modules/overmap/ships/panicbutton.dm
+++ b/code/modules/overmap/ships/panicbutton.dm
@@ -23,7 +23,7 @@
else
icon_state = "[initial(icon_state)]"
-/obj/structure/panic_button/attack_hand(mob/living/user)
+/obj/structure/panic_button/attack_hand(mob/user, list/params)
if(!istype(user))
return ..()
diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm
index 896ade6120f..388f9d2cf9e 100644
--- a/code/modules/paperwork/clipboard.dm
+++ b/code/modules/paperwork/clipboard.dm
@@ -45,7 +45,10 @@
return ..()
-/obj/item/clipboard/attack_self(mob/user as mob)
+/obj/item/clipboard/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
var/dat = "Clipboard"
if(haspen)
dat += "Remove Pen
"
diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm
index a55ff4710df..4728aaf1127 100644
--- a/code/modules/paperwork/faxmachine.dm
+++ b/code/modules/paperwork/faxmachine.dm
@@ -31,7 +31,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins
if(!(("[department]" in alldepartments) || ("[department]" in admin_departments)) )
alldepartments |= department
-/obj/machinery/photocopier/faxmachine/attack_hand(mob/user as mob)
+/obj/machinery/photocopier/faxmachine/attack_hand(mob/user, list/params)
user.set_machine(src)
nano_ui_interact(user)
diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm
index 972a653bbfc..18ccc45cf3b 100644
--- a/code/modules/paperwork/filingcabinet.dm
+++ b/code/modules/paperwork/filingcabinet.dm
@@ -61,7 +61,7 @@
else
to_chat(user, SPAN_NOTICE("You can't put [P] in [src]!"))
-/obj/structure/filingcabinet/attack_hand(mob/user as mob)
+/obj/structure/filingcabinet/attack_hand(mob/user, list/params)
if(contents.len <= 0)
to_chat(user, SPAN_NOTICE("\The [src] is empty."))
return
@@ -150,7 +150,7 @@
virgin = 0 //tabbing here is correct- it's possible for people to try and use it
//before the records have been generated, so we do this inside the loop.
-/obj/structure/filingcabinet/security/attack_hand()
+/obj/structure/filingcabinet/security/attack_hand(mob/user, list/params)
populate()
..()
@@ -187,7 +187,7 @@
virgin = 0 //tabbing here is correct- it's possible for people to try and use it
//before the records have been generated, so we do this inside the loop.
-/obj/structure/filingcabinet/medical/attack_hand()
+/obj/structure/filingcabinet/medical/attack_hand(mob/user, list/params)
populate()
..()
diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm
index 94c0aea5ce6..1589ff32092 100644
--- a/code/modules/paperwork/folders.dm
+++ b/code/modules/paperwork/folders.dm
@@ -76,6 +76,9 @@
return ..()
/obj/item/folder/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
ui_interact(user)
/obj/item/folder/ui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui)
diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm
index 8ebcb538289..5e7f556634e 100644
--- a/code/modules/paperwork/handlabeler.dm
+++ b/code/modules/paperwork/handlabeler.dm
@@ -53,7 +53,10 @@
"You label [A] as [label].")
A.name = "[A.name] ([label])"
-/obj/item/hand_labeler/attack_self(mob/user as mob)
+/obj/item/hand_labeler/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
mode = !mode
icon_state = "labeler[mode]"
if(mode)
diff --git a/code/modules/paperwork/paper/paper.dm b/code/modules/paperwork/paper/paper.dm
index 1d3ae49574d..efba476d6b3 100644
--- a/code/modules/paperwork/paper/paper.dm
+++ b/code/modules/paperwork/paper/paper.dm
@@ -130,7 +130,10 @@
add_fingerprint(usr)
return
-/obj/item/paper/attack_self(mob/living/user as mob)
+/obj/item/paper/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(user.a_intent == INTENT_HARM)
if(icon_state == "scrap")
user.show_message("\The [src] is already crumpled.")
diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm
index 475bbb54b8a..cdf496bd82e 100644
--- a/code/modules/paperwork/paper_bundle.dm
+++ b/code/modules/paperwork/paper_bundle.dm
@@ -137,7 +137,10 @@
+ "[P.scribble ? " Written on the back:
[P.scribble]" : null]"\
+ "", "window=[name]")
-/obj/item/paper_bundle/attack_self(mob/user as mob)
+/obj/item/paper_bundle/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
src.show_content(user)
add_fingerprint(usr)
update_icon()
diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm
index d8025df3b3f..6c9dc000910 100644
--- a/code/modules/paperwork/paperbin.dm
+++ b/code/modules/paperwork/paperbin.dm
@@ -38,7 +38,7 @@
return
-/obj/item/paper_bin/attack_hand(mob/user as mob)
+/obj/item/paper_bin/attack_hand(mob/user, list/params)
if(ishuman(user))
var/mob/living/carbon/human/H = user
var/obj/item/organ/external/temp = H.organs_by_name["r_hand"]
@@ -116,7 +116,7 @@
icon_state = "paper_bundle"
papers = /obj/item/paper/natural
-/obj/item/paper_bin/bundlenatural/attack_hand(mob/user)
+/obj/item/paper_bin/bundlenatural/attack_hand(mob/user, list/params)
if(amount < 1)
qdel(src)
return ..()
diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm
index 36bd8efe1a2..fbadb527638 100644
--- a/code/modules/paperwork/paperplane.dm
+++ b/code/modules/paperwork/paperplane.dm
@@ -50,6 +50,9 @@
add_overlay(overlays_to_add)
/obj/item/paperplane/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
to_chat(user, "You unfold [src].")
var/atom/movable/internal_paper_tmp = internalPaper
internal_paper_tmp.forceMove(loc)
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index ea5313c3418..2bb7037582f 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -30,7 +30,10 @@
drop_sound = 'sound/items/drop/accessory.ogg'
pickup_sound = 'sound/items/pickup/accessory.ogg'
-/obj/item/pen/attack_self(var/mob/user)
+/obj/item/pen/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(user.next_move > world.time)
return
user.setClickCooldown(1 SECOND)
@@ -62,6 +65,9 @@
return
/obj/item/pen/multi/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(++selectedColor > 3)
selectedColor = 1
@@ -77,7 +83,10 @@
/obj/item/pen/click
name = "clicker pen"
-/obj/item/pen/click/attack_self(mob/user as mob)
+/obj/item/pen/click/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(user.a_intent == INTENT_HELP)
user.visible_message("\The [user] clicks [src] idly.","You click [src] idly.")
playsound(user, 'sound/weapons/flipblade.ogg', 20, 1)
@@ -244,7 +253,10 @@
/obj/item/pen/chameleon
var/signature = ""
-/obj/item/pen/chameleon/attack_self(mob/user as mob)
+/obj/item/pen/chameleon/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
/*
// Limit signatures to official crew members
var/personnel_list[] = list()
@@ -340,7 +352,10 @@
. = ..()
name = "[colourName] chalk"
-/obj/item/pen/crayon/chalk/attack_self()
+/obj/item/pen/crayon/chalk/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
return
/obj/item/pen/charcoal
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index e88b05e7b2a..f46e9b90440 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -31,7 +31,7 @@
/obj/machinery/photocopier/attack_ai(mob/user as mob)
return attack_hand(user)
-/obj/machinery/photocopier/attack_hand(mob/user as mob)
+/obj/machinery/photocopier/attack_hand(mob/user, list/params)
user.set_machine(src)
nano_ui_interact(user)
diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm
index 5390e1ff791..f6b10337f7a 100644
--- a/code/modules/paperwork/photography.dm
+++ b/code/modules/paperwork/photography.dm
@@ -41,7 +41,10 @@ var/global/photo_count = 0
. = ..()
id = photo_count++
-/obj/item/photo/attack_self(mob/user as mob)
+/obj/item/photo/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
user.examinate(src)
/obj/item/photo/attackby(obj/item/P as obj, mob/user as mob)
@@ -130,7 +133,10 @@ var/global/photo_count = 0
size = nsize
to_chat(usr, "Camera will now take [size]x[size] photos.")
-/obj/item/camera/attack_self(mob/user as mob)
+/obj/item/camera/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
on = !on
if(on)
src.icon_state = icon_on
diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm
index 6d69d50884a..f23821c92c2 100644
--- a/code/modules/paperwork/stamps.dm
+++ b/code/modules/paperwork/stamps.dm
@@ -81,7 +81,10 @@
// Syndicate stamp to forge documents.
-/obj/item/stamp/chameleon/attack_self(mob/user as mob)
+/obj/item/stamp/chameleon/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
var/list/stamp_types = typesof(/obj/item/stamp) - src.type // Get all stamp types except our own
var/list/stamps = list()
diff --git a/code/modules/power/antimatter/computer.dm b/code/modules/power/antimatter/computer.dm
index fb2c18cd97a..aa9067bb23e 100644
--- a/code/modules/power/antimatter/computer.dm
+++ b/code/modules/power/antimatter/computer.dm
@@ -64,7 +64,7 @@
/obj/machinery/computer/am_engine/attack_paw(var/mob/user as mob)
return src.attack_hand(user)
-/obj/machinery/computer/am_engine/attack_hand(var/mob/user as mob)
+/obj/machinery/computer/am_engine/attack_hand(mob/user, list/params)
if(..())
return
user.machine = src
diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm
index 323e438ee16..f2063b263da 100644
--- a/code/modules/power/antimatter/control.dm
+++ b/code/modules/power/antimatter/control.dm
@@ -177,7 +177,7 @@
return
-/obj/machinery/power/am_control_unit/attack_hand(mob/user as mob)
+/obj/machinery/power/am_control_unit/attack_hand(mob/user, list/params)
if(anchored)
interact(user)
return
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index a3e004abcf8..6d182599e63 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -897,7 +897,7 @@ GLOBAL_LIST_EMPTY(apcs)
wires.cut_all()
update_icon()
-/obj/machinery/power/apc/attack_hand(mob/user)
+/obj/machinery/power/apc/attack_hand(mob/user, list/params)
// if (!can_use(user)) This already gets called in interact() and in topic()
// return
if(!user)
diff --git a/code/modules/power/breaker_box.dm b/code/modules/power/breaker_box.dm
index ab721bd55a1..23c5f37dfe0 100644
--- a/code/modules/power/breaker_box.dm
+++ b/code/modules/power/breaker_box.dm
@@ -73,7 +73,7 @@
busy = 0
-/obj/machinery/power/breakerbox/attack_hand(mob/user)
+/obj/machinery/power/breakerbox/attack_hand(mob/user, list/params)
if(update_locked)
to_chat(user, "System locked. Please try again later.")
return
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index d0f055cbb7b..5a8709730ce 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -996,7 +996,7 @@ GLOBAL_LIST_INIT(possible_cable_coil_colours, list(
-/obj/item/stack/cable_coil/alien/attack_hand(mob/user as mob)
+/obj/item/stack/cable_coil/alien/attack_hand(mob/user, list/params)
if (user.get_inactive_held_item() == src)
var/N = input("How many units of wire do you want to take from [src]? You can only take up to [amount] at a time.", "Split stacks", 1) as num|null
if(N && N <= amount)
diff --git a/code/modules/power/fission/computer.dm b/code/modules/power/fission/computer.dm
index db3de793294..6c7b62a33a5 100644
--- a/code/modules/power/fission/computer.dm
+++ b/code/modules/power/fission/computer.dm
@@ -37,7 +37,7 @@
/obj/machinery/computer/fission_monitor/attack_ai(mob/user)
attack_hand(user)
-/obj/machinery/computer/fission_monitor/attack_hand(mob/user)
+/obj/machinery/computer/fission_monitor/attack_hand(mob/user, list/params)
add_fingerprint(user)
if(machine_stat & (BROKEN|NOPOWER))
return
diff --git a/code/modules/power/fission/engine.dm b/code/modules/power/fission/engine.dm
index ce2e1d4276c..3380655425e 100644
--- a/code/modules/power/fission/engine.dm
+++ b/code/modules/power/fission/engine.dm
@@ -106,7 +106,7 @@
var/power = (decay_heat / REACTOR_RADS_TO_MJ) * max(healthmul, 0.1)
radiation_pulse(src, max(power * REACTOR_RADIATION_MULTIPLIER, 0), RAD_FALLOFF_ENGINE_FISSION)
-/obj/machinery/power/fission/attack_hand(mob/user)
+/obj/machinery/power/fission/attack_hand(mob/user, list/params)
nano_ui_interact(user)
/obj/machinery/power/fission/attack_robot(mob/user)
diff --git a/code/modules/power/fusion/core/_core.dm b/code/modules/power/fusion/core/_core.dm
index a09df741649..a5ed6b29d08 100644
--- a/code/modules/power/fusion/core/_core.dm
+++ b/code/modules/power/fusion/core/_core.dm
@@ -99,7 +99,7 @@ var/list/fusion_cores = list()
if(owned_field)
owned_field.ChangeFieldStrength(value)
-/obj/machinery/power/fusion_core/attack_hand(var/mob/user)
+/obj/machinery/power/fusion_core/attack_hand(mob/user, list/params)
if(!Adjacent(user)) // As funny as it was for the AI to hug-kill the tokamak field from a distance...
return
visible_message("\The [user] hugs \the [src] to make it feel better!")
diff --git a/code/modules/power/fusion/core/core_control.dm b/code/modules/power/fusion/core/core_control.dm
index bd84e0e82d2..802a509693f 100644
--- a/code/modules/power/fusion/core/core_control.dm
+++ b/code/modules/power/fusion/core/core_control.dm
@@ -21,7 +21,7 @@
/obj/machinery/computer/fusion_core_control/attack_ai(mob/user)
attack_hand(user)
-/obj/machinery/computer/fusion_core_control/attack_hand(mob/user)
+/obj/machinery/computer/fusion_core_control/attack_hand(mob/user, list/params)
add_fingerprint(user)
interact(user)
diff --git a/code/modules/power/fusion/fuel_assembly/fuel_control.dm b/code/modules/power/fusion/fuel_assembly/fuel_control.dm
index b67f8beacc6..668c1ee7d7c 100644
--- a/code/modules/power/fusion/fuel_assembly/fuel_control.dm
+++ b/code/modules/power/fusion/fuel_assembly/fuel_control.dm
@@ -10,7 +10,7 @@
/obj/machinery/computer/fusion_fuel_control/attack_ai(mob/user)
attack_hand(user)
-/obj/machinery/computer/fusion_fuel_control/attack_hand(mob/user)
+/obj/machinery/computer/fusion_fuel_control/attack_hand(mob/user, list/params)
add_fingerprint(user)
interact(user)
diff --git a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
index 4939e225b2c..0cacea4cd23 100644
--- a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
+++ b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
@@ -80,7 +80,7 @@ var/list/fuel_injectors = list()
return ..()
-/obj/machinery/fusion_fuel_injector/attack_hand(mob/user)
+/obj/machinery/fusion_fuel_injector/attack_hand(mob/user, list/params)
if(injecting)
to_chat(user, "Shut \the [src] off before playing with the fuel rod!")
diff --git a/code/modules/power/fusion/gyrotron/gyrotron_control.dm b/code/modules/power/fusion/gyrotron/gyrotron_control.dm
index 5b505c49787..8cff0d855e1 100644
--- a/code/modules/power/fusion/gyrotron/gyrotron_control.dm
+++ b/code/modules/power/fusion/gyrotron/gyrotron_control.dm
@@ -11,7 +11,7 @@
/obj/machinery/computer/gyrotron_control/attack_ai(var/mob/user)
attack_hand(user)
-/obj/machinery/computer/gyrotron_control/attack_hand(var/mob/user)
+/obj/machinery/computer/gyrotron_control/attack_hand(mob/user, list/params)
add_fingerprint(user)
interact(user)
diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm
index 53e91a35e15..8df4097143b 100644
--- a/code/modules/power/generator.dm
+++ b/code/modules/power/generator.dm
@@ -187,7 +187,7 @@ GLOBAL_LIST_EMPTY(all_turbines)
else
..()
-/obj/machinery/power/generator/attack_hand(mob/user)
+/obj/machinery/power/generator/attack_hand(mob/user, list/params)
add_fingerprint(user)
if(machine_stat & (BROKEN|NOPOWER) || !anchored)
return
diff --git a/code/modules/power/generator_type2.dm b/code/modules/power/generator_type2.dm
index b10e006a388..1bf94294a43 100644
--- a/code/modules/power/generator_type2.dm
+++ b/code/modules/power/generator_type2.dm
@@ -94,7 +94,7 @@
interact(user)
-/obj/machinery/power/generator_type2/attack_hand(mob/user)
+/obj/machinery/power/generator_type2/attack_hand(mob/user, list/params)
add_fingerprint(user)
if(machine_stat & (BROKEN|NOPOWER))
return
diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm
index 480536a35f3..d04bee480cc 100644
--- a/code/modules/power/gravitygenerator.dm
+++ b/code/modules/power/gravitygenerator.dm
@@ -77,7 +77,7 @@ GLOBAL_LIST_EMPTY(gravity_generators)
/obj/machinery/gravity_generator/part/get_status()
return main_part?.get_status()
-/obj/machinery/gravity_generator/part/attack_hand(mob/user)
+/obj/machinery/gravity_generator/part/attack_hand(mob/user, list/params)
return main_part.attack_hand(user)
/obj/machinery/gravity_generator/part/set_broken()
@@ -237,7 +237,7 @@ GLOBAL_LIST_EMPTY(gravity_generators)
return
return ..()
-/obj/machinery/gravity_generator/main/attack_hand(mob/user)
+/obj/machinery/gravity_generator/main/attack_hand(mob/user, list/params)
if((. = ..()))
return
ui_interact(user)
diff --git a/code/modules/power/grid_checker.dm b/code/modules/power/grid_checker.dm
index bed74627fbb..4da2807a9e5 100644
--- a/code/modules/power/grid_checker.dm
+++ b/code/modules/power/grid_checker.dm
@@ -51,7 +51,7 @@
else if(istype(W, /obj/item/multitool) || W.is_wirecutter())
attack_hand(user)
-/obj/machinery/power/grid_checker/attack_hand(mob/user)
+/obj/machinery/power/grid_checker/attack_hand(mob/user, list/params)
if(!user)
return
add_fingerprint(user)
diff --git a/code/modules/power/lighting/lighting.dm b/code/modules/power/lighting/lighting.dm
index 71057f024c6..0d4053fe029 100644
--- a/code/modules/power/lighting/lighting.dm
+++ b/code/modules/power/lighting/lighting.dm
@@ -77,7 +77,7 @@ var/global/list/light_type_cache = list()
else
to_chat(user, "This casing doesn't support power cells for backup power.")
-/obj/machinery/light_construct/attack_hand(mob/user)
+/obj/machinery/light_construct/attack_hand(mob/user, list/params)
. = ..()
if(.)
return . // obj/machinery/attack_hand returns 1 if user can't use the machine
@@ -776,7 +776,7 @@ var/global/list/light_type_cache = list()
// attack with hand - remove tube/bulb
// if hands aren't protected and the light is on, burn the player
-/obj/machinery/light/attack_hand(mob/user)
+/obj/machinery/light/attack_hand(mob/user, list/params)
add_fingerprint(user)
@@ -822,7 +822,7 @@ var/global/list/light_type_cache = list()
// create a light tube/bulb item and put it in the user's hand
user.put_in_active_hand(remove_bulb()) //puts it in our active hand
-/obj/machinery/light/flamp/attack_hand(mob/user)
+/obj/machinery/light/flamp/attack_hand(mob/user, list/params)
if(lamp_shade)
if(status == LIGHT_EMPTY)
to_chat(user, "There is no [get_fitting_name()] in this light.")
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index 0d03e7e73a8..5bdd65663c7 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -42,7 +42,7 @@
/obj/machinery/power/powered()
return 1 //doesn't require an external power source
-/obj/machinery/power/port_gen/attack_hand(mob/user as mob)
+/obj/machinery/power/port_gen/attack_hand(mob/user, list/params)
if(..())
return
if(!anchored)
@@ -301,7 +301,7 @@
return
return ..()
-/obj/machinery/power/port_gen/pacman/attack_hand(mob/user as mob)
+/obj/machinery/power/port_gen/pacman/attack_hand(mob/user, list/params)
..()
if (!anchored)
return
@@ -612,7 +612,7 @@
log_and_message_admins("[ADMIN_LOOKUPFLW(Proj.firer)] triggered an Abductor Core explosion at [x],[y],[z] via projectile.")
asplod()
-/obj/machinery/power/rtg/abductor/attack_hand(var/mob/living/user)
+/obj/machinery/power/rtg/abductor/attack_hand(mob/user, list/params)
if(!istype(user) || (. = ..()))
return
diff --git a/code/modules/power/sensors/sensor_monitoring.dm b/code/modules/power/sensors/sensor_monitoring.dm
index b215af9cef8..fc9f49505e3 100644
--- a/code/modules/power/sensors/sensor_monitoring.dm
+++ b/code/modules/power/sensors/sensor_monitoring.dm
@@ -41,7 +41,7 @@
..()
// On user click opens the UI of this computer.
-/obj/machinery/computer/power_monitor/attack_hand(mob/user)
+/obj/machinery/computer/power_monitor/attack_hand(mob/user, list/params)
add_fingerprint(user)
if(machine_stat & (BROKEN|NOPOWER))
diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm
index 50cd7aa6679..12f424dba24 100644
--- a/code/modules/power/singularity/collector.dm
+++ b/code/modules/power/singularity/collector.dm
@@ -44,7 +44,7 @@
. = ..()
rad_insulation = active? rad_insulation_active : rad_insulation_inactive
-/obj/machinery/power/rad_collector/attack_hand(mob/user as mob)
+/obj/machinery/power/rad_collector/attack_hand(mob/user, list/params)
if(anchored)
if(!src.locked)
toggle_power()
diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm
index cc0ed3634b1..c9b56b5a486 100644
--- a/code/modules/power/singularity/containment_field.dm
+++ b/code/modules/power/singularity/containment_field.dm
@@ -21,7 +21,7 @@
FG2.cleanup()
. = ..()
-/obj/machinery/containment_field/attack_hand(mob/user as mob)
+/obj/machinery/containment_field/attack_hand(mob/user, list/params)
if(get_dist(src, user) > 1)
return 0
else
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index c18e44c00cb..d702ebe177d 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -58,7 +58,7 @@
else
icon_state = "emitter"
-/obj/machinery/power/emitter/attack_hand(mob/user as mob)
+/obj/machinery/power/emitter/attack_hand(mob/user, list/params)
src.add_fingerprint(user)
activate(user)
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index bdf9c93e216..dc4d70dcc98 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -73,7 +73,7 @@ field_generator power level display
return
-/obj/machinery/field_generator/attack_hand(mob/user as mob)
+/obj/machinery/field_generator/attack_hand(mob/user, list/params)
if(state == 2)
if(get_dist(src, user) <= 1)//Need to actually touch the thing to turn it on
if(src.active >= 1)
diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm
index 41a1027dd30..d87f82a0621 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_control.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm
@@ -34,7 +34,7 @@
wires = null
return ..()
-/obj/machinery/particle_accelerator/control_box/attack_hand(mob/user as mob)
+/obj/machinery/particle_accelerator/control_box/attack_hand(mob/user, list/params)
if(construction_state >= 3)
interact(user)
else if(construction_state == 2) // Wires exposed
diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index d76c4bff320..eae2ac24aaf 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -46,7 +46,7 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity)
STOP_PROCESSING(SSobj, src)
return ..()
-/obj/singularity/attack_hand(mob/user as mob)
+/obj/singularity/attack_hand(mob/user, list/params)
consume(user)
return 1
diff --git a/code/modules/power/smes/smes.dm b/code/modules/power/smes/smes.dm
index cfecd4e6c4f..3bc6c836348 100644
--- a/code/modules/power/smes/smes.dm
+++ b/code/modules/power/smes/smes.dm
@@ -240,7 +240,7 @@ GLOBAL_LIST_EMPTY(smeses)
add_hiddenprint(user)
ui_interact(user)
-/obj/machinery/power/smes/attack_hand(mob/user)
+/obj/machinery/power/smes/attack_hand(mob/user, list/params)
add_fingerprint(user)
ui_interact(user)
diff --git a/code/modules/power/smes/smes_construction.dm b/code/modules/power/smes/smes_construction.dm
index 3e6e604c1a9..fa4fffcf4fd 100644
--- a/code/modules/power/smes/smes_construction.dm
+++ b/code/modules/power/smes/smes_construction.dm
@@ -111,7 +111,7 @@
// Proc: attack_hand()
// Parameters: None
// Description: Opens the UI as usual, and if cover is removed opens the wiring panel.
-/obj/machinery/power/smes/buildable/attack_hand()
+/obj/machinery/power/smes/buildable/attack_hand(mob/user, list/params)
..()
if(open_hatch)
wires.Interact(usr)
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index 21400a33050..3258bdd980a 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -216,7 +216,7 @@ GLOBAL_LIST_EMPTY(solars_list)
var/tracker = 0
var/glass_type = null
-/obj/item/solar_assembly/attack_hand(var/mob/user)
+/obj/item/solar_assembly/attack_hand(mob/user, list/params)
if(!anchored || !isturf(loc)) // You can't pick it up
..()
@@ -397,7 +397,7 @@ GLOBAL_LIST_EMPTY(solars_list)
add_overlay(image('icons/obj/computer.dmi', "solcon-o", FLY_LAYER, angle2dir(cdir)))
return
-/obj/machinery/power/solar_control/attack_hand(mob/user)
+/obj/machinery/power/solar_control/attack_hand(mob/user, list/params)
if(!..())
interact(user)
diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm
index b0c966d26e6..e9cb8eb978d 100644
--- a/code/modules/power/supermatter/supermatter.dm
+++ b/code/modules/power/supermatter/supermatter.dm
@@ -393,7 +393,7 @@
/obj/machinery/power/supermatter/attack_ai(mob/user as mob)
ui_interact(user)
-/obj/machinery/power/supermatter/attack_hand(mob/user as mob)
+/obj/machinery/power/supermatter/attack_hand(mob/user, list/params)
var/datum/gender/TU = GLOB.gender_datums[user.get_visible_gender()]
user.visible_message("\The [user] reaches out and touches \the [src], inducing a resonance... [TU.his] body starts to glow and bursts into flames before flashing into ash.",\
"You reach out and touch \the [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"",\
diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm
index d718ad20402..71da7e493e3 100644
--- a/code/modules/power/tesla/coil.dm
+++ b/code/modules/power/tesla/coil.dm
@@ -45,7 +45,7 @@
else
icon_state = "coil[anchored]"
-/obj/machinery/power/tesla_coil/attackby(obj/item/W, mob/user, params)
+/obj/machinery/power/tesla_coil/attackby(obj/item/W, mob/user)
src.add_fingerprint(user)
//if(default_deconstruction_screwdriver(user, "coil_open[anchored]", "coil[anchored]", W))
@@ -61,7 +61,7 @@
return wires.Interact(user)
return ..()
-/obj/machinery/power/tesla_coil/attack_hand(mob/user)
+/obj/machinery/power/tesla_coil/attack_hand(mob/user, list/params)
if(user.a_intent == INTENT_GRAB && user_buckle_mob(user.pulling, user))
return
..()
@@ -115,7 +115,7 @@
else
icon_state = "grounding_rod[anchored]"
-/obj/machinery/power/grounding_rod/attackby(obj/item/W, mob/user, params)
+/obj/machinery/power/grounding_rod/attackby(obj/item/W, mob/user)
//if(default_deconstruction_screwdriver(user, "grounding_rod_open[anchored]", "grounding_rod[anchored]", W))
if(default_deconstruction_screwdriver(user, W))
return
@@ -127,7 +127,7 @@
return
return ..()
-/obj/machinery/power/grounding_rod/attack_hand(mob/user)
+/obj/machinery/power/grounding_rod/attack_hand(mob/user, list/params)
if(user.a_intent == INTENT_GRAB && user_buckle_mob(user.pulling, user))
return
..()
diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm
index 3badd5149a1..3f4daaac93b 100644
--- a/code/modules/power/turbine.dm
+++ b/code/modules/power/turbine.dm
@@ -275,7 +275,7 @@
updateDialog()
-/obj/machinery/power/turbine/attack_hand(var/mob/user as mob)
+/obj/machinery/power/turbine/attack_hand(mob/user, list/params)
if((. = ..()))
return
src.interact(user)
@@ -342,7 +342,7 @@
id = new_ident
return
-/obj/machinery/computer/turbine_computer/attack_hand(var/mob/user as mob)
+/obj/machinery/computer/turbine_computer/attack_hand(mob/user, list/params)
if((. = ..()))
return
src.interact(user)
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index f3067f57007..9a29fb62d97 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -770,6 +770,9 @@
return new_mode
/obj/item/gun/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
switch_firemodes(user)
/obj/item/gun/proc/handle_pins(mob/living/user)
diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm
index 730c599243b..033d000b624 100644
--- a/code/modules/projectiles/guns/ballistic.dm
+++ b/code/modules/projectiles/guns/ballistic.dm
@@ -236,13 +236,16 @@
..()
load_ammo(A, user)
-/obj/item/gun/ballistic/attack_self(mob/user as mob)
+/obj/item/gun/ballistic/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(firemodes.len > 1)
switch_firemodes(user)
else
unload_ammo(user)
-/obj/item/gun/ballistic/attack_hand(mob/user as mob)
+/obj/item/gun/ballistic/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src)
unload_ammo(user, allow_dump=0)
else
diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm
index b5bd8e9dfdd..ecd9572a6ab 100644
--- a/code/modules/projectiles/guns/energy.dm
+++ b/code/modules/projectiles/guns/energy.dm
@@ -155,7 +155,7 @@
..()
load_ammo(A, user)
-/obj/item/gun/energy/attack_hand(mob/user as mob)
+/obj/item/gun/energy/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src)
unload_ammo(user)
else
diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
index 1bd3da291d7..513a425d6a4 100644
--- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
+++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
@@ -644,4 +644,7 @@
desc = "Causes kinetic accelerator bolts to have an adjustable-colored tracer trail and explosion. Use in-hand to change color."
/obj/item/borg/upgrade/modkit/tracer/adjustable/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
bolt_color = input(user,"","Choose Color",bolt_color) as color|null
diff --git a/code/modules/projectiles/guns/energy/modular/modulargun.dm b/code/modules/projectiles/guns/energy/modular/modulargun.dm
index 221bd9b4f6b..77be3f713bf 100644
--- a/code/modules/projectiles/guns/energy/modular/modulargun.dm
+++ b/code/modules/projectiles/guns/energy/modular/modulargun.dm
@@ -189,7 +189,7 @@
new_mode.apply_to(src)
return FALSE
-/obj/item/gun/energy/modular/attackby(obj/item/I, mob/living/user, params, clickchain_flags, damage_multiplier)
+/obj/item/gun/energy/modular/attackby(obj/item/I, mob/living/user, list/params, clickchain_flags, damage_multiplier)
if(I.is_screwdriver())
to_chat(user, "You [assembled ? "disassemble" : "assemble"] the gun.")
assembled = !assembled
diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm
index 789748347e5..3b28e5332f6 100644
--- a/code/modules/projectiles/guns/energy/pulse.dm
+++ b/code/modules/projectiles/guns/energy/pulse.dm
@@ -29,7 +29,10 @@
projectile_type=/obj/item/projectile/beam/pulse
charge_cost = 120
-/obj/item/gun/energy/pulse_rifle/destroyer/attack_self(mob/living/user as mob)
+/obj/item/gun/energy/pulse_rifle/destroyer/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
to_chat(user, "[src.name] has three settings, and they are all DESTROY.")
/obj/item/gun/energy/pulse_pistol
diff --git a/code/modules/projectiles/guns/energy/sizegun_vr.dm b/code/modules/projectiles/guns/energy/sizegun_vr.dm
index d398e8b6c33..704327132c5 100644
--- a/code/modules/projectiles/guns/energy/sizegun_vr.dm
+++ b/code/modules/projectiles/guns/energy/sizegun_vr.dm
@@ -29,6 +29,9 @@
/obj/item/gun/energy/sizegun/attack_self(mob/user)
. = ..()
+ if(.)
+ return
+ . = ..()
select_size()
/obj/item/gun/energy/sizegun/consume_next_projectile()
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index fb8fc1278b1..fe787bbb4af 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -338,6 +338,9 @@
safety_state = GUN_SAFETY_OFF
/obj/item/gun/energy/service/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
cycle_weapon(user)
/obj/item/gun/energy/service/proc/cycle_weapon(mob/living/L)
diff --git a/code/modules/projectiles/guns/launcher/crossbow.dm b/code/modules/projectiles/guns/launcher/crossbow.dm
index fd3758befb0..355425dad9f 100644
--- a/code/modules/projectiles/guns/launcher/crossbow.dm
+++ b/code/modules/projectiles/guns/launcher/crossbow.dm
@@ -84,7 +84,10 @@
update_icon()
..()
-/obj/item/gun/launcher/crossbow/attack_self(mob/living/user as mob)
+/obj/item/gun/launcher/crossbow/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(tension)
if(bolt)
user.visible_message("[user] relaxes the tension on [src]'s string and removes [bolt].","You relax the tension on [src]'s string and remove [bolt].")
diff --git a/code/modules/projectiles/guns/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/launcher/grenade_launcher.dm
index dc8db00c0df..66f82e2c71d 100644
--- a/code/modules/projectiles/guns/launcher/grenade_launcher.dm
+++ b/code/modules/projectiles/guns/launcher/grenade_launcher.dm
@@ -66,6 +66,9 @@
to_chat(user, "[src] is empty.")
/obj/item/gun/launcher/grenade/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
pump(user)
/obj/item/gun/launcher/grenade/attackby(obj/item/I, mob/user)
@@ -74,7 +77,7 @@
else
..()
-/obj/item/gun/launcher/grenade/attack_hand(mob/user)
+/obj/item/gun/launcher/grenade/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src)
unload(user)
else
@@ -101,7 +104,10 @@
force = 5
max_grenades = 0
-/obj/item/gun/launcher/grenade/underslung/attack_self()
+/obj/item/gun/launcher/grenade/underslung/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
return
//load and unload directly into chambered
diff --git a/code/modules/projectiles/guns/launcher/pneumatic.dm b/code/modules/projectiles/guns/launcher/pneumatic.dm
index a85fd077a30..1d9519f7d14 100644
--- a/code/modules/projectiles/guns/launcher/pneumatic.dm
+++ b/code/modules/projectiles/guns/launcher/pneumatic.dm
@@ -59,7 +59,7 @@
else
to_chat(user, "There is nothing to remove in \the [src].")
-/obj/item/gun/launcher/pneumatic/attack_hand(mob/user as mob)
+/obj/item/gun/launcher/pneumatic/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src)
unload_hopper(user)
else
@@ -75,7 +75,10 @@
else if(istype(W) && item_storage.can_be_inserted(W))
item_storage.handle_item_insertion(W, user)
-/obj/item/gun/launcher/pneumatic/attack_self(mob/user as mob)
+/obj/item/gun/launcher/pneumatic/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
eject_tank(user)
/obj/item/gun/launcher/pneumatic/consume_next_projectile(mob/user=null)
diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm
index dc3275a140c..1ab43a9d9aa 100644
--- a/code/modules/projectiles/guns/launcher/syringe_gun.dm
+++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm
@@ -28,6 +28,9 @@
update_icon()
/obj/item/syringe_cartridge/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(syringe)
to_chat(user, "You remove [syringe] from [src].")
playsound(src, 'sound/weapons/empty.ogg', 50, 1)
@@ -92,7 +95,10 @@
darts -= next
next = null
-/obj/item/gun/launcher/syringe/attack_self(mob/living/user as mob)
+/obj/item/gun/launcher/syringe/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(next)
user.visible_message("[user] unlatches and carefully relaxes the bolt on [src].", "You unlatch and carefully relax the bolt on [src], unloading the spring.")
next = null
@@ -102,7 +108,7 @@
next = darts[1]
add_fingerprint(user)
-/obj/item/gun/launcher/syringe/attack_hand(mob/living/user as mob)
+/obj/item/gun/launcher/syringe/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src)
if(!darts.len)
to_chat(user, "[src] is empty.")
diff --git a/code/modules/projectiles/guns/magnetic/bore.dm b/code/modules/projectiles/guns/magnetic/bore.dm
index 228c99a3abc..9c240dad1a6 100644
--- a/code/modules/projectiles/guns/magnetic/bore.dm
+++ b/code/modules/projectiles/guns/magnetic/bore.dm
@@ -48,7 +48,7 @@
if(mat_storage)
. += image(icon, "[icon_state]_loaded")
-/obj/item/gun/magnetic/matfed/attack_hand(var/mob/user) // It doesn't keep a loaded item inside.
+/obj/item/gun/magnetic/matfed/attack_hand(mob/user, list/params) // It doesn't keep a loaded item inside.
if(user.get_inactive_held_item() == src)
var/obj/item/removing
diff --git a/code/modules/projectiles/guns/magnetic/magnetic.dm b/code/modules/projectiles/guns/magnetic/magnetic.dm
index d4918085565..e44daf69b92 100644
--- a/code/modules/projectiles/guns/magnetic/magnetic.dm
+++ b/code/modules/projectiles/guns/magnetic/magnetic.dm
@@ -149,7 +149,7 @@
return
. = ..()
-/obj/item/gun/magnetic/attack_hand(var/mob/user)
+/obj/item/gun/magnetic/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src)
var/obj/item/removing
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index e7f53c622bb..778689c7ba0 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -170,7 +170,7 @@
else
..()
-/obj/item/gun/ballistic/automatic/z8/attack_hand(mob/user)
+/obj/item/gun/ballistic/automatic/z8/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src && use_launcher)
launcher.unload(user)
else
@@ -253,13 +253,16 @@
update_icon()
update_held_icon()
-/obj/item/gun/ballistic/automatic/lmg/attack_self(mob/user as mob)
+/obj/item/gun/ballistic/automatic/lmg/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(cover_open)
toggle_cover(user) //close the cover
else
return ..() //once closed, behave like normal
-/obj/item/gun/ballistic/automatic/lmg/attack_hand(mob/user as mob)
+/obj/item/gun/ballistic/automatic/lmg/attack_hand(mob/user, list/params)
if(!cover_open && user.get_inactive_held_item() == src)
toggle_cover(user) //open the cover
else
diff --git a/code/modules/projectiles/guns/projectile/bow.dm b/code/modules/projectiles/guns/projectile/bow.dm
index 534c6576bbd..500b529d398 100644
--- a/code/modules/projectiles/guns/projectile/bow.dm
+++ b/code/modules/projectiles/guns/projectile/bow.dm
@@ -41,7 +41,10 @@
return
update_icon()
-/obj/item/gun/ballistic/bow/attack_self(mob/living/user)
+/obj/item/gun/ballistic/bow/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(loaded.len)
src.ready = 1
to_chat(user, "You draw back the bowstring.")
@@ -51,7 +54,7 @@
else
return
-/obj/item/gun/ballistic/bow/attack_hand(mob/user as mob)
+/obj/item/gun/ballistic/bow/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src)
unload_ammo(user, allow_dump=0)
else
diff --git a/code/modules/projectiles/guns/projectile/contender.dm b/code/modules/projectiles/guns/projectile/contender.dm
index 9f0adad63e8..dc6eac27168 100644
--- a/code/modules/projectiles/guns/projectile/contender.dm
+++ b/code/modules/projectiles/guns/projectile/contender.dm
@@ -13,7 +13,10 @@
load_method = SINGLE_CASING
heavy = TRUE
-/obj/item/gun/ballistic/contender/attack_self(mob/user as mob)
+/obj/item/gun/ballistic/contender/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(chambered)
chambered.loc = get_turf(src)
chambered = null
diff --git a/code/modules/projectiles/guns/projectile/dartgun.dm b/code/modules/projectiles/guns/projectile/dartgun.dm
index 824060ce6b8..ccd0ecdc16c 100644
--- a/code/modules/projectiles/guns/projectile/dartgun.dm
+++ b/code/modules/projectiles/guns/projectile/dartgun.dm
@@ -137,6 +137,9 @@
B.reagents.trans_to_obj(dart, mix_amount)
/obj/item/gun/ballistic/dartgun/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
user.set_machine(src)
var/dat = "[src] mixing control:
"
diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm
index 8b53817b1f1..b2b910259a5 100644
--- a/code/modules/projectiles/guns/projectile/pistol.dm
+++ b/code/modules/projectiles/guns/projectile/pistol.dm
@@ -74,7 +74,7 @@
icon_state = "colt-taj"
/*//apart of reskins that have two sprites, touching may result in frustration and breaks
-/obj/item/gun/ballistic/colt/detective/attack_hand(var/mob/living/user)
+/obj/item/gun/ballistic/colt/detective/attack_hand(mob/user, list/params)
if(!unique_reskin && loc == user)
reskin_gun(user)
return
@@ -211,7 +211,7 @@
name = "compact signal pistol"
magazine_type = /obj/item/ammo_magazine/m9mm/compact/flash
-/obj/item/gun/ballistic/pistol/attack_hand(mob/living/user as mob)
+/obj/item/gun/ballistic/pistol/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src)
if(silenced)
if(!user.is_holding(src))
@@ -431,7 +431,7 @@
else
..()
-/obj/item/gun/ballistic/konigin/attack_hand(mob/user)
+/obj/item/gun/ballistic/konigin/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src && use_shotgun)
shotgun.unload_ammo(user)
else
diff --git a/code/modules/projectiles/guns/projectile/rocket.dm b/code/modules/projectiles/guns/projectile/rocket.dm
index 076a4ae5c77..2fbc5bae571 100644
--- a/code/modules/projectiles/guns/projectile/rocket.dm
+++ b/code/modules/projectiles/guns/projectile/rocket.dm
@@ -45,7 +45,7 @@
else
..()
-/obj/item/gun/ballistic/rocket/attack_hand(mob/user)
+/obj/item/gun/ballistic/rocket/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src)
unload(user)
else
@@ -86,7 +86,7 @@
to_chat(user, "You cannot reload the [src]!")
return
-/obj/item/gun/ballistic/rocket/collapsible/attack_hand(mob/user as mob)
+/obj/item/gun/ballistic/rocket/collapsible/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src)
to_chat(user, "You cannot unload the [src]'s munition!")
return
diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm
index 8ed10896d32..4136035b465 100644
--- a/code/modules/projectiles/guns/projectile/shotgun.dm
+++ b/code/modules/projectiles/guns/projectile/shotgun.dm
@@ -26,7 +26,10 @@
return chambered.get_projectile()
return null
-/obj/item/gun/ballistic/shotgun/pump/attack_self(mob/living/user as mob)
+/obj/item/gun/ballistic/shotgun/pump/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(world.time >= recentpump + 10)
pump(user)
recentpump = world.time
diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm
index fa561200118..48971a6ba89 100644
--- a/code/modules/projectiles/guns/projectile/sniper.dm
+++ b/code/modules/projectiles/guns/projectile/sniper.dm
@@ -29,7 +29,10 @@
else
icon_state = "heavysniper"
-/obj/item/gun/ballistic/heavysniper/attack_self(mob/user as mob)
+/obj/item/gun/ballistic/heavysniper/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1)
bolt_open = !bolt_open
if(bolt_open)
diff --git a/code/modules/projectiles/guns/projectile/sniper/collapsible_sniper.dm b/code/modules/projectiles/guns/projectile/sniper/collapsible_sniper.dm
index 1cf3a698022..3828b61bb9b 100644
--- a/code/modules/projectiles/guns/projectile/sniper/collapsible_sniper.dm
+++ b/code/modules/projectiles/guns/projectile/sniper/collapsible_sniper.dm
@@ -68,7 +68,10 @@
. = ..()
trigger_group = src
-/obj/item/sniper_rifle_part/attack_self(mob/user as mob)
+/obj/item/sniper_rifle_part/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(part_count == 1)
to_chat(user, "You can't disassemble this further!")
return
diff --git a/code/modules/projectiles/magazines/magazine.dm b/code/modules/projectiles/magazines/magazine.dm
index 6614f99d5a0..627f910a551 100644
--- a/code/modules/projectiles/magazines/magazine.dm
+++ b/code/modules/projectiles/magazines/magazine.dm
@@ -78,6 +78,9 @@
// This dumps all the bullets right on the floor
/obj/item/ammo_magazine/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(can_remove_ammo)
if(!stored_ammo.len)
to_chat(user, "[src] is already empty!")
@@ -98,7 +101,7 @@
return
// This puts one bullet from the magazine into your hand
-/obj/item/ammo_magazine/attack_hand(mob/user)
+/obj/item/ammo_magazine/attack_hand(mob/user, list/params)
if(can_remove_ammo) // For Smart Magazines
if(user.get_inactive_held_item() == src)
if(stored_ammo.len)
diff --git a/code/modules/projectiles/magazines/smartmag.dm b/code/modules/projectiles/magazines/smartmag.dm
index 54595d9e04f..7af16ca852b 100644
--- a/code/modules/projectiles/magazines/smartmag.dm
+++ b/code/modules/projectiles/magazines/smartmag.dm
@@ -109,7 +109,7 @@
..()
// You can remove the power cell from the magazine by hand, but it's way slower than using a screwdriver
-/obj/item/ammo_magazine/smart/attack_hand(mob/user)
+/obj/item/ammo_magazine/smart/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src)
if(attached_cell)
to_chat(user, "You struggle to remove \the [attached_cell] from \the [src].")
diff --git a/code/modules/random_map/drop/droppod_doors.dm b/code/modules/random_map/drop/droppod_doors.dm
index 92de6014e0c..c4b959129eb 100644
--- a/code/modules/random_map/drop/droppod_doors.dm
+++ b/code/modules/random_map/drop/droppod_doors.dm
@@ -23,7 +23,7 @@
/obj/structure/droppod_door/attack_generic(var/mob/user)
attack_hand(user)
-/obj/structure/droppod_door/attack_hand(var/mob/user)
+/obj/structure/droppod_door/attack_hand(mob/user, list/params)
if(deploying) return
to_chat(user, "You prime the explosive bolts. Better get clear!")
sleep(30)
diff --git a/code/modules/reagents/chemistry/machinery.dm b/code/modules/reagents/chemistry/machinery.dm
index 92ed153cb25..f6554395fc7 100644
--- a/code/modules/reagents/chemistry/machinery.dm
+++ b/code/modules/reagents/chemistry/machinery.dm
@@ -159,7 +159,7 @@
if(AM in holdingitems)
holdingitems -= AM
-/obj/machinery/reagentgrinder/attack_hand(mob/user as mob)
+/obj/machinery/reagentgrinder/attack_hand(mob/user, list/params)
interact(user)
/obj/machinery/reagentgrinder/interact(mob/user as mob) // The microwave Menu //I am reasonably certain that this is not a microwave
diff --git a/code/modules/reagents/distilling/distilling.dm b/code/modules/reagents/distilling/distilling.dm
index a0fc91ed971..043015b3c93 100644
--- a/code/modules/reagents/distilling/distilling.dm
+++ b/code/modules/reagents/distilling/distilling.dm
@@ -108,7 +108,7 @@
..()
-/obj/machinery/portable_atmospherics/powered/reagent_distillery/attack_hand(mob/user)
+/obj/machinery/portable_atmospherics/powered/reagent_distillery/attack_hand(mob/user, list/params)
var/list/options = list()
options["examine"] = radial_examine
options["use"] = radial_use
diff --git a/code/modules/reagents/machinery/chem_master.dm b/code/modules/reagents/machinery/chem_master.dm
index 0501d050d63..b6c9b122cd2 100644
--- a/code/modules/reagents/machinery/chem_master.dm
+++ b/code/modules/reagents/machinery/chem_master.dm
@@ -100,7 +100,7 @@
if (prob(50))
qdel(src)
-/obj/machinery/chem_master/attackby(obj/item/I, mob/user, params)
+/obj/machinery/chem_master/attackby(obj/item/I, mob/user)
if(default_unfasten_wrench(user, I, 20))
return
else if(default_deconstruction_screwdriver(user, I))
@@ -147,7 +147,7 @@
pill_bottle = null
return ..()
-/obj/machinery/chem_master/attack_hand(mob/user)
+/obj/machinery/chem_master/attack_hand(mob/user, list/params)
if(machine_stat & BROKEN)
return
user.set_machine(src)
diff --git a/code/modules/reagents/machinery/dispenser/cartridge.dm b/code/modules/reagents/machinery/dispenser/cartridge.dm
index c9e2e8c3800..920d1522a64 100644
--- a/code/modules/reagents/machinery/dispenser/cartridge.dm
+++ b/code/modules/reagents/machinery/dispenser/cartridge.dm
@@ -51,7 +51,10 @@
label = ""
name = initial(name)
-/obj/item/reagent_containers/chem_disp_cartridge/attack_self()
+/obj/item/reagent_containers/chem_disp_cartridge/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
..()
if (is_open_container())
to_chat(usr, "You put the cap on \the [src].")
diff --git a/code/modules/reagents/machinery/dispenser/dispenser2.dm b/code/modules/reagents/machinery/dispenser/dispenser2.dm
index d884aef9c8e..6c39eab28ef 100644
--- a/code/modules/reagents/machinery/dispenser/dispenser2.dm
+++ b/code/modules/reagents/machinery/dispenser/dispenser2.dm
@@ -185,7 +185,7 @@
/obj/machinery/chemical_dispenser/attack_ai(mob/user)
attack_hand(user)
-/obj/machinery/chemical_dispenser/attack_hand(mob/user)
+/obj/machinery/chemical_dispenser/attack_hand(mob/user, list/params)
if(machine_stat & BROKEN)
return
ui_interact(user)
diff --git a/code/modules/reagents/machinery/dispenser/reagent_tank.dm b/code/modules/reagents/machinery/dispenser/reagent_tank.dm
index 523d686777b..495eac943bf 100644
--- a/code/modules/reagents/machinery/dispenser/reagent_tank.dm
+++ b/code/modules/reagents/machinery/dispenser/reagent_tank.dm
@@ -151,7 +151,7 @@
if(rig)
. += "There is some kind of device rigged to the tank."
-/obj/structure/reagent_dispensers/fueltank/attack_hand()
+/obj/structure/reagent_dispensers/fueltank/attack_hand(mob/user, list/params)
if (rig)
usr.visible_message("[usr] begins to detach [rig] from \the [src].", "You begin to detach [rig] from \the [src]")
if(do_after(usr, 20))
@@ -379,7 +379,7 @@
to_chat(user, "There is already a cup dispenser there!")
return
-/obj/structure/reagent_dispensers/water_cooler/attack_hand(mob/user)
+/obj/structure/reagent_dispensers/water_cooler/attack_hand(mob/user, list/params)
if(cups)
new /obj/item/reagent_containers/food/drinks/sillycup(src.loc)
cups--
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index 29e87cce499..ff4325ad39d 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -22,7 +22,10 @@
remove_obj_verb(src, /obj/item/reagent_containers/verb/set_APTFT)
create_reagents(volume)
-/obj/item/reagent_containers/attack_self(mob/user as mob)
+/obj/item/reagent_containers/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
return
/obj/item/reagent_containers/afterattack(obj/target, mob/user, flag)
diff --git a/code/modules/reagents/reagent_containers/blood_pack_vr.dm b/code/modules/reagents/reagent_containers/blood_pack_vr.dm
index b81f32ba173..28ed0374d71 100644
--- a/code/modules/reagents/reagent_containers/blood_pack_vr.dm
+++ b/code/modules/reagents/reagent_containers/blood_pack_vr.dm
@@ -1,4 +1,7 @@
-/obj/item/reagent_containers/blood/attack_self(mob/living/user as mob)
+/obj/item/reagent_containers/blood/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(istype(user, /mob/living/carbon/human))
var/mob/living/carbon/human/human_user = user
if(human_user.species.is_vampire)
diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm
index 80c6358d6af..ce1e448a6f0 100644
--- a/code/modules/reagents/reagent_containers/borghydro.dm
+++ b/code/modules/reagents/reagent_containers/borghydro.dm
@@ -94,7 +94,10 @@
add_attack_logs(user, L, "Borg injected with [reagent_ids[mode]]")
to_chat(user, "[t] units injected. [reagent_volumes[reagent_ids[mode]]] units remaining.")
-/obj/item/reagent_containers/borghypo/attack_self(mob/user as mob) //Change the mode
+/obj/item/reagent_containers/borghypo/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return //Change the mode
var/t = ""
for(var/i = 1 to reagent_ids.len)
if(t)
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 8091a42609a..23f04175b3a 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -61,7 +61,10 @@
base_desc = desc
-/obj/item/reagent_containers/glass/attack_self()
+/obj/item/reagent_containers/glass/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
..()
if(is_open_container())
to_chat(usr, "You put the lid on \the [src].")
@@ -163,7 +166,7 @@
. = ..()
update_icon()
-/obj/item/reagent_containers/glass/beaker/attack_hand()
+/obj/item/reagent_containers/glass/beaker/attack_hand(mob/user, list/params)
..()
update_icon()
diff --git a/code/modules/reagents/reagent_containers/hard_candy.dm b/code/modules/reagents/reagent_containers/hard_candy.dm
index 1b2028d2de6..bafbb1f5de7 100644
--- a/code/modules/reagents/reagent_containers/hard_candy.dm
+++ b/code/modules/reagents/reagent_containers/hard_candy.dm
@@ -34,7 +34,10 @@
user.put_in_hands(trash)
qdel(src)
-/obj/item/reagent_containers/hard_candy/attack_self(mob/user as mob)
+/obj/item/reagent_containers/hard_candy/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
return
/obj/item/reagent_containers/hard_candy/attack_mob(mob/target, mob/user, clickchain_flags, list/params, mult, target_zone, intent)
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index 7f9cf1a1998..18c8b6c4167 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -94,7 +94,7 @@
volume = loaded_vial.volume
reagents.maximum_volume = loaded_vial.reagents.maximum_volume
-/obj/item/reagent_containers/hypospray/vial/attack_hand(mob/user as mob)
+/obj/item/reagent_containers/hypospray/vial/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src)
if(loaded_vial)
reagents.trans_to_holder(loaded_vial.reagents,volume)
@@ -394,6 +394,9 @@
/obj/item/reagent_containers/hypospray/glukoz/attack_self(mob/user)
. = ..()
+ if(.)
+ return
+ . = ..()
if (closed)
closed = 0
playsound(loc,"canopen", rand(10,50), 1)
diff --git a/code/modules/reagents/reagent_containers/organic.dm b/code/modules/reagents/reagent_containers/organic.dm
index db0b1dfecd8..66239ac7bd4 100644
--- a/code/modules/reagents/reagent_containers/organic.dm
+++ b/code/modules/reagents/reagent_containers/organic.dm
@@ -52,12 +52,15 @@
. = ..()
update_icon()
-/obj/item/reagent_containers/organic/attack_hand()
+/obj/item/reagent_containers/organic/attack_hand(mob/user, list/params)
..()
update_icon()
/obj/item/reagent_containers/organic/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
..()
if(is_open_container())
to_chat(usr, "You crush \the [src] in your hands.")
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index 4af208415e9..3e2fdc5e7e4 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -69,7 +69,10 @@
D.set_up(my_target, spray_size, 10)
return
-/obj/item/reagent_containers/spray/attack_self(var/mob/user)
+/obj/item/reagent_containers/spray/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(!possible_transfer_amounts)
return
amount_per_transfer_from_this = next_list_item(amount_per_transfer_from_this, possible_transfer_amounts)
@@ -133,7 +136,10 @@
. = ..()
. += "The safety is [safety ? "on" : "off"]."
-/obj/item/reagent_containers/spray/pepper/attack_self(var/mob/user)
+/obj/item/reagent_containers/spray/pepper/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
safety = !safety
to_chat(usr, "You switch the safety [safety ? "on" : "off"].")
@@ -234,7 +240,10 @@
. = ..()
. += "The tank is [pumped ? "depressurized" : "pressurized"]."
-/obj/item/reagent_containers/spray/squirt/attack_self(var/mob/user)
+/obj/item/reagent_containers/spray/squirt/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
pumped = !pumped
to_chat(usr, "You pump the handle [pumped ? "to depressurize" : "to pressurize"] the tank.")
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 7145ed3f95b..31c58a4737b 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -37,7 +37,10 @@
. = ..()
update_icon()
-/obj/item/reagent_containers/syringe/attack_self(mob/user as mob)
+/obj/item/reagent_containers/syringe/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
switch(mode)
if(SYRINGE_DRAW)
mode = SYRINGE_INJECT
@@ -47,7 +50,7 @@
return
update_icon()
-/obj/item/reagent_containers/syringe/attack_hand()
+/obj/item/reagent_containers/syringe/attack_hand(mob/user, list/params)
..()
update_icon()
diff --git a/code/modules/reagents/reagent_containers/syringes_vr.dm b/code/modules/reagents/reagent_containers/syringes_vr.dm
index 4298757eb24..7b54cf25778 100644
--- a/code/modules/reagents/reagent_containers/syringes_vr.dm
+++ b/code/modules/reagents/reagent_containers/syringes_vr.dm
@@ -66,7 +66,10 @@
eo.queue_syringe_infection()
//Allow for capped syringe mode
-/obj/item/reagent_containers/syringe/attack_self(mob/user as mob)
+/obj/item/reagent_containers/syringe/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
switch(mode)
if(SYRINGE_CAPPED)
mode = SYRINGE_DRAW
diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm
index 71880ca14c6..7f7651ec1d7 100644
--- a/code/modules/recycling/conveyor2.dm
+++ b/code/modules/recycling/conveyor2.dm
@@ -150,7 +150,7 @@
return ..()
// attack with hand, move pulled object onto conveyor
-/obj/machinery/conveyor/attack_hand(mob/user as mob)
+/obj/machinery/conveyor/attack_hand(mob/user, list/params)
if ((!( user.canmove ) || user.restrained() || !( user.pulling )))
return
if (user.pulling.anchored)
@@ -255,7 +255,7 @@
C.setmove()
// attack with hand, switch position
-/obj/machinery/conveyor_switch/attack_hand(mob/user)
+/obj/machinery/conveyor_switch/attack_hand(mob/user, list/params)
if(!allowed(user))
to_chat(user, "Access denied.")
return
@@ -316,7 +316,7 @@
desc = "A conveyor control switch. It appears to only go in one direction."
// attack with hand, switch position
-/obj/machinery/conveyor_switch/oneway/attack_hand(mob/user)
+/obj/machinery/conveyor_switch/oneway/attack_hand(mob/user, list/params)
if(position == 0)
position = convdir
else
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index d5ab69b3e39..deff40689f9 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -217,7 +217,7 @@
interact(user, 1)
// human interact with machine
-/obj/machinery/disposal/attack_hand(mob/user as mob)
+/obj/machinery/disposal/attack_hand(mob/user, list/params)
if(machine_stat & BROKEN)
return
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index b786a9e1fa5..bf121d2b163 100644
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -13,7 +13,7 @@
var/label_x
var/tag_x
-/obj/structure/bigDelivery/attack_hand(mob/user as mob)
+/obj/structure/bigDelivery/attack_hand(mob/user, list/params)
unwrap()
/obj/structure/bigDelivery/proc/unwrap()
@@ -129,7 +129,10 @@
var/nameset = 0
var/tag_x
-/obj/item/smallDelivery/attack_self(mob/user as mob)
+/obj/item/smallDelivery/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if (src.wrapped) //sometimes items can disappear. For example, bombs. --rastaf0
wrapped.loc = user.loc
if(ishuman(user))
@@ -343,7 +346,10 @@
return data
-/obj/item/destTagger/attack_self(mob/user as mob)
+/obj/item/destTagger/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
ui_interact(user)
/obj/item/destTagger/ui_act(action, params)
diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm
index 693b923ca75..09831dd0e55 100644
--- a/code/modules/research/message_server.dm
+++ b/code/modules/research/message_server.dm
@@ -134,7 +134,7 @@ var/global/list/obj/machinery/message_server/message_servers = list()
Console.set_light(2)
-/obj/machinery/message_server/attack_hand(user as mob)
+/obj/machinery/message_server/attack_hand(mob/user, list/params)
// to_chat(user, "There seem to be some parts missing from this server. They should arrive on the station in a few days, give or take a few CentCom delays.")
to_chat(user, "You toggle PDA message passing from [active ? "On" : "Off"] to [active ? "Off" : "On"]")
active = !active
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index 14fd66f8f77..94120753abf 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -165,7 +165,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += ""
return dat.Join()
-/obj/machinery/computer/rdconsole/attack_hand(mob/user as mob)
+/obj/machinery/computer/rdconsole/attack_hand(mob/user, list/params)
if(machine_stat & (BROKEN|NOPOWER))
return
ui_interact(user)
diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm
index edb678cc028..beb9366b790 100644
--- a/code/modules/research/rdmachines.dm
+++ b/code/modules/research/rdmachines.dm
@@ -14,7 +14,7 @@
var/list/materials = list() // Materials this machine can accept.
var/list/hidden_materials = list() // Materials this machine will not display, unless it contains them. Must be in the materials list as well.
-/obj/machinery/r_n_d/attack_hand(mob/user as mob)
+/obj/machinery/r_n_d/attack_hand(mob/user, list/params)
return
/obj/machinery/r_n_d/proc/getMaterialType(var/name)
diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm
index 43546e87b2f..e7455ff7ee1 100644
--- a/code/modules/research/server.dm
+++ b/code/modules/research/server.dm
@@ -288,7 +288,7 @@
target.files.known_tech |= from.files.known_tech
return TRUE
-/obj/machinery/computer/rdservercontrol/attack_hand(mob/user as mob)
+/obj/machinery/computer/rdservercontrol/attack_hand(mob/user, list/params)
if(machine_stat & (BROKEN|NOPOWER))
return
ui_interact(user)
diff --git a/code/modules/resleeving/computers.dm b/code/modules/resleeving/computers.dm
index 2d3ac24f2c7..7b7f1c4af76 100644
--- a/code/modules/resleeving/computers.dm
+++ b/code/modules/resleeving/computers.dm
@@ -135,7 +135,7 @@
/obj/machinery/computer/transhuman/resleeving/attack_ai(mob/user as mob)
return attack_hand(user)
-/obj/machinery/computer/transhuman/resleeving/attack_hand(mob/user as mob)
+/obj/machinery/computer/transhuman/resleeving/attack_hand(mob/user, list/params)
user.set_machine(src)
add_fingerprint(user)
@@ -431,12 +431,15 @@
icon_state = "cmoemergency"
item_state = "card-id"
-/obj/item/cmo_disk_holder/attack_self(var/mob/attacker)
+/obj/item/cmo_disk_holder/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
playsound(src, 'sound/items/poster_ripped.ogg', 50)
- to_chat(attacker, "You tear open \the [name].")
- attacker.temporarily_remove_from_inventory(src, INV_OP_FORCE | INV_OP_SHOULD_NOT_INTERCEPT | INV_OP_SILENT)
+ to_chat(user, "You tear open \the [name].")
+ user.temporarily_remove_from_inventory(src, INV_OP_FORCE | INV_OP_SHOULD_NOT_INTERCEPT | INV_OP_SILENT)
var/obj/item/disk/transcore/newdisk = new(get_turf(src))
- attacker.put_in_hands_or_drop(newdisk)
+ user.put_in_hands_or_drop(newdisk)
qdel(src)
/obj/item/disk/transcore
diff --git a/code/modules/resleeving/implant.dm b/code/modules/resleeving/implant.dm
index f7f940eb6dd..5e810aebe5c 100644
--- a/code/modules/resleeving/implant.dm
+++ b/code/modules/resleeving/implant.dm
@@ -62,7 +62,10 @@
icon_state = "[initial(icon_state)][imps.len]"
germ_level = 0
-/obj/item/backup_implanter/attack_self(mob/user as mob)
+/obj/item/backup_implanter/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(!istype(user))
return
diff --git a/code/modules/resleeving/infomorph.dm b/code/modules/resleeving/infomorph.dm
index f65daebd29f..cd027cc7ede 100644
--- a/code/modules/resleeving/infomorph.dm
+++ b/code/modules/resleeving/infomorph.dm
@@ -339,7 +339,7 @@ var/list/infomorph_emotions = list(
if(stat != 2) close_up()
return
-/mob/living/silicon/infomorph/attack_hand(mob/user as mob)
+/mob/living/silicon/infomorph/attack_hand(mob/user, list/params)
visible_message("[user.name] boops [src] on the head.")
close_up()
diff --git a/code/modules/resleeving/machines.dm b/code/modules/resleeving/machines.dm
index 2fc654096ef..4625967ce41 100644
--- a/code/modules/resleeving/machines.dm
+++ b/code/modules/resleeving/machines.dm
@@ -342,7 +342,7 @@
return 1
-/obj/machinery/transhuman/synthprinter/attack_hand(mob/user)
+/obj/machinery/transhuman/synthprinter/attack_hand(mob/user, list/params)
if((busy == 0) || (machine_stat & NOPOWER))
return
to_chat(user, "Current print cycle is [busy]% complete.")
@@ -432,7 +432,7 @@
manip_rating += M.rating
blur_amount = (48 - manip_rating * 8)
-/obj/machinery/transhuman/resleever/attack_hand(mob/user)
+/obj/machinery/transhuman/resleever/attack_hand(mob/user, list/params)
user.set_machine(src)
var/health_text = ""
var/mind_text = ""
diff --git a/code/modules/resleeving/mirror.dm b/code/modules/resleeving/mirror.dm
index 7ed6f2c2251..cbd67adcce7 100644
--- a/code/modules/resleeving/mirror.dm
+++ b/code/modules/resleeving/mirror.dm
@@ -166,7 +166,10 @@
to_chat(usr, "You must target the torso.")
return CLICKCHAIN_DO_NOT_PROPAGATE
-/obj/item/mirrortool/attack_self(var/mob/user)
+/obj/item/mirrortool/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(!imp)
to_chat(usr, "No mirror is loaded.")
else
diff --git a/code/modules/resleeving/sleevecard.dm b/code/modules/resleeving/sleevecard.dm
index 0e339e45bc9..650e3408463 100644
--- a/code/modules/resleeving/sleevecard.dm
+++ b/code/modules/resleeving/sleevecard.dm
@@ -42,6 +42,9 @@
return ..()
/obj/item/sleevecard/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
add_fingerprint(user)
if(!infomorph)
diff --git a/code/modules/rigsuits/rig_attackby.dm b/code/modules/rigsuits/rig_attackby.dm
index b4f60f37c2f..541277cecfa 100644
--- a/code/modules/rigsuits/rig_attackby.dm
+++ b/code/modules/rigsuits/rig_attackby.dm
@@ -172,7 +172,7 @@
..()
-/obj/item/rig/attack_hand(var/mob/user)
+/obj/item/rig/attack_hand(mob/user, list/params)
if(electrified != 0)
if(shock(user)) //Handles removing charge from the cell, as well. No need to do that here.
diff --git a/code/modules/rigsuits/rig_pieces.dm b/code/modules/rigsuits/rig_pieces.dm
index cfbaf2579c3..ee322c55dc5 100644
--- a/code/modules/rigsuits/rig_pieces.dm
+++ b/code/modules/rigsuits/rig_pieces.dm
@@ -164,12 +164,12 @@
SPECIES_ZORREN_HIGH,
)
-/obj/item/clothing/suit/space/rig/attack_hand(mob/living/M)
+/obj/item/clothing/suit/space/rig/attack_hand(mob/user, list/params)
if(tacknife)
tacknife.loc = get_turf(src)
- if(M.put_in_active_hand(tacknife))
- to_chat(M, SPAN_NOTICE("You slide \the [tacknife] out of [src]."))
- playsound(M, 'sound/weapons/flipblade.ogg', 40, TRUE)
+ if(user.put_in_active_hand(tacknife))
+ to_chat(user, SPAN_NOTICE("You slide \the [tacknife] out of [src]."))
+ playsound(user, 'sound/weapons/flipblade.ogg', 40, TRUE)
tacknife = null
update_icon()
return
diff --git a/code/modules/rigsuits/suits/ert.dm b/code/modules/rigsuits/suits/ert.dm
index 011fb51bb33..34a5878233b 100644
--- a/code/modules/rigsuits/suits/ert.dm
+++ b/code/modules/rigsuits/suits/ert.dm
@@ -115,7 +115,10 @@
/obj/item/rig_module/self_destruct
)
-/obj/item/rig/ert/para/attack_self(mob/user as mob)
+/obj/item/rig/ert/para/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(user.mind.isholy && !anti_magic && !emp_proof && !blessed)
anti_magic = TRUE
blessed = TRUE
diff --git a/code/modules/rogueminer_vr/zone_console.dm b/code/modules/rogueminer_vr/zone_console.dm
index 804cb4a6f8d..635a3e7b8b3 100644
--- a/code/modules/rogueminer_vr/zone_console.dm
+++ b/code/modules/rogueminer_vr/zone_console.dm
@@ -32,7 +32,7 @@
/obj/machinery/computer/roguezones/attack_ai(mob/user as mob)
return attack_hand(user)
-/obj/machinery/computer/roguezones/attack_hand(mob/user as mob)
+/obj/machinery/computer/roguezones/attack_hand(mob/user, list/params)
add_fingerprint(user)
if(machine_stat & (BROKEN|NOPOWER))
return
diff --git a/code/modules/security levels/keycard authentication.dm b/code/modules/security levels/keycard authentication.dm
index 6660ce45235..526f672973d 100644
--- a/code/modules/security levels/keycard authentication.dm
+++ b/code/modules/security levels/keycard authentication.dm
@@ -68,7 +68,7 @@
if(machine_stat & NOPOWER)
icon_state = "auth_off"
-/obj/machinery/keycard_auth/attack_hand(mob/user as mob)
+/obj/machinery/keycard_auth/attack_hand(mob/user, list/params)
if(user.stat || machine_stat & (NOPOWER|BROKEN))
to_chat(user, "This device is not powered.")
return
diff --git a/code/modules/shieldgen/directional_shield.dm b/code/modules/shieldgen/directional_shield.dm
index 4ca93719d90..eee94ed5a7c 100644
--- a/code/modules/shieldgen/directional_shield.dm
+++ b/code/modules/shieldgen/directional_shield.dm
@@ -206,7 +206,10 @@
for(var/obj/effect/directional_shield/S in active_shields)
S.update_color(new_color)
-/obj/item/shield_projector/attack_self(var/mob/living/user)
+/obj/item/shield_projector/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(active)
if(always_on)
to_chat(user, "You can't seem to deactivate \the [src].")
@@ -398,7 +401,10 @@
else
my_tool.set_ready_state(1)
-/obj/item/shield_projector/line/exosuit/attack_self(var/mob/living/user)
+/obj/item/shield_projector/line/exosuit/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(active)
if(always_on)
to_chat(user, "You can't seem to deactivate \the [src].")
diff --git a/code/modules/shieldgen/emergency_shield.dm b/code/modules/shieldgen/emergency_shield.dm
index 07808ee1fed..c5e3cf38c6d 100644
--- a/code/modules/shieldgen/emergency_shield.dm
+++ b/code/modules/shieldgen/emergency_shield.dm
@@ -250,7 +250,7 @@
malfunction = 1
checkhp()
-/obj/machinery/shieldgen/attack_hand(mob/user as mob)
+/obj/machinery/shieldgen/attack_hand(mob/user, list/params)
if(locked)
to_chat(user, "The machine is locked, you are unable to use it.")
return
diff --git a/code/modules/shieldgen/energy_field.dm b/code/modules/shieldgen/energy_field.dm
index f70ed205a0f..2e55ed0cc9b 100644
--- a/code/modules/shieldgen/energy_field.dm
+++ b/code/modules/shieldgen/energy_field.dm
@@ -64,7 +64,7 @@
/obj/effect/energy_field/take_damage(var/damage)
adjust_strength(-damage / 20)
-/obj/effect/energy_field/attack_hand(var/mob/living/user)
+/obj/effect/energy_field/attack_hand(mob/user, list/params)
impact_effect(3) // Harmless, but still produces the 'impact' effect.
..()
diff --git a/code/modules/shieldgen/energy_shield.dm b/code/modules/shieldgen/energy_shield.dm
index 599008b7e96..8c2660516e5 100644
--- a/code/modules/shieldgen/energy_shield.dm
+++ b/code/modules/shieldgen/energy_shield.dm
@@ -162,7 +162,7 @@
animate(src, alpha = initial(alpha), time = 1 SECOND)
// Just for fun
-/obj/effect/shield/attack_hand(var/user)
+/obj/effect/shield/attack_hand(mob/user, list/params)
flash_adjacent_segments(3)
/obj/effect/shield/take_damage(var/damage, var/damtype, var/hitby)
diff --git a/code/modules/shieldgen/handheld_defuser.dm b/code/modules/shieldgen/handheld_defuser.dm
index 4b3a10b827b..6096935b74c 100644
--- a/code/modules/shieldgen/handheld_defuser.dm
+++ b/code/modules/shieldgen/handheld_defuser.dm
@@ -45,6 +45,9 @@
icon_state = "hdiffuser_off"
/obj/item/shield_diffuser/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
enabled = !enabled
update_icon()
if(enabled)
@@ -58,7 +61,7 @@
to_chat(user, "The charge meter reads [cell ? cell.percent() : 0]%")
to_chat(user, "It is [enabled ? "enabled" : "disabled"].")
-/obj/item/shield_diffuser/attack_hand(mob/user as mob)
+/obj/item/shield_diffuser/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src)
if(cell)
cell.update_icon()
diff --git a/code/modules/shieldgen/sheldwallgen.dm b/code/modules/shieldgen/sheldwallgen.dm
index 350bc5fb850..d3579d64018 100644
--- a/code/modules/shieldgen/sheldwallgen.dm
+++ b/code/modules/shieldgen/sheldwallgen.dm
@@ -25,7 +25,7 @@
var/max_stored_power = 50000 //50 kW
use_power = USE_POWER_OFF //Draws directly from power net. Does not use APC power.
-/obj/machinery/shieldwallgen/attack_hand(mob/user as mob)
+/obj/machinery/shieldwallgen/attack_hand(mob/user, list/params)
if(state != 1)
to_chat(user, "The shield generator needs to be firmly secured to the floor first.")
return 1
@@ -257,7 +257,7 @@
update_nearby_tiles()
..()
-/obj/machinery/shieldwall/attack_hand(mob/user as mob)
+/obj/machinery/shieldwall/attack_hand(mob/user, list/params)
return
diff --git a/code/modules/shieldgen/shield_capacitor.dm b/code/modules/shieldgen/shield_capacitor.dm
index 9b9b14bb25c..4136e694e42 100644
--- a/code/modules/shieldgen/shield_capacitor.dm
+++ b/code/modules/shieldgen/shield_capacitor.dm
@@ -67,7 +67,7 @@
else
..()
-/obj/machinery/shield_capacitor/attack_hand(mob/user)
+/obj/machinery/shield_capacitor/attack_hand(mob/user, list/params)
if(machine_stat & (BROKEN))
return
interact(user)
diff --git a/code/modules/shieldgen/shield_diffuser.dm b/code/modules/shieldgen/shield_diffuser.dm
index 1260136efa5..1cd44cceb38 100644
--- a/code/modules/shieldgen/shield_diffuser.dm
+++ b/code/modules/shieldgen/shield_diffuser.dm
@@ -59,7 +59,7 @@
else
icon_state = "fdiffuser_on"
-/obj/machinery/shield_diffuser/attack_hand(mob/user as mob)
+/obj/machinery/shield_diffuser/attack_hand(mob/user, list/params)
if((. = ..()))
return
if(alarm)
diff --git a/code/modules/shieldgen/shield_gen.dm b/code/modules/shieldgen/shield_gen.dm
index 970d893ebc0..e8990524486 100644
--- a/code/modules/shieldgen/shield_gen.dm
+++ b/code/modules/shieldgen/shield_gen.dm
@@ -94,7 +94,7 @@
/obj/machinery/shield_gen/attack_ai(user as mob)
return src.attack_hand(user)
-/obj/machinery/shield_gen/attack_hand(mob/user)
+/obj/machinery/shield_gen/attack_hand(mob/user, list/params)
if(machine_stat & (BROKEN))
return
interact(user)
diff --git a/code/modules/shieldgen/shield_generator.dm b/code/modules/shieldgen/shield_generator.dm
index 5bd723d914b..a15aa5ccd3c 100644
--- a/code/modules/shieldgen/shield_generator.dm
+++ b/code/modules/shieldgen/shield_generator.dm
@@ -435,7 +435,7 @@
return data
-/obj/machinery/power/shield_generator/attack_hand(mob/user)
+/obj/machinery/power/shield_generator/attack_hand(mob/user, list/params)
if((. = ..()))
return
if(panel_open && Adjacent(user))
diff --git a/code/modules/shuttles/landmarks.dm b/code/modules/shuttles/landmarks.dm
index ee23f63d1fc..4634e61d209 100644
--- a/code/modules/shuttles/landmarks.dm
+++ b/code/modules/shuttles/landmarks.dm
@@ -167,7 +167,10 @@
light_color = "#3728ff"
var/active
-/obj/item/spaceflare/attack_self(var/mob/user)
+/obj/item/spaceflare/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(!active)
visible_message("[user] pulls the cord, activating the [src].")
activate()
diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm
index cd72a3a0a90..cf6e03626ab 100644
--- a/code/modules/shuttles/shuttle_console.dm
+++ b/code/modules/shuttles/shuttle_console.dm
@@ -11,7 +11,7 @@
var/skip_act = FALSE
var/tgui_subtemplate = "ShuttleControlConsoleDefault"
-/obj/machinery/computer/shuttle_control/attack_hand(user as mob)
+/obj/machinery/computer/shuttle_control/attack_hand(mob/user, list/params)
if(..(user))
return
if(!allowed(user))
diff --git a/code/modules/species/protean/protean_blob.dm b/code/modules/species/protean/protean_blob.dm
index 555a21e442a..016160c3159 100644
--- a/code/modules/species/protean/protean_blob.dm
+++ b/code/modules/species/protean/protean_blob.dm
@@ -260,7 +260,10 @@
else
return ..()
-/mob/living/simple_mob/protean_blob/attack_hand(mob/living/L)
+/mob/living/simple_mob/protean_blob/attack_hand(mob/user, list/params)
+ var/mob/living/L = user
+ if(!istype(L))
+ return
if(L.get_effective_size() >= (src.get_effective_size() + 0.5) )
src.get_scooped(L)
else
diff --git a/code/modules/species/station/xenomorph_hybrids/hybrid_resin.dm b/code/modules/species/station/xenomorph_hybrids/hybrid_resin.dm
index 830f50bfd2f..c1ca94cc79a 100644
--- a/code/modules/species/station/xenomorph_hybrids/hybrid_resin.dm
+++ b/code/modules/species/station/xenomorph_hybrids/hybrid_resin.dm
@@ -218,7 +218,7 @@
health = max(0, health - tforce)
healthcheck()
-/obj/effect/alien/hybrid_resin/attack_hand()
+/obj/effect/alien/hybrid_resin/attack_hand(mob/user, list/params)
usr.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
if (MUTATION_HULK in usr.mutations)
to_chat(usr, "You easily destroy the [name].")
diff --git a/code/modules/species/xenomorphs/alien_facehugger.dm b/code/modules/species/xenomorphs/alien_facehugger.dm
index 1c4e9559417..11636b09b95 100644
--- a/code/modules/species/xenomorphs/alien_facehugger.dm
+++ b/code/modules/species/xenomorphs/alien_facehugger.dm
@@ -30,7 +30,7 @@ var/const/MAX_ACTIVE_TIME = 400
var/strength = 5
var/attached = 0
-/obj/item/clothing/mask/facehugger/attack_hand(user as mob)
+/obj/item/clothing/mask/facehugger/attack_hand(mob/user, list/params)
if((stat == CONSCIOUS && !sterile))
if(Attach(user))
return
@@ -312,7 +312,7 @@ var/const/MAX_ACTIVE_TIME = 400
var/strength = 5
var/attached = 0
-/mob/living/simple_mob/animal/space/alien/facehugger/attack_hand(user as mob)
+/mob/living/simple_mob/animal/space/alien/facehugger/attack_hand(mob/user, list/params)
if((stat == CONSCIOUS && !sterile))
if(Attach(user))
diff --git a/code/modules/spells/artifacts.dm b/code/modules/spells/artifacts.dm
index 0ddb3af05b4..4228e582920 100644
--- a/code/modules/spells/artifacts.dm
+++ b/code/modules/spells/artifacts.dm
@@ -12,7 +12,10 @@
force = 10
hitsound = 'sound/items/welder2.ogg'
-/obj/item/scrying/attack_self(mob/user as mob)
+/obj/item/scrying/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if((user.mind && !wizards.is_antagonist(user.mind)))
to_chat(user, "You stare into the orb and see nothing but your own reflection.")
return
@@ -46,6 +49,9 @@
var/spawn_fast = 0 //if 1, ignores checking for mobs on loc before spawning
/obj/item/veilrender/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(charges > 0)
new /obj/effect/rend(get_turf(user), spawn_type, spawn_amt, rend_desc, spawn_fast)
charges--
@@ -276,6 +282,9 @@
user.unset_machine()
/obj/item/voodoo/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(!target && length(possible))
target = input(user, "Select your victim!", "Voodoo") as null|anything in possible
return
@@ -375,7 +384,10 @@
REMOVE_TRAIT(user, TRAIT_MOBILITY_NOPICKUP, src)
user.update_mobility()
-/obj/item/warpwhistle/attack_self(mob/living/carbon/user)
+/obj/item/warpwhistle/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(!istype(user) || on_cooldown)
return
var/turf/T = get_turf(user)
diff --git a/code/modules/spells/spellbook.dm b/code/modules/spells/spellbook.dm
index 194c8f955f6..7eec3368fd1 100644
--- a/code/modules/spells/spellbook.dm
+++ b/code/modules/spells/spellbook.dm
@@ -254,7 +254,10 @@
. = ..()
name += spellname
-/obj/item/spellbook/oneuse/attack_self(mob/user as mob)
+/obj/item/spellbook/oneuse/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
var/spell/S = new spell(user)
for(var/spell/knownspell in user.spell_list)
if(knownspell.type == S.type)
diff --git a/code/modules/stockmarket/computer.dm b/code/modules/stockmarket/computer.dm
index d6002b9ece5..90457b111f6 100644
--- a/code/modules/stockmarket/computer.dm
+++ b/code/modules/stockmarket/computer.dm
@@ -13,7 +13,7 @@
. = ..()
logged_in = "Cargo Department"
-/obj/machinery/computer/stockexchange/attack_hand(mob/user)
+/obj/machinery/computer/stockexchange/attack_hand(mob/user, list/params)
if(..(user))
return
diff --git a/code/modules/tables/interactions.dm b/code/modules/tables/interactions.dm
index 85a65f18344..24e9e770c7a 100644
--- a/code/modules/tables/interactions.dm
+++ b/code/modules/tables/interactions.dm
@@ -55,7 +55,7 @@
return 1
return 1
-/obj/structure/table/attackby(obj/item/W, mob/user, params)
+/obj/structure/table/attackby(obj/item/W, mob/user, list/params)
// Handle harm intent grabbing/tabling.
if(istype(W, /obj/item/grab) && get_dist(src,user)<2)
var/obj/item/grab/G = W
@@ -135,13 +135,12 @@
if(!user.transfer_item_to_loc(W, loc))
return
if(item_pixel_place)
- var/list/click_params = params2list(params)
//Center the icon where the user clicked.
- if(!click_params || !click_params["icon-x"] || !click_params["icon-y"])
+ if(!params || !params["icon-x"] || !params["icon-y"])
return
//Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf)
- W.pixel_x = clamp(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2)
- W.pixel_y = clamp(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2)
+ W.pixel_x = clamp(text2num(params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2)
+ W.pixel_y = clamp(text2num(params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2)
return
return ..()
diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm
index 8df9b0d5bbe..1107643551f 100644
--- a/code/modules/tables/tables.dm
+++ b/code/modules/tables/tables.dm
@@ -182,7 +182,7 @@ var/list/table_icon_cache = list()
return ..()
-/obj/structure/table/attack_hand(mob/user as mob)
+/obj/structure/table/attack_hand(mob/user, list/params)
if(istype(user, /mob/living/carbon/human))
var/mob/living/carbon/human/X = user
if(istype(X.species, /datum/species/xenos))
diff --git a/code/modules/telesci/bscyrstal.dm b/code/modules/telesci/bscyrstal.dm
index ed7d3cfc95e..74ec03d84bd 100644
--- a/code/modules/telesci/bscyrstal.dm
+++ b/code/modules/telesci/bscyrstal.dm
@@ -15,6 +15,9 @@
pixel_y = rand(-5, 5)
/obj/item/ore/bluespace_crystal/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
user.visible_message("[user] crushes [src]!", "You crush [src]!")
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread()
s.set_up(5, 1, get_turf(src))
diff --git a/code/modules/telesci/hyper_pad.dm b/code/modules/telesci/hyper_pad.dm
index 6c6fc8f5e15..8777f64c7dc 100644
--- a/code/modules/telesci/hyper_pad.dm
+++ b/code/modules/telesci/hyper_pad.dm
@@ -54,7 +54,7 @@
if(primary)
primary.attack_ghost(ghost)
-/obj/machinery/hyperpad/centre/attack_hand(mob/user)
+/obj/machinery/hyperpad/centre/attack_hand(mob/user, list/params)
. = ..()
if(.)
return
@@ -75,7 +75,7 @@
src.add_fingerprint(user)
startteleport(user)
-/obj/machinery/hyperpad/attack_hand(mob/user)
+/obj/machinery/hyperpad/attack_hand(mob/user, list/params)
. = ..()
if(primary)
primary.attack_hand(user)
diff --git a/code/modules/telesci/quantum_pad.dm b/code/modules/telesci/quantum_pad.dm
index 64b2eb1abea..24c18d548c2 100644
--- a/code/modules/telesci/quantum_pad.dm
+++ b/code/modules/telesci/quantum_pad.dm
@@ -46,7 +46,7 @@
teleport_cooldown = initial(teleport_cooldown)
teleport_cooldown -= (E * 100)
-/obj/machinery/power/quantumpad/attackby(obj/item/I, mob/user, params)
+/obj/machinery/power/quantumpad/attackby(obj/item/I, mob/user)
if(default_deconstruction_screwdriver(user, I))
return
@@ -79,7 +79,7 @@
else
icon_state = initial(icon_state)
-/obj/machinery/power/quantumpad/attack_hand(mob/user)
+/obj/machinery/power/quantumpad/attack_hand(mob/user, list/params)
. = ..()
if(.)
return
diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm
index 68f7c14cf6b..1f09bda5acc 100644
--- a/code/modules/telesci/telesci_computer.dm
+++ b/code/modules/telesci/telesci_computer.dm
@@ -77,7 +77,7 @@
/obj/machinery/computer/telescience/attack_ai(mob/user)
src.attack_hand(user)
-/obj/machinery/computer/telescience/attack_hand(mob/user)
+/obj/machinery/computer/telescience/attack_hand(mob/user, list/params)
if(..())
return
nano_ui_interact(user)
diff --git a/code/modules/turbolift/turbolift_console.dm b/code/modules/turbolift/turbolift_console.dm
index 13958086e76..782afd39a58 100644
--- a/code/modules/turbolift/turbolift_console.dm
+++ b/code/modules/turbolift/turbolift_console.dm
@@ -39,7 +39,7 @@
/obj/structure/lift/attack_generic(var/mob/user)
return attack_hand(user)
-/obj/structure/lift/attack_hand(var/mob/user)
+/obj/structure/lift/attack_hand(mob/user, list/params)
return interact(user)
/obj/structure/lift/interact(var/mob/user)
diff --git a/code/modules/vehicles/ridden/wheelchair.dm b/code/modules/vehicles/ridden/wheelchair.dm
index d7720ddcb1a..57aa7c1d482 100644
--- a/code/modules/vehicles/ridden/wheelchair.dm
+++ b/code/modules/vehicles/ridden/wheelchair.dm
@@ -53,11 +53,14 @@
var/unfolded_type = /obj/vehicle/ridden/wheelchair
/obj/item/wheelchair/attack_self(mob/user)
- var/obj/vehicle/ridden/wheelchair/R = new /obj/vehicle/ridden/wheelchair(user.loc)
- R.add_fingerprint(user)
- R.name = src.name
- R.color = src.color
- qdel(src)
+ . = ..()
+ if(.)
+ return
+ var/obj/vehicle/ridden/wheelchair/R = new /obj/vehicle/ridden/wheelchair(user.loc)
+ R.add_fingerprint(user)
+ R.name = src.name
+ R.color = src.color
+ qdel(src)
/obj/vehicle/ridden/wheelchair/OnMouseDropLegacy(over_object, src_location, over_location)
..()
diff --git a/code/modules/vehicles_legacy/bike.dm b/code/modules/vehicles_legacy/bike.dm
index 0d24ef371c4..8f31500fb0d 100644
--- a/code/modules/vehicles_legacy/bike.dm
+++ b/code/modules/vehicles_legacy/bike.dm
@@ -120,7 +120,7 @@
return CLICKCHAIN_DO_NOT_PROPAGATE
return CLICKCHAIN_DO_NOT_PROPAGATE
-/obj/vehicle_old/bike/attack_hand(var/mob/user as mob)
+/obj/vehicle_old/bike/attack_hand(mob/user, list/params)
if(user == load)
unload(load, user)
to_chat(user, "You unbuckle yourself from \the [src].")
diff --git a/code/modules/vehicles_legacy/skateboard.dm b/code/modules/vehicles_legacy/skateboard.dm
index 8b4dbc471ed..abee64eb3df 100644
--- a/code/modules/vehicles_legacy/skateboard.dm
+++ b/code/modules/vehicles_legacy/skateboard.dm
@@ -47,7 +47,7 @@
return CLICKCHAIN_DO_NOT_PROPAGATE
return CLICKCHAIN_DO_NOT_PROPAGATE
-/obj/vehicle_old/skateboard/attack_hand(var/mob/user as mob)
+/obj/vehicle_old/skateboard/attack_hand(mob/user, list/params)
if(user == load)
unbuckle_mob(load, user)
to_chat(user, "You unbuckle yourself from \the [src].")
diff --git a/code/modules/vehicles_legacy/train.dm b/code/modules/vehicles_legacy/train.dm
index 7b2e4186cfa..8b77caaf7d0 100644
--- a/code/modules/vehicles_legacy/train.dm
+++ b/code/modules/vehicles_legacy/train.dm
@@ -116,7 +116,7 @@
return CLICKCHAIN_DO_NOT_PROPAGATE
return CLICKCHAIN_DO_NOT_PROPAGATE
-/obj/vehicle_old/train/attack_hand(mob/user as mob)
+/obj/vehicle_old/train/attack_hand(mob/user, list/params)
if(user.stat || user.restrained() || !Adjacent(user))
return 0
diff --git a/code/modules/virus2/curer.dm b/code/modules/virus2/curer.dm
index 6dadb766cc8..4263e11d745 100644
--- a/code/modules/virus2/curer.dm
+++ b/code/modules/virus2/curer.dm
@@ -36,7 +36,7 @@
/obj/machinery/computer/curer/attack_ai(var/mob/user as mob)
return src.attack_hand(user)
-/obj/machinery/computer/curer/attack_hand(var/mob/user as mob)
+/obj/machinery/computer/curer/attack_hand(mob/user, list/params)
if(..())
return
user.machine = src
diff --git a/code/modules/virus2/diseasesplicer.dm b/code/modules/virus2/diseasesplicer.dm
index 8855a8d8eb5..4541157455b 100644
--- a/code/modules/virus2/diseasesplicer.dm
+++ b/code/modules/virus2/diseasesplicer.dm
@@ -38,7 +38,7 @@
/obj/machinery/computer/diseasesplicer/attack_ai(var/mob/user as mob)
return src.attack_hand(user)
-/obj/machinery/computer/diseasesplicer/attack_hand(var/mob/user as mob)
+/obj/machinery/computer/diseasesplicer/attack_hand(mob/user, list/params)
if(..())
return TRUE
ui_interact(user)
diff --git a/code/modules/virus2/dishincubator.dm b/code/modules/virus2/dishincubator.dm
index 2649f39cf3d..df4e6ab9435 100644
--- a/code/modules/virus2/dishincubator.dm
+++ b/code/modules/virus2/dishincubator.dm
@@ -45,7 +45,7 @@
src.attack_hand(user)
-/obj/machinery/disease2/incubator/attack_hand(mob/user)
+/obj/machinery/disease2/incubator/attack_hand(mob/user, list/params)
if(machine_stat & (NOPOWER|BROKEN))
return
nano_ui_interact(user)
diff --git a/code/modules/virus2/isolator.dm b/code/modules/virus2/isolator.dm
index a1839d5dbef..c4b98f30f33 100644
--- a/code/modules/virus2/isolator.dm
+++ b/code/modules/virus2/isolator.dm
@@ -41,7 +41,7 @@
src.attack_hand(user)
-/obj/machinery/disease2/isolator/attack_hand(mob/user)
+/obj/machinery/disease2/isolator/attack_hand(mob/user, list/params)
if(machine_stat & (NOPOWER|BROKEN))
return
ui_interact(user)
diff --git a/code/modules/vore/eating/leave_remains_vr.dm b/code/modules/vore/eating/leave_remains_vr.dm
index ea59db967db..b573c6e5e3f 100644
--- a/code/modules/vore/eating/leave_remains_vr.dm
+++ b/code/modules/vore/eating/leave_remains_vr.dm
@@ -91,6 +91,9 @@
pred_name = pred.name
/obj/item/digestion_remains/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(user.a_intent == INTENT_HARM)
to_chat(user,"As you squeeze the [name], it crumbles into dust and falls apart into nothing!")
qdel(src)
diff --git a/code/modules/vore/fluffstuff/custom_guns.dm b/code/modules/vore/fluffstuff/custom_guns.dm
index 7b20bbbf9c2..fe88e3d7f2b 100644
--- a/code/modules/vore/fluffstuff/custom_guns.dm
+++ b/code/modules/vore/fluffstuff/custom_guns.dm
@@ -150,7 +150,7 @@
chambered = AC
update_icon()
-/obj/item/gun/ballistic/revolver/mateba/fluff/tasald_corlethian/attack_hand(mob/user as mob)
+/obj/item/gun/ballistic/revolver/mateba/fluff/tasald_corlethian/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src)
unload_ammo(user, allow_dump = 1)
else
diff --git a/code/modules/vore/fluffstuff/custom_items.dm b/code/modules/vore/fluffstuff/custom_items.dm
index 7c68e314247..2be982358a9 100644
--- a/code/modules/vore/fluffstuff/custom_items.dm
+++ b/code/modules/vore/fluffstuff/custom_items.dm
@@ -139,7 +139,10 @@
assignment = "Centcom Officer"
-/obj/item/card/id/centcom/station/fluff/joanbadge/attack_self(mob/user as mob)
+/obj/item/card/id/centcom/station/fluff/joanbadge/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(isliving(user))
user.visible_message("[user] flashes their golden security badge.\nIt reads:NT Security.","You display the faded badge.\nIt reads: NT Security.")
@@ -208,7 +211,10 @@
icon_override = 'icons/vore/custom_items_vr.dmi'
item_state = "Flag_Nanotrasen_mob"
-/obj/item/flag/attack_self(mob/user as mob)
+/obj/item/flag/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(isliving(user))
user.visible_message("[user] waves their Banner around!","You wave your Banner around.")
@@ -326,7 +332,10 @@
assignment = "CC Medical"
var/configured = 0
-/obj/item/card/id/centcom/station/fluff/aronai/attack_self(mob/user as mob)
+/obj/item/card/id/centcom/station/fluff/aronai/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(configured)
return ..()
@@ -436,7 +445,10 @@
if((state > 1) || !owner)
STOP_PROCESSING(SSobj, src)
-/obj/item/clothing/accessory/collar/vmcrystal/attack_self(mob/user as mob)
+/obj/item/clothing/accessory/collar/vmcrystal/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(state > 0) //Can't re-pair, one time only, for security reasons.
to_chat(user, "The [name] doesn't do anything.")
return 0
@@ -556,6 +568,9 @@
var/cooldown = 30
/obj/item/cane/wand/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(last_use + cooldown >= world.time)
return
playsound(src, 'sound/weapons/sparkle.ogg', 50, 1)
@@ -677,6 +692,9 @@
w_class = ITEMSIZE_SMALL
/obj/item/fluff/dragor_dot/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(user.ckey == "pontifexminimus")
add_verb(user, /mob/living/carbon/human/proc/shapeshifter_select_gender)
else
@@ -704,7 +722,10 @@
desc = "A primarily blue ID with a holographic 'WAH' etched onto its back. The letters do not obscure anything important on the card. It is shiny and it feels very bumpy."
var/title_strings = list("Amaya Rahl's Wah-identification card", "Amaya Rahl's Wah-ID card")
-/obj/item/card/id/fluff/amaya/attack_self(mob/user as mob)
+/obj/item/card/id/fluff/amaya/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(configured == 1)
return ..()
@@ -822,7 +843,7 @@
..()
-/obj/item/perfect_tele/attack_hand(mob/user)
+/obj/item/perfect_tele/attack_hand(mob/user, list/params)
if(user.get_inactive_held_item() == src && power_source)
to_chat(user,"You eject \the [power_source] from \the [src].")
user.put_in_hands(power_source)
@@ -832,6 +853,9 @@
return ..()
/obj/item/perfect_tele/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(!(user.ckey in warned_users))
warned_users |= user.ckey
alert(user,"This device can be easily used to break ERP preferences due to the nature of teleporting \
@@ -1078,7 +1102,7 @@
tele_hand = null
return ..()
-/obj/item/perfect_tele_beacon/attack_hand(mob/user)
+/obj/item/perfect_tele_beacon/attack_hand(mob/user, list/params)
if((user.ckey != creator) && !(user.ckey in warned_users))
warned_users |= user.ckey
var/choice = alert(user,"This device is a translocator beacon. Having it on your person may mean that anyone \
@@ -1091,6 +1115,9 @@
..()
/obj/item/perfect_tele_beacon/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(!isliving(user))
return
var/mob/living/L = user
@@ -1181,7 +1208,10 @@
user.do_attack_animation(target)
user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) //to prevent spam
-/obj/item/clothing/accessory/badge/holo/detective/ruda/attack_self(mob/user as mob)
+/obj/item/clothing/accessory/badge/holo/detective/ruda/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(!stored_name)
to_chat(user, "You huff along the front of your badge, then rub your sleeve on it to polish it up.")
@@ -1411,6 +1441,9 @@
update_held_icon()
/obj/item/melee/baton/fluff/stunstaff/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(bcell && bcell.charge > hitcost)
status = !status
to_chat(user, "[src] is now [status ? "on" : "off"].")
@@ -1479,12 +1512,16 @@
edge = initial(edge)
w_class = initial(w_class)
-/obj/item/melee/fluffstuff/attack_self(mob/living/user as mob)
+/obj/item/melee/fluffstuff/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if (active)
if ((MUTATION_CLUMSY in user.mutations) && prob(50))
user.visible_message("\The [user] accidentally cuts \himself with \the [src].",\
"You accidentally cut yourself with \the [src].")
- user.take_organ_damage(5,5)
+ var/mob/living/carbon/human/H = ishuman(user)? user : null
+ H?.take_organ_damage(5,5)
deactivate(user)
else
activate(user)
diff --git a/code/modules/vore/fluffstuff/custom_items_cit.dm b/code/modules/vore/fluffstuff/custom_items_cit.dm
index 929af6fb7f4..788a573b976 100644
--- a/code/modules/vore/fluffstuff/custom_items_cit.dm
+++ b/code/modules/vore/fluffstuff/custom_items_cit.dm
@@ -27,7 +27,10 @@
if((state > 1) || !owner)
STOP_PROCESSING(SSobj, src)
-/obj/item/clothing/accessory/collar/lifecrystal/attack_self(mob/user as mob)
+/obj/item/clothing/accessory/collar/lifecrystal/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
owner = user //We're paired to this guy
owner_c = user.client //This is his client
check_owner()
diff --git a/code/modules/vore/fluffstuff/guns/bsharpoon.dm b/code/modules/vore/fluffstuff/guns/bsharpoon.dm
index dcf84e73ab8..b4e12759f17 100644
--- a/code/modules/vore/fluffstuff/guns/bsharpoon.dm
+++ b/code/modules/vore/fluffstuff/guns/bsharpoon.dm
@@ -71,7 +71,10 @@
var/turf/real_target = prob(failchance)? pick(trange(failrange, user)) : ToTurf
AM.locationTransitForceMove(real_target, allow_pulled = FALSE, allow_grabbed = GRAB_AGGRESSIVE)
-/obj/item/bluespace_harpoon/attack_self(mob/living/user as mob)
+/obj/item/bluespace_harpoon/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
return chande_fire_mode(user)
/obj/item/bluespace_harpoon/verb/chande_fire_mode(mob/user as mob)
diff --git a/code/modules/vore/fluffstuff/guns/cell_loaded/cell_loaded.dm b/code/modules/vore/fluffstuff/guns/cell_loaded/cell_loaded.dm
index b5368f9902d..983f2fe1b3c 100644
--- a/code/modules/vore/fluffstuff/guns/cell_loaded/cell_loaded.dm
+++ b/code/modules/vore/fluffstuff/guns/cell_loaded/cell_loaded.dm
@@ -69,6 +69,9 @@
update_icon()
/obj/item/gun/ballistic/cell_loaded/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(!chambered)
return
diff --git a/code/modules/vore/fluffstuff/guns/gunsword.dm b/code/modules/vore/fluffstuff/guns/gunsword.dm
index d2fa5aa3a0c..c319938d8a4 100644
--- a/code/modules/vore/fluffstuff/guns/gunsword.dm
+++ b/code/modules/vore/fluffstuff/guns/gunsword.dm
@@ -93,13 +93,17 @@
attack_verb = list()
-/obj/item/cell/device/weapon/gunsword/attack_self(mob/living/user as mob)
+/obj/item/cell/device/weapon/gunsword/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
var/datum/gender/TU = GLOB.gender_datums[user.get_visible_gender()]
if (active)
if ((MUTATION_CLUMSY in user.mutations) && prob(50))
user.visible_message("\The [user] accidentally cuts [TU.himself] with \the [src].",\
"You accidentally cut yourself with \the [src].")
- user.take_organ_damage(5,5)
+ var/mob/living/carbon/human/H = ishuman(user)? user : null
+ H?.take_organ_damage(5,5)
deactivate(user)
update_icon()
update_held_icon()
diff --git a/code/modules/vore/resizing/holder_micro_vr.dm b/code/modules/vore/resizing/holder_micro_vr.dm
index 5600b563dbe..8a3aebd6a62 100644
--- a/code/modules/vore/resizing/holder_micro_vr.dm
+++ b/code/modules/vore/resizing/holder_micro_vr.dm
@@ -22,7 +22,10 @@
for(var/mob/living/carbon/human/O in contents)
O.request_strip_menu(usr)
-/obj/item/holder/micro/attack_self(var/mob/living/user)
+/obj/item/holder/micro/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
for(var/mob/living/carbon/human/M in contents)
M.help_shake_act(user)
diff --git a/code/modules/vore/weight/fitness_machines_vr.dm b/code/modules/vore/weight/fitness_machines_vr.dm
index ec7f8812e26..1af486035e7 100644
--- a/code/modules/vore/weight/fitness_machines_vr.dm
+++ b/code/modules/vore/weight/fitness_machines_vr.dm
@@ -11,20 +11,26 @@
var/cooldown = 10
var/weightloss_power = 1
-/obj/machinery/fitness/attack_hand(var/mob/living/user)
- if(user.nutrition < 70)
- to_chat(user, "You need more energy to workout with the [src]!")
+/obj/machinery/fitness/attack_hand(mob/user, list/params)
+ . = ..()
+ if(.)
+ return
+ var/mob/living/L = user
+ if(!istype(L))
+ return
+ if(L.nutrition < 70)
+ to_chat(L, "You need more energy to workout with the [src]!")
- else if(user.weight < 70)
- to_chat(user, "You're too skinny to risk losing any more weight!")
+ else if(L.weight < 70)
+ to_chat(L, "You're too skinny to risk losing any more weight!")
else //If they have enough nutrition and body weight, they can exercise.
- user.setClickCooldown(cooldown)
- user.nutrition -= 10 * weightloss_power
- user.weight -= 0.025 * weightloss_power * (0.01*user.weight_loss)
+ L.setClickCooldown(cooldown)
+ L.nutrition -= 10 * weightloss_power
+ L.weight -= 0.025 * weightloss_power * (0.01*L.weight_loss)
flick("[icon_state]2",src)
var/message = pick(messages)
- to_chat(user, "[message].")
+ to_chat(L, "[message].")
for(var/s in workout_sounds)
playsound(src.loc, s, 50, 1)
@@ -62,7 +68,7 @@
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
return
-/obj/machinery/fitness/heavy/attack_hand(var/mob/living/user)
+/obj/machinery/fitness/heavy/attack_hand(mob/user, list/params)
if(!anchored)
to_chat(user, "For safety reasons, you are required to have this equipment wrenched down before using it!")
return
@@ -92,10 +98,16 @@
idle_power_usage = 0
active_power_usage = 0
-/obj/machinery/scale/attack_hand(var/mob/living/user)
- if(user.loc != loc)
- to_chat(user, "You need to be standing on top of the scale for it to work!")
+/obj/machinery/scale/attack_hand(mob/user, list/params)
+ . = ..()
+ if(.)
return
- if(user.weight) //Just in case.
- var/kilograms = round(text2num(user.weight),4) / 2.20463
- visible_message("[src] displays a reading of [user.weight]lb / [kilograms]kg when [user] stands on it.")
+ var/mob/living/L = user
+ if(!istype(L))
+ return
+ if(L.loc != loc)
+ to_chat(L, "You need to be standing on top of the scale for it to work!")
+ return
+ if(L.weight) //Just in case.
+ var/kilograms = round(text2num(L.weight),4) / 2.20463
+ visible_message("[src] displays a reading of [L.weight]lb / [kilograms]kg when [L] stands on it.")
diff --git a/code/modules/xenoarcheaology/anomaly_container.dm b/code/modules/xenoarcheaology/anomaly_container.dm
index e0b9afe6c10..fc2efc0ad1a 100644
--- a/code/modules/xenoarcheaology/anomaly_container.dm
+++ b/code/modules/xenoarcheaology/anomaly_container.dm
@@ -14,7 +14,7 @@
if(A)
contain(A)
-/obj/structure/anomaly_container/attack_hand(var/mob/user)
+/obj/structure/anomaly_container/attack_hand(mob/user, list/params)
release()
/obj/structure/anomaly_container/attack_robot(var/mob/user)
diff --git a/code/modules/xenoarcheaology/artifacts/artifact.dm b/code/modules/xenoarcheaology/artifacts/artifact.dm
index ae45138531b..6edd6549ce8 100644
--- a/code/modules/xenoarcheaology/artifacts/artifact.dm
+++ b/code/modules/xenoarcheaology/artifacts/artifact.dm
@@ -174,7 +174,7 @@
if(secondary_effect && secondary_effect.trigger == TRIGGER_NITRO && !secondary_effect.activated)
secondary_effect.ToggleActivate(0)
-/obj/machinery/artifact/attack_hand(var/mob/user as mob)
+/obj/machinery/artifact/attack_hand(mob/user, list/params)
if (get_dist(user, src) > 1)
to_chat(user, "You can't reach [src] from here.")
return
diff --git a/code/modules/xenoarcheaology/artifacts/gigadrill.dm b/code/modules/xenoarcheaology/artifacts/gigadrill.dm
index ad51cd690aa..7f54c833702 100644
--- a/code/modules/xenoarcheaology/artifacts/gigadrill.dm
+++ b/code/modules/xenoarcheaology/artifacts/gigadrill.dm
@@ -9,7 +9,7 @@
density = 1
layer = ABOVE_JUNK_LAYER
-/obj/machinery/giga_drill/attack_hand(mob/user as mob)
+/obj/machinery/giga_drill/attack_hand(mob/user, list/params)
if(active)
active = 0
icon_state = "gigadrill"
diff --git a/code/modules/xenoarcheaology/artifacts/replicator.dm b/code/modules/xenoarcheaology/artifacts/replicator.dm
index 83c4d7159a1..cb00da1b1a4 100644
--- a/code/modules/xenoarcheaology/artifacts/replicator.dm
+++ b/code/modules/xenoarcheaology/artifacts/replicator.dm
@@ -138,7 +138,7 @@
last_process_time = world.time
-/obj/machinery/replicator/attack_hand(mob/user as mob)
+/obj/machinery/replicator/attack_hand(mob/user, list/params)
ui_interact(user)
/obj/machinery/replicator/ui_interact(mob/user, datum/tgui/ui)
diff --git a/code/modules/xenoarcheaology/sampling.dm b/code/modules/xenoarcheaology/sampling.dm
index 101ad6db746..e2c2a6a017f 100644
--- a/code/modules/xenoarcheaology/sampling.dm
+++ b/code/modules/xenoarcheaology/sampling.dm
@@ -151,7 +151,10 @@
else
to_chat(user, "You are unable to take a sample of [item_to_sample].")
-/obj/item/core_sampler/attack_self(var/mob/living/user)
+/obj/item/core_sampler/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(filled_bag)
to_chat(user, "You eject the full sample bag.")
var/success = 0
diff --git a/code/modules/xenoarcheaology/tools/ano_device_battery.dm b/code/modules/xenoarcheaology/tools/ano_device_battery.dm
index 61b045bbee9..86908954ae2 100644
--- a/code/modules/xenoarcheaology/tools/ano_device_battery.dm
+++ b/code/modules/xenoarcheaology/tools/ano_device_battery.dm
@@ -48,7 +48,10 @@
else
return ..()
-/obj/item/anodevice/attack_self(var/mob/user as mob)
+/obj/item/anodevice/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
return ui_interact(user)
/obj/item/anodevice/ui_state(mob/user, datum/tgui_module/module)
diff --git a/code/modules/xenoarcheaology/tools/artifact_analyser.dm b/code/modules/xenoarcheaology/tools/artifact_analyser.dm
index a59176a9dae..0c1a9bdd762 100644
--- a/code/modules/xenoarcheaology/tools/artifact_analyser.dm
+++ b/code/modules/xenoarcheaology/tools/artifact_analyser.dm
@@ -24,7 +24,7 @@
if(!owned_scanner)
owned_scanner = locate(/obj/machinery/artifact_scanpad) in orange(1, src)
-/obj/machinery/artifact_analyser/attack_hand(mob/user)
+/obj/machinery/artifact_analyser/attack_hand(mob/user, list/params)
add_fingerprint(user)
if(machine_stat & (NOPOWER|BROKEN) || get_dist(src, user) > 1)
return
diff --git a/code/modules/xenoarcheaology/tools/artifact_harvester.dm b/code/modules/xenoarcheaology/tools/artifact_harvester.dm
index a8543f05f25..ce198e5d845 100644
--- a/code/modules/xenoarcheaology/tools/artifact_harvester.dm
+++ b/code/modules/xenoarcheaology/tools/artifact_harvester.dm
@@ -35,7 +35,7 @@
else
return..()
-/obj/machinery/artifact_harvester/attack_hand(mob/user)
+/obj/machinery/artifact_harvester/attack_hand(mob/user, list/params)
add_fingerprint(user)
if(machine_stat & (NOPOWER|BROKEN))
return
diff --git a/code/modules/xenoarcheaology/tools/geosample_scanner.dm b/code/modules/xenoarcheaology/tools/geosample_scanner.dm
index 2ce1b886533..8aa7d1ea367 100644
--- a/code/modules/xenoarcheaology/tools/geosample_scanner.dm
+++ b/code/modules/xenoarcheaology/tools/geosample_scanner.dm
@@ -115,7 +115,7 @@
if(total_purity && fresh_coolant)
coolant_purity = total_purity / fresh_coolant
-/obj/machinery/radiocarbon_spectrometer/attack_hand(mob/user)
+/obj/machinery/radiocarbon_spectrometer/attack_hand(mob/user, list/params)
ui_interact(user)
/obj/machinery/radiocarbon_spectrometer/ui_interact(mob/user, datum/tgui/ui)
diff --git a/code/modules/xenoarcheaology/tools/suspension_generator.dm b/code/modules/xenoarcheaology/tools/suspension_generator.dm
index 223f95b9116..734c3fbf0e9 100644
--- a/code/modules/xenoarcheaology/tools/suspension_generator.dm
+++ b/code/modules/xenoarcheaology/tools/suspension_generator.dm
@@ -35,7 +35,7 @@
else
deactivate()
-/obj/machinery/suspension_gen/attack_hand(var/mob/user)
+/obj/machinery/suspension_gen/attack_hand(mob/user, list/params)
if(panel_open)
if(cell)
to_chat(user, SPAN_NOTICE("You remove [cell]."))
diff --git a/code/modules/xenoarcheaology/tools/tools.dm b/code/modules/xenoarcheaology/tools/tools.dm
index 549055c5067..8ad4858bf02 100644
--- a/code/modules/xenoarcheaology/tools/tools.dm
+++ b/code/modules/xenoarcheaology/tools/tools.dm
@@ -44,7 +44,10 @@
var/last_scan_time = 0
var/scan_delay = 25
-/obj/item/ano_scanner/attack_self(var/mob/living/user)
+/obj/item/ano_scanner/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
interact(user)
/obj/item/ano_scanner/interact(var/mob/living/user)
@@ -153,7 +156,10 @@
to_chat(user, "[icon2html(thing = src, target = world)] [src] pings [pick("madly","wildly","excitedly","crazily")]!")
-/obj/item/depth_scanner/attack_self(var/mob/living/user)
+/obj/item/depth_scanner/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
ui_interact(user)
/obj/item/depth_scanner/ui_state(mob/user, datum/tgui_module/module)
@@ -278,6 +284,9 @@
icon_state = "pinoff"
/obj/item/beacon_locator/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
return ui_interact(user)
/obj/item/beacon_locator/ui_state(mob/user, datum/tgui_module/module)
@@ -337,7 +346,10 @@
anomaly_scanner = new/obj/item/ano_scanner/integrated(src)
depth_scanner = new/obj/item/depth_scanner(src)
-/obj/item/xenoarch_multi_tool/attack_self(var/mob/living/user)
+/obj/item/xenoarch_multi_tool/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
depth_scanner.interact(usr)
/obj/item/xenoarch_multi_tool/verb/swap_settings()
diff --git a/code/modules/xenoarcheaology/tools/tools_pickaxe.dm b/code/modules/xenoarcheaology/tools/tools_pickaxe.dm
index ff1b01dc245..3c376d10c2d 100644
--- a/code/modules/xenoarcheaology/tools/tools_pickaxe.dm
+++ b/code/modules/xenoarcheaology/tools/tools_pickaxe.dm
@@ -173,7 +173,10 @@
w_class = 2
attack_verb = list("drilled")
-/obj/item/pickaxe/excavationdrill/attack_self(mob/user as mob)
+/obj/item/pickaxe/excavationdrill/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
var/depth = input("Put the desired depth (1-30 centimeters).", "Set Depth", 30) as num
if(depth>30 || depth<1)
to_chat(user, "Invalid depth.")
diff --git a/code/modules/xenobio/items/slime_objects.dm b/code/modules/xenobio/items/slime_objects.dm
index 2f5e0521289..e94b678034d 100644
--- a/code/modules/xenobio/items/slime_objects.dm
+++ b/code/modules/xenobio/items/slime_objects.dm
@@ -7,7 +7,10 @@
description_info = "Use in your hand to attempt to create a Promethean. It functions similarly to a positronic brain, in that a ghost is needed to become the Promethean."
var/searching = 0
-/obj/item/slime_cube/attack_self(mob/user as mob)
+/obj/item/slime_cube/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(!searching)
to_chat(user, "You stare at the slimy cube, watching as some activity occurs.")
icon_state = "slime cube active"
@@ -91,6 +94,9 @@
return . | CLICKCHAIN_DO_NOT_PROPAGATE
/obj/item/slime_crystal/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
user.visible_message("\The [user] teleports themselves with \the [src]!")
safe_blink(user, 14)
qdel(src)
diff --git a/code/modules/xenobio/machinery/processor.dm b/code/modules/xenobio/machinery/processor.dm
index 6eb002a53ee..c52301a82db 100644
--- a/code/modules/xenobio/machinery/processor.dm
+++ b/code/modules/xenobio/machinery/processor.dm
@@ -24,7 +24,7 @@
. = ..()
. += "The automatic intake switch is in the [auto_mode? "On" : "Off"] position."
-/obj/machinery/processor/attack_hand(mob/living/user)
+/obj/machinery/processor/attack_hand(mob/user, list/params)
if(processing)
to_chat(user, "The processor is in the process of processing!")
return
@@ -36,7 +36,7 @@
playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 50, 1)
return
-/obj/machinery/processor/attackby(obj/item/I, mob/living/user, params, clickchain_flags, damage_multiplier)
+/obj/machinery/processor/attackby(obj/item/I, mob/living/user, list/params, clickchain_flags, damage_multiplier)
if(default_unfasten_wrench(user, I, 40))
return
return ..()
diff --git a/code/modules/xenobio2/machinery/core_extractor.dm b/code/modules/xenobio2/machinery/core_extractor.dm
index 6c4cba78cef..c7ae4f1dc3f 100644
--- a/code/modules/xenobio2/machinery/core_extractor.dm
+++ b/code/modules/xenobio2/machinery/core_extractor.dm
@@ -145,7 +145,7 @@
eject_slime()
//Here lies the UI
-/obj/machinery/slime/extractor/attack_hand(mob/user as mob)
+/obj/machinery/slime/extractor/attack_hand(mob/user, list/params)
user.set_machine(src)
interact(user)
diff --git a/code/modules/xenobio2/machinery/gene_manipulators.dm b/code/modules/xenobio2/machinery/gene_manipulators.dm
index e5ca40233d6..dd46c95d3ca 100644
--- a/code/modules/xenobio2/machinery/gene_manipulators.dm
+++ b/code/modules/xenobio2/machinery/gene_manipulators.dm
@@ -20,7 +20,10 @@
var/list/genes = list()
var/genesource = "unknown"
-/obj/item/disk/xenobio/attack_self(var/mob/user as mob)
+/obj/item/disk/xenobio/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(genes.len)
var/choice = alert(user, "Are you sure you want to wipe the disk?", "Xenobiological Data", "No", "Yes")
if(src && user && genes && choice && choice == "Yes" && user.Adjacent(get_turf(src)))
@@ -56,7 +59,7 @@
/obj/machinery/xenobio/attack_ai(mob/user as mob)
return attack_hand(user)
-/obj/machinery/xenobio/attack_hand(mob/user as mob)
+/obj/machinery/xenobio/attack_hand(mob/user, list/params)
nano_ui_interact(user)
/obj/machinery/xenobio/attackby(obj/item/W as obj, mob/user as mob)
diff --git a/code/modules/xenobio2/machinery/injector_computer.dm b/code/modules/xenobio2/machinery/injector_computer.dm
index 56ca60d0259..da929dd1257 100644
--- a/code/modules/xenobio2/machinery/injector_computer.dm
+++ b/code/modules/xenobio2/machinery/injector_computer.dm
@@ -23,7 +23,7 @@
injector.computer = null
..()
-/obj/machinery/computer/xenobio2/attack_hand(mob/user)
+/obj/machinery/computer/xenobio2/attack_hand(mob/user, list/params)
if(..())
return 1
nano_ui_interact(user)
diff --git a/code/modules/xenobio2/machinery/slime_replicator.dm b/code/modules/xenobio2/machinery/slime_replicator.dm
index 690c9ed6e7a..edc019043cf 100644
--- a/code/modules/xenobio2/machinery/slime_replicator.dm
+++ b/code/modules/xenobio2/machinery/slime_replicator.dm
@@ -99,7 +99,7 @@
eject_core()
//Here lies the UI
-/obj/machinery/slime/replicator/attack_hand(mob/user as mob)
+/obj/machinery/slime/replicator/attack_hand(mob/user, list/params)
user.set_machine(src)
interact(user)
diff --git a/code/modules/xenobio2/mob/slime/slime_monkey.dm b/code/modules/xenobio2/mob/slime/slime_monkey.dm
index 1e898b3e005..ddf6313df39 100644
--- a/code/modules/xenobio2/mob/slime/slime_monkey.dm
+++ b/code/modules/xenobio2/mob/slime/slime_monkey.dm
@@ -8,7 +8,10 @@ Slime cube lives here.
icon_state = "slime cube"
var/searching = 0
-/obj/item/slime_cube/attack_self(mob/user as mob)
+/obj/item/slime_cube/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
if(!searching)
to_chat(user, "You stare at the slimy cube, watching as some activity occurs.")
request_player()
diff --git a/code/modules/xenobio2/tools/xeno_trait_scanner.dm b/code/modules/xenobio2/tools/xeno_trait_scanner.dm
index 30557f200f8..6d93684a8aa 100644
--- a/code/modules/xenobio2/tools/xeno_trait_scanner.dm
+++ b/code/modules/xenobio2/tools/xeno_trait_scanner.dm
@@ -31,7 +31,10 @@
user.visible_message("\The [src] spits out a piece of paper.")
return
-/obj/item/analyzer/xeno_analyzer/attack_self(mob/user as mob)
+/obj/item/analyzer/xeno_analyzer/attack_self(mob/user)
+ . = ..()
+ if(.)
+ return
print_report(user)
return 0
diff --git a/maps/Generic/misc.dm b/maps/Generic/misc.dm
index 23fe8f60d95..84ea1f48da5 100644
--- a/maps/Generic/misc.dm
+++ b/maps/Generic/misc.dm
@@ -68,7 +68,7 @@
/turf/simulated/floor/maglev/Entered(var/atom/movable/AM, var/atom/old_loc)
if(isliving(AM) && prob(50))
track_zap(AM)
-/turf/simulated/floor/maglev/attack_hand(var/mob/user)
+/turf/simulated/floor/maglev/attack_hand(mob/user, list/params)
if(prob(75))
track_zap(user)
/turf/simulated/floor/maglev/proc/track_zap(var/mob/living/user)