diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm
index b80d002c626..a53e40e196f 100644
--- a/code/_onclick/ai.dm
+++ b/code/_onclick/ai.dm
@@ -88,7 +88,7 @@
The below is only really for safety, or you can alter the way
it functions and re-insert it above.
*/
-/mob/living/silicon/ai/UnarmedAttack(atom/A)
+/mob/living/silicon/ai/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
A.attack_ai(src)
/mob/living/silicon/ai/RangedAttack(atom/A)
A.attack_ai(src)
diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index 864dfce20df..7512aa2fc59 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -269,9 +269,10 @@
* proximity_flag is not currently passed to attack_hand, and is instead used
* in human click code to allow glove touches only at melee range.
*
- * modifiers is the click modifiers this attack had, used for
+ * modifiers is a lazy list of click modifiers this attack had,
+ * used for figuring out different properties of the click, mostly right vs left and such.
*/
-/mob/proc/UnarmedAttack(atom/A, proximity_flag, modifiers)
+/mob/proc/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(ismob(A))
changeNext_move(CLICK_CD_MELEE)
return
diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm
index 04d1e7ffa93..7aa7708c591 100644
--- a/code/_onclick/cyborg.dm
+++ b/code/_onclick/cyborg.dm
@@ -159,7 +159,7 @@
clicks, you can do so here, but you will have to
change attack_robot() above to the proper function
*/
-/mob/living/silicon/robot/UnarmedAttack(atom/A)
+/mob/living/silicon/robot/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
A.attack_robot(src)
diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm
index a89a9a81585..9045e4077d8 100644
--- a/code/_onclick/other_mobs.dm
+++ b/code/_onclick/other_mobs.dm
@@ -4,7 +4,7 @@
Otherwise pretty standard.
*/
-/mob/living/carbon/human/UnarmedAttack(atom/A, proximity, modifiers)
+/mob/living/carbon/human/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
if(src == A)
check_self_for_injuries()
@@ -22,12 +22,12 @@
// If the gloves do anything, have them return 1 to stop
// normal attack_hand() here.
var/obj/item/clothing/gloves/G = gloves // not typecast specifically enough in defines
- if(proximity && istype(G) && G.Touch(A,1))
+ if(proximity_flag && istype(G) && G.Touch(A,1))
return
//This signal is needed to prevent gloves of the north star + hulk.
- if(SEND_SIGNAL(src, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, A, proximity, modifiers) & COMPONENT_CANCEL_ATTACK_CHAIN)
+ if(SEND_SIGNAL(src, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, A, proximity_flag, modifiers) & COMPONENT_CANCEL_ATTACK_CHAIN)
return
- SEND_SIGNAL(src, COMSIG_HUMAN_MELEE_UNARMED_ATTACK, A, proximity, modifiers)
+ SEND_SIGNAL(src, COMSIG_HUMAN_MELEE_UNARMED_ATTACK, A, proximity_flag, modifiers)
if(dna?.species?.spec_unarmedattack(src, A, modifiers)) //Because species like monkeys dont use attack hand
return
@@ -43,7 +43,7 @@
A.attack_hand(src, modifiers)
/// Return TRUE to cancel other attack hand effects that respect it. Modifiers is the assoc list for click info such as if it was a right click.
-/atom/proc/attack_hand(mob/user, modifiers)
+/atom/proc/attack_hand(mob/user, list/modifiers)
. = FALSE
if(!(interaction_flags_atom & INTERACT_ATOM_NO_FINGERPRINT_ATTACK_HAND))
add_fingerprint(user)
@@ -113,16 +113,16 @@
/*
Animals & All Unspecified
*/
-/mob/living/UnarmedAttack(atom/A, proximity, modifiers)
+/mob/living/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
A.attack_animal(src, modifiers)
-/atom/proc/attack_animal(mob/user, modifiers)
+/atom/proc/attack_animal(mob/user, list/modifiers)
SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_ANIMAL, user)
///Attacked by monkey
-/atom/proc/attack_paw(mob/user, modifiers)
+/atom/proc/attack_paw(mob/user, list/modifiers)
if(SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_PAW, user) & COMPONENT_CANCEL_ATTACK_CHAIN)
return TRUE
return FALSE
@@ -132,18 +132,18 @@
Aliens
Defaults to same as monkey in most places
*/
-/mob/living/carbon/alien/UnarmedAttack(atom/A, proximity, modifiers)
+/mob/living/carbon/alien/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
A.attack_alien(src, modifiers)
-/atom/proc/attack_alien(mob/living/carbon/alien/user, modifiers)
- attack_paw(user)
+/atom/proc/attack_alien(mob/living/carbon/alien/user, list/modifiers)
+ attack_paw(user, modifiers)
return
// Babby aliens
-/mob/living/carbon/alien/larva/UnarmedAttack(atom/A)
+/mob/living/carbon/alien/larva/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
A.attack_larva(src)
@@ -156,7 +156,7 @@
Slimes
Nothing happening here
*/
-/mob/living/simple_animal/slime/UnarmedAttack(atom/A)
+/mob/living/simple_animal/slime/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
if(isturf(A))
@@ -170,7 +170,7 @@
/*
Drones
*/
-/mob/living/simple_animal/drone/UnarmedAttack(atom/A)
+/mob/living/simple_animal/drone/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
A.attack_drone(src)
@@ -183,7 +183,7 @@
Brain
*/
-/mob/living/brain/UnarmedAttack(atom/A)//Stops runtimes due to attack_animal being the default
+/mob/living/brain/UnarmedAttack(atom/A, proximity_flag, list/modifiers)//Stops runtimes due to attack_animal being the default
return
@@ -191,7 +191,7 @@
pAI
*/
-/mob/living/silicon/pai/UnarmedAttack(atom/A)//Stops runtimes due to attack_animal being the default
+/mob/living/silicon/pai/UnarmedAttack(atom/A, proximity_flag, list/modifiers)//Stops runtimes due to attack_animal being the default
return
@@ -199,7 +199,7 @@
Simple animals
*/
-/mob/living/simple_animal/UnarmedAttack(atom/A, proximity, modifiers)
+/mob/living/simple_animal/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
if(!dextrous)
@@ -213,7 +213,7 @@
Hostile animals
*/
-/mob/living/simple_animal/hostile/UnarmedAttack(atom/A)
+/mob/living/simple_animal/hostile/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
target = A
diff --git a/code/datums/brain_damage/special.dm b/code/datums/brain_damage/special.dm
index 7d5c9872442..e12e862b8c5 100644
--- a/code/datums/brain_damage/special.dm
+++ b/code/datums/brain_damage/special.dm
@@ -104,7 +104,7 @@
QDEL_IN(src, 300)
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/effect/hallucination/simple/bluespace_stream/attack_hand(mob/user)
+/obj/effect/hallucination/simple/bluespace_stream/attack_hand(mob/user, list/modifiers)
if(user != seer || !linked_to)
return
var/slip_in_message = pick("slides sideways in an odd way, and disappears", "jumps into an unseen dimension",\
diff --git a/code/game/gamemodes/sandbox/airlock_maker.dm b/code/game/gamemodes/sandbox/airlock_maker.dm
index 9f1cba51a85..fca6cc484cd 100644
--- a/code/game/gamemodes/sandbox/airlock_maker.dm
+++ b/code/game/gamemodes/sandbox/airlock_maker.dm
@@ -7,7 +7,7 @@
/obj/structure/door_assembly
var/datum/airlock_maker/maker = null
-/obj/structure/door_assembly/attack_hand()
+/obj/structure/door_assembly/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm
index fcd783981a3..89a24ef3dba 100644
--- a/code/game/machinery/PDApainter.dm
+++ b/code/game/machinery/PDApainter.dm
@@ -103,7 +103,7 @@
/obj/machinery/pdapainter/deconstruct(disassembled = TRUE)
obj_break()
-/obj/machinery/pdapainter/attack_hand(mob/user)
+/obj/machinery/pdapainter/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm
index 15c5d5f36b5..74c1f4989e0 100644
--- a/code/game/machinery/_machinery.dm
+++ b/code/game/machinery/_machinery.dm
@@ -420,7 +420,7 @@
////////////////////////////////////////////////////////////////////////////////////////////
-/obj/machinery/attack_paw(mob/living/user)
+/obj/machinery/attack_paw(mob/living/user, list/modifiers)
if(!user.combat_mode)
return attack_hand(user)
else
diff --git a/code/game/machinery/accounting.dm b/code/game/machinery/accounting.dm
index 940561b591a..4877329633b 100644
--- a/code/game/machinery/accounting.dm
+++ b/code/game/machinery/accounting.dm
@@ -35,7 +35,7 @@
return ..()
-/obj/machinery/accounting/attack_hand(mob/user)
+/obj/machinery/accounting/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/airlock_control.dm b/code/game/machinery/airlock_control.dm
index 9d32c050fd2..6a9f2452e88 100644
--- a/code/game/machinery/airlock_control.dm
+++ b/code/game/machinery/airlock_control.dm
@@ -120,7 +120,7 @@
else
icon_state = "airlock_sensor_off"
-/obj/machinery/airlock_sensor/attack_hand(mob/user)
+/obj/machinery/airlock_sensor/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/aug_manipulator.dm b/code/game/machinery/aug_manipulator.dm
index b5907426d70..711dedd073d 100644
--- a/code/game/machinery/aug_manipulator.dm
+++ b/code/game/machinery/aug_manipulator.dm
@@ -94,7 +94,7 @@
else
return ..()
-/obj/machinery/aug_manipulator/attack_hand(mob/user)
+/obj/machinery/aug_manipulator/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm
index de3cefb4480..edf7e08ed7f 100644
--- a/code/game/machinery/buttons.dm
+++ b/code/game/machinery/buttons.dm
@@ -132,7 +132,7 @@
id = "[port.id]_[id]"
setup_device()
-/obj/machinery/button/attack_hand(mob/user)
+/obj/machinery/button/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm
index 7ffc7041c80..1727ad41a47 100644
--- a/code/game/machinery/cell_charger.dm
+++ b/code/game/machinery/cell_charger.dm
@@ -79,7 +79,7 @@
charging = null
update_icon()
-/obj/machinery/cell_charger/attack_hand(mob/user)
+/obj/machinery/cell_charger/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 617fdfad63f..8962f0964f2 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -1539,7 +1539,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
icon_state = "arcade"
circuit = /obj/item/circuitboard/computer/arcade/amputation
-/obj/machinery/computer/arcade/amputation/attack_hand(mob/user)
+/obj/machinery/computer/arcade/amputation/attack_hand(mob/user, list/modifiers)
if(!iscarbon(user))
return
var/mob/living/carbon/c_user = user
diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm
index bd7fc128f1b..f38fc091a9d 100644
--- a/code/game/machinery/computer/camera_advanced.dm
+++ b/code/game/machinery/computer/camera_advanced.dm
@@ -120,7 +120,7 @@
return FALSE
return ..()
-/obj/machinery/computer/camera_advanced/attack_hand(mob/user)
+/obj/machinery/computer/camera_advanced/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/computer/launchpad_control.dm b/code/game/machinery/computer/launchpad_control.dm
index af29ea5f73a..51dbd32b7cc 100644
--- a/code/game/machinery/computer/launchpad_control.dm
+++ b/code/game/machinery/computer/launchpad_control.dm
@@ -13,7 +13,7 @@
launchpads = list()
. = ..()
-/obj/machinery/computer/launchpad/attack_paw(mob/user)
+/obj/machinery/computer/launchpad/attack_paw(mob/user, list/modifiers)
to_chat(user, "You are too primitive to use this computer!")
return
diff --git a/code/game/machinery/defibrillator_mount.dm b/code/game/machinery/defibrillator_mount.dm
index 9e5bd244ace..26aaac8b836 100644
--- a/code/game/machinery/defibrillator_mount.dm
+++ b/code/game/machinery/defibrillator_mount.dm
@@ -65,7 +65,7 @@
return defib.get_cell()
//defib interaction
-/obj/machinery/defibrillator_mount/attack_hand(mob/living/user)
+/obj/machinery/defibrillator_mount/attack_hand(mob/living/user, list/modifiers)
if(!defib)
to_chat(user, "There's no defibrillator unit loaded!")
return
diff --git a/code/game/machinery/dish_drive.dm b/code/game/machinery/dish_drive.dm
index af41c2e0145..2447a0805ff 100644
--- a/code/game/machinery/dish_drive.dm
+++ b/code/game/machinery/dish_drive.dm
@@ -39,7 +39,7 @@
if(user.Adjacent(src))
. += "Alt-click it to beam its contents to any nearby disposal bins."
-/obj/machinery/dish_drive/attack_hand(mob/living/user)
+/obj/machinery/dish_drive/attack_hand(mob/living/user, list/modifiers)
if(!LAZYLEN(dish_drive_contents))
to_chat(user, "There's nothing in [src]!")
return
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 151dbe7b5a4..4a961f155d1 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -761,15 +761,15 @@
if(user)
attack_ai(user)
-/obj/machinery/door/airlock/attack_animal(mob/user)
+/obj/machinery/door/airlock/attack_animal(mob/user, list/modifiers)
if(isElectrified() && shock(user, 100))
return
return ..()
-/obj/machinery/door/airlock/attack_paw(mob/user)
- return attack_hand(user)
+/obj/machinery/door/airlock/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
-/obj/machinery/door/airlock/attack_hand(mob/user)
+/obj/machinery/door/airlock/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
@@ -1306,7 +1306,7 @@
loseMainPower()
loseBackupPower()
-/obj/machinery/door/airlock/attack_alien(mob/living/carbon/alien/humanoid/user)
+/obj/machinery/door/airlock/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
if(isElectrified() && shock(user, 100)) //Mmm, fried xeno!
add_fingerprint(user)
return
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index 221c427f404..d07a8ed9d0d 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -168,7 +168,7 @@
else
do_animate("deny")
-/obj/machinery/door/attack_hand(mob/user)
+/obj/machinery/door/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 71503d8b99b..2cabd3bf088 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -78,7 +78,7 @@
. = ..()
INVOKE_ASYNC(src, .proc/latetoggle)
-/obj/machinery/door/firedoor/attack_hand(mob/user)
+/obj/machinery/door/firedoor/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
@@ -152,7 +152,7 @@
/obj/machinery/door/firedoor/attack_robot(mob/user)
return attack_ai(user)
-/obj/machinery/door/firedoor/attack_alien(mob/user)
+/obj/machinery/door/firedoor/attack_alien(mob/user, list/modifiers)
add_fingerprint(user)
if(welded)
to_chat(user, "[src] refuses to budge!")
diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm
index 00aea3c3509..67fecab39c9 100644
--- a/code/game/machinery/doors/poddoor.dm
+++ b/code/game/machinery/doors/poddoor.dm
@@ -37,7 +37,7 @@
var/change_id = input("Set the shutters/blast door/blast door controllers ID. It must be a number between 1 and 100.", "ID", id) as num|null
if(change_id)
id = clamp(round(change_id, 1), 1, 100)
- to_chat(user, "You change the ID to [id].")
+ to_chat(user, "You change the ID to [id].")
if(W.tool_behaviour == TOOL_CROWBAR && deconstruction == INTACT)
to_chat(user, "You start to remove the airlock electronics.")
@@ -169,7 +169,7 @@
if(machine_stat & NOPOWER)
open(TRUE)
-/obj/machinery/door/poddoor/attack_alien(mob/living/carbon/alien/humanoid/user)
+/obj/machinery/door/poddoor/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
if(density & !(resistance_flags & INDESTRUCTIBLE))
add_fingerprint(user)
user.visible_message("[user] begins prying open [src].",\
diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm
index e4fadedb045..bda27b26bb0 100644
--- a/code/game/machinery/firealarm.dm
+++ b/code/game/machinery/firealarm.dm
@@ -170,7 +170,7 @@
if(user)
log_game("[user] reset a fire alarm at [COORD(src)]")
-/obj/machinery/firealarm/attack_hand(mob/user)
+/obj/machinery/firealarm/attack_hand(mob/user, list/modifiers)
if(buildstage != 2)
return ..()
add_fingerprint(user)
diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm
index d88f7c7e8ab..0acc84d40db 100644
--- a/code/game/machinery/harvester.dm
+++ b/code/game/machinery/harvester.dm
@@ -45,7 +45,7 @@
warming_up = FALSE
harvesting = FALSE
-/obj/machinery/harvester/attack_hand(mob/user)
+/obj/machinery/harvester/attack_hand(mob/user, list/modifiers)
if(state_open)
close_machine()
else if(!harvesting)
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index 61ea80e6b84..eadc9fc8bde 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -106,7 +106,7 @@ Possible to do for anyone motivated enough:
new_disk.forceMove(src)
disk = new_disk
-/obj/machinery/holopad/tutorial/attack_hand(mob/user)
+/obj/machinery/holopad/tutorial/attack_hand(mob/user, list/modifiers)
if(!istype(user))
return
if(user.incapacitated() || !is_operational)
diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm
index 712eb943d71..84f065b1b43 100644
--- a/code/game/machinery/igniter.dm
+++ b/code/game/machinery/igniter.dm
@@ -26,7 +26,7 @@
on = TRUE
icon_state = "igniter1"
-/obj/machinery/igniter/attack_hand(mob/user)
+/obj/machinery/igniter/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm
index cb3da4a2f17..fd3b7adb93f 100644
--- a/code/game/machinery/iv_drip.dm
+++ b/code/game/machinery/iv_drip.dm
@@ -170,7 +170,7 @@
attached.transfer_blood_to(target, amount)
update_icon()
-/obj/machinery/iv_drip/attack_hand(mob/user)
+/obj/machinery/iv_drip/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm
index 0def272f6f0..ac1667ace4b 100644
--- a/code/game/machinery/navbeacon.dm
+++ b/code/game/machinery/navbeacon.dm
@@ -120,7 +120,7 @@
/obj/machinery/navbeacon/attack_ai(mob/user)
interact(user, 1)
-/obj/machinery/navbeacon/attack_paw()
+/obj/machinery/navbeacon/attack_paw(mob/user, list/modifiers)
return
/obj/machinery/navbeacon/ui_interact(mob/user)
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index a19f7a6e814..97c2e03a3ce 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -778,7 +778,7 @@ GLOBAL_LIST_EMPTY(allCasters)
playsound(loc, 'sound/effects/glassbr3.ogg', 100, TRUE)
-/obj/machinery/newscaster/attack_paw(mob/living/user)
+/obj/machinery/newscaster/attack_paw(mob/living/user, list/modifiers)
if(!user.combat_mode)
to_chat(user, "The newscaster controls are far too complicated for your tiny brain!")
else
diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm
index 6db4e547242..ee747ed78dc 100644
--- a/code/game/machinery/pipe/pipe_dispenser.dm
+++ b/code/game/machinery/pipe/pipe_dispenser.dm
@@ -8,8 +8,8 @@
var/wait = 0
var/piping_layer = PIPING_LAYER_DEFAULT
-/obj/machinery/pipedispenser/attack_paw(mob/user)
- return attack_hand(user)
+/obj/machinery/pipedispenser/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/machinery/pipedispenser/ui_interact(mob/user)
. = ..()
diff --git a/code/game/machinery/porta_turret/portable_turret_construct.dm b/code/game/machinery/porta_turret/portable_turret_construct.dm
index 0808dd0e88f..90d4fbefeb4 100644
--- a/code/game/machinery/porta_turret/portable_turret_construct.dm
+++ b/code/game/machinery/porta_turret/portable_turret_construct.dm
@@ -169,7 +169,7 @@
return ..()
-/obj/machinery/porta_turret_construct/attack_hand(mob/user)
+/obj/machinery/porta_turret_construct/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/porta_turret/portable_turret_cover.dm b/code/game/machinery/porta_turret/portable_turret_cover.dm
index 926de47ca7d..255a0cce1a4 100644
--- a/code/game/machinery/porta_turret/portable_turret_cover.dm
+++ b/code/game/machinery/porta_turret/portable_turret_cover.dm
@@ -29,7 +29,7 @@
/obj/machinery/porta_turret_cover/attack_robot(mob/user)
return ..() || parent_turret.attack_robot(user)
-/obj/machinery/porta_turret_cover/attack_hand(mob/user, modifiers)
+/obj/machinery/porta_turret_cover/attack_hand(mob/user, list/modifiers)
return ..() || parent_turret.attack_hand(user, modifiers)
/obj/machinery/porta_turret_cover/attack_ghost(mob/user)
@@ -70,11 +70,11 @@
/obj/machinery/porta_turret_cover/attacked_by(obj/item/I, mob/user)
parent_turret.attacked_by(I, user)
-/obj/machinery/porta_turret_cover/attack_alien(mob/living/carbon/alien/humanoid/user)
- parent_turret.attack_alien(user)
+/obj/machinery/porta_turret_cover/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
+ parent_turret.attack_alien(user, modifiers)
-/obj/machinery/porta_turret_cover/attack_animal(mob/living/simple_animal/user)
- parent_turret.attack_animal(user)
+/obj/machinery/porta_turret_cover/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ parent_turret.attack_animal(user, modifiers)
/obj/machinery/porta_turret_cover/attack_hulk(mob/living/carbon/human/user)
return parent_turret.attack_hulk(user)
diff --git a/code/game/machinery/prisonlabor.dm b/code/game/machinery/prisonlabor.dm
index 23f252e1a66..ccc0c540048 100644
--- a/code/game/machinery/prisonlabor.dm
+++ b/code/game/machinery/prisonlabor.dm
@@ -39,7 +39,7 @@
else
return ..()
-/obj/machinery/plate_press/attack_hand(mob/living/user)
+/obj/machinery/plate_press/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(!pressing && current_plate)
work_press(user)
diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm
index c044ffb97fb..427405930cc 100755
--- a/code/game/machinery/recharger.dm
+++ b/code/game/machinery/recharger.dm
@@ -101,7 +101,7 @@
return ..()
-/obj/machinery/recharger/attack_hand(mob/user)
+/obj/machinery/recharger/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm
index 4bcaec6762d..f5c79563c2b 100644
--- a/code/game/machinery/shieldgen.dm
+++ b/code/game/machinery/shieldgen.dm
@@ -76,10 +76,10 @@
///The rune that created the shield itself. Used to delete the rune when the shield is destroyed.
var/obj/effect/rune/parent_rune
-/obj/structure/emergency_shield/cult/barrier/attack_hand(mob/living/user, modifiers)
+/obj/structure/emergency_shield/cult/barrier/attack_hand(mob/living/user, list/modifiers)
parent_rune.attack_hand(user, modifiers)
-/obj/structure/emergency_shield/cult/barrier/attack_animal(mob/living/simple_animal/user)
+/obj/structure/emergency_shield/cult/barrier/attack_animal(mob/living/simple_animal/user, list/modifiers)
if(iscultist(user))
parent_rune.attack_animal(user)
else
diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm
index 51653beb30f..f80381feea2 100644
--- a/code/game/machinery/syndicatebeacon.dm
+++ b/code/game/machinery/syndicatebeacon.dm
@@ -48,7 +48,7 @@
return
-/obj/machinery/power/singularity_beacon/attack_hand(mob/user)
+/obj/machinery/power/singularity_beacon/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/telecomms/machines/message_server.dm b/code/game/machinery/telecomms/machines/message_server.dm
index afc1b111cc6..4274b085ac1 100644
--- a/code/game/machinery/telecomms/machines/message_server.dm
+++ b/code/game/machinery/telecomms/machines/message_server.dm
@@ -21,7 +21,7 @@
. = ..()
stored = new /obj/item/blackbox(src)
-/obj/machinery/blackbox_recorder/attack_hand(mob/living/user)
+/obj/machinery/blackbox_recorder/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(stored)
stored.forceMove(drop_location())
diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm
index 541061e4288..4e24d2309ca 100644
--- a/code/game/machinery/washing_machine.dm
+++ b/code/game/machinery/washing_machine.dm
@@ -324,7 +324,7 @@ GLOBAL_LIST_INIT(dye_registry, list(
else
return ..()
-/obj/machinery/washing_machine/attack_hand(mob/living/user)
+/obj/machinery/washing_machine/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/machinery/wishgranter.dm b/code/game/machinery/wishgranter.dm
index d79d5554104..d4e0b1ed496 100644
--- a/code/game/machinery/wishgranter.dm
+++ b/code/game/machinery/wishgranter.dm
@@ -10,7 +10,7 @@
var/charges = 1
var/insisting = 0
-/obj/machinery/wish_granter/attack_hand(mob/living/carbon/user)
+/obj/machinery/wish_granter/attack_hand(mob/living/carbon/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm
index b2bea71a08b..55f54f8f7ab 100644
--- a/code/game/objects/buckling.dm
+++ b/code/game/objects/buckling.dm
@@ -13,7 +13,7 @@
var/buckle_prevents_pull = FALSE
//Interaction
-/atom/movable/attack_hand(mob/living/user)
+/atom/movable/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm
index de5998d92cc..1a201f4ff38 100644
--- a/code/game/objects/effects/contraband.dm
+++ b/code/game/objects/effects/contraband.dm
@@ -100,7 +100,7 @@
to_chat(user, "You carefully remove the poster from the wall.")
roll_and_drop(user.loc)
-/obj/structure/sign/poster/attack_hand(mob/user)
+/obj/structure/sign/poster/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm
index 9b52cf456f8..7ff889e20c0 100644
--- a/code/game/objects/effects/decals/cleanable/misc.dm
+++ b/code/game/objects/effects/decals/cleanable/misc.dm
@@ -137,7 +137,7 @@
random_icon_states = list("vomit_1", "vomit_2", "vomit_3", "vomit_4")
beauty = -150
-/obj/effect/decal/cleanable/vomit/attack_hand(mob/user)
+/obj/effect/decal/cleanable/vomit/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm
index 7a91bff4166..f355010dcf5 100644
--- a/code/game/objects/effects/effect_system/effects_foam.dm
+++ b/code/game/objects/effects/effect_system/effects_foam.dm
@@ -282,13 +282,13 @@
. = ..()
move_update_air(T)
-/obj/structure/foamedmetal/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/foamedmetal/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/structure/foamedmetal/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
playsound(src.loc, 'sound/weapons/tap.ogg', 100, TRUE)
-/obj/structure/foamedmetal/attack_hand(mob/user)
+/obj/structure/foamedmetal/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm
index 2d20dc4b402..88f7654eeb1 100644
--- a/code/game/objects/effects/portals.dm
+++ b/code/game/objects/effects/portals.dm
@@ -62,7 +62,7 @@
/obj/effect/portal/attack_tk(mob/user)
return
-/obj/effect/portal/attack_hand(mob/user)
+/obj/effect/portal/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 8e66df1177f..971baf75824 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -342,7 +342,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
add_fingerprint(usr)
return ..()
-/obj/item/attack_hand(mob/user, modifiers)
+/obj/item/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
@@ -406,7 +406,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
/obj/item/proc/allow_attack_hand_drop(mob/user)
return TRUE
-/obj/item/attack_paw(mob/user)
+/obj/item/attack_paw(mob/user, list/modifiers)
if(!user)
return
if(anchored)
@@ -425,15 +425,15 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
if(!user.put_in_active_hand(src, FALSE, FALSE))
user.dropItemToGround(src)
-/obj/item/attack_alien(mob/user)
- var/mob/living/carbon/alien/A = user
+/obj/item/attack_alien(mob/user, list/modifiers)
+ var/mob/living/carbon/alien/ayy = user
if(!user.can_hold_items(src))
- if(src in A.contents) // To stop Aliens having items stuck in their pockets
- A.dropItemToGround(src)
+ if(src in ayy.contents) // To stop Aliens having items stuck in their pockets
+ ayy.dropItemToGround(src)
to_chat(user, "Your claws aren't capable of such fine manipulation!")
return
- attack_paw(A)
+ attack_paw(ayy, modifiers)
/obj/item/attack_ai(mob/user)
if(istype(src.loc, /obj/item/robot_model))
@@ -757,7 +757,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
/obj/item/attack_hulk(mob/living/carbon/human/user)
return FALSE
-/obj/item/attack_animal(mob/living/simple_animal/M)
+/obj/item/attack_animal(mob/living/simple_animal/user, list/modifiers)
if (obj_flags & CAN_BE_HIT)
return ..()
return 0
diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm
index 51259e42c73..435f228225b 100644
--- a/code/game/objects/items/cardboard_cutouts.dm
+++ b/code/game/objects/items/cardboard_cutouts.dm
@@ -38,7 +38,7 @@
))
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/cardboard_cutout/attack_hand(mob/living/user)
+/obj/item/cardboard_cutout/attack_hand(mob/living/user, list/modifiers)
if(!user.combat_mode || pushed_over)
return ..()
user.visible_message("[user] pushes over [src]!", "You push over [src]!")
diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm
index 1a4982eb6f3..4cd0092460e 100644
--- a/code/game/objects/items/defib.dm
+++ b/code/game/objects/items/defib.dm
@@ -85,7 +85,7 @@
toggle_paddles()
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/defibrillator/attack_hand(mob/user)
+/obj/item/defibrillator/attack_hand(mob/user, list/modifiers)
if(loc == user)
if(slot_flags == ITEM_SLOT_BACK)
if(user.get_item_by_slot(ITEM_SLOT_BACK) == src)
diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm
index b8f6d220356..6c9ceb65383 100644
--- a/code/game/objects/items/devices/chameleonproj.dm
+++ b/code/game/objects/items/devices/chameleonproj.dm
@@ -131,16 +131,16 @@
master.disrupt()
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/effect/dummy/chameleon/attack_hand()
+/obj/effect/dummy/chameleon/attack_hand(mob/user, list/modifiers)
master.disrupt()
-/obj/effect/dummy/chameleon/attack_animal()
+/obj/effect/dummy/chameleon/attack_animal(mob/user, list/modifiers)
master.disrupt()
/obj/effect/dummy/chameleon/attack_slime()
master.disrupt()
-/obj/effect/dummy/chameleon/attack_alien()
+/obj/effect/dummy/chameleon/attack_alien(mob/user, list/modifiers)
master.disrupt()
/obj/effect/dummy/chameleon/ex_act(S, T)
diff --git a/code/game/objects/items/devices/polycircuit.dm b/code/game/objects/items/devices/polycircuit.dm
index 4ca456e3fcf..65a93680f6a 100644
--- a/code/game/objects/items/devices/polycircuit.dm
+++ b/code/game/objects/items/devices/polycircuit.dm
@@ -12,7 +12,7 @@
/obj/item/stack/circuit_stack/attack_self(mob/user)// Prevents the crafting menu, and tells you how to use it.
to_chat(user, "You can't use [src] by itself, you'll have to try and remove one of these circuits by hand... carefully.")
-/obj/item/stack/circuit_stack/attack_hand(mob/user)
+/obj/item/stack/circuit_stack/attack_hand(mob/user, list/modifiers)
var/mob/living/carbon/human/H = user
if(user.get_inactive_held_item() != src)
return ..()
diff --git a/code/game/objects/items/devices/portable_chem_mixer.dm b/code/game/objects/items/devices/portable_chem_mixer.dm
index 75a7f575244..4ee52406437 100644
--- a/code/game/objects/items/devices/portable_chem_mixer.dm
+++ b/code/game/objects/items/devices/portable_chem_mixer.dm
@@ -117,7 +117,7 @@
beaker = new_beaker
return TRUE
-/obj/item/storage/portable_chem_mixer/attack_hand(mob/user)
+/obj/item/storage/portable_chem_mixer/attack_hand(mob/user, list/modifiers)
if (loc != user)
return ..()
else
diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm
index 6d87b994fca..e4828edd9b4 100644
--- a/code/game/objects/items/devices/powersink.dm
+++ b/code/game/objects/items/devices/powersink.dm
@@ -90,13 +90,13 @@
else
return ..()
-/obj/item/powersink/attack_paw()
+/obj/item/powersink/attack_paw(mob/user, list/modifiers)
return
/obj/item/powersink/attack_ai()
return
-/obj/item/powersink/attack_hand(mob/user)
+/obj/item/powersink/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index 9d307618a66..78fc87585d9 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -29,7 +29,7 @@
return (FIRELOSS)
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/electropack/attack_hand(mob/user)
+/obj/item/electropack/attack_hand(mob/user, list/modifiers)
if(iscarbon(user))
var/mob/living/carbon/C = user
if(src == C.back)
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index 9c2786337e6..d169bda03a7 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -68,7 +68,7 @@
/obj/item/radio/intercom/attack_ai(mob/user)
interact(user)
-/obj/item/radio/intercom/attack_hand(mob/user)
+/obj/item/radio/intercom/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/items/devices/reverse_bear_trap.dm b/code/game/objects/items/devices/reverse_bear_trap.dm
index f172f899ed4..44bddc3aef3 100644
--- a/code/game/objects/items/devices/reverse_bear_trap.dm
+++ b/code/game/objects/items/devices/reverse_bear_trap.dm
@@ -45,7 +45,7 @@
to_chat(loc, "*ding*")
addtimer(CALLBACK(src, .proc/snap), 2)
-/obj/item/reverse_bear_trap/attack_hand(mob/user)
+/obj/item/reverse_bear_trap/attack_hand(mob/user, list/modifiers)
if(iscarbon(user))
var/mob/living/carbon/C = user
if(C.get_item_by_slot(ITEM_SLOT_HEAD) == src)
diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm
index d034d0933e1..270083b76ab 100644
--- a/code/game/objects/items/devices/taperecorder.dm
+++ b/code/game/objects/items/devices/taperecorder.dm
@@ -105,7 +105,7 @@
..()
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/taperecorder/attack_hand(mob/user)
+/obj/item/taperecorder/attack_hand(mob/user, list/modifiers)
if(loc != user || !mytape || !user.is_holding(src))
return ..()
eject(user)
diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm
index 2bd922def89..b74f61604e8 100644
--- a/code/game/objects/items/devices/transfer_valve.dm
+++ b/code/game/objects/items/devices/transfer_valve.dm
@@ -76,7 +76,7 @@
attached_device.Crossed(AM)
//Triggers mousetraps
-/obj/item/transfer_valve/attack_hand()
+/obj/item/transfer_valve/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/items/dna_injector.dm b/code/game/objects/items/dna_injector.dm
index bea310c8372..ce07f816398 100644
--- a/code/game/objects/items/dna_injector.dm
+++ b/code/game/objects/items/dna_injector.dm
@@ -17,8 +17,8 @@
var/used = 0
-/obj/item/dnainjector/attack_paw(mob/user)
- return attack_hand(user)
+/obj/item/dnainjector/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/item/dnainjector/proc/inject(mob/living/carbon/M, mob/user)
if(M.has_dna() && !HAS_TRAIT(M, TRAIT_GENELESS) && !HAS_TRAIT(M, TRAIT_BADDNA))
diff --git a/code/game/objects/items/etherealdiscoball.dm b/code/game/objects/items/etherealdiscoball.dm
index db35c246db2..59750b14a93 100644
--- a/code/game/objects/items/etherealdiscoball.dm
+++ b/code/game/objects/items/etherealdiscoball.dm
@@ -27,7 +27,7 @@
. = ..()
update_icon()
-/obj/structure/etherealball/attack_hand(mob/living/carbon/human/user)
+/obj/structure/etherealball/attack_hand(mob/living/carbon/human/user, list/modifiers)
. = ..()
if(TurnedOn)
TurnOff()
diff --git a/code/game/objects/items/grenades/grenade.dm b/code/game/objects/items/grenades/grenade.dm
index 6d3417697d8..eae73e59817 100644
--- a/code/game/objects/items/grenades/grenade.dm
+++ b/code/game/objects/items/grenades/grenade.dm
@@ -163,8 +163,8 @@
if(det_time == previous_time)
det_time = 50
-/obj/item/grenade/attack_paw(mob/user)
- return attack_hand(user)
+/obj/item/grenade/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/item/grenade/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
var/obj/projectile/P = hitby
diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm
index ba508c0835e..eb26cb15b47 100644
--- a/code/game/objects/items/handcuffs.dm
+++ b/code/game/objects/items/handcuffs.dm
@@ -305,7 +305,7 @@
do_sparks(1, TRUE, src)
qdel(src)
-/obj/item/restraints/legcuffs/beartrap/energy/attack_hand(mob/user)
+/obj/item/restraints/legcuffs/beartrap/energy/attack_hand(mob/user, list/modifiers)
Crossed(user) //honk
return ..()
diff --git a/code/game/objects/items/hourglass.dm b/code/game/objects/items/hourglass.dm
index 300ff6fb3d6..d7fd0f3df4c 100644
--- a/code/game/objects/items/hourglass.dm
+++ b/code/game/objects/items/hourglass.dm
@@ -70,7 +70,7 @@
anchored = TRUE
hand_activated = FALSE
-/obj/item/hourglass/admin/attack_hand(mob/user)
+/obj/item/hourglass/admin/attack_hand(mob/user, list/modifiers)
. = ..()
if(user.client && user.client.holder)
toggle(user)
diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm
index f50a5bed0ea..fa4d58428fb 100644
--- a/code/game/objects/items/melee/misc.dm
+++ b/code/game/objects/items/melee/misc.dm
@@ -611,7 +611,7 @@
to_chat(user, "[target] doesn't seem to want to get on [src]!")
update_icon()
-/obj/item/melee/roastingstick/attack_hand(mob/user)
+/obj/item/melee/roastingstick/attack_hand(mob/user, list/modifiers)
..()
if (held_sausage)
user.put_in_hands(held_sausage)
diff --git a/code/game/objects/items/stacks/bscrystal.dm b/code/game/objects/items/stacks/bscrystal.dm
index 26312b4e491..1596e953af1 100644
--- a/code/game/objects/items/stacks/bscrystal.dm
+++ b/code/game/objects/items/stacks/bscrystal.dm
@@ -82,7 +82,7 @@
to_chat(user, "You cannot crush the polycrystal in-hand, try breaking one off.")
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/stack/sheet/bluespace_crystal/attack_hand(mob/user)
+/obj/item/stack/sheet/bluespace_crystal/attack_hand(mob/user, list/modifiers)
if(user.get_inactive_held_item() == src)
if(zero_amount())
return
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index 9b828af8071..ec9b387a2d6 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -312,7 +312,7 @@
return
return ..()
-/obj/item/stack/medical/mesh/attack_hand(mob/user)
+/obj/item/stack/medical/mesh/attack_hand(mob/user, list/modifiers)
if(!is_open && user.get_inactive_held_item() == src)
to_chat(user, "You need to open [src] first.")
return
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index f69459ab1aa..dc5b0d24cb5 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -446,7 +446,7 @@
. = ..()
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/stack/attack_hand(mob/user)
+/obj/item/stack/attack_hand(mob/user, list/modifiers)
if(user.get_inactive_held_item() == src)
if(zero_amount())
return
diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm
index 4b141d7b81c..cfdcc2c913a 100644
--- a/code/game/objects/items/storage/boxes.dm
+++ b/code/game/objects/items/storage/boxes.dm
@@ -85,7 +85,7 @@
inhand_icon_state = null
alpha = 0
-/obj/item/storage/box/mime/attack_hand(mob/user)
+/obj/item/storage/box/mime/attack_hand(mob/user, list/modifiers)
..()
if(user.mind.miming)
alpha = 255
@@ -1337,7 +1337,7 @@
for(var/i in 1 to 3)
new /obj/item/poster/tail_board(src)
new /obj/item/tail_pin(src)
-
+
/obj/item/storage/box/emergencytank
name = "emergency oxygen tank box"
desc = "A box of emergency oxygen tanks."
@@ -1347,7 +1347,7 @@
..()
for(var/i in 1 to 7)
new /obj/item/tank/internals/emergency_oxygen(src) //in case anyone ever wants to do anything with spawning them, apart from crafting the box
-
+
/obj/item/storage/box/engitank
name = "extended-capacity emergency oxygen tank box"
desc = "A box of extended-capacity emergency oxygen tanks."
diff --git a/code/game/objects/items/storage/secure.dm b/code/game/objects/items/storage/secure.dm
index ed459a866f9..13e08514ef5 100644
--- a/code/game/objects/items/storage/secure.dm
+++ b/code/game/objects/items/storage/secure.dm
@@ -179,7 +179,7 @@
new /obj/item/paper(src)
new /obj/item/pen(src)
-/obj/item/storage/secure/safe/attack_hand(mob/user)
+/obj/item/storage/secure/safe/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm
index b52751a5d8c..78a7e74c4d4 100644
--- a/code/game/objects/items/tanks/watertank.dm
+++ b/code/game/objects/items/tanks/watertank.dm
@@ -76,7 +76,7 @@
M.temporarilyRemoveItemFromInventory(noz, TRUE)
noz.forceMove(src)
-/obj/item/watertank/attack_hand(mob/user)
+/obj/item/watertank/attack_hand(mob/user, list/modifiers)
if (user.get_item_by_slot(user.getBackSlot()) == src)
toggle_mister(user)
else
diff --git a/code/game/objects/items/tcg/tcg.dm b/code/game/objects/items/tcg/tcg.dm
index ecb969a87c7..8fc12b481b0 100644
--- a/code/game/objects/items/tcg/tcg.dm
+++ b/code/game/objects/items/tcg/tcg.dm
@@ -73,7 +73,7 @@ GLOBAL_LIST_EMPTY(cached_cards)
GLOBAL_LIST_EMPTY(tcgcard_radial_choices)
-/obj/item/tcgcard/attack_hand(mob/user)
+/obj/item/tcgcard/attack_hand(mob/user, list/modifiers)
if(!isturf(loc))
return ..()
var/list/choices = GLOB.tcgcard_radial_choices
@@ -198,7 +198,7 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices)
. = ..()
. += "\The [src] has [contents.len] cards inside."
-/obj/item/tcgcard_deck/attack_hand(mob/user)
+/obj/item/tcgcard_deck/attack_hand(mob/user, list/modifiers)
var/list/choices = list(
"Draw" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_draw"),
"Shuffle" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_shuffle"),
diff --git a/code/game/objects/items/toy_mechs.dm b/code/game/objects/items/toy_mechs.dm
index c9c89276ee5..7bf7763e0a5 100644
--- a/code/game/objects/items/toy_mechs.dm
+++ b/code/game/objects/items/toy_mechs.dm
@@ -132,7 +132,7 @@
else
. = ..()
-/obj/item/toy/prize/attack_hand(mob/user)
+/obj/item/toy/prize/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 77089032718..e8d0fd36658 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -550,8 +550,8 @@
var/phomeme
// Talking toys are language universal, and thus all species can use them
-/obj/item/toy/talking/attack_alien(mob/user)
- return attack_hand(user)
+/obj/item/toy/talking/attack_alien(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/item/toy/talking/attack_self(mob/user)
if(!cooldown)
@@ -695,7 +695,7 @@
//ATTACK HAND IGNORING PARENT RETURN VALUE
//ATTACK HAND NOT CALLING PARENT
-/obj/item/toy/cards/deck/attack_hand(mob/user)
+/obj/item/toy/cards/deck/attack_hand(mob/user, list/modifiers)
draw_card(user)
/obj/item/toy/cards/deck/proc/draw_card(mob/user)
diff --git a/code/game/objects/items/wayfinding.dm b/code/game/objects/items/wayfinding.dm
index 2885bd00c95..357fbb62c25 100644
--- a/code/game/objects/items/wayfinding.dm
+++ b/code/game/objects/items/wayfinding.dm
@@ -99,7 +99,7 @@
explosion(get_turf(src), devastation_range = 0, heavy_impact_range = 0, light_impact_range = 1, flash_range = 3, flame_range = 1, smoke = TRUE)
return ..()
-/obj/machinery/pinpointer_dispenser/attack_hand(mob/living/user)
+/obj/machinery/pinpointer_dispenser/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(machine_stat & (BROKEN|NOPOWER))
diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm
index 72810ed1ce2..13642b56940 100644
--- a/code/game/objects/obj_defense.dm
+++ b/code/game/objects/obj_defense.dm
@@ -107,22 +107,22 @@
user.changeNext_move(CLICK_CD_MELEE)
return take_damage(damage_amount, damage_type, damage_flag, sound_effect, get_dir(src, user), armor_penetration)
-/obj/attack_alien(mob/living/carbon/alien/humanoid/user)
+/obj/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
if(attack_generic(user, 60, BRUTE, MELEE, 0))
playsound(src.loc, 'sound/weapons/slash.ogg', 100, TRUE)
-/obj/attack_animal(mob/living/simple_animal/M)
- if(!M.melee_damage_upper && !M.obj_damage)
- M.emote("custom", message = "[M.friendly_verb_continuous] [src].")
+/obj/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ if(!user.melee_damage_upper && !user.obj_damage)
+ user.emote("custom", message = "[user.friendly_verb_continuous] [src].")
return FALSE
else
var/play_soundeffect = TRUE
- if(M.environment_smash)
+ if(user.environment_smash)
play_soundeffect = FALSE
- if(M.obj_damage)
- . = attack_generic(M, M.obj_damage, M.melee_damage_type, MELEE, play_soundeffect, M.armour_penetration)
+ if(user.obj_damage)
+ . = attack_generic(user, user.obj_damage, user.melee_damage_type, MELEE, play_soundeffect, user.armour_penetration)
else
- . = attack_generic(M, rand(M.melee_damage_lower,M.melee_damage_upper), M.melee_damage_type, MELEE, play_soundeffect, M.armour_penetration)
+ . = attack_generic(user, rand(user.melee_damage_lower,user.melee_damage_upper), user.melee_damage_type, MELEE, play_soundeffect, user.armour_penetration)
if(. && !play_soundeffect)
playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE)
diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm
index f5cc2f08318..c2d1b660885 100644
--- a/code/game/objects/structures/aliens.dm
+++ b/code/game/objects/structures/aliens.dm
@@ -109,8 +109,8 @@
smoothing_groups = list(SMOOTH_GROUP_ALIEN_RESIN, SMOOTH_GROUP_ALIEN_WALLS)
canSmoothWith = list(SMOOTH_GROUP_ALIEN_WALLS)
-/obj/structure/alien/resin/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/alien/resin/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
///Used in the big derelict ruin exclusively.
/obj/structure/alien/resin/membrane/creature
@@ -299,13 +299,13 @@
if(BURST)
icon_state = "[base_icon]_hatched"
-/obj/structure/alien/egg/attack_paw(mob/living/user)
- return attack_hand(user)
+/obj/structure/alien/egg/attack_paw(mob/living/user, list/modifiers)
+ return attack_hand(user, modifiers)
-/obj/structure/alien/egg/attack_alien(mob/living/carbon/alien/user)
- return attack_hand(user)
+/obj/structure/alien/egg/attack_alien(mob/living/carbon/alien/user, list/modifiers)
+ return attack_hand(user, modifiers)
-/obj/structure/alien/egg/attack_hand(mob/living/user)
+/obj/structure/alien/egg/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/barsigns.dm b/code/game/objects/structures/barsigns.dm
index 2b82770554e..eba3bbfedf5 100644
--- a/code/game/objects/structures/barsigns.dm
+++ b/code/game/objects/structures/barsigns.dm
@@ -61,7 +61,7 @@
/obj/structure/sign/barsign/attack_ai(mob/user)
return attack_hand(user)
-/obj/structure/sign/barsign/attack_hand(mob/user)
+/obj/structure/sign/barsign/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/beds_chairs/alien_nest.dm b/code/game/objects/structures/beds_chairs/alien_nest.dm
index ea18039b346..88cecd90ec3 100644
--- a/code/game/objects/structures/beds_chairs/alien_nest.dm
+++ b/code/game/objects/structures/beds_chairs/alien_nest.dm
@@ -83,8 +83,8 @@
if(BURN)
playsound(loc, 'sound/items/welder.ogg', 100, TRUE)
-/obj/structure/bed/nest/attack_alien(mob/living/carbon/alien/user)
+/obj/structure/bed/nest/attack_alien(mob/living/carbon/alien/user, list/modifiers)
if(!user.combat_mode)
- return attack_hand(user)
+ return attack_hand(user, modifiers)
else
return ..()
diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm
index ad571ae34f0..e8b1bc509b8 100644
--- a/code/game/objects/structures/beds_chairs/bed.dm
+++ b/code/game/objects/structures/beds_chairs/bed.dm
@@ -33,8 +33,8 @@
new buildstacktype(loc,buildstackamount)
..()
-/obj/structure/bed/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/bed/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/structure/bed/attackby(obj/item/W, mob/user, params)
if(W.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1))
diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm
index 1d3fbe9947b..2868b5028ea 100644
--- a/code/game/objects/structures/beds_chairs/chair.dm
+++ b/code/game/objects/structures/beds_chairs/chair.dm
@@ -66,8 +66,8 @@
new M.sheet_type(loc, FLOOR(custom_materials[M] / MINERAL_MATERIAL_AMOUNT, 1))
..()
-/obj/structure/chair/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/chair/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/structure/chair/narsie_act()
var/obj/structure/chair/wood/W = new/obj/structure/chair/wood(get_turf(src))
diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm
index 6403a3c4373..b6ee894b1c6 100644
--- a/code/game/objects/structures/bedsheet_bin.dm
+++ b/code/game/objects/structures/bedsheet_bin.dm
@@ -363,10 +363,10 @@ LINEN BINS
to_chat(user, "You hide [I] among the sheets.")
-/obj/structure/bedsheetbin/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/bedsheetbin/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
-/obj/structure/bedsheetbin/attack_hand(mob/user)
+/obj/structure/bedsheetbin/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index cc50bc1e2bc..c8a86825870 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -368,7 +368,7 @@
container_resist_act(user)
-/obj/structure/closet/attack_hand(mob/living/user)
+/obj/structure/closet/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
@@ -379,8 +379,8 @@
togglelock(user)
-/obj/structure/closet/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/closet/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/structure/closet/attack_robot(mob/user)
if(user.Adjacent(src))
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index a55e8b3a728..11ef4e3315e 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -45,7 +45,7 @@
if(manifest)
. += "manifest"
-/obj/structure/closet/crate/attack_hand(mob/user)
+/obj/structure/closet/crate/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/crates_lockers/crates/large.dm b/code/game/objects/structures/crates_lockers/crates/large.dm
index 907b4680068..84d9e6d27fd 100644
--- a/code/game/objects/structures/crates_lockers/crates/large.dm
+++ b/code/game/objects/structures/crates_lockers/crates/large.dm
@@ -15,7 +15,7 @@
// Stops people from "diving into" a crate you can't open normally
divable = FALSE
-/obj/structure/closet/crate/large/attack_hand(mob/user)
+/obj/structure/closet/crate/large/attack_hand(mob/user, list/modifiers)
add_fingerprint(user)
if(manifest)
tear_manifest(user)
diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm
index 198b3bd3ef9..96e2a920327 100644
--- a/code/game/objects/structures/displaycase.dm
+++ b/code/game/objects/structures/displaycase.dm
@@ -174,10 +174,10 @@
open = !open
update_icon()
-/obj/structure/displaycase/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/displaycase/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
-/obj/structure/displaycase/attack_hand(mob/living/user)
+/obj/structure/displaycase/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/divine.dm b/code/game/objects/structures/divine.dm
index 5ce0f75850d..6cdab82d822 100644
--- a/code/game/objects/structures/divine.dm
+++ b/code/game/objects/structures/divine.dm
@@ -30,7 +30,7 @@
var/time_between_uses = 1800
var/last_process = 0
-/obj/structure/healingfountain/attack_hand(mob/living/user)
+/obj/structure/healingfountain/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm
index d6dcf58162b..c99c65c1321 100644
--- a/code/game/objects/structures/dresser.dm
+++ b/code/game/objects/structures/dresser.dm
@@ -20,7 +20,7 @@
new /obj/item/stack/sheet/mineral/wood(drop_location(), 10)
qdel(src)
-/obj/structure/dresser/attack_hand(mob/user)
+/obj/structure/dresser/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm
index 290d5853849..24452c4d302 100644
--- a/code/game/objects/structures/extinguisher.dm
+++ b/code/game/objects/structures/extinguisher.dm
@@ -75,7 +75,7 @@
return ..()
-/obj/structure/extinguisher_cabinet/attack_hand(mob/user)
+/obj/structure/extinguisher_cabinet/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
@@ -106,8 +106,8 @@
toggle_cabinet(user)
-/obj/structure/extinguisher_cabinet/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/extinguisher_cabinet/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/structure/extinguisher_cabinet/AltClick(mob/living/user)
if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, TRUE))
diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm
index 94daaf19106..e919d387c9f 100644
--- a/code/game/objects/structures/false_walls.dm
+++ b/code/game/objects/structures/false_walls.dm
@@ -31,7 +31,7 @@
. = ..()
air_update_turf(TRUE, TRUE)
-/obj/structure/falsewall/attack_hand(mob/user)
+/obj/structure/falsewall/attack_hand(mob/user, list/modifiers)
if(opening)
return
. = ..()
@@ -173,7 +173,7 @@
radiate()
return ..()
-/obj/structure/falsewall/uranium/attack_hand(mob/user)
+/obj/structure/falsewall/uranium/attack_hand(mob/user, list/modifiers)
radiate()
. = ..()
diff --git a/code/game/objects/structures/fence.dm b/code/game/objects/structures/fence.dm
index 87ba54103d8..de258826402 100644
--- a/code/game/objects/structures/fence.dm
+++ b/code/game/objects/structures/fence.dm
@@ -121,7 +121,7 @@
open = TRUE
density = TRUE
-/obj/structure/fence/door/attack_hand(mob/user)
+/obj/structure/fence/door/attack_hand(mob/user, list/modifiers)
if(can_open(user))
toggle(user)
diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm
index 2678accc999..53f883fb2f1 100644
--- a/code/game/objects/structures/fireaxe.dm
+++ b/code/game/objects/structures/fireaxe.dm
@@ -104,7 +104,7 @@
fireaxe = null
qdel(src)
-/obj/structure/fireaxecabinet/attack_hand(mob/user)
+/obj/structure/fireaxecabinet/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
@@ -124,8 +124,8 @@
update_icon()
return
-/obj/structure/fireaxecabinet/attack_paw(mob/living/user)
- return attack_hand(user)
+/obj/structure/fireaxecabinet/attack_paw(mob/living/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/structure/fireaxecabinet/attack_ai(mob/user)
toggle_lock(user)
diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm
index 34b54c92f0a..2428983f610 100644
--- a/code/game/objects/structures/flora.dm
+++ b/code/game/objects/structures/flora.dm
@@ -70,7 +70,7 @@
if(!took_presents)
took_presents = list()
-/obj/structure/flora/tree/pine/xmas/presents/attack_hand(mob/living/user)
+/obj/structure/flora/tree/pine/xmas/presents/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/fluff.dm b/code/game/objects/structures/fluff.dm
index 6219a6892ac..0415cad1893 100644
--- a/code/game/objects/structures/fluff.dm
+++ b/code/game/objects/structures/fluff.dm
@@ -103,7 +103,7 @@
desc = "Space Jesus is my copilot."
icon_state = "driverseat"
-/obj/structure/fluff/bus/passable/seat/driver/attack_hand(mob/user)
+/obj/structure/fluff/bus/passable/seat/driver/attack_hand(mob/user, list/modifiers)
playsound(src, 'sound/items/carhorn.ogg', 50, TRUE)
. = ..()
diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm
index 6b3eba9949c..77ef4c4abb8 100644
--- a/code/game/objects/structures/ghost_role_spawners.dm
+++ b/code/game/objects/structures/ghost_role_spawners.dm
@@ -237,7 +237,7 @@
else
new_spawn.mind.assigned_role = "Free Golem"
-/obj/effect/mob_spawn/human/golem/attack_hand(mob/user)
+/obj/effect/mob_spawn/human/golem/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
@@ -843,7 +843,7 @@
outfit = /datum/outfit/spacebartender
assignedrole = "Space Bar Patron"
-/obj/effect/mob_spawn/human/alive/space_bar_patron/attack_hand(mob/user)
+/obj/effect/mob_spawn/human/alive/space_bar_patron/attack_hand(mob/user, list/modifiers)
var/despawn = alert("Return to cryosleep? (Warning, Your mob will be deleted!)", null, "Yes", "No")
if(despawn == "No" || !loc || !Adjacent(user))
return
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index b757951c5bc..b3d753518be 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -87,15 +87,15 @@
var/mob/M = AM
shock(M, 70)
-/obj/structure/grille/attack_animal(mob/user)
+/obj/structure/grille/attack_animal(mob/user, list/modifiers)
. = ..()
if(!.)
return
if(!shock(user, 70) && !QDELETED(src)) //Last hit still shocks but shouldn't deal damage to the grille
take_damage(rand(5,10), BRUTE, MELEE, 1)
-/obj/structure/grille/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/grille/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/structure/grille/hulk_damage()
return 60
@@ -105,7 +105,7 @@
return
. = ..()
-/obj/structure/grille/attack_hand(mob/living/user)
+/obj/structure/grille/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
@@ -116,7 +116,7 @@
if(!shock(user, 70))
take_damage(rand(5,10), BRUTE, MELEE, 1)
-/obj/structure/grille/attack_alien(mob/living/user)
+/obj/structure/grille/attack_alien(mob/living/user, list/modifiers)
user.do_attack_animation(src)
user.changeNext_move(CLICK_CD_MELEE)
user.visible_message("[user] mangles [src].", null, null, COMBAT_MESSAGE_RANGE)
diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm
index 1b4e739f56c..ed7fb3da37f 100644
--- a/code/game/objects/structures/guillotine.dm
+++ b/code/game/objects/structures/guillotine.dm
@@ -66,7 +66,7 @@
if (LAZYLEN(buckled_mobs))
. += "Someone appears to be strapped in. You can help them out, or you can harm them by activating the guillotine."
-/obj/structure/guillotine/attack_hand(mob/living/user)
+/obj/structure/guillotine/attack_hand(mob/living/user, list/modifiers)
add_fingerprint(user)
// Currently being used by something
diff --git a/code/game/objects/structures/guncase.dm b/code/game/objects/structures/guncase.dm
index 7140288b7cf..2ff2d86f014 100644
--- a/code/game/objects/structures/guncase.dm
+++ b/code/game/objects/structures/guncase.dm
@@ -53,7 +53,7 @@
else
return ..()
-/obj/structure/guncase/attack_hand(mob/user)
+/obj/structure/guncase/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/headpike.dm b/code/game/objects/structures/headpike.dm
index 54fa1eb49d1..8a0db6b0d59 100644
--- a/code/game/objects/structures/headpike.dm
+++ b/code/game/objects/structures/headpike.dm
@@ -67,7 +67,7 @@
MA.pixel_x = pixel_x
. += victim
-/obj/structure/headpike/attack_hand(mob/user)
+/obj/structure/headpike/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/holosign.dm b/code/game/objects/structures/holosign.dm
index 0220978b9ed..1e8961819d7 100644
--- a/code/game/objects/structures/holosign.dm
+++ b/code/game/objects/structures/holosign.dm
@@ -23,7 +23,7 @@
projector = null
return ..()
-/obj/structure/holosign/attack_hand(mob/living/user)
+/obj/structure/holosign/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
@@ -161,7 +161,7 @@
return FALSE
return TRUE
-/obj/structure/holosign/barrier/medical/attack_hand(mob/living/user)
+/obj/structure/holosign/barrier/medical/attack_hand(mob/living/user, list/modifiers)
if(CanPass(user) && !user.combat_mode)
force_allaccess = !force_allaccess
to_chat(user, "You [force_allaccess ? "deactivate" : "activate"] the biometric scanners.") //warning spans because you can make the station sick!
@@ -181,7 +181,7 @@
/obj/structure/holosign/barrier/cyborg/hacked/proc/cooldown()
shockcd = FALSE
-/obj/structure/holosign/barrier/cyborg/hacked/attack_hand(mob/living/user)
+/obj/structure/holosign/barrier/cyborg/hacked/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/industrial_lift.dm b/code/game/objects/structures/industrial_lift.dm
index bba92d5cbb4..830afe028e5 100644
--- a/code/game/objects/structures/industrial_lift.dm
+++ b/code/game/objects/structures/industrial_lift.dm
@@ -246,7 +246,7 @@ GLOBAL_LIST_EMPTY(lifts)
return FALSE
return TRUE
-/obj/structure/industrial_lift/attack_hand(mob/user)
+/obj/structure/industrial_lift/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
@@ -260,7 +260,7 @@ GLOBAL_LIST_EMPTY(lifts)
if(isAdminGhostAI(user))
use(user)
-/obj/structure/industrial_lift/attack_paw(mob/user)
+/obj/structure/industrial_lift/attack_paw(mob/user, list/modifiers)
return use(user)
/obj/structure/industrial_lift/attackby(obj/item/W, mob/user, params)
diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index eeca76c7048..e743ff49ce2 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -93,7 +93,7 @@
else
return ..()
-/obj/structure/janitorialcart/attack_hand(mob/user)
+/obj/structure/janitorialcart/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm
index ec4be6b1950..83ef4f17417 100644
--- a/code/game/objects/structures/kitchen_spike.dm
+++ b/code/game/objects/structures/kitchen_spike.dm
@@ -47,8 +47,8 @@
can_buckle = 1
max_integrity = 250
-/obj/structure/kitchenspike/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/kitchenspike/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/structure/kitchenspike/crowbar_act(mob/living/user, obj/item/I)
if(has_buckled_mobs())
@@ -61,7 +61,7 @@
return TRUE
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/structure/kitchenspike/attack_hand(mob/living/user)
+/obj/structure/kitchenspike/attack_hand(mob/living/user, list/modifiers)
if(VIABLE_MOB_CHECK(user.pulling) && user.combat_mode && !has_buckled_mobs())
var/mob/living/L = user.pulling
if(do_mob(user, src, 120))
diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm
index c9fadc95766..81a0ce8b844 100644
--- a/code/game/objects/structures/ladders.dm
+++ b/code/game/objects/structures/ladders.dm
@@ -126,16 +126,16 @@
return FALSE
return TRUE
-/obj/structure/ladder/attack_hand(mob/user)
+/obj/structure/ladder/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
use(user)
-/obj/structure/ladder/attack_paw(mob/user)
+/obj/structure/ladder/attack_paw(mob/user, list/modifiers)
return use(user)
-/obj/structure/ladder/attack_alien(mob/user)
+/obj/structure/ladder/attack_alien(mob/user, list/modifiers)
return use(user)
/obj/structure/ladder/attack_larva(mob/user)
diff --git a/code/game/objects/structures/life_candle.dm b/code/game/objects/structures/life_candle.dm
index 6159ad81d3f..4c7d8251df7 100644
--- a/code/game/objects/structures/life_candle.dm
+++ b/code/game/objects/structures/life_candle.dm
@@ -28,7 +28,7 @@
. = ..()
AddElement(/datum/element/movetype_handler)
-/obj/structure/life_candle/attack_hand(mob/user)
+/obj/structure/life_candle/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/maintenance.dm b/code/game/objects/structures/maintenance.dm
index 78c9e88a4ac..b2287afbe78 100644
--- a/code/game/objects/structures/maintenance.dm
+++ b/code/game/objects/structures/maintenance.dm
@@ -53,7 +53,7 @@ at the cost of risking a vicious bite.**/
return TRUE
-/obj/structure/moisture_trap/attack_hand(mob/user)
+/obj/structure/moisture_trap/attack_hand(mob/user, list/modifiers)
. = ..()
if(iscyborg(user) || isalien(user))
return
diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm
index 55c5f28d3ba..980fcecd2bc 100644
--- a/code/game/objects/structures/mineral_doors.dm
+++ b/code/game/objects/structures/mineral_doors.dm
@@ -53,10 +53,10 @@
if(get_dist(user,src) <= 1) //not remotely though
return TryToSwitchState(user)
-/obj/structure/mineral_door/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/mineral_door/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
-/obj/structure/mineral_door/attack_hand(mob/user)
+/obj/structure/mineral_door/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index 5b175ad5f28..15ca2299e9a 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -14,7 +14,7 @@
if(icon_state == "mirror_broke" && !broken)
obj_break(null, mapload)
-/obj/structure/mirror/attack_hand(mob/user)
+/obj/structure/mirror/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
@@ -122,7 +122,7 @@
choosable_races += initial(S.id)
..()
-/obj/structure/mirror/magic/attack_hand(mob/user)
+/obj/structure/mirror/magic/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm
index cef958ca65c..b91a93aa98a 100644
--- a/code/game/objects/structures/morgue.dm
+++ b/code/game/objects/structures/morgue.dm
@@ -58,10 +58,10 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an
return
open()
-/obj/structure/bodycontainer/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/bodycontainer/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
-/obj/structure/bodycontainer/attack_hand(mob/user)
+/obj/structure/bodycontainer/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
@@ -330,10 +330,10 @@ GLOBAL_LIST_EMPTY(crematoriums)
new /obj/item/stack/sheet/iron (loc, 2)
qdel(src)
-/obj/structure/tray/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/tray/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
-/obj/structure/tray/attack_hand(mob/user)
+/obj/structure/tray/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/plaques/_plaques.dm b/code/game/objects/structures/plaques/_plaques.dm
index 4850057b2df..d6fa837b83c 100644
--- a/code/game/objects/structures/plaques/_plaques.dm
+++ b/code/game/objects/structures/plaques/_plaques.dm
@@ -31,7 +31,7 @@
///Custom plaque structures and items both start "unengraved", once engraved with a fountain pen their text can't be altered again.
var/engraved = FALSE
-/obj/structure/plaque/attack_hand(mob/user)
+/obj/structure/plaque/attack_hand(mob/user, list/modifiers)
. = ..()
if(. || user.is_blind())
return
diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm
index bbc2fb33d89..e3e39ed2904 100644
--- a/code/game/objects/structures/signs/_signs.dm
+++ b/code/game/objects/structures/signs/_signs.dm
@@ -47,7 +47,7 @@
M.Turn(90)
transform = M
-/obj/structure/sign/attack_hand(mob/user)
+/obj/structure/sign/attack_hand(mob/user, list/modifiers)
. = ..()
if(. || user.is_blind())
return
diff --git a/code/game/objects/structures/spawner.dm b/code/game/objects/structures/spawner.dm
index 370f765167c..32611e9635c 100644
--- a/code/game/objects/structures/spawner.dm
+++ b/code/game/objects/structures/spawner.dm
@@ -19,10 +19,10 @@
. = ..()
AddComponent(spawner_type, mob_types, spawn_time, faction, spawn_text, max_mobs)
-/obj/structure/spawner/attack_animal(mob/living/simple_animal/M)
- if(faction_check(faction, M.faction, FALSE)&&!M.client)
+/obj/structure/spawner/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ if(faction_check(faction, user.faction, FALSE) && !user.client)
return
- ..()
+ return ..()
/obj/structure/spawner/syndicate
diff --git a/code/game/objects/structures/spirit_board.dm b/code/game/objects/structures/spirit_board.dm
index d3a75cebf67..a27c24316e3 100644
--- a/code/game/objects/structures/spirit_board.dm
+++ b/code/game/objects/structures/spirit_board.dm
@@ -14,7 +14,7 @@
desc = "[initial(desc)] The planchette is sitting at \"[planchette]\"."
. = ..()
-/obj/structure/spirit_board/attack_hand(mob/user)
+/obj/structure/spirit_board/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index 89f38104d94..9e79ca17619 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -59,10 +59,10 @@
qdel(src)
new /obj/structure/table/wood(A)
-/obj/structure/table/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/table/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
-/obj/structure/table/attack_hand(mob/living/user)
+/obj/structure/table/attack_hand(mob/living/user, list/modifiers)
if(Adjacent(user) && user.pulling)
if(isliving(user.pulling))
var/mob/living/pushed_mob = user.pulling
@@ -641,10 +641,10 @@
if(user.transferItemToLoc(W, drop_location()))
return 1
-/obj/structure/rack/attack_paw(mob/living/user)
- attack_hand(user)
+/obj/structure/rack/attack_paw(mob/living/user, list/modifiers)
+ attack_hand(user, modifiers)
-/obj/structure/rack/attack_hand(mob/living/user)
+/obj/structure/rack/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/tank_holder.dm b/code/game/objects/structures/tank_holder.dm
index 09ebafa70a1..7b087bf6dcf 100644
--- a/code/game/objects/structures/tank_holder.dm
+++ b/code/game/objects/structures/tank_holder.dm
@@ -60,10 +60,10 @@
after_detach_tank()
qdel(src)
-/obj/structure/tank_holder/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/tank_holder/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
-/obj/structure/tank_holder/attack_hand(mob/user)
+/obj/structure/tank_holder/attack_hand(mob/user, list/modifiers)
if(!tank)
return ..()
if(!Adjacent(user) || issilicon(user))
diff --git a/code/game/objects/structures/training_machine.dm b/code/game/objects/structures/training_machine.dm
index 1a85c22baa9..73ca7faa19d 100644
--- a/code/game/objects/structures/training_machine.dm
+++ b/code/game/objects/structures/training_machine.dm
@@ -98,7 +98,7 @@
move_speed = clamp(range_input, MIN_SPEED, MAX_SPEED)
. = TRUE
-/obj/structure/training_machine/attack_hand(mob/user)
+/obj/structure/training_machine/attack_hand(mob/user, list/modifiers)
ui_interact(user)
/**
diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm
index f6f47e7799e..8f19433d50a 100644
--- a/code/game/objects/structures/transit_tubes/station.dm
+++ b/code/game/objects/structures/transit_tubes/station.dm
@@ -59,7 +59,7 @@
qdel(R)
-/obj/structure/transit_tube/station/attack_hand(mob/user)
+/obj/structure/transit_tube/station/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 3bcb3513119..023e23ba9ed 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -18,7 +18,7 @@
update_icon()
-/obj/structure/toilet/attack_hand(mob/living/user)
+/obj/structure/toilet/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
@@ -159,7 +159,7 @@
. = ..()
hiddenitem = new /obj/item/food/urinalcake
-/obj/structure/urinal/attack_hand(mob/living/user)
+/obj/structure/urinal/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
@@ -276,7 +276,7 @@
. = ..()
. += "[reagents.total_volume]/[reagents.maximum_volume] liquids remaining."
-/obj/structure/sink/attack_hand(mob/living/user)
+/obj/structure/sink/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
@@ -480,7 +480,7 @@
var/busy = FALSE //Something's being washed at the moment
var/dispensedreagent = /datum/reagent/water // for whenever plumbing happens
-/obj/structure/water_source/attack_hand(mob/living/user)
+/obj/structure/water_source/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
@@ -599,7 +599,7 @@
resistance_flags = UNACIDABLE
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/structure/water_source/puddle/attack_hand(mob/M)
+/obj/structure/water_source/puddle/attack_hand(mob/user, list/modifiers)
icon_state = "puddle-splash"
. = ..()
icon_state = "puddle"
@@ -678,7 +678,7 @@
return TRUE
-/obj/structure/curtain/attack_hand(mob/user)
+/obj/structure/curtain/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
@@ -751,5 +751,5 @@
if(opaque_closed)
set_opacity(TRUE)
-/obj/structure/curtain/cloth/fancy/mechanical/attack_hand(mob/user)
+/obj/structure/curtain/cloth/fancy/mechanical/attack_hand(mob/user, list/modifiers)
return
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index d0a7c28eec7..049490d4931 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -138,7 +138,7 @@
return
. = ..()
-/obj/structure/window/attack_hand(mob/living/user)
+/obj/structure/window/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
@@ -155,8 +155,8 @@
"You bash [src]!")
playsound(src, bashsound, 100, TRUE)
-/obj/structure/window/attack_paw(mob/user)
- return attack_hand(user)
+/obj/structure/window/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/structure/window/attack_generic(mob/user, damage_amount = 0, damage_type = BRUTE, damage_flag = 0, sound_effect = 1) //used by attack_alien, attack_animal, and attack_slime
if(!can_be_reached(user))
@@ -778,7 +778,7 @@
for (var/i in 1 to rand(1,4))
. += new /obj/item/paper/natural(location)
-/obj/structure/window/paperframe/attack_hand(mob/living/user)
+/obj/structure/window/paperframe/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm
index 6fbba551801..e045b1ae4a3 100644
--- a/code/game/turfs/closed/minerals.dm
+++ b/code/game/turfs/closed/minerals.dm
@@ -101,17 +101,17 @@
addtimer(CALLBACK(src, .proc/AfterChange), 1, TIMER_UNIQUE)
playsound(src, 'sound/effects/break_stone.ogg', 50, TRUE) //beautiful destruction
-/turf/closed/mineral/attack_animal(mob/living/simple_animal/user)
+/turf/closed/mineral/attack_animal(mob/living/simple_animal/user, list/modifiers)
if((user.environment_smash & ENVIRONMENT_SMASH_WALLS) || (user.environment_smash & ENVIRONMENT_SMASH_RWALLS))
gets_drilled(user)
..()
-/turf/closed/mineral/attack_alien(mob/living/carbon/alien/M)
- to_chat(M, "You start digging into the rock...")
+/turf/closed/mineral/attack_alien(mob/living/carbon/alien/user, list/modifiers)
+ to_chat(user, "You start digging into the rock...")
playsound(src, 'sound/effects/break_stone.ogg', 50, TRUE)
- if(do_after(M, 40, target = src))
- to_chat(M, "You tunnel into the rock.")
- gets_drilled(M)
+ if(do_after(user, 4 SECONDS, target = src))
+ to_chat(user, "You tunnel into the rock.")
+ gets_drilled(user)
/turf/closed/mineral/attack_hulk(mob/living/carbon/human/H)
..()
diff --git a/code/game/turfs/closed/wall/mineral_walls.dm b/code/game/turfs/closed/wall/mineral_walls.dm
index ce0a33d5246..d54fe013525 100644
--- a/code/game/turfs/closed/wall/mineral_walls.dm
+++ b/code/game/turfs/closed/wall/mineral_walls.dm
@@ -92,7 +92,7 @@
return
return
-/turf/closed/wall/mineral/uranium/attack_hand(mob/user)
+/turf/closed/wall/mineral/uranium/attack_hand(mob/user, list/modifiers)
radiate()
. = ..()
diff --git a/code/game/turfs/closed/wall/reinf_walls.dm b/code/game/turfs/closed/wall/reinf_walls.dm
index e2845651642..8cc1ca81d00 100644
--- a/code/game/turfs/closed/wall/reinf_walls.dm
+++ b/code/game/turfs/closed/wall/reinf_walls.dm
@@ -38,17 +38,17 @@
new sheet_type(src, sheet_amount)
new /obj/item/stack/sheet/iron(src, 2)
-/turf/closed/wall/r_wall/attack_animal(mob/living/simple_animal/M)
- M.changeNext_move(CLICK_CD_MELEE)
- M.do_attack_animation(src)
- if(!M.environment_smash)
+/turf/closed/wall/r_wall/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ user.changeNext_move(CLICK_CD_MELEE)
+ user.do_attack_animation(src)
+ if(!user.environment_smash)
return
- if(M.environment_smash & ENVIRONMENT_SMASH_RWALLS)
+ if(user.environment_smash & ENVIRONMENT_SMASH_RWALLS)
dismantle_wall(1)
playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE)
else
playsound(src, 'sound/effects/bang.ogg', 50, TRUE)
- to_chat(M, "This wall is far too strong for you to destroy.")
+ to_chat(user, "This wall is far too strong for you to destroy.")
/turf/closed/wall/r_wall/hulk_recoil(obj/item/bodypart/arm, mob/living/carbon/human/hulkman, damage = 41)
return ..()
diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm
index 703cc710785..e38e983f96d 100644
--- a/code/game/turfs/closed/walls.dm
+++ b/code/game/turfs/closed/walls.dm
@@ -115,15 +115,15 @@
else
add_dent(WALL_DENT_HIT)
-/turf/closed/wall/attack_paw(mob/living/user)
+/turf/closed/wall/attack_paw(mob/living/user, list/modifiers)
user.changeNext_move(CLICK_CD_MELEE)
- return attack_hand(user)
+ return attack_hand(user, modifiers)
-/turf/closed/wall/attack_animal(mob/living/simple_animal/M)
- M.changeNext_move(CLICK_CD_MELEE)
- M.do_attack_animation(src)
- if((M.environment_smash & ENVIRONMENT_SMASH_WALLS) || (M.environment_smash & ENVIRONMENT_SMASH_RWALLS))
+/turf/closed/wall/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ user.changeNext_move(CLICK_CD_MELEE)
+ user.do_attack_animation(src)
+ if((user.environment_smash & ENVIRONMENT_SMASH_WALLS) || (user.environment_smash & ENVIRONMENT_SMASH_RWALLS))
playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE)
dismantle_wall(1)
return
@@ -167,7 +167,7 @@
return
smasher.break_an_arm(arm)
-/turf/closed/wall/attack_hand(mob/user)
+/turf/closed/wall/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm
index 759a103a89b..48b10ccc32f 100644
--- a/code/game/turfs/open/floor.dm
+++ b/code/game/turfs/open/floor.dm
@@ -110,8 +110,8 @@
. = ..()
update_visuals()
-/turf/open/floor/attack_paw(mob/user)
- return attack_hand(user)
+/turf/open/floor/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/turf/open/floor/proc/break_tile_to_plating()
var/turf/open/floor/plating/T = make_plating()
diff --git a/code/game/turfs/open/floor/mineral_floor.dm b/code/game/turfs/open/floor/mineral_floor.dm
index d34d3d455ff..0cd4766229e 100644
--- a/code/game/turfs/open/floor/mineral_floor.dm
+++ b/code/game/turfs/open/floor/mineral_floor.dm
@@ -209,12 +209,12 @@
if(!.)
honk()
-/turf/open/floor/mineral/bananium/attack_hand(mob/user)
+/turf/open/floor/mineral/bananium/attack_hand(mob/user, list/modifiers)
.=..()
if(!.)
honk()
-/turf/open/floor/mineral/bananium/attack_paw(mob/user)
+/turf/open/floor/mineral/bananium/attack_paw(mob/user, list/modifiers)
.=..()
if(!.)
honk()
@@ -262,12 +262,12 @@
if(!.)
radiate()
-/turf/open/floor/mineral/uranium/attack_hand(mob/user)
+/turf/open/floor/mineral/uranium/attack_hand(mob/user, list/modifiers)
.=..()
if(!.)
radiate()
-/turf/open/floor/mineral/uranium/attack_paw(mob/user)
+/turf/open/floor/mineral/uranium/attack_paw(mob/user, list/modifiers)
.=..()
if(!.)
radiate()
diff --git a/code/game/turfs/open/floor/reinf_floor.dm b/code/game/turfs/open/floor/reinf_floor.dm
index c941225f72e..4262199ab42 100644
--- a/code/game/turfs/open/floor/reinf_floor.dm
+++ b/code/game/turfs/open/floor/reinf_floor.dm
@@ -87,10 +87,10 @@
else if(prob(30))
ReplaceWithLattice()
-/turf/open/floor/engine/attack_paw(mob/user)
- return attack_hand(user)
+/turf/open/floor/engine/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
-/turf/open/floor/engine/attack_hand(mob/user)
+/turf/open/floor/engine/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/game/turfs/open/space/space.dm b/code/game/turfs/open/space/space.dm
index 815fd8b1849..2c65d0884e9 100644
--- a/code/game/turfs/open/space/space.dm
+++ b/code/game/turfs/open/space/space.dm
@@ -108,8 +108,8 @@
return
set_light(0)
-/turf/open/space/attack_paw(mob/user)
- return attack_hand(user)
+/turf/open/space/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/turf/open/space/proc/CanBuildHere()
return TRUE
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 1cb5d1c13de..9cb66d364d1 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -156,7 +156,7 @@ GLOBAL_LIST_EMPTY(station_turfs)
requires_activation = FALSE
..()
-/turf/attack_hand(mob/user)
+/turf/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/antagonists/abductor/machinery/console.dm b/code/modules/antagonists/abductor/machinery/console.dm
index df68ef3924c..9d4a2ac048d 100644
--- a/code/modules/antagonists/abductor/machinery/console.dm
+++ b/code/modules/antagonists/abductor/machinery/console.dm
@@ -46,7 +46,7 @@
filtered_modules[AG.category][AG] = AG
return filtered_modules
-/obj/machinery/abductor/console/attack_hand(mob/user)
+/obj/machinery/abductor/console/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/antagonists/blob/structures/_blob.dm b/code/modules/antagonists/blob/structures/_blob.dm
index 467c9727215..2726b16039b 100644
--- a/code/modules/antagonists/blob/structures/_blob.dm
+++ b/code/modules/antagonists/blob/structures/_blob.dm
@@ -11,7 +11,7 @@
pass_flags_self = PASSBLOB
CanAtmosPass = ATMOS_PASS_PROC
/// How many points the blob gets back when it removes a blob of that type. If less than 0, blob cannot be removed.
- var/point_return = 0
+ var/point_return = 0
max_integrity = 30
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 70)
/// how much health this blob regens when pulsed
@@ -22,12 +22,12 @@
COOLDOWN_DECLARE(heal_timestamp)
/// Multiplies brute damage by this
var/brute_resist = BLOB_BRUTE_RESIST
- /// Multiplies burn damage by this
- var/fire_resist = BLOB_FIRE_RESIST
+ /// Multiplies burn damage by this
+ var/fire_resist = BLOB_FIRE_RESIST
/// Only used by the synchronous mesh strain. If set to true, these blobs won't share or receive damage taken with others.
var/ignore_syncmesh_share = 0
/// If the blob blocks atmos and heat spread
- var/atmosblock = FALSE
+ var/atmosblock = FALSE
var/mob/camera/blob/overmind
@@ -232,8 +232,8 @@
"Effects: [scannerreport()]")
-/obj/structure/blob/attack_animal(mob/living/simple_animal/M)
- if(ROLE_BLOB in M.faction) //sorry, but you can't kill the blob as a blobbernaut
+/obj/structure/blob/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ if(ROLE_BLOB in user.faction) //sorry, but you can't kill the blob as a blobbernaut
return
..()
@@ -350,14 +350,14 @@
// Spore production vars: for core, factories, and nodes (with strains)
var/mob/living/simple_animal/hostile/blob/blobbernaut/naut = null
- var/max_spores = 0
+ var/max_spores = 0
var/list/spores = list()
COOLDOWN_DECLARE(spore_delay)
var/spore_cooldown = BLOBMOB_SPORE_SPAWN_COOLDOWN
// Area reinforcement vars: used by cores and nodes, for strains to modify
/// Range this blob free upgrades to strong blobs at: for the core, and for strains
- var/strong_reinforce_range = 0
+ var/strong_reinforce_range = 0
/// Range this blob free upgrades to reflector blobs at: for the core, and for strains
var/reflector_reinforce_range = 0
diff --git a/code/modules/antagonists/changeling/powers/transform.dm b/code/modules/antagonists/changeling/powers/transform.dm
index 955ad083a8b..35780da625c 100644
--- a/code/modules/antagonists/changeling/powers/transform.dm
+++ b/code/modules/antagonists/changeling/powers/transform.dm
@@ -12,7 +12,7 @@
item_flags = DROPDEL
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/clothing/glasses/changeling/attack_hand(mob/user)
+/obj/item/clothing/glasses/changeling/attack_hand(mob/user, list/modifiers)
if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling))
to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
@@ -24,7 +24,7 @@
item_flags = DROPDEL
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/clothing/under/changeling/attack_hand(mob/user)
+/obj/item/clothing/under/changeling/attack_hand(mob/user, list/modifiers)
if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling))
to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
@@ -37,7 +37,7 @@
item_flags = DROPDEL
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/clothing/suit/changeling/attack_hand(mob/user)
+/obj/item/clothing/suit/changeling/attack_hand(mob/user, list/modifiers)
if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling))
to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
@@ -50,7 +50,7 @@
item_flags = DROPDEL
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/clothing/head/changeling/attack_hand(mob/user)
+/obj/item/clothing/head/changeling/attack_hand(mob/user, list/modifiers)
if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling))
to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
@@ -62,7 +62,7 @@
item_flags = DROPDEL
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/clothing/shoes/changeling/attack_hand(mob/user)
+/obj/item/clothing/shoes/changeling/attack_hand(mob/user, list/modifiers)
if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling))
to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
@@ -74,7 +74,7 @@
item_flags = DROPDEL
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/clothing/gloves/changeling/attack_hand(mob/user)
+/obj/item/clothing/gloves/changeling/attack_hand(mob/user, list/modifiers)
if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling))
to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
@@ -86,7 +86,7 @@
item_flags = DROPDEL
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/clothing/mask/changeling/attack_hand(mob/user)
+/obj/item/clothing/mask/changeling/attack_hand(mob/user, list/modifiers)
if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling))
to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
@@ -100,7 +100,7 @@
item_flags = DROPDEL
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/changeling/attack_hand(mob/user)
+/obj/item/changeling/attack_hand(mob/user, list/modifiers)
if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling))
to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm
index 0152d94f3fe..81a294f686c 100644
--- a/code/modules/antagonists/cult/cult_items.dm
+++ b/code/modules/antagonists/cult/cult_items.dm
@@ -257,7 +257,7 @@
breakouttime = 60
knockdown = 30
-/obj/item/restraints/legcuffs/bola/cult/attack_hand(mob/living/user)
+/obj/item/restraints/legcuffs/bola/cult/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(!iscultist(user))
to_chat(user, "The bola seems to take on a life of its own!")
diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm
index b4452ad3a9c..78e9cefcc2a 100644
--- a/code/modules/antagonists/cult/cult_structures.dm
+++ b/code/modules/antagonists/cult/cult_structures.dm
@@ -46,16 +46,16 @@
return "[t_It] [t_is] at [round(obj_integrity * 100 / max_integrity)]% stability."
return ..()
-/obj/structure/destructible/cult/attack_animal(mob/living/simple_animal/M)
- if(istype(M, /mob/living/simple_animal/hostile/construct/artificer))
+/obj/structure/destructible/cult/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ if(istype(user, /mob/living/simple_animal/hostile/construct/artificer))
if(obj_integrity < max_integrity)
- M.changeNext_move(CLICK_CD_MELEE)
+ user.changeNext_move(CLICK_CD_MELEE)
obj_integrity = min(max_integrity, obj_integrity + 5)
- Beam(M, icon_state="sendbeam", time=4)
- M.visible_message("[M] repairs \the [src].", \
+ Beam(user, icon_state="sendbeam", time=4)
+ user.visible_message("[user] repairs \the [src].", \
"You repair [src], leaving [p_they()] at [round(obj_integrity * 100 / max_integrity)]% stability.")
else
- to_chat(M, "You cannot repair [src], as [p_theyre()] undamaged!")
+ to_chat(user, "You cannot repair [src], as [p_theyre()] undamaged!")
else
..()
@@ -89,7 +89,7 @@
icon_state = "talismanaltar"
break_message = "The altar shatters, leaving only the wailing of the damned!"
-/obj/structure/destructible/cult/talisman/attack_hand(mob/living/user)
+/obj/structure/destructible/cult/talisman/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
@@ -133,7 +133,7 @@
light_color = LIGHT_COLOR_LAVA
break_message = "The force breaks apart into shards with a howling scream!"
-/obj/structure/destructible/cult/forge/attack_hand(mob/living/user)
+/obj/structure/destructible/cult/forge/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
@@ -254,7 +254,7 @@
light_color = LIGHT_COLOR_FIRE
break_message = "The books and tomes of the archives burn into ash as the desk shatters!"
-/obj/structure/destructible/cult/tome/attack_hand(mob/living/user)
+/obj/structure/destructible/cult/tome/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm
index 0715bed4772..26f8aa01c28 100644
--- a/code/modules/antagonists/cult/runes.dm
+++ b/code/modules/antagonists/cult/runes.dm
@@ -81,7 +81,7 @@ Runes can either be invoked by one's self or with many different cultists. Each
SSshuttle.shuttle_purchase_requirements_met[SHUTTLE_UNLOCK_NARNAR] = TRUE
qdel(src)
-/obj/effect/rune/attack_hand(mob/living/user)
+/obj/effect/rune/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
@@ -95,15 +95,15 @@ Runes can either be invoked by one's self or with many different cultists. Each
to_chat(user, "You need [req_cultists - invokers.len] more adjacent cultists to use this rune in such a manner.")
fail_invoke()
-/obj/effect/rune/attack_animal(mob/living/simple_animal/M)
- if(istype(M, /mob/living/simple_animal/shade) || istype(M, /mob/living/simple_animal/hostile/construct))
- if(istype(M, /mob/living/simple_animal/hostile/construct/wraith/angelic) || istype(M, /mob/living/simple_animal/hostile/construct/juggernaut/angelic) || istype(M, /mob/living/simple_animal/hostile/construct/artificer/angelic))
- to_chat(M, "You purge the rune!")
+/obj/effect/rune/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ if(istype(user, /mob/living/simple_animal/shade) || istype(user, /mob/living/simple_animal/hostile/construct))
+ if(istype(user, /mob/living/simple_animal/hostile/construct/wraith/angelic) || istype(user, /mob/living/simple_animal/hostile/construct/juggernaut/angelic) || istype(user, /mob/living/simple_animal/hostile/construct/artificer/angelic))
+ to_chat(user, "You purge the rune!")
qdel(src)
- else if(construct_invoke || !iscultist(M)) //if you're not a cult construct we want the normal fail message
- attack_hand(M)
+ else if(construct_invoke || !iscultist(user)) //if you're not a cult construct we want the normal fail message
+ attack_hand(user)
else
- to_chat(M, "You are unable to invoke the rune!")
+ to_chat(user, "You are unable to invoke the rune!")
/obj/effect/rune/proc/conceal() //for talisman of revealing/hiding
visible_message("[src] fades away.")
diff --git a/code/modules/antagonists/eldritch_cult/eldritch_effects.dm b/code/modules/antagonists/eldritch_cult/eldritch_effects.dm
index a8dd718f758..e80b9550774 100644
--- a/code/modules/antagonists/eldritch_cult/eldritch_effects.dm
+++ b/code/modules/antagonists/eldritch_cult/eldritch_effects.dm
@@ -14,7 +14,7 @@
I.override = TRUE
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/silicons, "heretic_rune", I)
-/obj/effect/eldritch/attack_hand(mob/living/user)
+/obj/effect/eldritch/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
@@ -207,7 +207,7 @@
/obj/effect/broken_illusion/proc/show_presence()
animate(src,alpha = 255,time = 15 SECONDS)
-/obj/effect/broken_illusion/attack_hand(mob/living/user)
+/obj/effect/broken_illusion/attack_hand(mob/living/user, list/modifiers)
if(!ishuman(user))
return ..()
var/mob/living/carbon/human/human_user = user
diff --git a/code/modules/antagonists/eldritch_cult/eldritch_structures.dm b/code/modules/antagonists/eldritch_cult/eldritch_structures.dm
index f40b9bf082a..5be347389b7 100644
--- a/code/modules/antagonists/eldritch_cult/eldritch_structures.dm
+++ b/code/modules/antagonists/eldritch_cult/eldritch_structures.dm
@@ -61,7 +61,7 @@
return ..()
-/obj/structure/eldritch_crucible/attack_hand(mob/user)
+/obj/structure/eldritch_crucible/attack_hand(mob/user, list/modifiers)
if(!IS_HERETIC(user) && !IS_HERETIC_MONSTER(user))
if(iscarbon(user))
devour(user)
diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm
index cd24db4dece..cbbbeb827cf 100644
--- a/code/modules/antagonists/slaughter/slaughter.dm
+++ b/code/modules/antagonists/slaughter/slaughter.dm
@@ -131,7 +131,7 @@
slam_cooldown = world.time
log_combat(src, victim, "slaughter slammed")
-/mob/living/simple_animal/hostile/imp/slaughter/UnarmedAttack(atom/A, proximity)
+/mob/living/simple_animal/hostile/imp/slaughter/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
if(iscarbon(A))
diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm
index 06e703fa4e9..3797dd59b29 100644
--- a/code/modules/assembly/bomb.dm
+++ b/code/modules/assembly/bomb.dm
@@ -87,7 +87,7 @@
if(bombassembly)
bombassembly.on_found(finder)
-/obj/item/onetankbomb/attack_hand() //also for mousetraps
+/obj/item/onetankbomb/attack_hand(mob/user, list/modifiers) //also for mousetraps
. = ..()
if(.)
return
diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm
index b029d295ba2..2f52615bfc4 100644
--- a/code/modules/assembly/holder.dm
+++ b/code/modules/assembly/holder.dm
@@ -93,7 +93,7 @@
if(a_right)
a_right.dropped()
-/obj/item/assembly_holder/attack_hand(mob/living/user, modifiers)//Perhapse this should be a holder_pickup proc instead, can add if needbe I guess
+/obj/item/assembly_holder/attack_hand(mob/living/user, list/modifiers)//Perhapse this should be a holder_pickup proc instead, can add if needbe I guess
. = ..()
if(.)
return
diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm
index 8cad2ee7450..1c49ebeca76 100644
--- a/code/modules/assembly/infrared.dm
+++ b/code/modules/assembly/infrared.dm
@@ -125,7 +125,7 @@
return
refreshBeam()
-/obj/item/assembly/infra/attack_hand()
+/obj/item/assembly/infra/attack_hand(mob/user, list/modifiers)
. = ..()
refreshBeam()
diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm
index de8c60e5c7a..ce32086aef2 100644
--- a/code/modules/assembly/mousetrap.dm
+++ b/code/modules/assembly/mousetrap.dm
@@ -94,7 +94,7 @@
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/assembly/mousetrap/attack_hand(mob/living/carbon/human/user)
+/obj/item/assembly/mousetrap/attack_hand(mob/living/carbon/human/user, list/modifiers)
if(armed)
if((HAS_TRAIT(user, TRAIT_DUMB) || HAS_TRAIT(user, TRAIT_CLUMSY)) && prob(50))
var/which_hand = BODY_ZONE_PRECISE_L_HAND
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
index 6c234b2df68..c9d1fb537c7 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
@@ -289,7 +289,7 @@
/obj/machinery/atmospherics/components/unary/vent_pump/can_crawl_through()
return !welded
-/obj/machinery/atmospherics/components/unary/vent_pump/attack_alien(mob/user)
+/obj/machinery/atmospherics/components/unary/vent_pump/attack_alien(mob/user, list/modifiers)
if(!welded || !(do_after(user, 20, target = src)))
return
user.visible_message("[user] furiously claws at [src]!", "You manage to clear away the stuff blocking the vent.", "You hear loud scraping noises.")
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
index f6d110fcf83..17e94c7fb40 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
@@ -298,7 +298,7 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/can_crawl_through()
return !welded
-/obj/machinery/atmospherics/components/unary/vent_scrubber/attack_alien(mob/user)
+/obj/machinery/atmospherics/components/unary/vent_scrubber/attack_alien(mob/user, list/modifiers)
if(!welded || !(do_after(user, 20, target = src)))
return
user.visible_message("[user] furiously claws at [src]!", "You manage to clear away the stuff blocking the scrubber.", "You hear loud scraping noises.")
diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm
index 995386304e2..94fffc90c71 100644
--- a/code/modules/awaymissions/capture_the_flag.dm
+++ b/code/modules/awaymissions/capture_the_flag.dm
@@ -63,7 +63,7 @@
return TRUE //so if called by a signal, it doesn't delete
//working with attack hand feels like taking my brain and putting it through an industrial pill press so i'm gonna be a bit liberal with the comments
-/obj/item/ctf/attack_hand(mob/living/user)
+/obj/item/ctf/attack_hand(mob/living/user, list/modifiers)
//pre normal check item stuff, this is for our special flag checks
if(!is_ctf_target(user) && !anyonecanpickup)
to_chat(user, "Non-players shouldn't be moving the flag!")
@@ -710,7 +710,7 @@
/obj/machinery/control_point/attackby(mob/user, params)
capture(user)
-/obj/machinery/control_point/attack_hand(mob/user)
+/obj/machinery/control_point/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/awaymissions/signpost.dm b/code/modules/awaymissions/signpost.dm
index 0a7af100fb5..a0b2a1d8112 100644
--- a/code/modules/awaymissions/signpost.dm
+++ b/code/modules/awaymissions/signpost.dm
@@ -33,7 +33,7 @@
/obj/structure/signpost/attackby(obj/item/W, mob/user, params)
return interact(user)
-/obj/structure/signpost/attack_paw(mob/user)
+/obj/structure/signpost/attack_paw(mob/user, list/modifiers)
return interact(user)
/obj/structure/signpost/attack_hulk(mob/user)
@@ -49,7 +49,7 @@
/obj/structure/signpost/attack_slime(mob/user)
return interact(user)
-/obj/structure/signpost/attack_animal(mob/user)
+/obj/structure/signpost/attack_animal(mob/user, list/modifiers)
return interact(user)
/obj/structure/signpost/salvation
diff --git a/code/modules/awaymissions/super_secret_room.dm b/code/modules/awaymissions/super_secret_room.dm
index 23fdc44310e..92fd0f670d7 100644
--- a/code/modules/awaymissions/super_secret_room.dm
+++ b/code/modules/awaymissions/super_secret_room.dm
@@ -92,7 +92,7 @@
/obj/structure/speaking_tile/attackby(obj/item/W, mob/user, params)
return interact(user)
-/obj/structure/speaking_tile/attack_paw(mob/user)
+/obj/structure/speaking_tile/attack_paw(mob/user, list/modifiers)
return interact(user)
/obj/structure/speaking_tile/attack_hulk(mob/user)
@@ -107,7 +107,7 @@
/obj/structure/speaking_tile/attack_slime(mob/user)
return interact(user)
-/obj/structure/speaking_tile/attack_animal(mob/user)
+/obj/structure/speaking_tile/attack_animal(mob/user, list/modifiers)
return interact(user)
/obj/structure/speaking_tile/proc/SpeakPeace(list/statements)
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index e1f52c61e6e..58b995d6716 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -362,7 +362,7 @@
if(target.stat < UNCONSCIOUS)
to_chat(target, "Your zealous conspirationism rapidly dissipates as the donned hat warps up into a ruined mess. All those theories starting to sound like nothing but a ridicolous fanfare.")
-/obj/item/clothing/head/foilhat/attack_hand(mob/user)
+/obj/item/clothing/head/foilhat/attack_hand(mob/user, list/modifiers)
if(!warped && iscarbon(user))
var/mob/living/carbon/C = user
if(src == C.head)
diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm
index 9c11c86bc64..0da670fb701 100644
--- a/code/modules/clothing/masks/miscellaneous.dm
+++ b/code/modules/clothing/masks/miscellaneous.dm
@@ -8,10 +8,10 @@
gas_transfer_coefficient = 0.9
equip_delay_other = 20
-/obj/item/clothing/mask/muzzle/attack_paw(mob/user)
+/obj/item/clothing/mask/muzzle/attack_paw(mob/user, list/modifiers)
if(iscarbon(user))
- var/mob/living/carbon/C = user
- if(src == C.wear_mask)
+ var/mob/living/carbon/carbon_user = user
+ if(src == carbon_user.wear_mask)
to_chat(user, "You need help taking this off!")
return
..()
diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm
index 9324087ffbf..8b70b8a60bf 100644
--- a/code/modules/clothing/shoes/_shoes.dm
+++ b/code/modules/clothing/shoes/_shoes.dm
@@ -238,7 +238,7 @@
our_alert = our_guy.throw_alert("shoealert", /atom/movable/screen/alert/shoes/untied)
-/obj/item/clothing/shoes/attack_hand(mob/living/carbon/human/user)
+/obj/item/clothing/shoes/attack_hand(mob/living/carbon/human/user, list/modifiers)
if(!istype(user))
return ..()
if(loc == user && tied != SHOES_TIED && (user.mobility_flags & MOBILITY_USE))
diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm
index 1910420683b..708a4f5a8ad 100644
--- a/code/modules/clothing/suits/cloaks.dm
+++ b/code/modules/clothing/suits/cloaks.dm
@@ -113,7 +113,7 @@
unworthy_unequip(user)
return ..()
-/obj/item/clothing/neck/cloak/skill_reward/attack_hand(mob/user)
+/obj/item/clothing/neck/cloak/skill_reward/attack_hand(mob/user, list/modifiers)
if (check_wearable(user))
unworthy_unequip(user)
return ..()
diff --git a/code/modules/events/crystal_event.dm b/code/modules/events/crystal_event.dm
index ae11f529b7b..e377053f416 100644
--- a/code/modules/events/crystal_event.dm
+++ b/code/modules/events/crystal_event.dm
@@ -564,8 +564,8 @@ This section is for the crystal portals variations
. = ..()
. += "The [src] seems to be releasing some sort or high frequency wavelength, maybe it could be closed if another signal is sent back or if an equivalent device is used on it."
-/obj/structure/crystal_portal/attack_animal(mob/living/simple_animal/M)
- if(faction_check(faction, M.faction, FALSE) && !M.client)
+/obj/structure/crystal_portal/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ if(faction_check(faction, user.faction, FALSE) && !user.client)
return ..()
/obj/structure/crystal_portal/attackby(obj/item/W, mob/living/user, params)
diff --git a/code/modules/events/immovable_rod.dm b/code/modules/events/immovable_rod.dm
index 0d3678201c3..ba8e4e551f2 100644
--- a/code/modules/events/immovable_rod.dm
+++ b/code/modules/events/immovable_rod.dm
@@ -249,7 +249,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
if(smeared_mob.density || prob(10))
smeared_mob.ex_act(EXPLODE_HEAVY)
-/obj/effect/immovablerod/attack_hand(mob/living/user)
+/obj/effect/immovablerod/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm
index ccab978ad0a..e90a8a12a32 100644
--- a/code/modules/events/spacevine.dm
+++ b/code/modules/events/spacevine.dm
@@ -407,18 +407,18 @@
SM.on_cross(src, AM)
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/structure/spacevine/attack_hand(mob/user)
+/obj/structure/spacevine/attack_hand(mob/user, list/modifiers)
for(var/datum/spacevine_mutation/SM in mutations)
SM.on_hit(src, user)
user_unbuckle_mob(user, user)
. = ..()
-/obj/structure/spacevine/attack_paw(mob/living/user)
+/obj/structure/spacevine/attack_paw(mob/living/user, list/modifiers)
for(var/datum/spacevine_mutation/SM in mutations)
SM.on_hit(src, user)
user_unbuckle_mob(user,user)
-/obj/structure/spacevine/attack_alien(mob/living/user)
+/obj/structure/spacevine/attack_alien(mob/living/user, list/modifiers)
eat(user)
/datum/spacevine_controller
diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
index a7abd1b4fc8..16e2a323c11 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
@@ -107,7 +107,7 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list(
/obj/machinery/deepfryer/attack_ai(mob/user)
return
-/obj/machinery/deepfryer/attack_hand(mob/living/user)
+/obj/machinery/deepfryer/attack_hand(mob/living/user, list/modifiers)
if(frying)
if(frying.loc == src)
to_chat(user, "You eject [frying] from [src].")
diff --git a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm
index 8b2eb58344b..ed34c178fad 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm
@@ -76,7 +76,7 @@
iteration++
unpacked = TRUE
-/obj/machinery/food_cart/attack_hand(mob/living/user)
+/obj/machinery/food_cart/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(machine_stat & BROKEN)
to_chat(user, "[src] is completely busted.")
diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
index 8549a509fc5..c033f55ddb4 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
@@ -51,8 +51,8 @@
else
. += "gridle"
-/obj/machinery/gibber/attack_paw(mob/user)
- return attack_hand(user)
+/obj/machinery/gibber/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/machinery/gibber/container_resist_act(mob/living/user)
go_out()
@@ -60,7 +60,7 @@
/obj/machinery/gibber/relaymove(mob/living/user, direction)
go_out()
-/obj/machinery/gibber/attack_hand(mob/user)
+/obj/machinery/gibber/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/food_and_drinks/kitchen_machinery/griddle.dm b/code/modules/food_and_drinks/kitchen_machinery/griddle.dm
index cd5ed84f360..0b15823bdee 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/griddle.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/griddle.dm
@@ -76,7 +76,7 @@
else
return ..()
-/obj/machinery/griddle/attack_hand(mob/user)
+/obj/machinery/griddle/attack_hand(mob/user, list/modifiers)
. = ..()
on = !on
if(on)
diff --git a/code/modules/food_and_drinks/kitchen_machinery/grill.dm b/code/modules/food_and_drinks/kitchen_machinery/grill.dm
index 7cdf23e5e55..d96c6d78e16 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/grill.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/grill.dm
@@ -118,7 +118,7 @@
/obj/machinery/grill/attack_ai(mob/user)
return
-/obj/machinery/grill/attack_hand(mob/user)
+/obj/machinery/grill/attack_hand(mob/user, list/modifiers)
if(grilled_item)
to_chat(user, "You take out [grilled_item] from [src].")
grilled_item.forceMove(drop_location())
diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm
index 99b8f6c38ab..6421c3efab5 100644
--- a/code/modules/food_and_drinks/pizzabox.dm
+++ b/code/modules/food_and_drinks/pizzabox.dm
@@ -123,7 +123,7 @@
update_icon()
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/pizzabox/attack_hand(mob/user)
+/obj/item/pizzabox/attack_hand(mob/user, list/modifiers)
if(user.get_inactive_held_item() != src)
return ..()
if(open)
diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm
index d6a888c7a77..36b19c1545c 100644
--- a/code/modules/holodeck/items.dm
+++ b/code/modules/holodeck/items.dm
@@ -40,14 +40,14 @@
return ..()
return 0
-/obj/item/holo/esword/attack(target as mob, mob/user as mob)
+/obj/item/holo/esword/attack(target, mob/user)
..()
/obj/item/holo/esword/Initialize()
. = ..()
saber_color = pick("red","blue","green","purple")
-/obj/item/holo/esword/attack_self(mob/living/user as mob)
+/obj/item/holo/esword/attack_self(mob/living/user)
active = !active
if (active)
force = 30
@@ -103,12 +103,12 @@
anchored = TRUE
density = TRUE
-/obj/structure/holohoop/attackby(obj/item/W as obj, mob/user as mob, params)
+/obj/structure/holohoop/attackby(obj/item/W, mob/user, params)
if(get_dist(src,user)<2)
if(user.transferItemToLoc(W, drop_location()))
visible_message("[user] dunks [W] into \the [src]!")
-/obj/structure/holohoop/attack_hand(mob/living/user)
+/obj/structure/holohoop/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
@@ -156,18 +156,18 @@
active_power_usage = 6
power_channel = AREA_USAGE_ENVIRON
-/obj/machinery/readybutton/attack_ai(mob/user as mob)
+/obj/machinery/readybutton/attack_ai(mob/user)
to_chat(user, "The station AI is not to interact with these devices!")
return
-/obj/machinery/readybutton/attack_paw(mob/user as mob)
+/obj/machinery/readybutton/attack_paw(mob/user, list/modifiers)
to_chat(user, "You are too primitive to use this device!")
return
-/obj/machinery/readybutton/attackby(obj/item/W as obj, mob/user as mob, params)
+/obj/machinery/readybutton/attackby(obj/item/W, mob/user, params)
to_chat(user, "The device is a solid button, there's nothing you can do with it!")
-/obj/machinery/readybutton/attack_hand(mob/user as mob)
+/obj/machinery/readybutton/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm
index cba44aa4022..b240d744780 100644
--- a/code/modules/hydroponics/fermenting_barrel.dm
+++ b/code/modules/hydroponics/fermenting_barrel.dm
@@ -57,17 +57,18 @@
else
return ..()
-/obj/structure/fermenting_barrel/attack_hand(mob/user)
- if(can_open)
- open = !open
- if(open)
- reagents.flags &= ~(DRAINABLE)
- reagents.flags |= REFILLABLE | TRANSPARENT
- to_chat(user, "You open [src], letting you fill it.")
- else
- reagents.flags |= DRAINABLE
- reagents.flags &= ~(REFILLABLE | TRANSPARENT)
- to_chat(user, "You close [src], letting you draw from its tap.")
+/obj/structure/fermenting_barrel/attack_hand(mob/user, list/modifiers)
+ if(!can_open)
+ return
+ open = !open
+ if(open)
+ reagents.flags &= ~(DRAINABLE)
+ reagents.flags |= REFILLABLE | TRANSPARENT
+ to_chat(user, "You open [src], letting you fill it.")
+ else
+ reagents.flags |= DRAINABLE
+ reagents.flags &= ~(REFILLABLE | TRANSPARENT)
+ to_chat(user, "You close [src], letting you draw from its tap.")
update_icon()
/obj/structure/fermenting_barrel/update_icon_state()
diff --git a/code/modules/hydroponics/grown/chili.dm b/code/modules/hydroponics/grown/chili.dm
index 16752356052..4cd516ec59d 100644
--- a/code/modules/hydroponics/grown/chili.dm
+++ b/code/modules/hydroponics/grown/chili.dm
@@ -82,7 +82,7 @@
foodtypes = FRUIT
wine_power = 50
-/obj/item/food/grown/ghost_chili/attack_hand(mob/user)
+/obj/item/food/grown/ghost_chili/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm
index b658e213c78..bb024321356 100644
--- a/code/modules/hydroponics/grown/towercap.dm
+++ b/code/modules/hydroponics/grown/towercap.dm
@@ -211,7 +211,7 @@
return ..()
-/obj/structure/bonfire/attack_hand(mob/user)
+/obj/structure/bonfire/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index b190124de93..992ca653f3d 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -740,7 +740,7 @@
return ..()
-/obj/machinery/hydroponics/attack_hand(mob/user)
+/obj/machinery/hydroponics/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm
index a2507516e31..4f1bff36f55 100644
--- a/code/modules/library/lib_items.dm
+++ b/code/modules/library/lib_items.dm
@@ -133,7 +133,7 @@
return ..()
-/obj/structure/bookcase/attack_hand(mob/living/user)
+/obj/structure/bookcase/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm
index b274c594c1e..29d5cea16f3 100644
--- a/code/modules/library/lib_machines.dm
+++ b/code/modules/library/lib_machines.dm
@@ -526,7 +526,7 @@
else
return ..()
-/obj/machinery/libraryscanner/attack_hand(mob/user)
+/obj/machinery/libraryscanner/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm
index 50c1add0b57..a431f71cb0d 100644
--- a/code/modules/mining/abandoned_crates.dm
+++ b/code/modules/mining/abandoned_crates.dm
@@ -26,7 +26,7 @@
digits -= dig //there are never matching digits in the answer
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/structure/closet/crate/secure/loot/attack_hand(mob/user)
+/obj/structure/closet/crate/secure/loot/attack_hand(mob/user, list/modifiers)
if(locked)
to_chat(user, "The crate is locked with a Deca-code lock.")
var/input = input(usr, "Enter [codelen] digits. All digits must be unique.", "Deca-Code Lock", "") as text|null
diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm
index d8ce7e3359f..807d0f74915 100644
--- a/code/modules/mining/aux_base.dm
+++ b/code/modules/mining/aux_base.dm
@@ -323,7 +323,7 @@
var/anti_spam_cd = 0 //The linking process might be a bit intensive, so this here to prevent over use.
var/console_range = 15 //Wifi range of the beacon to find the aux base console
-/obj/structure/mining_shuttle_beacon/attack_hand(mob/user)
+/obj/structure/mining_shuttle_beacon/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm
index 710572122a4..d6a4a4bf2c4 100644
--- a/code/modules/mining/equipment/marker_beacons.dm
+++ b/code/modules/mining/equipment/marker_beacons.dm
@@ -106,7 +106,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list(
icon_state = "[icon_prefix][lowertext(picked_color)]-on"
set_light(light_range, light_power, GLOB.marker_beacon_colors[picked_color])
-/obj/structure/marker_beacon/attack_hand(mob/living/user)
+/obj/structure/marker_beacon/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm
index a8288ea788e..8ea369188c5 100644
--- a/code/modules/mining/equipment/survival_pod.dm
+++ b/code/modules/mining/equipment/survival_pod.dm
@@ -175,7 +175,7 @@
qdel(src)
return TRUE
-/obj/item/gps/computer/attack_hand(mob/user)
+/obj/item/gps/computer/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm
index c068f0c8284..e6b7119b8a9 100644
--- a/code/modules/mining/laborcamp/laborstacker.dm
+++ b/code/modules/mining/laborcamp/laborstacker.dm
@@ -149,7 +149,7 @@ GLOBAL_LIST(labor_sheet_values)
icon_state = "console"
density = FALSE
-/obj/machinery/mineral/labor_points_checker/attack_hand(mob/user)
+/obj/machinery/mineral/labor_points_checker/attack_hand(mob/user, list/modifiers)
. = ..()
if(. || user.is_blind())
return
diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm
index e058b161145..bd5255cc15a 100644
--- a/code/modules/mining/lavaland/ash_flora.dm
+++ b/code/modules/mining/lavaland/ash_flora.dm
@@ -66,7 +66,7 @@
else
return ..()
-/obj/structure/flora/ash/attack_hand(mob/user)
+/obj/structure/flora/ash/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/mining/lavaland/ruins/gym.dm b/code/modules/mining/lavaland/ruins/gym.dm
index d37f7c14bd9..e62ca4d6717 100644
--- a/code/modules/mining/lavaland/ruins/gym.dm
+++ b/code/modules/mining/lavaland/ruins/gym.dm
@@ -8,7 +8,7 @@
var/list/hit_sounds = list('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg',\
'sound/weapons/punch1.ogg', 'sound/weapons/punch2.ogg', 'sound/weapons/punch3.ogg', 'sound/weapons/punch4.ogg')
-/obj/structure/punching_bag/attack_hand(mob/user as mob)
+/obj/structure/punching_bag/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
@@ -29,7 +29,7 @@
/obj/structure/weightmachine/proc/AnimateMachine(mob/living/user)
return
-/obj/structure/weightmachine/attack_hand(mob/living/user)
+/obj/structure/weightmachine/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index e7a071f1cac..99a9906a583 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -78,7 +78,7 @@
var/static/list/dumb_rev_heads = list()
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/machinery/computer/shuttle/mining/attack_hand(mob/user)
+/obj/machinery/computer/shuttle/mining/attack_hand(mob/user, list/modifiers)
if(is_station_level(user.z) && user.mind && is_head_revolutionary(user) && !(user.mind in dumb_rev_heads))
to_chat(user, "You get a feeling that leaving the station might be a REALLY dumb idea...")
dumb_rev_heads += user.mind
diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm
index 19bd7bd607c..3d8ad9f9d2d 100644
--- a/code/modules/mining/minebot.dm
+++ b/code/modules/mining/minebot.dm
@@ -122,17 +122,17 @@
deathmessage = "blows apart!"
..()
-/mob/living/simple_animal/hostile/mining_drone/attack_hand(mob/living/carbon/human/M)
+/mob/living/simple_animal/hostile/mining_drone/attack_hand(mob/living/carbon/human/user, list/modifiers)
. = ..()
if(.)
return
- if(!M.combat_mode)
+ if(!user.combat_mode)
toggle_mode()
switch(mode)
if(MINEDRONE_COLLECT)
- to_chat(M, "[src] has been set to search and store loose ore.")
+ to_chat(user, "[src] has been set to search and store loose ore.")
if(MINEDRONE_ATTACK)
- to_chat(M, "[src] has been set to attack hostile wildlife.")
+ to_chat(user, "[src] has been set to attack hostile wildlife.")
return
/mob/living/simple_animal/hostile/mining_drone/CanAllowThrough(atom/movable/O)
diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm
index a7fe98e8b44..f18e694c3f9 100644
--- a/code/modules/mining/satchel_ore_boxdm.dm
+++ b/code/modules/mining/satchel_ore_boxdm.dm
@@ -35,7 +35,7 @@
ui_interact(user)
. = ..()
-/obj/structure/ore_box/attack_hand(mob/user)
+/obj/structure/ore_box/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm
index 8473b14635f..8af350d66ff 100644
--- a/code/modules/mob/living/carbon/alien/alien_defense.dm
+++ b/code/modules/mob/living/carbon/alien/alien_defense.dm
@@ -13,13 +13,13 @@
As such, they can either help or harm other aliens. Help works like the human help command while harm is a simple nibble.
In all, this is a lot like the monkey code. /N
*/
-/mob/living/carbon/alien/attack_alien(mob/living/carbon/alien/M, modifiers)
+/mob/living/carbon/alien/attack_alien(mob/living/carbon/alien/user, list/modifiers)
if(isturf(loc) && istype(loc.loc, /area/start))
- to_chat(M, "No attacking people at spawn, you jackass.")
+ to_chat(user, "No attacking people at spawn, you jackass.")
return
- if(M.combat_mode)
- if(M == src && check_self_for_injuries())
+ if(user.combat_mode)
+ if(user == src && check_self_for_injuries())
return
set_resting(FALSE)
AdjustStun(-60)
@@ -28,18 +28,18 @@ In all, this is a lot like the monkey code. /N
AdjustParalyzed(-60)
AdjustUnconscious(-60)
AdjustSleeping(-100)
- visible_message("[M.name] nuzzles [src] trying to wake [p_them()] up!")
+ visible_message("[user.name] nuzzles [src] trying to wake [p_them()] up!")
else if(health > 0)
- M.do_attack_animation(src, ATTACK_EFFECT_BITE)
+ user.do_attack_animation(src, ATTACK_EFFECT_BITE)
playsound(loc, 'sound/weapons/bite.ogg', 50, TRUE, -1)
- visible_message("[M.name] bites [src]!", \
- "[M.name] bites you!", "You hear a chomp!", COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "You bite [src]!")
+ visible_message("[user.name] bites [src]!", \
+ "[user.name] bites you!", "You hear a chomp!", COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "You bite [src]!")
adjustBruteLoss(1)
- log_combat(M, src, "attacked")
+ log_combat(user, src, "attacked")
updatehealth()
else
- to_chat(M, "[name] is too injured for that.")
+ to_chat(user, "[name] is too injured for that.")
@@ -47,33 +47,33 @@ In all, this is a lot like the monkey code. /N
return attack_alien(L)
-/mob/living/carbon/alien/attack_hand(mob/living/carbon/human/M, modifiers)
+/mob/living/carbon/alien/attack_hand(mob/living/carbon/human/user, list/modifiers)
. = ..()
if(.) //to allow surgery to return properly.
return FALSE
- if(M.combat_mode)
+ if(user.combat_mode)
if(LAZYACCESS(modifiers, RIGHT_CLICK))
- M.do_attack_animation(src, ATTACK_EFFECT_DISARM)
+ user.do_attack_animation(src, ATTACK_EFFECT_DISARM)
return TRUE
- M.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
+ user.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
return TRUE
else
- help_shake_act(M)
+ help_shake_act(user)
-/mob/living/carbon/alien/attack_paw(mob/living/carbon/human/M)
+/mob/living/carbon/alien/attack_paw(mob/living/carbon/human/user, list/modifiers)
if(..())
if (stat != DEAD)
- var/obj/item/bodypart/affecting = get_bodypart(ran_zone(M.zone_selected))
+ var/obj/item/bodypart/affecting = get_bodypart(ran_zone(user.zone_selected))
apply_damage(rand(1, 3), BRUTE, affecting)
-/mob/living/carbon/alien/attack_animal(mob/living/simple_animal/M)
+/mob/living/carbon/alien/attack_animal(mob/living/simple_animal/user, list/modifiers)
. = ..()
if(.)
- var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
- switch(M.melee_damage_type)
+ var/damage = rand(user.melee_damage_lower, user.melee_damage_upper)
+ switch(user.melee_damage_type)
if(BRUTE)
adjustBruteLoss(damage)
if(BURN)
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm
index ef1912f2077..0e9c2335611 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm
@@ -14,38 +14,38 @@
"[user] [hitverb]s you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, user)
to_chat(user, "You [hitverb] [src]!")
-/mob/living/carbon/alien/humanoid/attack_hand(mob/living/carbon/human/M, modifiers)
- if(..())
- if(M.combat_mode)
- if(LAZYACCESS(modifiers, RIGHT_CLICK))
- if (body_position == STANDING_UP)
- if (prob(5))
- Unconscious(40)
- playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
- log_combat(M, src, "pushed")
- visible_message("[M] pushes [src] down!", \
- "[M] pushes you down!", "You hear aggressive shuffling followed by a loud thud!", null, M)
- to_chat(M, "You push [src] down!")
- return TRUE
- var/damage = rand(1, 9)
- if (prob(90))
- playsound(loc, "punch", 25, TRUE, -1)
- visible_message("[M] punches [src]!", \
- "[M] punches you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "You punch [src]!")
- if ((stat != DEAD) && (damage > 9 || prob(5)))//Regular humans have a very small chance of knocking an alien down.
- Unconscious(40)
- visible_message("[M] knocks [src] down!", \
- "[M] knocks you down!", "You hear a sickening sound of flesh hitting flesh!", null, M)
- to_chat(M, "You knock [src] down!")
- var/obj/item/bodypart/affecting = get_bodypart(ran_zone(M.zone_selected))
- apply_damage(damage, BRUTE, affecting)
- log_combat(M, src, "attacked")
- else
- playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1)
- visible_message("[M]'s punch misses [src]!", \
- "You avoid [M]'s punch!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "Your punch misses [src]!")
+/mob/living/carbon/alien/humanoid/attack_hand(mob/living/carbon/human/user, list/modifiers)
+ if(!..() || !user.combat_mode)
+ return
+ if(LAZYACCESS(modifiers, RIGHT_CLICK))
+ if (body_position == STANDING_UP)
+ if (prob(5))
+ Unconscious(40)
+ playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
+ log_combat(user, src, "pushed")
+ visible_message("[user] pushes [src] down!", \
+ "[user] pushes you down!", "You hear aggressive shuffling followed by a loud thud!", null, user)
+ to_chat(user, "You push [src] down!")
+ return TRUE
+ var/damage = rand(1, 9)
+ if (prob(90))
+ playsound(loc, "punch", 25, TRUE, -1)
+ visible_message("[user] punches [src]!", \
+ "[user] punches you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "You punch [src]!")
+ if ((stat != DEAD) && (damage > 9 || prob(5)))//Regular humans have a very small chance of knocking an alien down.
+ Unconscious(40)
+ visible_message("[user] knocks [src] down!", \
+ "[user] knocks you down!", "You hear a sickening sound of flesh hitting flesh!", null, user)
+ to_chat(user, "You knock [src] down!")
+ var/obj/item/bodypart/affecting = get_bodypart(ran_zone(user.zone_selected))
+ apply_damage(damage, BRUTE, affecting)
+ log_combat(user, src, "attacked")
+ else
+ playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1)
+ visible_message("[user]'s punch misses [src]!", \
+ "You avoid [user]'s punch!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "Your punch misses [src]!")
/mob/living/carbon/alien/humanoid/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect)
diff --git a/code/modules/mob/living/carbon/alien/larva/larva_defense.dm b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm
index 2193d50ffde..4560b950585 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva_defense.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm
@@ -1,24 +1,24 @@
-/mob/living/carbon/alien/larva/attack_hand(mob/living/carbon/human/M)
+/mob/living/carbon/alien/larva/attack_hand(mob/living/carbon/human/user, list/modifiers)
if(..())
var/damage = rand(1, 9)
if (prob(90))
playsound(loc, "punch", 25, TRUE, -1)
- log_combat(M, src, "attacked")
- visible_message("[M] kicks [src]!", \
- "[M] kicks you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "You kick [src]!")
+ log_combat(user, src, "attacked")
+ visible_message("[user] kicks [src]!", \
+ "[user] kicks you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "You kick [src]!")
if ((stat != DEAD) && (damage > 4.9))
Unconscious(rand(100,200))
- var/obj/item/bodypart/affecting = get_bodypart(ran_zone(M.zone_selected))
+ var/obj/item/bodypart/affecting = get_bodypart(ran_zone(user.zone_selected))
apply_damage(damage, BRUTE, affecting)
else
playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1)
- visible_message("[M]'s kick misses [src]!", \
- "You avoid [M]'s kick!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "Your kick misses [src]!")
+ visible_message("[user]'s kick misses [src]!", \
+ "You avoid [user]'s kick!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "Your kick misses [src]!")
/mob/living/carbon/alien/larva/attack_hulk(mob/living/carbon/human/user)
. = ..()
diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm
index d3a18b7b737..412ee81f2e6 100644
--- a/code/modules/mob/living/carbon/alien/special/facehugger.dm
+++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm
@@ -68,7 +68,7 @@
return O.attack_obj(src, user)
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/clothing/mask/facehugger/attack_hand(mob/user)
+/obj/item/clothing/mask/facehugger/attack_hand(mob/user, list/modifiers)
if((stat == CONSCIOUS && !sterile) && !isalien(user))
if(Leap(user))
return
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index ea8cbed4759..4d29301159d 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -151,7 +151,7 @@
return //so we don't call the carbon's attack_hand().
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/mob/living/carbon/attack_hand(mob/living/carbon/human/user, modifiers)
+/mob/living/carbon/attack_hand(mob/living/carbon/human/user, list/modifiers)
if(SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_HAND, user) & COMPONENT_CANCEL_ATTACK_CHAIN)
. = TRUE
@@ -182,25 +182,25 @@
return FALSE
-/mob/living/carbon/attack_paw(mob/living/carbon/human/M, modifiers)
+/mob/living/carbon/attack_paw(mob/living/carbon/human/user, list/modifiers)
- if(try_inject(M, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE))
+ if(try_inject(user, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE))
for(var/thing in diseases)
var/datum/disease/D = thing
if((D.spread_flags & DISEASE_SPREAD_CONTACT_SKIN) && prob(85))
- M.ContactContractDisease(D)
+ user.ContactContractDisease(D)
- for(var/thing in M.diseases)
+ for(var/thing in user.diseases)
var/datum/disease/D = thing
if(D.spread_flags & DISEASE_SPREAD_CONTACT_SKIN)
ContactContractDisease(D)
- if(!M.combat_mode)
- help_shake_act(M)
+ if(!user.combat_mode)
+ help_shake_act(user)
return FALSE
if(..()) //successful monkey bite.
- for(var/thing in M.diseases)
+ for(var/thing in user.diseases)
var/datum/disease/D = thing
ForceContractDisease(D)
return TRUE
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index fe74520074e..9ef47cf66a1 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -206,14 +206,14 @@
to_chat(user, "You [hulk_verb] [src]!")
apply_damage(15, BRUTE, wound_bonus=10)
-/mob/living/carbon/human/attack_hand(mob/user, modifiers)
+/mob/living/carbon/human/attack_hand(mob/user, list/modifiers)
if(..()) //to allow surgery to return properly.
return
if(ishuman(user))
var/mob/living/carbon/human/H = user
dna.species.spec_attack_hand(H, src, null, modifiers)
-/mob/living/carbon/human/attack_paw(mob/living/carbon/human/M, modifiers)
+/mob/living/carbon/human/attack_paw(mob/living/carbon/human/user, list/modifiers)
var/dam_zone = pick(BODY_ZONE_CHEST, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)
var/obj/item/bodypart/affecting = get_bodypart(ran_zone(dam_zone))
if(!affecting)
@@ -224,47 +224,47 @@
var/obj/item/I = get_active_held_item()
if(I && !(I.item_flags & ABSTRACT) && dropItemToGround(I))
playsound(loc, 'sound/weapons/slash.ogg', 25, TRUE, -1)
- visible_message("[M] disarmed [src]!", \
- "[M] disarmed you!", "You hear aggressive shuffling!", null, M)
- to_chat(M, "You disarm [src]!")
- else if(!M.client || prob(5)) // only natural monkeys get to stun reliably, (they only do it occasionaly)
+ visible_message("[user] disarmed [src]!", \
+ "[user] disarmed you!", "You hear aggressive shuffling!", null, user)
+ to_chat(user, "You disarm [src]!")
+ else if(!user.client || prob(5)) // only natural monkeys get to stun reliably, (they only do it occasionaly)
playsound(loc, 'sound/weapons/pierce.ogg', 25, TRUE, -1)
if (src.IsKnockdown() && !src.IsParalyzed())
Paralyze(40)
- log_combat(M, src, "pinned")
- visible_message("[M] pins [src] down!", \
- "[M] pins you down!", "You hear shuffling and a muffled groan!", null, M)
- to_chat(M, "You pin [src] down!")
+ log_combat(user, src, "pinned")
+ visible_message("[user] pins [src] down!", \
+ "[user] pins you down!", "You hear shuffling and a muffled groan!", null, user)
+ to_chat(user, "You pin [src] down!")
else
Knockdown(30)
- log_combat(M, src, "tackled")
- visible_message("[M] tackles [src] down!", \
- "[M] tackles you down!", "You hear aggressive shuffling followed by a loud thud!", null, M)
- to_chat(M, "You tackle [src] down!")
+ log_combat(user, src, "tackled")
+ visible_message("[user] tackles [src] down!", \
+ "[user] tackles you down!", "You hear aggressive shuffling followed by a loud thud!", null, user)
+ to_chat(user, "You tackle [src] down!")
- if(!M.combat_mode)
+ if(!user.combat_mode)
..() //shaking
return FALSE
- if(M.limb_destroyer)
- dismembering_strike(M, affecting.body_zone)
+ if(user.limb_destroyer)
+ dismembering_strike(user, affecting.body_zone)
- if(try_inject(M, affecting, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE))//Thick suits can stop monkey bites.
+ if(try_inject(user, affecting, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE))//Thick suits can stop monkey bites.
if(..()) //successful monkey bite, this handles disease contraction.
- var/damage = rand(M.dna.species.punchdamagelow, M.dna.species.punchdamagehigh)
+ var/damage = rand(user.dna.species.punchdamagelow, user.dna.species.punchdamagehigh)
if(!damage)
return
- if(check_shields(M, damage, "the [M.name]"))
+ if(check_shields(user, damage, "the [user.name]"))
return FALSE
if(stat != DEAD)
apply_damage(damage, BRUTE, affecting, run_armor_check(affecting, MELEE))
return TRUE
-/mob/living/carbon/human/attack_alien(mob/living/carbon/alien/humanoid/M, modifiers)
- if(check_shields(M, 0, "the M.name"))
- visible_message("[M] attempts to touch [src]!", \
- "[M] attempts to touch you!", "You hear a swoosh!", null, M)
- to_chat(M, "You attempt to touch [src]!")
+/mob/living/carbon/human/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
+ if(check_shields(user, 0, "the [user.name]"))
+ visible_message("[user] attempts to touch [src]!", \
+ "[user] attempts to touch you!", "You hear a swoosh!", null, user)
+ to_chat(user, "You attempt to touch [src]!")
return FALSE
. = ..()
if(!.)
@@ -274,38 +274,38 @@
var/obj/item/I = get_active_held_item()
if(I && dropItemToGround(I))
playsound(loc, 'sound/weapons/slash.ogg', 25, TRUE, -1)
- visible_message("[M] disarms [src]!", \
- "[M] disarms you!", "You hear aggressive shuffling!", null, M)
- to_chat(M, "You disarm [src]!")
+ visible_message("[user] disarms [src]!", \
+ "[user] disarms you!", "You hear aggressive shuffling!", null, user)
+ to_chat(user, "You disarm [src]!")
else
playsound(loc, 'sound/weapons/pierce.ogg', 25, TRUE, -1)
Paralyze(100)
- log_combat(M, src, "tackled")
- visible_message("[M] tackles [src] down!", \
- "[M] tackles you down!", "You hear aggressive shuffling followed by a loud thud!", null, M)
- to_chat(M, "You tackle [src] down!")
+ log_combat(user, src, "tackled")
+ visible_message("[user] tackles [src] down!", \
+ "[user] tackles you down!", "You hear aggressive shuffling followed by a loud thud!", null, user)
+ to_chat(user, "You tackle [src] down!")
- if(M.combat_mode)
+ if(user.combat_mode)
if (w_uniform)
- w_uniform.add_fingerprint(M)
- var/damage = prob(90) ? rand(M.melee_damage_lower, M.melee_damage_upper) : 0
+ w_uniform.add_fingerprint(user)
+ var/damage = prob(90) ? rand(user.melee_damage_lower, user.melee_damage_upper) : 0
if(!damage)
playsound(loc, 'sound/weapons/slashmiss.ogg', 50, TRUE, -1)
- visible_message("[M] lunges at [src]!", \
- "[M] lunges at you!", "You hear a swoosh!", null, M)
- to_chat(M, "You lunge at [src]!")
+ visible_message("[user] lunges at [src]!", \
+ "[user] lunges at you!", "You hear a swoosh!", null, user)
+ to_chat(user, "You lunge at [src]!")
return FALSE
- var/obj/item/bodypart/affecting = get_bodypart(ran_zone(M.zone_selected))
+ var/obj/item/bodypart/affecting = get_bodypart(ran_zone(user.zone_selected))
if(!affecting)
affecting = get_bodypart(BODY_ZONE_CHEST)
var/armor_block = run_armor_check(affecting, MELEE,"","",10)
playsound(loc, 'sound/weapons/slice.ogg', 25, TRUE, -1)
- visible_message("[M] slashes at [src]!", \
- "[M] slashes at you!", "You hear a sickening sound of a slice!", null, M)
- to_chat(M, "You slash at [src]!")
- log_combat(M, src, "attacked")
- if(!dismembering_strike(M, M.zone_selected)) //Dismemberment successful
+ visible_message("[user] slashes at [src]!", \
+ "[user] slashes at you!", "You hear a sickening sound of a slice!", null, user)
+ to_chat(user, "You slash at [src]!")
+ log_combat(user, src, "attacked")
+ if(!dismembering_strike(user, user.zone_selected)) //Dismemberment successful
return TRUE
apply_damage(damage, BRUTE, affecting, armor_block)
@@ -330,21 +330,21 @@
apply_damage(damage, BRUTE, affecting, armor_block)
-/mob/living/carbon/human/attack_animal(mob/living/simple_animal/M)
+/mob/living/carbon/human/attack_animal(mob/living/simple_animal/user, list/modifiers)
. = ..()
if(!.)
return
- var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
- if(check_shields(M, damage, "the [M.name]", MELEE_ATTACK, M.armour_penetration))
+ var/damage = rand(user.melee_damage_lower, user.melee_damage_upper)
+ if(check_shields(user, damage, "the [user.name]", MELEE_ATTACK, user.armour_penetration))
return FALSE
- var/dam_zone = dismembering_strike(M, pick(BODY_ZONE_CHEST, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG))
+ var/dam_zone = dismembering_strike(user, pick(BODY_ZONE_CHEST, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG))
if(!dam_zone) //Dismemberment successful
return TRUE
var/obj/item/bodypart/affecting = get_bodypart(ran_zone(dam_zone))
if(!affecting)
affecting = get_bodypart(BODY_ZONE_CHEST)
- var/armor = run_armor_check(affecting, MELEE, armour_penetration = M.armour_penetration)
- apply_damage(damage, M.melee_damage_type, affecting, armor, wound_bonus = M.wound_bonus, bare_wound_bonus = M.bare_wound_bonus, sharpness = M.sharpness)
+ var/armor = run_armor_check(affecting, MELEE, armour_penetration = user.armour_penetration)
+ apply_damage(damage, user.melee_damage_type, affecting, armor, wound_bonus = user.wound_bonus, bare_wound_bonus = user.bare_wound_bonus, sharpness = user.sharpness)
apply_damage(damage*SIMPLE_MOB_TISSUE_DAMAGE_STAMINA_MULTIPLIER, STAMINA, affecting, armor) //SKYRAT EDIT ADDITION
diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm
index fcfc7ec55d6..cd0379fc869 100644
--- a/code/modules/mob/living/living_defense.dm
+++ b/code/modules/mob/living/living_defense.dm
@@ -232,62 +232,63 @@
to_chat(M, "You glomp [src]!")
return TRUE
-/mob/living/attack_animal(mob/living/simple_animal/M)
- M.face_atom(src)
- if(M.melee_damage_upper == 0)
- visible_message("\The [M] [M.friendly_verb_continuous] [src]!", \
- "\The [M] [M.friendly_verb_continuous] you!", null, COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "You [M.friendly_verb_simple] [src]!")
+/mob/living/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ user.face_atom(src)
+ if(user.melee_damage_upper == 0)
+ visible_message("\The [user] [user.friendly_verb_continuous] [src]!", \
+ "\The [user] [user.friendly_verb_continuous] you!", null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "You [user.friendly_verb_simple] [src]!")
return FALSE
- if(HAS_TRAIT(M, TRAIT_PACIFISM))
- to_chat(M, "You don't want to hurt anyone!")
+ if(HAS_TRAIT(user, TRAIT_PACIFISM))
+ to_chat(user, "You don't want to hurt anyone!")
return FALSE
- if(M.attack_sound)
- playsound(loc, M.attack_sound, 50, TRUE, TRUE)
- M.do_attack_animation(src)
- visible_message("\The [M] [M.attack_verb_continuous] [src]!", \
- "\The [M] [M.attack_verb_continuous] you!", null, COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "You [M.attack_verb_simple] [src]!")
- log_combat(M, src, "attacked")
+ if(user.attack_sound)
+ playsound(loc, user.attack_sound, 50, TRUE, TRUE)
+ user.do_attack_animation(src)
+ visible_message("\The [user] [user.attack_verb_continuous] [src]!", \
+ "\The [user] [user.attack_verb_continuous] you!", null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "You [user.attack_verb_simple] [src]!")
+ log_combat(user, src, "attacked")
return TRUE
-/mob/living/attack_hand(mob/living/carbon/human/user, modifiers)
+/mob/living/attack_hand(mob/living/carbon/human/user, list/modifiers)
. = ..()
if (user.apply_martial_art(src, modifiers))
return TRUE
-/mob/living/attack_paw(mob/living/carbon/human/M, modifiers)
+/mob/living/attack_paw(mob/living/carbon/human/user, list/modifiers)
if(isturf(loc) && istype(loc.loc, /area/start))
- to_chat(M, "No attacking people at spawn, you jackass.")
+ to_chat(user, "No attacking people at spawn, you jackass.")
return FALSE
- if (M.apply_martial_art(src, modifiers))
+ if (user.apply_martial_art(src, modifiers))
return TRUE
if(LAZYACCESS(modifiers, RIGHT_CLICK))
- if (M != src)
- M.disarm(src)
+ if (user != src)
+ user.disarm(src)
return TRUE
- if (M.combat_mode)
- if(HAS_TRAIT(M, TRAIT_PACIFISM))
- to_chat(M, "You don't want to hurt anyone!")
- return FALSE
+ if (!user.combat_mode)
+ return FALSE
+ if(HAS_TRAIT(user, TRAIT_PACIFISM))
+ to_chat(user, "You don't want to hurt anyone!")
+ return FALSE
- if(M.is_muzzled() || M.is_mouth_covered(FALSE, TRUE))
- to_chat(M, "You can't bite with your mouth covered!")
- return FALSE
- M.do_attack_animation(src, ATTACK_EFFECT_BITE)
- if (prob(75))
- log_combat(M, src, "attacked")
- playsound(loc, 'sound/weapons/bite.ogg', 50, TRUE, -1)
- visible_message("[M.name] bites [src]!", \
- "[M.name] bites you!", "You hear a chomp!", COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "You bite [src]!")
- return TRUE
- else
- visible_message("[M.name]'s bite misses [src]!", \
- "You avoid [M.name]'s bite!", "You hear the sound of jaws snapping shut!", COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "Your bite misses [src]!")
+ if(user.is_muzzled() || user.is_mouth_covered(FALSE, TRUE))
+ to_chat(user, "You can't bite with your mouth covered!")
+ return FALSE
+ user.do_attack_animation(src, ATTACK_EFFECT_BITE)
+ if (prob(75))
+ log_combat(user, src, "attacked")
+ playsound(loc, 'sound/weapons/bite.ogg', 50, TRUE, -1)
+ visible_message("[user.name] bites [src]!", \
+ "[user.name] bites you!", "You hear a chomp!", COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "You bite [src]!")
+ return TRUE
+ else
+ visible_message("[user.name]'s bite misses [src]!", \
+ "You avoid [user.name]'s bite!", "You hear the sound of jaws snapping shut!", COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "Your bite misses [src]!")
return FALSE
@@ -316,20 +317,20 @@
return FALSE
return FALSE
-/mob/living/attack_alien(mob/living/carbon/alien/humanoid/M, modifiers)
+/mob/living/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
if(LAZYACCESS(modifiers, RIGHT_CLICK))
- M.do_attack_animation(src, ATTACK_EFFECT_DISARM)
+ user.do_attack_animation(src, ATTACK_EFFECT_DISARM)
return TRUE
- if(M.combat_mode)
- if(HAS_TRAIT(M, TRAIT_PACIFISM))
- to_chat(M, "You don't want to hurt anyone!")
+ if(user.combat_mode)
+ if(HAS_TRAIT(user, TRAIT_PACIFISM))
+ to_chat(user, "You don't want to hurt anyone!")
return FALSE
- M.do_attack_animation(src)
+ user.do_attack_animation(src)
return TRUE
else
- visible_message("[M] caresses [src] with its scythe-like arm.", \
- "[M] caresses you with its scythe-like arm.", null, null, M)
- to_chat(M, "You caress [src] with your scythe-like arm.")
+ visible_message("[user] caresses [src] with its scythe-like arm.", \
+ "[user] caresses you with its scythe-like arm.", null, null, user)
+ to_chat(user, "You caress [src] with your scythe-like arm.")
return FALSE
/mob/living/attack_hulk(mob/living/carbon/human/user)
diff --git a/code/modules/mob/living/silicon/ai/ai_defense.dm b/code/modules/mob/living/silicon/ai/ai_defense.dm
index 2c53448f096..2ecdd6594fb 100644
--- a/code/modules/mob/living/silicon/ai/ai_defense.dm
+++ b/code/modules/mob/living/silicon/ai/ai_defense.dm
@@ -11,9 +11,9 @@
spark_system.start()
return ..()
-/mob/living/silicon/ai/attack_alien(mob/living/carbon/alien/humanoid/M)
+/mob/living/silicon/ai/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
if(!SSticker.HasRoundStarted())
- to_chat(M, "You cannot attack people before the game has started.")
+ to_chat(user, "You cannot attack people before the game has started.")
return
..()
diff --git a/code/modules/mob/living/silicon/pai/pai_defense.dm b/code/modules/mob/living/silicon/pai/pai_defense.dm
index af6ae269ccd..ebaea3a01a6 100644
--- a/code/modules/mob/living/silicon/pai/pai_defense.dm
+++ b/code/modules/mob/living/silicon/pai/pai_defense.dm
@@ -40,7 +40,7 @@
fold_in(force = 1)
Paralyze(200)
-/mob/living/silicon/pai/attack_hand(mob/living/carbon/human/user, modifiers)
+/mob/living/silicon/pai/attack_hand(mob/living/carbon/human/user, list/modifiers)
if(user.combat_mode)
user.do_attack_animation(src)
if (user.name == master)
diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm
index f2a05e1c9fa..4ed40421921 100644
--- a/code/modules/mob/living/silicon/robot/robot_defense.dm
+++ b/code/modules/mob/living/silicon/robot/robot_defense.dm
@@ -235,22 +235,22 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
spark_system.start()
return ..()
-/mob/living/silicon/robot/attack_alien(mob/living/carbon/alien/humanoid/M, modifiers)
+/mob/living/silicon/robot/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
if (LAZYACCESS(modifiers, RIGHT_CLICK))
if(body_position == STANDING_UP)
- M.do_attack_animation(src, ATTACK_EFFECT_DISARM)
+ user.do_attack_animation(src, ATTACK_EFFECT_DISARM)
var/obj/item/I = get_active_held_item()
if(I)
uneq_active()
- visible_message("[M] disarmed [src]!", \
- "[M] has disabled [src]'s active module!", null, COMBAT_MESSAGE_RANGE)
- log_combat(M, src, "disarmed", "[I ? " removing \the [I]" : ""]")
+ visible_message("[user] disarmed [src]!", \
+ "[user] has disabled [src]'s active module!", null, COMBAT_MESSAGE_RANGE)
+ log_combat(user, src, "disarmed", "[I ? " removing \the [I]" : ""]")
else
Stun(40)
- step(src,get_dir(M,src))
- log_combat(M, src, "pushed")
- visible_message("[M] forces back [src]!", \
- "[M] forces back [src]!", null, COMBAT_MESSAGE_RANGE)
+ step(src,get_dir(user,src))
+ log_combat(user, src, "pushed")
+ visible_message("[user] forces back [src]!", \
+ "[user] forces back [src]!", null, COMBAT_MESSAGE_RANGE)
playsound(loc, 'sound/weapons/pierce.ogg', 50, TRUE, -1)
else
..()
@@ -275,7 +275,7 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
return
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/mob/living/silicon/robot/attack_hand(mob/living/carbon/human/user)
+/mob/living/silicon/robot/attack_hand(mob/living/carbon/human/user, list/modifiers)
add_fingerprint(user)
if(opened && !wiresexposed && !issilicon(user))
if(cell)
diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm
index 7aa3d01909d..ed2cbbf8c60 100644
--- a/code/modules/mob/living/silicon/silicon_defense.dm
+++ b/code/modules/mob/living/silicon/silicon_defense.dm
@@ -5,45 +5,45 @@
/mob/living/silicon/get_ear_protection()//no ears
return 2
-/mob/living/silicon/attack_alien(mob/living/carbon/alien/humanoid/M)
+/mob/living/silicon/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
if(..()) //if harm or disarm intent
- var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
+ var/damage = rand(user.melee_damage_lower, user.melee_damage_upper)
if (prob(90))
- log_combat(M, src, "attacked")
+ log_combat(user, src, "attacked")
playsound(loc, 'sound/weapons/slash.ogg', 25, TRUE, -1)
- visible_message("[M] slashes at [src]!", \
- "[M] slashes at you!", null, null, M)
- to_chat(M, "You slash at [src]!")
+ visible_message("[user] slashes at [src]!", \
+ "[user] slashes at you!", null, null, user)
+ to_chat(user, "You slash at [src]!")
if(prob(8))
flash_act(affect_silicon = 1)
- log_combat(M, src, "attacked")
+ log_combat(user, src, "attacked")
adjustBruteLoss(damage)
updatehealth()
else
playsound(loc, 'sound/weapons/slashmiss.ogg', 25, TRUE, -1)
- visible_message("[M]'s swipe misses [src]!", \
- "You avoid [M]'s swipe!", null, null, M)
- to_chat(M, "Your swipe misses [src]!")
+ visible_message("[user]'s swipe misses [src]!", \
+ "You avoid [user]'s swipe!", null, null, user)
+ to_chat(user, "Your swipe misses [src]!")
-/mob/living/silicon/attack_animal(mob/living/simple_animal/M)
+/mob/living/silicon/attack_animal(mob/living/simple_animal/user, list/modifiers)
. = ..()
if(.)
- var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
+ var/damage = rand(user.melee_damage_lower, user.melee_damage_upper)
if(prob(damage))
- for(var/mob/living/N in buckled_mobs)
- N.Paralyze(20)
- unbuckle_mob(N)
- N.visible_message("[N] is knocked off of [src] by [M]!", \
- "You're knocked off of [src] by [M]!", null, null, M)
- to_chat(M, "You knock [N] off of [src]!")
- switch(M.melee_damage_type)
+ for(var/mob/living/buckled in buckled_mobs)
+ buckled.Paralyze(20)
+ unbuckle_mob(buckled)
+ buckled.visible_message("[buckled] is knocked off of [src] by [user]!", \
+ "You're knocked off of [src] by [user]!", null, null, user)
+ to_chat(user, "You knock [buckled] off of [src]!")
+ switch(user.melee_damage_type)
if(BRUTE)
adjustBruteLoss(damage)
if(BURN)
adjustFireLoss(damage)
-/mob/living/silicon/attack_paw(mob/living/user)
- return attack_hand(user)
+/mob/living/silicon/attack_paw(mob/living/user, list/modifiers)
+ return attack_hand(user, modifiers)
/mob/living/silicon/attack_larva(mob/living/carbon/alien/larva/L)
if(!L.combat_mode)
@@ -60,21 +60,21 @@
to_chat(user, "You punch [src]!")
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/mob/living/silicon/attack_hand(mob/living/carbon/human/M, modifiers)
+/mob/living/silicon/attack_hand(mob/living/carbon/human/user, list/modifiers)
. = FALSE
- if(SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_HAND, M) & COMPONENT_CANCEL_ATTACK_CHAIN)
+ if(SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_HAND, user) & COMPONENT_CANCEL_ATTACK_CHAIN)
. = TRUE
- if(M.combat_mode)
- M.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
+ if(user.combat_mode)
+ user.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
playsound(src.loc, 'sound/effects/bang.ogg', 10, TRUE)
- visible_message("[M] punches [src], but doesn't leave a dent!", \
- "[M] punches you, but doesn't leave a dent!", null, COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "You punch [src], but don't leave a dent!")
+ visible_message("[user] punches [src], but doesn't leave a dent!", \
+ "[user] punches you, but doesn't leave a dent!", null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "You punch [src], but don't leave a dent!")
else
- visible_message("[M] pets [src].", \
- "[M] pets you.", null, null, M)
- to_chat(M, "You pet [src].")
- SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT_RND, "pet_borg", /datum/mood_event/pet_borg)
+ visible_message("[user] pets [src].", \
+ "[user] pets you.", null, null, user)
+ to_chat(user, "You pet [src].")
+ SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT_RND, "pet_borg", /datum/mood_event/pet_borg)
/mob/living/silicon/attack_drone(mob/living/simple_animal/drone/M)
diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm
index 22e621d1fc5..164fbc0ab51 100644
--- a/code/modules/mob/living/simple_animal/animal_defense.dm
+++ b/code/modules/mob/living/simple_animal/animal_defense.dm
@@ -1,46 +1,44 @@
-
-
-/mob/living/simple_animal/attack_hand(mob/living/carbon/human/M, modifiers)
+/mob/living/simple_animal/attack_hand(mob/living/carbon/human/user, list/modifiers)
// so that martial arts don't double dip
if (..())
return TRUE
if(LAZYACCESS(modifiers, RIGHT_CLICK))
- M.do_attack_animation(src, ATTACK_EFFECT_DISARM)
+ user.do_attack_animation(src, ATTACK_EFFECT_DISARM)
playsound(src, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
- var/shove_dir = get_dir(M, src)
+ var/shove_dir = get_dir(user, src)
if(!Move(get_step(src, shove_dir), shove_dir))
- log_combat(M, src, "shoved", "failing to move it")
- M.visible_message("[M.name] shoves [src]!",
+ log_combat(user, src, "shoved", "failing to move it")
+ user.visible_message("[user.name] shoves [src]!",
"You shove [src]!", "You hear aggressive shuffling!", COMBAT_MESSAGE_RANGE, list(src))
- to_chat(src, "You're shoved by [M.name]!")
+ to_chat(src, "You're shoved by [user.name]!")
return TRUE
- log_combat(M, src, "shoved", "pushing it")
- M.visible_message("[M.name] shoves [src], pushing [p_them()]!",
+ log_combat(user, src, "shoved", "pushing it")
+ user.visible_message("[user.name] shoves [src], pushing [p_them()]!",
"You shove [src], pushing [p_them()]!", "You hear aggressive shuffling!", COMBAT_MESSAGE_RANGE, list(src))
- to_chat(src, "You're pushed by [M.name]!")
+ to_chat(src, "You're pushed by [user.name]!")
return TRUE
- if(!M.combat_mode)
+ if(!user.combat_mode)
if (stat == DEAD)
return
- visible_message("[M] [response_help_continuous] [src].", \
- "[M] [response_help_continuous] you.", null, null, M)
- to_chat(M, "You [response_help_simple] [src].")
+ visible_message("[user] [response_help_continuous] [src].", \
+ "[user] [response_help_continuous] you.", null, null, user)
+ to_chat(user, "You [response_help_simple] [src].")
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
if(pet_bonus)
- funpet(M)
+ funpet(user)
else
- if(HAS_TRAIT(M, TRAIT_PACIFISM))
- to_chat(M, "You don't want to hurt [src]!")
+ if(HAS_TRAIT(user, TRAIT_PACIFISM))
+ to_chat(user, "You don't want to hurt [src]!")
return
- M.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
- visible_message("[M] [response_harm_continuous] [src]!",\
- "[M] [response_harm_continuous] you!", null, COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "You [response_harm_simple] [src]!")
+ user.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
+ visible_message("[user] [response_harm_continuous] [src]!",\
+ "[user] [response_harm_continuous] you!", null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "You [response_harm_simple] [src]!")
playsound(loc, attacked_sound, 25, TRUE, -1)
attack_threshold_check(harm_intent_damage)
- log_combat(M, src, "attacked")
+ log_combat(user, src, "attacked")
updatehealth()
return TRUE
@@ -64,36 +62,36 @@
to_chat(user, "You punch [src]!")
adjustBruteLoss(15)
-/mob/living/simple_animal/attack_paw(mob/living/carbon/human/M)
+/mob/living/simple_animal/attack_paw(mob/living/carbon/human/user, list/modifiers)
if(..()) //successful monkey bite.
if(stat != DEAD)
var/damage = rand(1, 3)
attack_threshold_check(damage)
return 1
- if (!M.combat_mode)
+ if (!user.combat_mode)
if (health > 0)
- visible_message("[M.name] [response_help_continuous] [src].", \
- "[M.name] [response_help_continuous] you.", null, COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "You [response_help_simple] [src].")
+ visible_message("[user.name] [response_help_continuous] [src].", \
+ "[user.name] [response_help_continuous] you.", null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "You [response_help_simple] [src].")
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
-/mob/living/simple_animal/attack_alien(mob/living/carbon/alien/humanoid/M, modifiers)
+/mob/living/simple_animal/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
if(..()) //if harm or disarm intent.
if(LAZYACCESS(modifiers, RIGHT_CLICK))
playsound(loc, 'sound/weapons/pierce.ogg', 25, TRUE, -1)
- visible_message("[M] [response_disarm_continuous] [name]!", \
- "[M] [response_disarm_continuous] you!", null, COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "You [response_disarm_simple] [name]!")
- log_combat(M, src, "disarmed")
+ visible_message("[user] [response_disarm_continuous] [name]!", \
+ "[user] [response_disarm_continuous] you!", null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "You [response_disarm_simple] [name]!")
+ log_combat(user, src, "disarmed")
else
var/damage = rand(15, 30)
- visible_message("[M] slashes at [src]!", \
- "You're slashed at by [M]!", null, COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "You slash at [src]!")
+ visible_message("[user] slashes at [src]!", \
+ "You're slashed at by [user]!", null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "You slash at [src]!")
playsound(loc, 'sound/weapons/slice.ogg', 25, TRUE, -1)
attack_threshold_check(damage)
- log_combat(M, src, "attacked")
+ log_combat(user, src, "attacked")
return 1
/mob/living/simple_animal/attack_larva(mob/living/carbon/alien/larva/L)
@@ -104,11 +102,11 @@
if(.)
L.amount_grown = min(L.amount_grown + damage, L.max_grown)
-/mob/living/simple_animal/attack_animal(mob/living/simple_animal/M)
+/mob/living/simple_animal/attack_animal(mob/living/simple_animal/user, list/modifiers)
. = ..()
if(.)
- var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
- return attack_threshold_check(damage, M.melee_damage_type)
+ var/damage = rand(user.melee_damage_lower, user.melee_damage_upper)
+ return attack_threshold_check(damage, user.melee_damage_type)
/mob/living/simple_animal/attack_slime(mob/living/simple_animal/slime/M)
if(..()) //successful slime attack
diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm
index f920ee86ec6..d06ef2bb2c7 100644
--- a/code/modules/mob/living/simple_animal/bot/bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/bot.dm
@@ -291,9 +291,9 @@
return TRUE //Successful completion. Used to prevent child process() continuing if this one is ended early.
-/mob/living/simple_animal/bot/attack_hand(mob/living/carbon/human/H)
- if(!H.combat_mode)
- interact(H)
+/mob/living/simple_animal/bot/attack_hand(mob/living/carbon/human/user, list/modifiers)
+ if(!user.combat_mode)
+ interact(user)
else
return ..()
diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
index ecc0f740960..f3184bfefa2 100644
--- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
@@ -311,7 +311,7 @@
target_types = typecacheof(target_types)
-/mob/living/simple_animal/bot/cleanbot/UnarmedAttack(atom/A)
+/mob/living/simple_animal/bot/cleanbot/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
if(ismopable(A))
diff --git a/code/modules/mob/living/simple_animal/bot/firebot.dm b/code/modules/mob/living/simple_animal/bot/firebot.dm
index 288aa9e5c43..9c500cd2f16 100644
--- a/code/modules/mob/living/simple_animal/bot/firebot.dm
+++ b/code/modules/mob/living/simple_animal/bot/firebot.dm
@@ -62,7 +62,7 @@
internal_ext.max_water = INFINITY
internal_ext.refill()
-/mob/living/simple_animal/bot/firebot/UnarmedAttack(atom/A)
+/mob/living/simple_animal/bot/firebot/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(!on)
return
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
@@ -72,7 +72,7 @@
else
return ..()
-/mob/living/simple_animal/bot/firebot/RangedAttack(atom/A)
+/mob/living/simple_animal/bot/firebot/RangedAttack(atom/A, proximity_flag, list/modifiers)
if(!on)
return
if(internal_ext)
diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm
index faa9f306522..ffe3bb1e5be 100644
--- a/code/modules/mob/living/simple_animal/bot/floorbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm
@@ -415,7 +415,7 @@
/obj/machinery/bot_core/floorbot
req_one_access = list(ACCESS_CONSTRUCTION, ACCESS_ROBOTICS)
-/mob/living/simple_animal/bot/floorbot/UnarmedAttack(atom/A)
+/mob/living/simple_animal/bot/floorbot/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
if(isturf(A))
diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm
index e3f97f978b5..6b8f9128c71 100644
--- a/code/modules/mob/living/simple_animal/bot/honkbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm
@@ -112,9 +112,9 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
target = H
mode = BOT_HUNT
-/mob/living/simple_animal/bot/honkbot/attack_hand(mob/living/carbon/human/H)
- if(H.combat_mode)
- retaliate(H)
+/mob/living/simple_animal/bot/honkbot/attack_hand(mob/living/carbon/human/user, list/modifiers)
+ if(user.combat_mode)
+ retaliate(user)
addtimer(CALLBACK(src, .proc/react_buzz), 5)
return ..()
@@ -140,7 +140,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
retaliate(Proj.firer)
return ..()
-/mob/living/simple_animal/bot/honkbot/UnarmedAttack(atom/A)
+/mob/living/simple_animal/bot/honkbot/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(!on)
return
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
@@ -342,7 +342,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
new /obj/effect/decal/cleanable/oil(loc)
..()
-/mob/living/simple_animal/bot/honkbot/attack_alien(mob/living/carbon/alien/user as mob)
+/mob/living/simple_animal/bot/honkbot/attack_alien(mob/living/carbon/alien/user, list/modifiers)
..()
if(!isalien(target))
target = user
diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm
index d321fb7522d..81b55080965 100644
--- a/code/modules/mob/living/simple_animal/bot/medbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/medbot.dm
@@ -139,8 +139,8 @@
text_dehack = "You reset [name]'s healing processor circuits."
text_dehack_fail = "[name] seems damaged and does not respond to reprogramming!"
-/mob/living/simple_animal/bot/medbot/attack_paw(mob/user)
- return attack_hand(user)
+/mob/living/simple_animal/bot/medbot/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/mob/living/simple_animal/bot/medbot/get_controls(mob/user)
var/dat
@@ -449,13 +449,13 @@
if(damagetype_healer == "all" && treat_me_for.len)
return TRUE
-/mob/living/simple_animal/bot/medbot/attack_hand(mob/living/carbon/human/H, modifiers)
- if(DOING_INTERACTION_WITH_TARGET(H, src))
- to_chat(H, "You're already interacting with [src].")
+/mob/living/simple_animal/bot/medbot/attack_hand(mob/living/carbon/human/user, list/modifiers)
+ if(DOING_INTERACTION_WITH_TARGET(user, src))
+ to_chat(user, "You're already interacting with [src].")
return
if(LAZYACCESS(modifiers, RIGHT_CLICK) && mode != BOT_TIPPED)
- H.visible_message("[H] begins tipping over [src].", "You begin tipping over [src]...")
+ user.visible_message("[user] begins tipping over [src].", "You begin tipping over [src]...")
if(world.time > last_tipping_action_voice + 15 SECONDS)
last_tipping_action_voice = world.time // message for tipping happens when we start interacting, message for righting comes after finishing
@@ -464,17 +464,17 @@
speak(message)
playsound(src, messagevoice[message], 70, FALSE)
- if(do_after(H, 3 SECONDS, target=src))
- tip_over(H)
+ if(do_after(user, 3 SECONDS, target=src))
+ tip_over(user)
- else if(!H.combat_mode && mode == BOT_TIPPED)
- H.visible_message("[H] begins righting [src].", "You begin righting [src]...")
- if(do_after(H, 3 SECONDS, target=src))
- set_right(H)
+ else if(!user.combat_mode && mode == BOT_TIPPED)
+ user.visible_message("[user] begins righting [src].", "You begin righting [src]...")
+ if(do_after(user, 3 SECONDS, target=src))
+ set_right(user)
else
..()
-/mob/living/simple_animal/bot/medbot/UnarmedAttack(atom/A)
+/mob/living/simple_animal/bot/medbot/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
if(iscarbon(A) && !tending)
diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm
index e9e516af886..42362303c35 100644
--- a/code/modules/mob/living/simple_animal/bot/mulebot.dm
+++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm
@@ -806,7 +806,7 @@
if(load)
unload()
-/mob/living/simple_animal/bot/mulebot/UnarmedAttack(atom/A)
+/mob/living/simple_animal/bot/mulebot/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
if(isturf(A) && isturf(loc) && loc.Adjacent(A) && load)
diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm
index 5a00b0990c9..f7b5654b8ce 100644
--- a/code/modules/mob/living/simple_animal/bot/secbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/secbot.dm
@@ -196,17 +196,17 @@ Auto Patrol: []"},
/mob/living/simple_animal/bot/secbot/proc/special_retaliate_after_attack(mob/user) //allows special actions to take place after being attacked.
return
-/mob/living/simple_animal/bot/secbot/attack_hand(mob/living/carbon/human/H)
- if(H.combat_mode)
- retaliate(H)
- if(special_retaliate_after_attack(H))
+/mob/living/simple_animal/bot/secbot/attack_hand(mob/living/carbon/human/user, list/modifiers)
+ if(user.combat_mode)
+ retaliate(user)
+ if(special_retaliate_after_attack(user))
return
// Turns an oversight into a feature. Beepsky will now announce when pacifists taunt him over sec comms.
- if(HAS_TRAIT(H, TRAIT_PACIFISM))
- H.visible_message("[H] taunts [src], daring [p_them()] to give chase!", \
- "You taunt [src], daring [p_them()] to chase you!", "You hear someone shout a daring taunt!", DEFAULT_MESSAGE_RANGE, H)
- speak("Taunted by pacifist scumbag [H] in [get_area(src)].", radio_channel)
+ if(HAS_TRAIT(user, TRAIT_PACIFISM))
+ user.visible_message("[user] taunts [src], daring [p_them()] to give chase!", \
+ "You taunt [src], daring [p_them()] to chase you!", "You hear someone shout a daring taunt!", DEFAULT_MESSAGE_RANGE, user)
+ speak("Taunted by pacifist scumbag [user] in [get_area(src)].", radio_channel)
// Interrupt the attack chain. We've already handled this scenario for pacifists.
return
@@ -239,7 +239,7 @@ Auto Patrol: []"},
retaliate(Proj.firer)
return ..()
-/mob/living/simple_animal/bot/secbot/UnarmedAttack(atom/A)
+/mob/living/simple_animal/bot/secbot/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(!on)
return
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
@@ -492,7 +492,7 @@ Auto Patrol: []"},
new /obj/effect/decal/cleanable/oil(loc)
..()
-/mob/living/simple_animal/bot/secbot/attack_alien(mob/living/carbon/alien/user as mob)
+/mob/living/simple_animal/bot/secbot/attack_alien(mob/living/carbon/alien/user, list/modifiers)
..()
if(!isalien(target))
target = user
diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm
index d5380e17754..554d925bced 100644
--- a/code/modules/mob/living/simple_animal/constructs.dm
+++ b/code/modules/mob/living/simple_animal/constructs.dm
@@ -84,28 +84,28 @@
. += "[t_He] look[t_s] severely dented!"
. += "*---------*"
-/mob/living/simple_animal/hostile/construct/attack_animal(mob/living/simple_animal/M)
- if(isconstruct(M)) //is it a construct?
- var/mob/living/simple_animal/hostile/construct/C = M
- if(!C.can_repair_constructs || (C == src && !C.can_repair_self))
+/mob/living/simple_animal/hostile/construct/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ if(isconstruct(user)) //is it a construct?
+ var/mob/living/simple_animal/hostile/construct/doll = user
+ if(!doll.can_repair_constructs || (doll == src && !doll.can_repair_self))
return ..()
- if(theme != C.theme)
+ if(theme != doll.theme)
return ..()
if(health < maxHealth)
adjustHealth(-5)
- if(src != M)
- Beam(M, icon_state="sendbeam", time = 4)
- M.visible_message("[M] repairs some of \the [src]'s dents.", \
+ if(src != user)
+ Beam(user, icon_state="sendbeam", time = 4)
+ user.visible_message("[user] repairs some of \the [src]'s dents.", \
"You repair some of [src]'s dents, leaving [src] at [health]/[maxHealth] health.")
else
- M.visible_message("[M] repairs some of [p_their()] own dents.", \
- "You repair some of your own dents, leaving you at [M.health]/[M.maxHealth] health.")
+ user.visible_message("[user] repairs some of [p_their()] own dents.", \
+ "You repair some of your own dents, leaving you at [user.health]/[user.maxHealth] health.")
else
- if(src != M)
- to_chat(M, "You cannot repair [src]'s dents, as [p_they()] [p_have()] none!")
+ if(src != user)
+ to_chat(user, "You cannot repair [src]'s dents, as [p_they()] [p_have()] none!")
else
- to_chat(M, "You cannot repair your own dents, as you have none!")
- else if(src != M)
+ to_chat(user, "You cannot repair your own dents, as you have none!")
+ else if(src != user)
return ..()
/mob/living/simple_animal/hostile/construct/narsie_act()
diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm
index 2eff2288e68..b8d5b0c4ae1 100644
--- a/code/modules/mob/living/simple_animal/friendly/cat.dm
+++ b/code/modules/mob/living/simple_animal/friendly/cat.dm
@@ -315,8 +315,8 @@
if(!D.is_decorated)
D.decorate_donut()
-/mob/living/simple_animal/pet/cat/cak/attack_hand(mob/living/L)
+/mob/living/simple_animal/pet/cat/cak/attack_hand(mob/living/user, list/modifiers)
..()
- if(L.combat_mode && L.reagents && !stat)
- L.reagents.add_reagent(/datum/reagent/consumable/nutriment, 0.4)
- L.reagents.add_reagent(/datum/reagent/consumable/nutriment/vitamin, 0.4)
+ if(user.combat_mode && user.reagents && !stat)
+ user.reagents.add_reagent(/datum/reagent/consumable/nutriment, 0.4)
+ user.reagents.add_reagent(/datum/reagent/consumable/nutriment/vitamin, 0.4)
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
index c41649d4d39..2959ceaa71d 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
@@ -30,7 +30,7 @@
return
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/mob/living/simple_animal/drone/attack_hand(mob/user)
+/mob/living/simple_animal/drone/attack_hand(mob/user, list/modifiers)
if(ishuman(user))
if(stat == DEAD || status_flags & GODMODE || !can_be_held)
..()
diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
index 2ddde08a1fa..9429c8cde44 100644
--- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
@@ -178,14 +178,14 @@
if(stat == CONSCIOUS)
udder.generateMilk()
-/mob/living/simple_animal/cow/attack_hand(mob/living/carbon/M, modifiers)
+/mob/living/simple_animal/cow/attack_hand(mob/living/carbon/user, list/modifiers)
if(!stat && LAZYACCESS(modifiers, RIGHT_CLICK) && icon_state != icon_dead)
- M.visible_message("[M] tips over [src].",
+ user.visible_message("[user] tips over [src].",
"You tip over [src].")
- to_chat(src, "You are tipped over by [M]!")
+ to_chat(src, "You are tipped over by [user]!")
Paralyze(60, ignore_canstun = TRUE)
icon_state = icon_dead
- addtimer(CALLBACK(src, .proc/cow_tipped, M), rand(20,50))
+ addtimer(CALLBACK(src, .proc/cow_tipped, user), rand(20,50))
else
..()
@@ -221,10 +221,10 @@
speak = GLOB.wisdoms //Done here so it's setup properly
///Give intense wisdom to the attacker if they're being friendly about it
-/mob/living/simple_animal/cow/wisdom/attack_hand(mob/living/carbon/M)
- if(!stat && !M.combat_mode)
- to_chat(M, "[src] whispers you some intense wisdoms and then disappears!")
- M.mind?.adjust_experience(pick(GLOB.skill_types), 500)
+/mob/living/simple_animal/cow/wisdom/attack_hand(mob/living/carbon/user, list/modifiers)
+ if(!stat && !user.combat_mode)
+ to_chat(user, "[src] whispers you some intense wisdoms and then disappears!")
+ user.mind?.adjust_experience(pick(GLOB.skill_types), 500)
do_smoke(1, get_turf(src))
qdel(src)
return
diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm
index 84051c4436a..bdb2ab66942 100644
--- a/code/modules/mob/living/simple_animal/friendly/mouse.dm
+++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm
@@ -112,7 +112,7 @@
evolve()
return
-/mob/living/simple_animal/mouse/UnarmedAttack(atom/A, proximity)
+/mob/living/simple_animal/mouse/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
. = ..()
diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm
index f7c3b4ce099..a8f7aa03b22 100644
--- a/code/modules/mob/living/simple_animal/hostile/bear.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bear.dm
@@ -153,11 +153,11 @@
if(health < maxHealth)
heal_overall_damage(10) //Fast life regen, makes it hard for you to get eaten to death.
-/mob/living/simple_animal/hostile/bear/butter/attack_hand(mob/living/L) //Borrowed code from Cak, feeds people if they hit you. More nutriment but less vitamin to represent BUTTER.
+/mob/living/simple_animal/hostile/bear/butter/attack_hand(mob/living/user, list/modifiers) //Borrowed code from Cak, feeds people if they hit you. More nutriment but less vitamin to represent BUTTER.
..()
- if(L.combat_mode && L.reagents && !stat)
- L.reagents.add_reagent(/datum/reagent/consumable/nutriment, 1)
- L.reagents.add_reagent(/datum/reagent/consumable/nutriment/vitamin, 0.1)
+ if(user.combat_mode && user.reagents && !stat)
+ user.reagents.add_reagent(/datum/reagent/consumable/nutriment, 1)
+ user.reagents.add_reagent(/datum/reagent/consumable/nutriment/vitamin, 0.1)
/mob/living/simple_animal/hostile/bear/butter/CheckParts(list/parts) //Borrowed code from Cak, allows the brain used to actually control the bear.
..()
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
index 2d42e7a6218..f70a95ed947 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
@@ -429,7 +429,7 @@
if(isliving(speaker))
ActivationReaction(speaker, ACTIVATE_SPEECH)
-/obj/machinery/anomalous_crystal/attack_hand(mob/user)
+/obj/machinery/anomalous_crystal/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm
index d4f84ffceb6..b59dd0993cd 100644
--- a/code/modules/mob/living/simple_animal/hostile/mimic.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm
@@ -304,9 +304,9 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca
return
return ..()
-/mob/living/simple_animal/hostile/mimic/xenobio/attack_hand(mob/living/carbon/human/M)
+/mob/living/simple_animal/hostile/mimic/xenobio/attack_hand(mob/living/carbon/human/user, list/modifiers)
. = ..()
- if(M.combat_mode)
+ if(user.combat_mode)
return
toggle_open()
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm
index 6a1e638c2e6..2bdb1987cf2 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm
@@ -133,7 +133,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
/mob/living/simple_animal/hostile/asteroid/elite/legionnaire,
/mob/living/simple_animal/hostile/asteroid/elite/herald)
-/obj/structure/elite_tumor/attack_hand(mob/user)
+/obj/structure/elite_tumor/attack_hand(mob/user, list/modifiers)
. = ..()
if(ishuman(user))
switch(activity)
diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
index 7091c53bb4d..514b9b57fbf 100644
--- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
@@ -95,20 +95,20 @@
/mob/living/simple_animal/hostile/mushroom/proc/stop_retreat()
retreat_distance = null
-/mob/living/simple_animal/hostile/mushroom/attack_animal(mob/living/L)
- if(istype(L, /mob/living/simple_animal/hostile/mushroom) && stat == DEAD)
- var/mob/living/simple_animal/hostile/mushroom/M = L
+/mob/living/simple_animal/hostile/mushroom/attack_animal(mob/living/user, list/modifiers)
+ if(istype(user, /mob/living/simple_animal/hostile/mushroom) && stat == DEAD)
+ var/mob/living/simple_animal/hostile/mushroom/shroom = user
if(faint_ticker < 2)
- M.visible_message("[M] chews a bit on [src].")
+ shroom.visible_message("[shroom] chews a bit on [src].")
faint_ticker++
return TRUE
- M.visible_message("[M] devours [src]!")
- var/level_gain = (powerlevel - M.powerlevel)
- if(level_gain >= -1 && !bruised && !M.ckey)//Player shrooms can't level up to become robust gods.
+ shroom.visible_message("[shroom] devours [src]!")
+ var/level_gain = (powerlevel - shroom.powerlevel)
+ if(level_gain >= -1 && !bruised && !shroom.ckey)//Player shrooms can't level up to become robust gods.
if(level_gain < 1)//So we still gain a level if two mushrooms were the same level
level_gain = 1
- M.LevelUp(level_gain)
- M.adjustBruteLoss(-M.maxHealth)
+ shroom.LevelUp(level_gain)
+ shroom.adjustBruteLoss(-shroom.maxHealth)
qdel(src)
return TRUE
return ..()
@@ -170,9 +170,9 @@
Bruise()
..()
-/mob/living/simple_animal/hostile/mushroom/attack_hand(mob/living/carbon/human/M)
+/mob/living/simple_animal/hostile/mushroom/attack_hand(mob/living/carbon/human/user, list/modifiers)
..()
- if(M.combat_mode)
+ if(user.combat_mode)
Bruise()
/mob/living/simple_animal/hostile/mushroom/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm
index f4f2f9b15a3..d07bb175952 100644
--- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm
+++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm
@@ -162,7 +162,7 @@
else
. += "A direct link to another dimension full of creatures not very happy to see you. Entering the link would be a very bad idea."
-/obj/structure/spawner/nether/attack_hand(mob/user)
+/obj/structure/spawner/nether/attack_hand(mob/user, list/modifiers)
. = ..()
if(isskeleton(user) || iszombie(user))
to_chat(user, "You don't feel like going home yet...")
diff --git a/code/modules/mob/living/simple_animal/hostile/ooze.dm b/code/modules/mob/living/simple_animal/hostile/ooze.dm
index b7ebd6b74ef..dd13298ecc6 100644
--- a/code/modules/mob/living/simple_animal/hostile/ooze.dm
+++ b/code/modules/mob/living/simple_animal/hostile/ooze.dm
@@ -50,7 +50,7 @@
return ..()
eat_atom(attacked_target)
-/mob/living/simple_animal/hostile/ooze/UnarmedAttack(atom/A)
+/mob/living/simple_animal/hostile/ooze/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
return
if(!check_edible(A))
diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm
index d7108653f79..23b3283a881 100644
--- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm
+++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm
@@ -39,9 +39,9 @@
var/banana_type = /obj/item/grown/bananapeel
var/attack_reagent
-/mob/living/simple_animal/hostile/retaliate/clown/attack_hand(mob/living/carbon/human/M)
+/mob/living/simple_animal/hostile/retaliate/clown/attack_hand(mob/living/carbon/human/user, list/modifiers)
..()
- playsound(src.loc, 'sound/items/bikehorn.ogg', 50, TRUE)
+ playsound(loc, 'sound/items/bikehorn.ogg', 50, TRUE)
/mob/living/simple_animal/hostile/retaliate/clown/Life()
. = ..()
@@ -334,7 +334,7 @@
return ..()
eat_atom(attacked_target)
-/mob/living/simple_animal/hostile/retaliate/clown/mutant/glutton/UnarmedAttack(atom/A)
+/mob/living/simple_animal/hostile/retaliate/clown/mutant/glutton/UnarmedAttack(atom/A, proximity_flag, list/modifiers)
if(!check_edible(A))
return ..()
eat_atom(A)
diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm
index 2711f41e84a..ed000d910da 100644
--- a/code/modules/mob/living/simple_animal/hostile/tree.dm
+++ b/code/modules/mob/living/simple_animal/hostile/tree.dm
@@ -91,9 +91,9 @@
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
is_tree = FALSE
-/mob/living/simple_animal/hostile/tree/festivus/attack_hand(mob/living/carbon/human/M)
+/mob/living/simple_animal/hostile/tree/festivus/attack_hand(mob/living/carbon/human/user, list/modifiers)
. = ..()
- if(!M.combat_mode)
+ if(!user.combat_mode)
visible_message("[src] crackles with static electricity!")
for(var/obj/item/stock_parts/cell/C in range(2, get_turf(src)))
C.give(75)
diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index 0a87a50f1c4..2b9169b8906 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -282,18 +282,18 @@
* Attack responces
*/
//Humans, monkeys, aliens
-/mob/living/simple_animal/parrot/attack_hand(mob/living/carbon/M)
+/mob/living/simple_animal/parrot/attack_hand(mob/living/carbon/user, list/modifiers)
..()
if(client)
return
- if(!stat && M.combat_mode)
+ if(!stat && user.combat_mode)
icon_state = icon_living //It is going to be flying regardless of whether it flees or attacks
if(parrot_state == PARROT_PERCH)
parrot_sleep_dur = parrot_sleep_max //Reset it's sleep timer if it was perched
- parrot_interest = M
+ parrot_interest = user
parrot_state = PARROT_SWOOP //The parrot just got hit, it WILL move, now to pick a direction..
if(health > 30) //Let's get in there and squawk it up!
@@ -301,18 +301,18 @@
else
parrot_state |= PARROT_FLEE //Otherwise, fly like a bat out of hell!
drop_held_item(0)
- if(stat != DEAD && !M.combat_mode)
+ if(stat != DEAD && !user.combat_mode)
handle_automated_speech(1) //assured speak/emote
return
-/mob/living/simple_animal/parrot/attack_paw(mob/living/carbon/human/M)
- return attack_hand(M)
+/mob/living/simple_animal/parrot/attack_paw(mob/living/carbon/human/user, list/modifiers)
+ return attack_hand(modifiers)
-/mob/living/simple_animal/parrot/attack_alien(mob/living/carbon/alien/M)
- return attack_hand(M)
+/mob/living/simple_animal/parrot/attack_alien(mob/living/carbon/alien/user, list/modifiers)
+ return attack_hand(user, modifiers)
//Simple animals
-/mob/living/simple_animal/parrot/attack_animal(mob/living/simple_animal/M)
+/mob/living/simple_animal/parrot/attack_animal(mob/living/simple_animal/user, list/modifiers)
. = ..() //goodbye immortal parrots
if(client)
@@ -321,8 +321,8 @@
if(parrot_state == PARROT_PERCH)
parrot_sleep_dur = parrot_sleep_max //Reset it's sleep timer if it was perched
- if(M.melee_damage_upper > 0 && !stat)
- parrot_interest = M
+ if(user.melee_damage_upper > 0 && !stat)
+ parrot_interest = user
parrot_state = PARROT_SWOOP | PARROT_ATTACK //Attack other animals regardless
icon_state = icon_living
diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm
index 32c6e4a2895..49be9cfe481 100644
--- a/code/modules/mob/living/simple_animal/shade.dm
+++ b/code/modules/mob/living/simple_animal/shade.dm
@@ -50,19 +50,19 @@
return FALSE
return ..()
-/mob/living/simple_animal/shade/attack_animal(mob/living/simple_animal/M)
- if(isconstruct(M))
- var/mob/living/simple_animal/hostile/construct/C = M
- if(!C.can_repair_constructs)
+/mob/living/simple_animal/shade/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ if(isconstruct(user))
+ var/mob/living/simple_animal/hostile/construct/doll = user
+ if(!doll.can_repair_constructs)
return
if(health < maxHealth)
adjustHealth(-25)
- Beam(M,icon_state="sendbeam", time = 4)
- M.visible_message("[M] heals \the [src].", \
+ Beam(user,icon_state="sendbeam", time = 4)
+ user.visible_message("[user] heals \the [src].", \
"You heal [src], leaving [src] at [health]/[maxHealth] health.")
else
- to_chat(M, "You cannot heal [src], as [p_theyre()] unharmed!")
- else if(src != M)
+ to_chat(user, "You cannot heal [src], as [p_theyre()] unharmed!")
+ else if(src != user)
return ..()
/mob/living/simple_animal/shade/attackby(obj/item/O, mob/user, params) //Marker -Agouri
diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm
index c4eb7572638..7aa4c38f8c5 100644
--- a/code/modules/mob/living/simple_animal/slime/slime.dm
+++ b/code/modules/mob/living/simple_animal/slime/slime.dm
@@ -290,13 +290,13 @@
M.adjustBruteLoss(-10 + (-10 * M.is_adult))
M.updatehealth()
-/mob/living/simple_animal/slime/attack_animal(mob/living/simple_animal/M)
+/mob/living/simple_animal/slime/attack_animal(mob/living/simple_animal/user, list/modifiers)
. = ..()
if(.)
attacked += 10
-/mob/living/simple_animal/slime/attack_paw(mob/living/carbon/human/M)
+/mob/living/simple_animal/slime/attack_paw(mob/living/carbon/human/user, list/modifiers)
if(..()) //successful monkey bite.
attacked += 10
@@ -310,47 +310,47 @@
return
discipline_slime(user)
-/mob/living/simple_animal/slime/attack_hand(mob/living/carbon/human/M, modifiers)
+/mob/living/simple_animal/slime/attack_hand(mob/living/carbon/human/user, list/modifiers)
if(buckled)
- M.do_attack_animation(src, ATTACK_EFFECT_DISARM)
- if(buckled == M)
+ user.do_attack_animation(src, ATTACK_EFFECT_DISARM)
+ if(buckled == user)
if(prob(60))
- M.visible_message("[M] attempts to wrestle \the [name] off!", \
+ user.visible_message("[user] attempts to wrestle \the [name] off!", \
"You attempt to wrestle \the [name] off!")
playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1)
else
- M.visible_message("[M] manages to wrestle \the [name] off!", \
+ user.visible_message("[user] manages to wrestle \the [name] off!", \
"You manage to wrestle \the [name] off!")
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
- discipline_slime(M)
+ discipline_slime(user)
else
if(prob(30))
- buckled.visible_message("[M] attempts to wrestle \the [name] off of [buckled]!", \
- "[M] attempts to wrestle \the [name] off of you!")
+ buckled.visible_message("[user] attempts to wrestle \the [name] off of [buckled]!", \
+ "[user] attempts to wrestle \the [name] off of you!")
playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1)
else
- buckled.visible_message("[M] manages to wrestle \the [name] off of [buckled]!", \
- "[M] manage to wrestle \the [name] off of you!")
+ buckled.visible_message("[user] manages to wrestle \the [name] off of [buckled]!", \
+ "[user] manage to wrestle \the [name] off of you!")
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
- discipline_slime(M)
+ discipline_slime(user)
else
if(stat == DEAD && surgeries.len)
- if(!M.combat_mode || LAZYACCESS(modifiers, RIGHT_CLICK))
+ if(!user.combat_mode || LAZYACCESS(modifiers, RIGHT_CLICK))
for(var/datum/surgery/S in surgeries)
- if(S.next_step(M, modifiers))
+ if(S.next_step(user, modifiers))
return 1
if(..()) //successful attack
attacked += 10
-/mob/living/simple_animal/slime/attack_alien(mob/living/carbon/alien/humanoid/M)
+/mob/living/simple_animal/slime/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
if(..()) //if harm or disarm intent.
attacked += 10
- discipline_slime(M)
+ discipline_slime(user)
/mob/living/simple_animal/slime/attackby(obj/item/W, mob/living/user, params)
diff --git a/code/modules/modular_computers/computers/item/laptop.dm b/code/modules/modular_computers/computers/item/laptop.dm
index 904a3d4cf62..d3eb160281c 100644
--- a/code/modules/modular_computers/computers/item/laptop.dm
+++ b/code/modules/modular_computers/computers/item/laptop.dm
@@ -75,7 +75,7 @@
return
M.put_in_hand(src, H.held_index)
-/obj/item/modular_computer/laptop/attack_hand(mob/user)
+/obj/item/modular_computer/laptop/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm
index 3d4ce443507..91fc3f226a7 100644
--- a/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm
+++ b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm
@@ -35,8 +35,8 @@
affecting = null
return ..()
-/obj/structure/energy_net/attack_paw(mob/user)
- return attack_hand()
+/obj/structure/energy_net/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/structure/energy_net/user_buckle_mob(mob/living/M, mob/user, check_loc = TRUE)
return//We only want our target to be buckled
diff --git a/code/modules/paperwork/carbonpaper.dm b/code/modules/paperwork/carbonpaper.dm
index 489fb29ad05..dc2ad7f0748 100644
--- a/code/modules/paperwork/carbonpaper.dm
+++ b/code/modules/paperwork/carbonpaper.dm
@@ -37,7 +37,7 @@
else
to_chat(user, "There are no more carbon copies attached to this paper!")
-/obj/item/paper/carbon/attack_hand(mob/living/user)
+/obj/item/paper/carbon/attack_hand(mob/living/user, list/modifiers)
if(loc == user && user.is_holding(src))
removecopy(user)
return
diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm
index b496110d143..6550a3b487c 100644
--- a/code/modules/paperwork/filingcabinet.dm
+++ b/code/modules/paperwork/filingcabinet.dm
@@ -139,7 +139,7 @@
virgin = FALSE //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/modifiers)
populate()
return ..()
@@ -174,7 +174,7 @@
//before the records have been generated, so we do this inside the loop.
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/structure/filingcabinet/medical/attack_hand()
+/obj/structure/filingcabinet/medical/attack_hand(mob/user, list/modifiers)
populate()
return ..()
diff --git a/code/modules/paperwork/paper_cutter.dm b/code/modules/paperwork/paper_cutter.dm
index 7e28f1a1541..365245b7494 100644
--- a/code/modules/paperwork/paper_cutter.dm
+++ b/code/modules/paperwork/paper_cutter.dm
@@ -67,7 +67,7 @@
return
..()
-/obj/item/papercutter/attack_hand(mob/user)
+/obj/item/papercutter/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm
index e4e09e5b817..f8be5179161 100644
--- a/code/modules/paperwork/paperbin.dm
+++ b/code/modules/paperwork/paperbin.dm
@@ -55,11 +55,11 @@
add_fingerprint(M)
-/obj/item/paper_bin/attack_paw(mob/user)
- return attack_hand(user)
+/obj/item/paper_bin/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/paper_bin/attack_hand(mob/user)
+/obj/item/paper_bin/attack_hand(mob/user, list/modifiers)
if(isliving(user))
var/mob/living/L = user
if(!(L.mobility_flags & MOBILITY_PICKUP))
@@ -148,7 +148,7 @@
papertype = /obj/item/paper/natural
resistance_flags = FLAMMABLE
-/obj/item/paper_bin/bundlenatural/attack_hand(mob/user)
+/obj/item/paper_bin/bundlenatural/attack_hand(mob/user, list/modifiers)
..()
if(total_paper < 1)
qdel(src)
diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm
index 3db3bb8f6c2..c13ad1d3534 100644
--- a/code/modules/paperwork/stamps.dm
+++ b/code/modules/paperwork/stamps.dm
@@ -87,5 +87,5 @@
icon_state = "stamp-syndicate"
dye_color = DYE_SYNDICATE
-/obj/item/stamp/attack_paw(mob/user)
- return attack_hand(user)
+/obj/item/stamp/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm
index 107e413fc4f..99a0bb532c1 100644
--- a/code/modules/paperwork/ticketmachine.dm
+++ b/code/modules/paperwork/ticketmachine.dm
@@ -160,7 +160,7 @@
/obj/machinery/ticket_machine/proc/reset_cooldown()
ready = TRUE
-/obj/machinery/ticket_machine/attack_hand(mob/living/carbon/user)
+/obj/machinery/ticket_machine/attack_hand(mob/living/carbon/user, list/modifiers)
. = ..()
if(!ready)
to_chat(user,"You press the button, but nothing happens...")
@@ -208,7 +208,7 @@
var/obj/machinery/ticket_machine/source
var/ticket_number
-/obj/item/ticket_machine_ticket/attack_hand(mob/user)
+/obj/item/ticket_machine_ticket/attack_hand(mob/user, list/modifiers)
. = ..()
maptext = saved_maptext //For some reason, storage code removes all maptext off objs, this stops its number from being wiped off when taken out of storage.
diff --git a/code/modules/photography/photos/frame.dm b/code/modules/photography/photos/frame.dm
index 2fc33b9b673..f953e8c9cd2 100644
--- a/code/modules/photography/photos/frame.dm
+++ b/code/modules/photography/photos/frame.dm
@@ -22,7 +22,7 @@
..()
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/wallframe/picture/attack_hand(mob/user)
+/obj/item/wallframe/picture/attack_hand(mob/user, list/modifiers)
if(user.get_inactive_held_item() != src)
..()
return
@@ -142,7 +142,7 @@
..()
-/obj/structure/sign/picture_frame/attack_hand(mob/user)
+/obj/structure/sign/picture_frame/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index b734afcbaf1..dcc585c12b8 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -800,7 +800,7 @@
// attack with hand - remove cell (if cover open) or interact with the APC
-/obj/machinery/power/apc/attack_hand(mob/user, params)
+/obj/machinery/power/apc/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
@@ -809,7 +809,6 @@
var/mob/living/carbon/human/H = user
var/datum/species/ethereal/E = H.dna.species
var/charge_limit = ETHEREAL_CHARGE_DANGEROUS - APC_POWER_GAIN
- var/list/modifiers = params2list(params)
if(H.combat_mode && E.drain_time < world.time)
if(LAZYACCESS(modifiers, RIGHT_CLICK)) //Disarm
if(cell.charge == cell.maxcharge)
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 8be77dcf72d..932fb072a5e 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -701,7 +701,7 @@ GLOBAL_LIST(hub_radial_layer_list)
/obj/structure/cable/multilayer/attack_robot(mob/user)
attack_hand(user)
-/obj/structure/cable/multilayer/attack_hand(mob/living/user)
+/obj/structure/cable/multilayer/attack_hand(mob/living/user, list/modifiers)
if(!user)
return
if(!GLOB.hub_radial_layer_list)
diff --git a/code/modules/power/floodlight.dm b/code/modules/power/floodlight.dm
index e112b38f2fd..747cd6da169 100644
--- a/code/modules/power/floodlight.dm
+++ b/code/modules/power/floodlight.dm
@@ -118,7 +118,7 @@
else
. = ..()
-/obj/machinery/power/floodlight/attack_hand(mob/user)
+/obj/machinery/power/floodlight/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm
index 3167b23563f..3a13bb34a05 100644
--- a/code/modules/power/gravitygenerator.dm
+++ b/code/modules/power/gravitygenerator.dm
@@ -87,7 +87,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne
/obj/machinery/gravity_generator/part/get_status()
return main_part?.get_status()
-/obj/machinery/gravity_generator/part/attack_hand(mob/user, modifiers)
+/obj/machinery/gravity_generator/part/attack_hand(mob/user, list/modifiers)
return main_part.attack_hand(user, modifiers)
/obj/machinery/gravity_generator/part/set_broken()
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index c00e8087350..c8a8f5031d6 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -89,7 +89,7 @@
else
. += "This casing doesn't support power cells for backup power."
-/obj/structure/light_construct/attack_hand(mob/user)
+/obj/structure/light_construct/attack_hand(mob/user, list/modifiers)
if(cell)
user.visible_message("[user] removes [cell] from [src]!", "You remove [cell].")
user.put_in_hands(cell)
@@ -712,7 +712,7 @@
// 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/living/carbon/human/user)
+/obj/machinery/light/attack_hand(mob/living/carbon/human/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/power/pipecleaners.dm b/code/modules/power/pipecleaners.dm
index 25ab5081299..59fe0f8dbc9 100644
--- a/code/modules/power/pipecleaners.dm
+++ b/code/modules/power/pipecleaners.dm
@@ -257,7 +257,7 @@ By design, d1 is the smallest direction and d2 is the highest
name = "pipe cleaner [amount < 3 ? "piece" : "coil"]"
add_atom_colour(color, FIXED_COLOUR_PRIORITY)
-/obj/item/stack/pipe_cleaner_coil/attack_hand(mob/user)
+/obj/item/stack/pipe_cleaner_coil/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index ba1dcfb33f6..004143e415b 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -224,7 +224,7 @@
/obj/machinery/power/port_gen/pacman/attack_ai(mob/user)
interact(user)
-/obj/machinery/power/port_gen/pacman/attack_paw(mob/user)
+/obj/machinery/power/port_gen/pacman/attack_paw(mob/user, list/modifiers)
interact(user)
/obj/machinery/power/port_gen/pacman/ui_interact(mob/user, datum/tgui/ui)
diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm
index 120b8fe5124..f5f2040d73a 100644
--- a/code/modules/power/singularity/containment_field.dm
+++ b/code/modules/power/singularity/containment_field.dm
@@ -30,7 +30,7 @@
return ..()
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/machinery/field/containment/attack_hand(mob/user)
+/obj/machinery/field/containment/attack_hand(mob/user, list/modifiers)
if(get_dist(src, user) > 1)
return FALSE
else
@@ -54,14 +54,14 @@
/obj/machinery/field/containment/ex_act(severity, target)
return FALSE
-/obj/machinery/field/containment/attack_animal(mob/living/simple_animal/M)
+/obj/machinery/field/containment/attack_animal(mob/living/simple_animal/user, list/modifiers)
if(!FG1 || !FG2)
qdel(src)
return
- if(ismegafauna(M))
- M.visible_message("[M] glows fiercely as the containment field flickers out!")
+ if(ismegafauna(user))
+ user.visible_message("[user] glows fiercely as the containment field flickers out!")
FG1.calc_power(INFINITY) //rip that 'containment' field
- M.adjustHealth(-M.obj_damage)
+ user.adjustHealth(-user.obj_damage)
else
return ..()
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index b93b2864fbf..3e82d209fdc 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -166,14 +166,14 @@
to_chat(user, "[src] needs to be firmly secured to the floor first!")
return TRUE
-/obj/machinery/power/emitter/attack_animal(mob/living/simple_animal/M)
- if(ismegafauna(M) && anchored)
+/obj/machinery/power/emitter/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ if(ismegafauna(user) && anchored)
set_anchored(FALSE)
- M.visible_message("[M] rips [src] free from its moorings!")
+ user.visible_message("[user] rips [src] free from its moorings!")
else
. = ..()
if(. && !anchored)
- step(src, get_dir(M, src))
+ step(src, get_dir(user, src))
/obj/machinery/power/emitter/process(delta_time)
if(machine_stat & (BROKEN))
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index 6cd88ba1132..9273d4cee7a 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -148,14 +148,14 @@ no power level overlay is currently in the overlays list.
return TRUE
-/obj/machinery/field/generator/attack_animal(mob/living/simple_animal/M)
- if(M.environment_smash & ENVIRONMENT_SMASH_RWALLS && active == FG_OFFLINE && state != FG_UNSECURED)
+/obj/machinery/field/generator/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ if(user.environment_smash & ENVIRONMENT_SMASH_RWALLS && active == FG_OFFLINE && state != FG_UNSECURED)
set_anchored(FALSE)
- M.visible_message("[M] rips [src] free from its moorings!")
+ user.visible_message("[user] rips [src] free from its moorings!")
else
..()
if(!anchored)
- step(src, get_dir(M, src))
+ step(src, get_dir(user, src))
/obj/machinery/field/generator/blob_act(obj/structure/blob/B)
if(active)
diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm
index 6e60c0c9701..836fb1c393e 100644
--- a/code/modules/power/supermatter/supermatter.dm
+++ b/code/modules/power/supermatter/supermatter.dm
@@ -870,20 +870,20 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
return COMPONENT_CANCEL_ATTACK_CHAIN
-/obj/machinery/power/supermatter_crystal/attack_paw(mob/user)
+/obj/machinery/power/supermatter_crystal/attack_paw(mob/user, list/modifiers)
dust_mob(user, cause = "monkey attack")
-/obj/machinery/power/supermatter_crystal/attack_alien(mob/user)
+/obj/machinery/power/supermatter_crystal/attack_alien(mob/user, list/modifiers)
dust_mob(user, cause = "alien attack")
-/obj/machinery/power/supermatter_crystal/attack_animal(mob/living/simple_animal/S)
+/obj/machinery/power/supermatter_crystal/attack_animal(mob/living/simple_animal/user, list/modifiers)
var/murder
- if(!S.melee_damage_upper && !S.melee_damage_lower)
- murder = S.friendly_verb_continuous
+ if(!user.melee_damage_upper && !user.melee_damage_lower)
+ murder = user.friendly_verb_continuous
else
- murder = S.attack_verb_continuous
- dust_mob(S, \
- "[S] unwisely [murder] [src], and [S.p_their()] body burns brilliantly before flashing into ash!", \
+ murder = user.attack_verb_continuous
+ dust_mob(user, \
+ "[user] unwisely [murder] [src], and [user.p_their()] body burns brilliantly before flashing into ash!", \
"You unwisely touch [src], and your vision glows brightly as your body crumbles to dust. Oops.", \
"simple animal attack")
@@ -894,7 +894,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
/obj/machinery/power/supermatter_crystal/attack_ai(mob/user)
return
-/obj/machinery/power/supermatter_crystal/attack_hand(mob/living/user)
+/obj/machinery/power/supermatter_crystal/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm
index 960420e1ea1..e05099c8456 100644
--- a/code/modules/projectiles/guns/ballistic.dm
+++ b/code/modules/projectiles/guns/ballistic.dm
@@ -401,7 +401,7 @@
postfire_empty_checks(.)
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/gun/ballistic/attack_hand(mob/user)
+/obj/item/gun/ballistic/attack_hand(mob/user, list/modifiers)
if(!internal_magazine && loc == user && user.is_holding(src) && magazine)
eject_magazine(user)
return
diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm
index 93385667470..64f75c7b227 100644
--- a/code/modules/projectiles/guns/ballistic/automatic.dm
+++ b/code/modules/projectiles/guns/ballistic/automatic.dm
@@ -296,7 +296,7 @@
update_icon()
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/gun/ballistic/automatic/l6_saw/attack_hand(mob/user)
+/obj/item/gun/ballistic/automatic/l6_saw/attack_hand(mob/user, list/modifiers)
if (loc != user)
..()
return
diff --git a/code/modules/projectiles/guns/ballistic/laser_gatling.dm b/code/modules/projectiles/guns/ballistic/laser_gatling.dm
index 60ba5a89cb8..a48bd5cbec7 100644
--- a/code/modules/projectiles/guns/ballistic/laser_gatling.dm
+++ b/code/modules/projectiles/guns/ballistic/laser_gatling.dm
@@ -30,7 +30,7 @@
overheat = max(0, overheat - heat_diffusion * delta_time)
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/item/minigunpack/attack_hand(mob/living/carbon/user)
+/obj/item/minigunpack/attack_hand(mob/living/carbon/user, list/modifiers)
if(src.loc == user)
if(!armed)
if(user.get_item_by_slot(ITEM_SLOT_BACK) == src)
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index d7905ecc57a..5d6553654d9 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -17,8 +17,8 @@
var/ignore_flags = NONE
var/infinite = FALSE
-/obj/item/reagent_containers/hypospray/attack_paw(mob/user)
- return attack_hand(user)
+/obj/item/reagent_containers/hypospray/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
/obj/item/reagent_containers/hypospray/attack(mob/living/M, mob/user)
inject(M, user)
diff --git a/code/modules/reagents/reagent_containers/maunamug.dm b/code/modules/reagents/reagent_containers/maunamug.dm
index 690a1f0cd65..67c2286a166 100644
--- a/code/modules/reagents/reagent_containers/maunamug.dm
+++ b/code/modules/reagents/reagent_containers/maunamug.dm
@@ -86,7 +86,7 @@
user.visible_message("[user] inserts a power cell into [src].", "You insert the power cell into [src].")
update_icon()
-/obj/item/reagent_containers/glass/maunamug/attack_hand(mob/living/user)
+/obj/item/reagent_containers/glass/maunamug/attack_hand(mob/living/user, list/modifiers)
if(cell && open)
cell.update_icon()
user.put_in_hands(cell)
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm
index 323c411c3d1..79f260114d5 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/reagent_dispenser.dm
@@ -174,7 +174,7 @@
else
. += "There are no paper cups left."
-/obj/structure/reagent_dispensers/water_cooler/attack_hand(mob/living/user)
+/obj/structure/reagent_dispensers/water_cooler/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm
index de112f7c0c5..3b1a8433e75 100644
--- a/code/modules/recycling/conveyor2.dm
+++ b/code/modules/recycling/conveyor2.dm
@@ -199,7 +199,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id)
return ..()
// attack with hand, move pulled object onto conveyor
-/obj/machinery/conveyor/attack_hand(mob/user)
+/obj/machinery/conveyor/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm
index 5f3ed733a6c..f50c5b83ca3 100644
--- a/code/modules/recycling/disposal/bin.dm
+++ b/code/modules/recycling/disposal/bin.dm
@@ -189,7 +189,7 @@
update_icon()
// clumsy monkeys and xenos can only pull the flush lever
-/obj/machinery/disposal/attack_paw(mob/user)
+/obj/machinery/disposal/attack_paw(mob/user, list/modifiers)
if(ISADVANCEDTOOLUSER(user))
return ..()
if(machine_stat & BROKEN)
diff --git a/code/modules/religion/religion_structures.dm b/code/modules/religion/religion_structures.dm
index 38e1bf0e58d..1b0a17cfaa6 100644
--- a/code/modules/religion/religion_structures.dm
+++ b/code/modules/religion/religion_structures.dm
@@ -21,7 +21,7 @@
. = ..()
AddComponent(/datum/component/religious_tool, ALL, FALSE, CALLBACK(src, .proc/reflect_sect_in_icons))
-/obj/structure/altar_of_gods/attack_hand(mob/living/user)
+/obj/structure/altar_of_gods/attack_hand(mob/living/user, list/modifiers)
if(!Adjacent(user) || !user.pulling)
return ..()
if(!isliving(user.pulling))
diff --git a/code/modules/research/anomaly/explosive_compressor.dm b/code/modules/research/anomaly/explosive_compressor.dm
index 179272a848d..faf01f1e0c1 100644
--- a/code/modules/research/anomaly/explosive_compressor.dm
+++ b/code/modules/research/anomaly/explosive_compressor.dm
@@ -26,7 +26,7 @@
. += "Ctrl-Click to remove an inserted core."
. += "Click with an empty hand to gather information about the required radius of an inserted core. Insert a ready TTV to start the implosion process if a core is inserted."
-/obj/machinery/research/explosive_compressor/attack_hand(mob/living/user)
+/obj/machinery/research/explosive_compressor/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/research/xenobiology/crossbreeding/_clothing.dm b/code/modules/research/xenobiology/crossbreeding/_clothing.dm
index b8952d2c508..af25691029a 100644
--- a/code/modules/research/xenobiology/crossbreeding/_clothing.dm
+++ b/code/modules/research/xenobiology/crossbreeding/_clothing.dm
@@ -56,7 +56,7 @@ Slimecrossing Armor
set_light_color(newcolor)
set_light(5)
-/obj/structure/light_prism/attack_hand(mob/user)
+/obj/structure/light_prism/attack_hand(mob/user, list/modifiers)
to_chat(user, "You dispel [src].")
qdel(src)
@@ -109,7 +109,7 @@ Slimecrossing Armor
throw_speed = 1
throw_range = 3
-/obj/item/clothing/head/peaceflower/attack_hand(mob/user)
+/obj/item/clothing/head/peaceflower/attack_hand(mob/user, list/modifiers)
if(iscarbon(user))
var/mob/living/carbon/C = user
if(src == C.head)
diff --git a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm
index a9d3a738f4f..5f0dc94ca63 100644
--- a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm
+++ b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm
@@ -79,10 +79,10 @@
create_reagents(20)
reagents.add_reagent(dispensedreagent, 20)
-/obj/structure/sink/oil_well/attack_hand(mob/M)
+/obj/structure/sink/oil_well/attack_hand(mob/user, list/modifiers)
flick("puddle-oil-splash",src)
- reagents.expose(M, TOUCH, 20) //Covers target in 20u of oil.
- to_chat(M, "You touch the pool of oil, only to get oil all over yourself. It would be wise to wash this off with water.")
+ reagents.expose(user, TOUCH, 20) //Covers target in 20u of oil.
+ to_chat(user, "You touch the pool of oil, only to get oil all over yourself. It would be wise to wash this off with water.")
/obj/structure/sink/oil_well/attackby(obj/item/O, mob/living/user, params)
flick("puddle-oil-splash",src)
diff --git a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
index 82e34607e02..4f50f428e6a 100644
--- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
+++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
@@ -86,7 +86,7 @@
return QDEL_HINT_LETMELIVE
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/structure/necropolis_gate/attack_hand(mob/user)
+/obj/structure/necropolis_gate/attack_hand(mob/user, list/modifiers)
if(locked)
to_chat(user, "It's [open ? "stuck open":"locked"].")
return
@@ -155,7 +155,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate)
return QDEL_HINT_LETMELIVE
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/structure/necropolis_gate/legion_gate/attack_hand(mob/user)
+/obj/structure/necropolis_gate/legion_gate/attack_hand(mob/user, list/modifiers)
if(!open && !changing_openness)
var/safety = alert(user, "You think this might be a bad idea...", "Knock on the door?", "Proceed", "Abort")
if(safety == "Abort" || !in_range(src, user) || !src || open || changing_openness || user.incapacitated())
diff --git a/code/modules/ruins/objects_and_mobs/sin_ruins.dm b/code/modules/ruins/objects_and_mobs/sin_ruins.dm
index 01fd8f4823e..409acb9b420 100644
--- a/code/modules/ruins/objects_and_mobs/sin_ruins.dm
+++ b/code/modules/ruins/objects_and_mobs/sin_ruins.dm
@@ -57,7 +57,7 @@
canvas rotting away and contents vanishing.")
qdel(src)
-/obj/structure/cursed_money/attack_hand(mob/living/user)
+/obj/structure/cursed_money/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/ruins/spaceruin_code/hilbertshotel.dm b/code/modules/ruins/spaceruin_code/hilbertshotel.dm
index 8dab93e7662..cf9f7fe8c38 100644
--- a/code/modules/ruins/spaceruin_code/hilbertshotel.dm
+++ b/code/modules/ruins/spaceruin_code/hilbertshotel.dm
@@ -293,13 +293,13 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
/turf/closed/indestructible/hoteldoor/attack_tk(mob/user)
return //need to be close.
-/turf/closed/indestructible/hoteldoor/attack_hand(mob/user)
+/turf/closed/indestructible/hoteldoor/attack_hand(mob/user, list/modifiers)
promptExit(user)
-/turf/closed/indestructible/hoteldoor/attack_animal(mob/user)
+/turf/closed/indestructible/hoteldoor/attack_animal(mob/user, list/modifiers)
promptExit(user)
-/turf/closed/indestructible/hoteldoor/attack_paw(mob/user)
+/turf/closed/indestructible/hoteldoor/attack_paw(mob/user, list/modifiers)
promptExit(user)
/turf/closed/indestructible/hoteldoor/attack_hulk(mob/living/carbon/human/user)
diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm
index 045bbefe78e..5609fa074f3 100644
--- a/code/modules/shuttle/emergency.dm
+++ b/code/modules/shuttle/emergency.dm
@@ -685,7 +685,7 @@
if (can_interact(user))
return ..()
-/obj/item/storage/pod/attack_hand(mob/user)
+/obj/item/storage/pod/attack_hand(mob/user, list/modifiers)
if (can_interact(user))
SEND_SIGNAL(src, COMSIG_TRY_STORAGE_SHOW, user)
return TRUE
diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm
index 41aa197f567..ec92f2fc870 100644
--- a/code/modules/shuttle/navigation_computer.dm
+++ b/code/modules/shuttle/navigation_computer.dm
@@ -58,7 +58,7 @@
else
QDEL_NULL(my_port)
-/obj/machinery/computer/camera_advanced/shuttle_docker/attack_hand(mob/user)
+/obj/machinery/computer/camera_advanced/shuttle_docker/attack_hand(mob/user, list/modifiers)
if(jammed)
to_chat(user, "The Syndicate is jamming the console!")
return
diff --git a/code/modules/spells/spell_types/spacetime_distortion.dm b/code/modules/spells/spell_types/spacetime_distortion.dm
index 2c3254b8daf..a6e29928583 100644
--- a/code/modules/spells/spell_types/spacetime_distortion.dm
+++ b/code/modules/spells/spell_types/spacetime_distortion.dm
@@ -113,10 +113,10 @@
walk_link(user)
//ATTACK HAND IGNORING PARENT RETURN VALUE
-/obj/effect/cross_action/spacetime_dist/attack_hand(mob/user)
+/obj/effect/cross_action/spacetime_dist/attack_hand(mob/user, list/modifiers)
walk_link(user)
-/obj/effect/cross_action/spacetime_dist/attack_paw(mob/user)
+/obj/effect/cross_action/spacetime_dist/attack_paw(mob/user, list/modifiers)
walk_link(user)
/obj/effect/cross_action/spacetime_dist/Destroy()
diff --git a/code/modules/vehicles/cars/car.dm b/code/modules/vehicles/cars/car.dm
index fafb785faf9..7b953525eae 100644
--- a/code/modules/vehicles/cars/car.dm
+++ b/code/modules/vehicles/cars/car.dm
@@ -39,7 +39,7 @@
return TRUE
-/obj/vehicle/sealed/car/attack_hand(mob/living/user)
+/obj/vehicle/sealed/car/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(!(car_traits & CAN_KIDNAP))
return
diff --git a/code/modules/vehicles/cars/clowncar.dm b/code/modules/vehicles/cars/clowncar.dm
index d9fa4c377a3..b4a7079d5c8 100644
--- a/code/modules/vehicles/cars/clowncar.dm
+++ b/code/modules/vehicles/cars/clowncar.dm
@@ -42,8 +42,8 @@
var/mob/voreman = i
voreman.client.give_award(/datum/award/achievement/misc/round_and_full, voreman)
-/obj/vehicle/sealed/car/clowncar/attack_animal(mob/living/simple_animal/M)
- if((M.loc != src) || M.environment_smash & (ENVIRONMENT_SMASH_WALLS|ENVIRONMENT_SMASH_RWALLS))
+/obj/vehicle/sealed/car/clowncar/attack_animal(mob/living/simple_animal/user, list/modifiers)
+ if((user.loc != src) || user.environment_smash & (ENVIRONMENT_SMASH_WALLS|ENVIRONMENT_SMASH_RWALLS))
return ..()
/obj/vehicle/sealed/car/clowncar/mob_exit(mob/M, silent = FALSE, randomstep = FALSE)
diff --git a/code/modules/vehicles/mecha/mecha_defense.dm b/code/modules/vehicles/mecha/mecha_defense.dm
index 164ae41f594..56743f3ae02 100644
--- a/code/modules/vehicles/mecha/mecha_defense.dm
+++ b/code/modules/vehicles/mecha/mecha_defense.dm
@@ -51,7 +51,7 @@
if(.)
. *= booster_damage_modifier
-/obj/vehicle/sealed/mecha/attack_hand(mob/living/user)
+/obj/vehicle/sealed/mecha/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(.)
return
@@ -61,15 +61,15 @@
user.visible_message("[user] hits [name]. Nothing happens.", null, null, COMBAT_MESSAGE_RANGE)
log_message("Attack by hand/paw. Attacker - [user].", LOG_MECHA, color="red")
-/obj/vehicle/sealed/mecha/attack_paw(mob/user as mob)
- return attack_hand(user)
+/obj/vehicle/sealed/mecha/attack_paw(mob/user, list/modifiers)
+ return attack_hand(user, modifiers)
-/obj/vehicle/sealed/mecha/attack_alien(mob/living/user)
+/obj/vehicle/sealed/mecha/attack_alien(mob/living/user, list/modifiers)
log_message("Attack by alien. Attacker - [user].", LOG_MECHA, color="red")
playsound(src.loc, 'sound/weapons/slash.ogg', 100, TRUE)
attack_generic(user, rand(user.melee_damage_lower, user.melee_damage_upper), BRUTE, MELEE, 0)
-/obj/vehicle/sealed/mecha/attack_animal(mob/living/simple_animal/user)
+/obj/vehicle/sealed/mecha/attack_animal(mob/living/simple_animal/user, list/modifiers)
log_message("Attack by simple animal. Attacker - [user].", LOG_MECHA, color="red")
if(!user.melee_damage_upper && !user.obj_damage)
user.emote("custom", message = "[user.friendly_verb_continuous] [src].")
diff --git a/code/modules/vehicles/motorized_wheelchair.dm b/code/modules/vehicles/motorized_wheelchair.dm
index 41e0138bf0a..ac42f3e7f3f 100644
--- a/code/modules/vehicles/motorized_wheelchair.dm
+++ b/code/modules/vehicles/motorized_wheelchair.dm
@@ -57,7 +57,7 @@
. = ..()
density = FALSE
-/obj/vehicle/ridden/wheelchair/motorized/attack_hand(mob/living/user)
+/obj/vehicle/ridden/wheelchair/motorized/attack_hand(mob/living/user, list/modifiers)
if(!power_cell || !panel_open)
return ..()
power_cell.update_icon()
diff --git a/code/modules/vehicles/pimpin_ride.dm b/code/modules/vehicles/pimpin_ride.dm
index 733034b0cd5..474d166f49f 100644
--- a/code/modules/vehicles/pimpin_ride.dm
+++ b/code/modules/vehicles/pimpin_ride.dm
@@ -63,7 +63,7 @@
if(floorbuffer)
. += "cart_buffer"
-/obj/vehicle/ridden/janicart/attack_hand(mob/user)
+/obj/vehicle/ridden/janicart/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
diff --git a/code/modules/vehicles/secway.dm b/code/modules/vehicles/secway.dm
index 5c8808c0b8d..fb1f169e8e9 100644
--- a/code/modules/vehicles/secway.dm
+++ b/code/modules/vehicles/secway.dm
@@ -48,7 +48,7 @@
return TRUE
return ..()
-/obj/vehicle/ridden/secway/attack_hand(mob/living/user)
+/obj/vehicle/ridden/secway/attack_hand(mob/living/user, list/modifiers)
if(eddie_murphy) // v lol
user.visible_message("[user] begins cleaning [eddie_murphy] out of [src].", "You begin cleaning [eddie_murphy] out of [src]...")
if(do_after(user, 60, target = src))