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))