diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm
index 0a9e68a790..78de8f0086 100644
--- a/code/__HELPERS/roundend.dm
+++ b/code/__HELPERS/roundend.dm
@@ -663,7 +663,7 @@
name = "Show roundend report"
button_icon_state = "round_end"
-/datum/action/report/Trigger()
+/datum/action/report/Trigger(trigger_flags)
if(owner && GLOB.common_report && SSticker.current_state == GAME_STATE_FINISHED)
SSticker.show_roundend_report(owner.client)
diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm
index 239ef319d1..4608bb4225 100644
--- a/code/_onclick/ai.dm
+++ b/code/_onclick/ai.dm
@@ -52,16 +52,16 @@
return
var/list/modifiers = params2list(params)
- if(modifiers["shift"] && modifiers["ctrl"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK) && LAZYACCESS(modifiers, CTRL_CLICK))
CtrlShiftClickOn(A)
return
- if(modifiers["shift"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK))
ShiftClickOn(A)
return
- if(modifiers["alt"]) // alt and alt-gr (rightalt)
+ if(LAZYACCESS(modifiers, ALT_CLICK)) // alt and alt-gr (rightalt)
AltClickOn(A)
return
- if(modifiers["ctrl"])
+ if(LAZYACCESS(modifiers, CTRL_CLICK))
CtrlClickOn(A)
return
diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index 9a1e2cc514..ba13cdb026 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -53,19 +53,19 @@
return
var/list/modifiers = params2list(params)
- if(modifiers["shift"] && modifiers["middle"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK) && modifiers["middle"])
return ShiftMiddleClickOn(A, params)
- if(modifiers["shift"] && modifiers["ctrl"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK) && LAZYACCESS(modifiers, CTRL_CLICK))
return CtrlShiftClickOn(A)
if(modifiers["middle"])
return MiddleClickOn(A)
- if(modifiers["shift"] && (client && client.show_popup_menus || modifiers["right"])) //CIT CHANGE - makes shift-click examine use right click instead of left click in combat mode
+ if(LAZYACCESS(modifiers, SHIFT_CLICK) && (client && client.show_popup_menus || modifiers["right"])) //CIT CHANGE - makes shift-click examine use right click instead of left click in combat mode
return ShiftClickOn(A)
- if(modifiers["alt"]) // alt and alt-gr (rightalt)
+ if(LAZYACCESS(modifiers, ALT_CLICK)) // alt and alt-gr (rightalt)
return AltClickOn(A)
- if(modifiers["ctrl"] && modifiers["right"]) //CIT CHANGE - right click ctrl for a new form of dropping items
+ if(LAZYACCESS(modifiers, CTRL_CLICK) && modifiers["right"]) //CIT CHANGE - right click ctrl for a new form of dropping items
return CtrlRightClickOn(A, params) //CIT CHANGE
- if(modifiers["ctrl"])
+ if(LAZYACCESS(modifiers, CTRL_CLICK))
return CtrlClickOn(A)
if(modifiers["right"]) //CIT CHANGE - allows right clicking to perform actions
diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm
index 743d75b557..47b25beded 100644
--- a/code/_onclick/cyborg.dm
+++ b/code/_onclick/cyborg.dm
@@ -14,17 +14,17 @@
return
var/list/modifiers = params2list(params)
- if(modifiers["shift"] && modifiers["ctrl"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK) && LAZYACCESS(modifiers, CTRL_CLICK))
return CtrlShiftClickOn(A)
- if(modifiers["shift"] && modifiers["middle"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK) && modifiers["middle"])
return ShiftMiddleClickOn(A)
if(modifiers["middle"])
return MiddleClickOn(A)
- if(modifiers["shift"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK))
return ShiftClickOn(A)
- if(modifiers["alt"]) // alt and alt-gr (rightalt)
+ if(LAZYACCESS(modifiers, ALT_CLICK)) // alt and alt-gr (rightalt)
return AltClickOn(A)
- if(modifiers["ctrl"])
+ if(LAZYACCESS(modifiers, CTRL_CLICK))
return CtrlClickOn(A)
if(!CheckActionCooldown(immediate = TRUE))
diff --git a/code/_onclick/hud/action_button.dm b/code/_onclick/hud/action_button.dm
index d97e1f5d04..ae4f835028 100644
--- a/code/_onclick/hud/action_button.dm
+++ b/code/_onclick/hud/action_button.dm
@@ -40,23 +40,26 @@
/atom/movable/screen/movable/action_button/Click(location,control,params)
if (!can_use(usr))
- return
+ return FALSE
var/list/modifiers = params2list(params)
- if(modifiers["shift"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK))
if(locked)
to_chat(usr, "Action button \"[name]\" is locked, unlock it first.")
return TRUE
moved = 0
usr.update_action_buttons() //redraw buttons that are no longer considered "moved"
return TRUE
- if(modifiers["ctrl"])
+ if(LAZYACCESS(modifiers, CTRL_CLICK))
locked = !locked
to_chat(usr, "Action button \"[name]\" [locked ? "" : "un"]locked.")
if(id && usr.client) //try to (un)remember position
usr.client.prefs.action_buttons_screen_locs["[name]_[id]"] = locked ? moved : null
return TRUE
- linked_action.Trigger()
+ var/trigger_flags
+ if(LAZYACCESS(modifiers, RIGHT_CLICK))
+ trigger_flags |= TRIGGER_SECONDARY_ACTION
+ linked_action.Trigger(trigger_flags = trigger_flags)
return TRUE
//Hide/Show Action Buttons ... Button
@@ -91,20 +94,20 @@
return
var/list/modifiers = params2list(params)
- if(modifiers["shift"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK))
if(locked)
to_chat(usr, "Action button \"[name]\" is locked, unlock it first.")
return TRUE
moved = FALSE
usr.update_action_buttons(TRUE)
return TRUE
- if(modifiers["ctrl"])
+ if(LAZYACCESS(modifiers, CTRL_CLICK))
locked = !locked
to_chat(usr, "Action button \"[name]\" [locked ? "" : "un"]locked.")
if(id && usr.client) //try to (un)remember position
usr.client.prefs.action_buttons_screen_locs["[name]_[id]"] = locked ? moved : null
return TRUE
- if(modifiers["alt"])
+ if(LAZYACCESS(modifiers, ALT_CLICK))
for(var/V in usr.actions)
var/datum/action/A = V
var/atom/movable/screen/movable/action_button/B = A.button
@@ -159,6 +162,7 @@
/atom/movable/screen/movable/action_button/MouseEntered(location,control,params)
+ . = ..()
if(!QDELETED(src))
openToolTip(usr,src,params,title = name,content = desc,theme = actiontooltipstyle)
diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm
index 78fc32480f..95e013da75 100644
--- a/code/_onclick/observer.dm
+++ b/code/_onclick/observer.dm
@@ -17,22 +17,22 @@
return
var/list/modifiers = params2list(params)
- if(modifiers["shift"] && modifiers["middle"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK) && modifiers["middle"])
ShiftMiddleClickOn(A)
return
- if(modifiers["shift"] && modifiers["ctrl"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK) && LAZYACCESS(modifiers, CTRL_CLICK))
CtrlShiftClickOn(A)
return
if(modifiers["middle"])
MiddleClickOn(A)
return
- if(modifiers["shift"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK))
ShiftClickOn(A)
return
- if(modifiers["alt"])
+ if(LAZYACCESS(modifiers, ALT_CLICK))
AltClickNoInteract(src, A)
return
- if(modifiers["ctrl"])
+ if(LAZYACCESS(modifiers, CTRL_CLICK))
CtrlClickOn(A)
return
diff --git a/code/_onclick/overmind.dm b/code/_onclick/overmind.dm
index 419524c871..363a2fde47 100644
--- a/code/_onclick/overmind.dm
+++ b/code/_onclick/overmind.dm
@@ -6,13 +6,13 @@
if(modifiers["middle"])
MiddleClickOn(A)
return
- if(modifiers["shift"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK))
ShiftClickOn(A)
return
- if(modifiers["alt"])
+ if(LAZYACCESS(modifiers, ALT_CLICK))
AltClickOn(A)
return
- if(modifiers["ctrl"])
+ if(LAZYACCESS(modifiers, CTRL_CLICK))
CtrlClickOn(A)
return
var/turf/T = get_turf(A)
diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm
index 4941de7f88..1eec4207f7 100644
--- a/code/controllers/subsystem/vote.dm
+++ b/code/controllers/subsystem/vote.dm
@@ -717,7 +717,7 @@ SUBSYSTEM_DEF(vote)
name = "Vote!"
button_icon_state = "vote"
-/datum/action/vote/Trigger()
+/datum/action/vote/Trigger(trigger_flags)
if(owner)
owner.vote()
remove_from_client()
diff --git a/code/datums/action.dm b/code/datums/action.dm
index aa33c68f22..31e5e39bc6 100644
--- a/code/datums/action.dm
+++ b/code/datums/action.dm
@@ -89,7 +89,7 @@
button.locked = FALSE
button.id = null
-/datum/action/proc/Trigger()
+/datum/action/proc/Trigger(trigger_flags)
if(!IsAvailable())
return FALSE
if(SEND_SIGNAL(src, COMSIG_ACTION_TRIGGER, target) & COMPONENT_ACTION_BLOCK_TRIGGER)
@@ -177,7 +177,7 @@
name = "Ghostize"
desc = "Turn into a ghost and freely come back to your body."
-/datum/action/ghost/Trigger()
+/datum/action/ghost/Trigger(trigger_flags)
if(!..())
return 0
var/mob/M = target
@@ -208,7 +208,7 @@
UNSETEMPTY(I.actions)
return ..()
-/datum/action/item_action/Trigger()
+/datum/action/item_action/Trigger(trigger_flags)
if(!..())
return 0
if(target)
@@ -280,14 +280,14 @@
/datum/action/item_action/toggle_welding_screen
name = "Toggle Welding Screen"
-/datum/action/item_action/toggle_welding_screen/Trigger()
+/datum/action/item_action/toggle_welding_screen/Trigger(trigger_flags)
var/obj/item/clothing/head/hardhat/weldhat/H = target
if(istype(H))
H.toggle_welding_screen(owner)
/datum/action/item_action/toggle_welding_screen/plasmaman
-/datum/action/item_action/toggle_welding_screen/plasmaman/Trigger()
+/datum/action/item_action/toggle_welding_screen/plasmaman/Trigger(trigger_flags)
var/obj/item/clothing/head/helmet/space/plasmaman/H = target
if(istype(H))
H.toggle_welding_screen(owner)
@@ -296,7 +296,7 @@
name = "Toggle Headphones"
desc = "UNTZ UNTZ UNTZ"
-/datum/action/item_action/toggle_headphones/Trigger()
+/datum/action/item_action/toggle_headphones/Trigger(trigger_flags)
var/obj/item/clothing/ears/headphones/H = target
if(istype(H))
H.toggle(owner)
@@ -307,7 +307,7 @@
icon_icon = 'icons/mob/actions/actions_items.dmi'
button_icon_state = "vortex_ff_on"
-/datum/action/item_action/toggle_unfriendly_fire/Trigger()
+/datum/action/item_action/toggle_unfriendly_fire/Trigger(trigger_flags)
if(..())
UpdateButtonIcon()
@@ -400,7 +400,7 @@
if(istype(Target, /obj/item/picket_sign))
S = Target
-/datum/action/item_action/nano_picket_sign/Trigger()
+/datum/action/item_action/nano_picket_sign/Trigger(trigger_flags)
if(istype(S))
S.retext(owner)
@@ -456,7 +456,7 @@
button_icon_state = "scan_mode"
var/active = FALSE
-/datum/action/item_action/toggle_research_scanner/Trigger()
+/datum/action/item_action/toggle_research_scanner/Trigger(trigger_flags)
if(IsAvailable())
active = !active
if(active)
@@ -476,7 +476,7 @@
name = "Use Instrument"
desc = "Use the instrument specified"
-/datum/action/item_action/instrument/Trigger()
+/datum/action/item_action/instrument/Trigger(trigger_flags)
if(istype(target, /obj/item/instrument))
var/obj/item/instrument/I = target
I.interact(usr)
@@ -518,7 +518,7 @@
else
Remove(owner)
-/datum/action/item_action/cult_dagger/Trigger()
+/datum/action/item_action/cult_dagger/Trigger(trigger_flags)
for(var/obj/item/H in owner.held_items) //In case we were already holding another dagger
if(istype(H, /obj/item/melee/cultblade/dagger))
H.attack_self(owner)
@@ -543,7 +543,7 @@
var/boxtype = /obj/structure/closet/cardboard/agent
//Handles open and closing the box
-/datum/action/item_action/agent_box/Trigger()
+/datum/action/item_action/agent_box/Trigger(trigger_flags)
. = ..()
if(!.)
return FALSE
@@ -568,7 +568,7 @@
icon_icon = 'icons/obj/implants.dmi'
button_icon_state = "hijackx"
-/datum/action/item_action/removeAPCs/Trigger()
+/datum/action/item_action/removeAPCs/Trigger(trigger_flags)
var/list/areas = list()
for (var/area/a in owner.siliconaccessareas)
areas[a.name] = a
@@ -590,7 +590,7 @@
icon_icon = 'icons/obj/implants.dmi'
button_icon_state = "hijacky"
-/datum/action/item_action/accessAPCs/Trigger()
+/datum/action/item_action/accessAPCs/Trigger(trigger_flags)
var/list/areas = list()
for (var/area/a in owner.siliconaccessareas)
areas[a.name] = a
@@ -609,7 +609,7 @@
icon_icon = 'icons/obj/implants.dmi'
button_icon_state = "hijackz"
-/datum/action/item_action/stealthmodetoggle/Trigger()
+/datum/action/item_action/stealthmodetoggle/Trigger(trigger_flags)
var/obj/item/implant/hijack/H = target
if (!istype(H))
return
@@ -650,7 +650,7 @@
S.action = null
return ..()
-/datum/action/spell_action/Trigger()
+/datum/action/spell_action/Trigger(trigger_flags)
if(!..())
return FALSE
if(target)
@@ -691,7 +691,7 @@
required_mobility_flags = NONE
var/active = 0
-/datum/action/innate/Trigger()
+/datum/action/innate/Trigger(trigger_flags)
if(!..())
return 0
if(!active)
@@ -766,7 +766,7 @@
button_icon_state = "language_menu"
check_flags = 0
-/datum/action/language_menu/Trigger()
+/datum/action/language_menu/Trigger(trigger_flags)
if(!..())
return FALSE
if(ismob(owner))
@@ -813,7 +813,7 @@
/datum/action/small_sprite/megafauna/legion
small_icon_state = "mega_legion"
-/datum/action/small_sprite/Trigger()
+/datum/action/small_sprite/Trigger(trigger_flags)
..()
if(!small)
var/image/I = image(icon = small_icon, icon_state = small_icon_state, loc = owner)
diff --git a/code/datums/actions/flightsuit.dm b/code/datums/actions/flightsuit.dm
index 205b72cfae..774f667d6d 100644
--- a/code/datums/actions/flightsuit.dm
+++ b/code/datums/actions/flightsuit.dm
@@ -6,7 +6,7 @@
button_icon_state = "flightsuit_shoes"
background_icon_state = "bg_tech"
-/datum/action/item_action/flightsuit/toggle_boots/Trigger()
+/datum/action/item_action/flightsuit/toggle_boots/Trigger(trigger_flags)
var/obj/item/clothing/suit/space/hardsuit/flightsuit/FS = target
if(istype(FS))
FS.deployedshoes? FS.retract_flightshoes() : FS.extend_flightshoes()
@@ -17,7 +17,7 @@
button_icon_state = "flightsuit_helmet"
background_icon_state = "bg_tech"
-/datum/action/item_action/flightsuit/toggle_helmet/Trigger()
+/datum/action/item_action/flightsuit/toggle_helmet/Trigger(trigger_flags)
var/obj/item/clothing/suit/space/hardsuit/flightsuit/FS = target
if(istype(FS))
FS.ToggleHelmet()
@@ -28,7 +28,7 @@
button_icon_state = "flightsuit_pack"
background_icon_state = "bg_tech"
-/datum/action/item_action/flightsuit/toggle_flightpack/Trigger()
+/datum/action/item_action/flightsuit/toggle_flightpack/Trigger(trigger_flags)
var/obj/item/clothing/suit/space/hardsuit/flightsuit/FS = target
if(istype(FS))
FS.deployedpack? FS.retract_flightpack() : FS.extend_flightpack()
@@ -39,7 +39,7 @@
button_icon_state = "flightsuit_lock"
background_icon_state = "bg_tech"
-/datum/action/item_action/flightsuit/lock_suit/Trigger()
+/datum/action/item_action/flightsuit/lock_suit/Trigger(trigger_flags)
var/obj/item/clothing/suit/space/hardsuit/flightsuit/FS = target
if(istype(FS))
FS.locked? FS.unlock_suit(owner) : FS.lock_suit(owner)
@@ -53,7 +53,7 @@
button_icon_state = "flightpack_fly"
background_icon_state = "bg_tech_blue"
-/datum/action/item_action/flightpack/toggle_flight/Trigger()
+/datum/action/item_action/flightpack/toggle_flight/Trigger(trigger_flags)
var/obj/item/flightpack/F = target
if(istype(F))
F.flight? F.disable_flight() : F.enable_flight()
@@ -64,7 +64,7 @@
button_icon_state = "flightpack_boost"
background_icon_state = "bg_tech_blue"
-/datum/action/item_action/flightpack/engage_boosters/Trigger()
+/datum/action/item_action/flightpack/engage_boosters/Trigger(trigger_flags)
var/obj/item/flightpack/F = target
if(istype(F))
F.boost? F.deactivate_booster() : F.activate_booster()
@@ -75,7 +75,7 @@
button_icon_state = "flightpack_stabilizer"
background_icon_state = "bg_tech_blue"
-/datum/action/item_action/flightpack/toggle_stabilizers/Trigger()
+/datum/action/item_action/flightpack/toggle_stabilizers/Trigger(trigger_flags)
var/obj/item/flightpack/F = target
if(istype(F))
F.stabilizer? F.disable_stabilizers() : F.enable_stabilizers()
@@ -86,7 +86,7 @@
button_icon_state = "flightpack_power"
background_icon_state = "bg_tech_blue"
-/datum/action/item_action/flightpack/change_power/Trigger()
+/datum/action/item_action/flightpack/change_power/Trigger(trigger_flags)
var/obj/item/flightpack/F = target
if(istype(F))
F.cycle_power()
@@ -97,7 +97,7 @@
button_icon_state = "flightpack_airbrake"
background_icon_state = "bg_tech_blue"
-/datum/action/item_action/flightpack/toggle_airbrake/Trigger()
+/datum/action/item_action/flightpack/toggle_airbrake/Trigger(trigger_flags)
var/obj/item/flightpack/F = target
if(istype(F))
F.brake? F.disable_airbrake() : F.enable_airbrake()
@@ -110,7 +110,7 @@
icon_icon = 'icons/mob/actions/actions_items.dmi'
button_icon_state = "sniper_zoom"
-/datum/action/item_action/flightpack/zoom/Trigger()
+/datum/action/item_action/flightpack/zoom/Trigger(trigger_flags)
var/obj/item/clothing/head/helmet/space/hardsuit/flightsuit/FH = target
if(istype(FH))
FH.toggle_zoom(owner)
diff --git a/code/datums/components/dullahan.dm b/code/datums/components/dullahan.dm
index 973f06a61e..60f9c2aca7 100644
--- a/code/datums/components/dullahan.dm
+++ b/code/datums/components/dullahan.dm
@@ -151,7 +151,7 @@
name = "Toggle Perspective"
desc = "Switch between seeing normally from your head, or blindly from your body."
-/datum/action/item_action/organ_action/dullahan/Trigger()
+/datum/action/item_action/organ_action/dullahan/Trigger(trigger_flags)
. = ..()
var/mob/living/carbon/human/H = owner
var/obj/item/organ/eyes/E = owner.getorganslot(ORGAN_SLOT_EYES)
diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm
index 090acaa5e0..9912bce66e 100644
--- a/code/datums/components/tackle.dm
+++ b/code/datums/components/tackle.dm
@@ -101,7 +101,7 @@
user.face_atom(A)
var/list/modifiers = params2list(params)
- if(modifiers["alt"] || modifiers["shift"] || modifiers["ctrl"] || modifiers["middle"])
+ if(LAZYACCESS(modifiers, ALT_CLICK) || LAZYACCESS(modifiers, SHIFT_CLICK) || LAZYACCESS(modifiers, CTRL_CLICK) || modifiers["middle"])
return
user.tackling = TRUE
diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm
index d91e802a8a..e7841d2bc1 100644
--- a/code/datums/martial/krav_maga.dm
+++ b/code/datums/martial/krav_maga.dm
@@ -11,7 +11,7 @@
icon_icon = 'icons/mob/actions/actions_items.dmi'
button_icon_state = "neckchop"
-/datum/action/neck_chop/Trigger()
+/datum/action/neck_chop/Trigger(trigger_flags)
if(owner.incapacitated())
to_chat(owner, "You can't use [name] while you're incapacitated.")
return
@@ -31,7 +31,7 @@
icon_icon = 'icons/mob/actions/actions_items.dmi'
button_icon_state = "legsweep"
-/datum/action/leg_sweep/Trigger()
+/datum/action/leg_sweep/Trigger(trigger_flags)
if(owner.incapacitated())
to_chat(owner, "You can't use [name] while you're incapacitated.")
return
@@ -51,7 +51,7 @@
icon_icon = 'icons/mob/actions/actions_items.dmi'
button_icon_state = "lungpunch"
-/datum/action/lung_punch/Trigger()
+/datum/action/lung_punch/Trigger(trigger_flags)
if(owner.incapacitated())
to_chat(owner, "You can't use [name] while you're incapacitated.")
return
diff --git a/code/datums/martial/rising_bass.dm b/code/datums/martial/rising_bass.dm
index 87c0d42a29..a1c954afcc 100644
--- a/code/datums/martial/rising_bass.dm
+++ b/code/datums/martial/rising_bass.dm
@@ -45,7 +45,7 @@
button_icon_state = ""
var/movestreak = ""
-/datum/action/risingbassmove/Trigger()
+/datum/action/risingbassmove/Trigger(trigger_flags)
if(owner.incapacitated())
to_chat(owner, "You can't use [name] while you're incapacitated.")
return
diff --git a/code/datums/martial/wrestling.dm b/code/datums/martial/wrestling.dm
index 466bf5c778..9326520251 100644
--- a/code/datums/martial/wrestling.dm
+++ b/code/datums/martial/wrestling.dm
@@ -47,7 +47,7 @@
name = "Slam (Cinch) - Slam a grappled opponent into the floor."
button_icon_state = "wrassle_slam"
-/datum/action/slam/Trigger()
+/datum/action/slam/Trigger(trigger_flags)
if(owner.incapacitated())
to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.")
return
@@ -62,7 +62,7 @@
name = "Throw (Cinch) - Spin a cinched opponent around and throw them."
button_icon_state = "wrassle_throw"
-/datum/action/throw_wrassle/Trigger()
+/datum/action/throw_wrassle/Trigger(trigger_flags)
if(owner.incapacitated())
to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.")
return
@@ -77,7 +77,7 @@
name = "Kick - A powerful kick, sends people flying away from you. Also useful for escaping from bad situations."
button_icon_state = "wrassle_kick"
-/datum/action/kick/Trigger()
+/datum/action/kick/Trigger(trigger_flags)
if(owner.incapacitated())
to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.")
return
@@ -92,7 +92,7 @@
name = "Strike - Hit a neaby opponent with a quick attack."
button_icon_state = "wrassle_strike"
-/datum/action/strike/Trigger()
+/datum/action/strike/Trigger(trigger_flags)
if(owner.incapacitated())
to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.")
return
@@ -107,7 +107,7 @@
name = "Drop - Smash down onto an opponent."
button_icon_state = "wrassle_drop"
-/datum/action/drop/Trigger()
+/datum/action/drop/Trigger(trigger_flags)
if(owner.incapacitated())
to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.")
return
diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm
index 7fceff4380..557433fbd3 100644
--- a/code/game/machinery/porta_turret/portable_turret.dm
+++ b/code/game/machinery/porta_turret/portable_turret.dm
@@ -676,7 +676,7 @@ DEFINE_BITFIELD(turret_flags, list(
icon_icon = 'icons/mob/actions/actions_mecha.dmi'
button_icon_state = "mech_cycle_equip_off"
-/datum/action/turret_toggle/Trigger()
+/datum/action/turret_toggle/Trigger(trigger_flags)
var/obj/machinery/porta_turret/P = target
if(!istype(P))
return
@@ -687,7 +687,7 @@ DEFINE_BITFIELD(turret_flags, list(
icon_icon = 'icons/mob/actions/actions_mecha.dmi'
button_icon_state = "mech_eject"
-/datum/action/turret_quit/Trigger()
+/datum/action/turret_quit/Trigger(trigger_flags)
var/obj/machinery/porta_turret/P = target
if(!istype(P))
return
diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm
index 6a1d51c9d4..9600ab4b65 100644
--- a/code/game/objects/items/devices/multitool.dm
+++ b/code/game/objects/items/devices/multitool.dm
@@ -236,7 +236,7 @@
name = "Toggle AI detector HUD"
check_flags = NONE
-/datum/action/item_action/toggle_multitool/Trigger()
+/datum/action/item_action/toggle_multitool/Trigger(trigger_flags)
if(!..())
return 0
if(target)
diff --git a/code/game/objects/items/devices/pressureplates.dm b/code/game/objects/items/devices/pressureplates.dm
index 47dcaae60e..dab4b7707a 100644
--- a/code/game/objects/items/devices/pressureplates.dm
+++ b/code/game/objects/items/devices/pressureplates.dm
@@ -46,7 +46,7 @@
can_trigger = FALSE
addtimer(CALLBACK(src, .proc/trigger), trigger_delay)
-/obj/item/pressure_plate/proc/trigger()
+/obj/item/pressure_plate/proc/Trigger(trigger_flags)
can_trigger = TRUE
if(istype(sigdev))
sigdev.signal()
diff --git a/code/game/objects/items/implants/implant_hijack.dm b/code/game/objects/items/implants/implant_hijack.dm
index 06d2df9272..1968985e37 100644
--- a/code/game/objects/items/implants/implant_hijack.dm
+++ b/code/game/objects/items/implants/implant_hijack.dm
@@ -69,16 +69,16 @@
return
var/list/modifiers = params2list(params)
imp_in.face_atom(object)
- if (modifiers["shift"] && modifiers["ctrl"])
+ if (LAZYACCESS(modifiers, SHIFT_CLICK) && LAZYACCESS(modifiers, CTRL_CLICK))
object.AICtrlShiftClick(imp_in)
return TRUE
- if (modifiers["shift"])
+ if (LAZYACCESS(modifiers, SHIFT_CLICK))
object.AIShiftClick(imp_in)
return TRUE
- if (modifiers["ctrl"])
+ if (LAZYACCESS(modifiers, CTRL_CLICK))
object.AICtrlClick(imp_in)
return TRUE
- if (modifiers["alt"])
+ if (LAZYACCESS(modifiers, ALT_CLICK))
object.AIAltClick(imp_in)
return TRUE
if (user.get_active_held_item())
diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm
index 90224af8cc..185a513959 100644
--- a/code/game/objects/structures/ghost_role_spawners.dm
+++ b/code/game/objects/structures/ghost_role_spawners.dm
@@ -751,7 +751,7 @@
name = "Toggle deadchat"
desc = "Turn off or on your ability to hear ghosts."
-/datum/action/toggle_dead_chat_mob/Trigger()
+/datum/action/toggle_dead_chat_mob/Trigger(trigger_flags)
if(!..())
return 0
var/mob/M = target
@@ -798,7 +798,7 @@
))
-/datum/action/disguise/Trigger()
+/datum/action/disguise/Trigger(trigger_flags)
var/mob/living/carbon/human/H = owner
if(!currently_disguised)
var/user_object_type = input(H, "Disguising as OBJECT or MOB?") as null|anything in list("OBJECT", "MOB")
diff --git a/code/modules/VR/vr_mob.dm b/code/modules/VR/vr_mob.dm
index 5f2caffc76..6f984ea2aa 100644
--- a/code/modules/VR/vr_mob.dm
+++ b/code/modules/VR/vr_mob.dm
@@ -38,7 +38,7 @@
icon_icon = 'icons/mob/actions/actions_vr.dmi'
button_icon_state = "logout"
-/datum/action/quit_vr/Trigger() //this merely a trigger for /datum/component/virtual_reality
+/datum/action/quit_vr/Trigger(trigger_flags) //this merely a trigger for /datum/component/virtual_reality
. = ..()
if(.) //The component was not there to block the trigger.
Remove(owner)
diff --git a/code/modules/antagonists/_common/antag_datum.dm b/code/modules/antagonists/_common/antag_datum.dm
index ca392a0441..e052fd07ab 100644
--- a/code/modules/antagonists/_common/antag_datum.dm
+++ b/code/modules/antagonists/_common/antag_datum.dm
@@ -177,7 +177,7 @@ GLOBAL_LIST_EMPTY(antagonists)
if(ui_name)
to_chat(owner.current, span_big("You are \a [src]."))
to_chat(owner.current, span_boldnotice("For more info, read the panel. you can always come back to it using the button in the top left."))
- info_button.Trigger()
+ info_button.Trigger(trigger_flags)
apply_innate_effects()
give_antag_moodies()
remove_blacklisted_quirks()
@@ -524,7 +524,7 @@ GLOBAL_LIST_EMPTY(antagonists)
src.antag_datum = antag_datum
name += " [antag_datum.name]"
-/datum/action/antag_info/Trigger()
+/datum/action/antag_info/Trigger(trigger_flags)
if(antag_datum)
antag_datum.ui_interact(owner)
diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm b/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm
index 0a799021e9..90c160cc1a 100644
--- a/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm
+++ b/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm
@@ -46,7 +46,7 @@
// click.dm <--- Where we can take over mouse clicks
// spells.dm /add_ranged_ability() <--- How we take over the mouse click to use a power on a target.
-/datum/action/bloodsucker/Trigger()
+/datum/action/bloodsucker/Trigger(trigger_flags)
// Active? DEACTIVATE AND END!
if(active && CheckCanDeactivate(TRUE))
DeactivatePower()
@@ -212,7 +212,7 @@
bs_proc_holder.linked_power = src
// Click power: Begin Aim
-/datum/action/bloodsucker/targeted/Trigger()
+/datum/action/bloodsucker/targeted/Trigger(trigger_flags)
if(active && CheckCanDeactivate(TRUE))
DeactivateRangedAbility()
DeactivatePower()
diff --git a/code/modules/antagonists/changeling/changeling_power.dm b/code/modules/antagonists/changeling/changeling_power.dm
index c784939c0f..c9fab927d6 100644
--- a/code/modules/antagonists/changeling/changeling_power.dm
+++ b/code/modules/antagonists/changeling/changeling_power.dm
@@ -30,7 +30,7 @@ the same goes for Remove(). if you override Remove(), call parent or else your p
if(needs_button)
Grant(user)//how powers are added rather than the checks in mob.dm
-/datum/action/changeling/Trigger()
+/datum/action/changeling/Trigger(trigger_flags)
var/mob/user = owner
if(!user || !user.mind || !user.mind.has_antag_datum(/datum/antagonist/changeling))
return
diff --git a/code/modules/antagonists/changeling/powers/tiny_prick.dm b/code/modules/antagonists/changeling/powers/tiny_prick.dm
index 351d8622c9..e9370979fa 100644
--- a/code/modules/antagonists/changeling/powers/tiny_prick.dm
+++ b/code/modules/antagonists/changeling/powers/tiny_prick.dm
@@ -3,7 +3,7 @@
desc = "Stabby stabby"
var/sting_icon = null
-/datum/action/changeling/sting/Trigger()
+/datum/action/changeling/sting/Trigger(trigger_flags)
var/mob/user = owner
if(!user || !user.mind)
return
@@ -75,7 +75,7 @@
loudness = 1
var/datum/changelingprofile/selected_dna = null
-/datum/action/changeling/sting/transformation/Trigger()
+/datum/action/changeling/sting/transformation/Trigger(trigger_flags)
var/mob/user = owner
var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
if(changeling.chosen_sting)
diff --git a/code/modules/antagonists/clockcult/clock_mobs/_eminence.dm b/code/modules/antagonists/clockcult/clock_mobs/_eminence.dm
index e7aeb7e796..0babe82f6b 100644
--- a/code/modules/antagonists/clockcult/clock_mobs/_eminence.dm
+++ b/code/modules/antagonists/clockcult/clock_mobs/_eminence.dm
@@ -107,13 +107,13 @@
/mob/camera/eminence/ClickOn(atom/A, params)
var/list/modifiers = params2list(params)
- if(modifiers["shift"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK))
A.examine(src)
return
- if(modifiers["alt"] && istype(A, /turf/closed/wall/clockwork))
+ if(LAZYACCESS(modifiers, ALT_CLICK) && istype(A, /turf/closed/wall/clockwork))
superheat_wall(A)
return
- if(modifiers["middle"] || modifiers["ctrl"])
+ if(modifiers["middle"] || LAZYACCESS(modifiers, CTRL_CLICK))
INVOKE_ASYNC(src, .proc/issue_command, A)
return
if(GLOB.ark_of_the_clockwork_justiciar == A)
diff --git a/code/modules/antagonists/disease/disease_abilities.dm b/code/modules/antagonists/disease/disease_abilities.dm
index fc53575bd8..08fd3c8843 100644
--- a/code/modules/antagonists/disease/disease_abilities.dm
+++ b/code/modules/antagonists/disease/disease_abilities.dm
@@ -169,7 +169,7 @@ new /datum/disease_ability/symptom/powerful/youth
desc = "Force the host you are following to cough with extra force, spreading your infection to those within two meters of your host even if your transmissibility is low.
Cooldown: 10 seconds"
cooldown_time = 100
-/datum/action/cooldown/disease_cough/Trigger()
+/datum/action/cooldown/disease_cough/Trigger(trigger_flags)
if(!..())
return FALSE
var/mob/camera/disease/D = owner
@@ -201,7 +201,7 @@ new /datum/disease_ability/symptom/powerful/youth
desc = "Force the host you are following to sneeze with extra force, spreading your infection to any victims in a 4 meter cone in front of your host even if your transmissibility is low.
Cooldown: 20 seconds"
cooldown_time = 200
-/datum/action/cooldown/disease_sneeze/Trigger()
+/datum/action/cooldown/disease_sneeze/Trigger(trigger_flags)
if(!..())
return FALSE
var/mob/camera/disease/D = owner
@@ -237,7 +237,7 @@ new /datum/disease_ability/symptom/powerful/youth
desc = "Cause the host you are following to excrete an infective substance from their pores, causing all objects touching their skin to transmit your infection to anyone who touches them for the next 30 seconds.
Cooldown: 40 seconds"
cooldown_time = 400
-/datum/action/cooldown/disease_infect/Trigger()
+/datum/action/cooldown/disease_infect/Trigger(trigger_flags)
if(!..())
return FALSE
var/mob/camera/disease/D = owner
diff --git a/code/modules/antagonists/gang/gang.dm b/code/modules/antagonists/gang/gang.dm
index 050754a91e..583c390f09 100644
--- a/code/modules/antagonists/gang/gang.dm
+++ b/code/modules/antagonists/gang/gang.dm
@@ -226,7 +226,7 @@
/// The family antagonist datum of the "owner" of this action.
var/datum/antagonist/gang/my_gang_datum
-/datum/action/cooldown/spawn_induction_package/Trigger()
+/datum/action/cooldown/spawn_induction_package/Trigger(trigger_flags)
if(!..())
return FALSE
if(!IsAvailable())
diff --git a/code/modules/antagonists/revenant/revenant_abilities.dm b/code/modules/antagonists/revenant/revenant_abilities.dm
index 3a173d55c7..62a5a99b10 100644
--- a/code/modules/antagonists/revenant/revenant_abilities.dm
+++ b/code/modules/antagonists/revenant/revenant_abilities.dm
@@ -1,10 +1,10 @@
/mob/living/simple_animal/revenant/ClickOn(atom/A, params) //revenants can't interact with the world directly.
var/list/modifiers = params2list(params)
- if(modifiers["shift"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK))
ShiftClickOn(A)
return
- if(modifiers["alt"])
+ if(LAZYACCESS(modifiers, ALT_CLICK))
AltClickNoInteract(src, A)
return
diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm
index d2b698bce4..fa1acbb29f 100644
--- a/code/modules/antagonists/slaughter/slaughter.dm
+++ b/code/modules/antagonists/slaughter/slaughter.dm
@@ -87,7 +87,7 @@
button_icon_state = "slam"
cooldown_time = 45 SECONDS
-/datum/action/cooldown/slam/Trigger()
+/datum/action/cooldown/slam/Trigger(trigger_flags)
. = ..()
if(!.)
return
diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
index e5fa38a415..2b98c3d8a1 100644
--- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
+++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
@@ -50,7 +50,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
if(owner_AI && owner_AI.malf_cooldown > world.time)
return FALSE
-/datum/action/innate/ai/Trigger()
+/datum/action/innate/ai/Trigger(trigger_flags)
. = ..()
if(auto_use_uses)
adjust_uses(-1)
diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm
index 05ef6f18e0..855c5c8a07 100644
--- a/code/modules/clothing/chameleon.dm
+++ b/code/modules/clothing/chameleon.dm
@@ -5,7 +5,7 @@
icon_icon = 'icons/mob/actions/actions_items.dmi'
button_icon_state = "random"
-/datum/action/item_action/chameleon/drone/randomise/Trigger()
+/datum/action/item_action/chameleon/drone/randomise/Trigger(trigger_flags)
if(!IsAvailable())
return
@@ -32,7 +32,7 @@
if (istype(target, /obj/item/clothing/mask/chameleon/drone))
button_icon_state = "drone_camogear_mask"
-/datum/action/item_action/chameleon/drone/togglehatmask/Trigger()
+/datum/action/item_action/chameleon/drone/togglehatmask/Trigger(trigger_flags)
if(!IsAvailable())
return
@@ -87,7 +87,7 @@
sortTim(standard_outfit_options, /proc/cmp_text_asc)
outfit_options = standard_outfit_options
-/datum/action/chameleon_outfit/Trigger()
+/datum/action/chameleon_outfit/Trigger(trigger_flags)
return select_outfit(owner)
/datum/action/chameleon_outfit/proc/select_outfit(mob/user)
@@ -240,7 +240,7 @@
P.set_new_overlays()
P.update_icon()
-/datum/action/item_action/chameleon/change/Trigger()
+/datum/action/item_action/chameleon/change/Trigger(trigger_flags)
if(!IsAvailable())
return
diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm
index 0d8aa60ba5..352332a0f9 100644
--- a/code/modules/clothing/suits/wiz_robe.dm
+++ b/code/modules/clothing/suits/wiz_robe.dm
@@ -222,7 +222,7 @@
. = ..()
UnregisterSignal(M, COMSIG_MOB_POINTED)
-/datum/action/item_action/stickmen/Trigger()
+/datum/action/item_action/stickmen/Trigger(trigger_flags)
. = ..()
if(!.)
return
diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm
index 70e85a9cfb..3ffa22e065 100644
--- a/code/modules/detectivework/scanner.dm
+++ b/code/modules/detectivework/scanner.dm
@@ -24,7 +24,7 @@
/datum/action/item_action/displayDetectiveScanResults
name = "Display Forensic Scanner Results"
-/datum/action/item_action/displayDetectiveScanResults/Trigger()
+/datum/action/item_action/displayDetectiveScanResults/Trigger(trigger_flags)
var/obj/item/detective_scanner/scanner = target
if(istype(scanner))
scanner.displayDetectiveScanResults(usr)
diff --git a/code/modules/integrated_electronics/subtypes/smart.dm b/code/modules/integrated_electronics/subtypes/smart.dm
index ded900c9ad..7a357e97c1 100644
--- a/code/modules/integrated_electronics/subtypes/smart.dm
+++ b/code/modules/integrated_electronics/subtypes/smart.dm
@@ -212,13 +212,13 @@
brainholder.set_pin_data(IC_OUTPUT, 3, A)
var/list/modifiers = params2list(params)
- if(modifiers["shift"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK))
brainholder.do_work(7)
return
- if(modifiers["alt"])
+ if(LAZYACCESS(modifiers, ALT_CLICK))
brainholder.do_work(8)
return
- if(modifiers["ctrl"])
+ if(LAZYACCESS(modifiers, CTRL_CLICK))
brainholder.do_work(9)
return
@@ -341,16 +341,16 @@
paiholder.set_pin_data(IC_OUTPUT, 3, A)
var/list/modifiers = params2list(params)
- if(modifiers["shift"] && modifiers["ctrl"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK) && LAZYACCESS(modifiers, CTRL_CLICK))
paiholder.do_work(10)
return
- if(modifiers["shift"])
+ if(LAZYACCESS(modifiers, SHIFT_CLICK))
paiholder.do_work(7)
return
- if(modifiers["alt"])
+ if(LAZYACCESS(modifiers, ALT_CLICK))
paiholder.do_work(8)
return
- if(modifiers["ctrl"])
+ if(LAZYACCESS(modifiers, CTRL_CLICK))
paiholder.do_work(9)
return
diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm
index 1986a8f9c1..fb9f9e42dd 100644
--- a/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/code/modules/mining/lavaland/necropolis_chests.dm
@@ -344,7 +344,7 @@
name = "Memento Mori"
desc = "Bind your life to the pendant."
-/datum/action/item_action/hands_free/memento_mori/Trigger()
+/datum/action/item_action/hands_free/memento_mori/Trigger(trigger_flags)
var/obj/item/clothing/neck/necklace/memento_mori/MM = target
if(!MM.active_owner)
if(ishuman(owner))
diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm
index 8ecb905e19..631b6d312c 100644
--- a/code/modules/mob/living/carbon/human/species_types/vampire.dm
+++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm
@@ -79,7 +79,7 @@
name = "Drain Victim"
desc = "Leech blood from any carbon victim you are passively grabbing."
-/datum/action/item_action/organ_action/vampire/Trigger()
+/datum/action/item_action/organ_action/vampire/Trigger(trigger_flags)
. = ..()
if(iscarbon(owner))
var/mob/living/carbon/H = owner
@@ -140,7 +140,7 @@
name = "Check Blood Level"
desc = "Check how much blood you have remaining."
-/datum/action/item_action/organ_action/vampire_heart/Trigger()
+/datum/action/item_action/organ_action/vampire_heart/Trigger(trigger_flags)
. = ..()
if(iscarbon(owner))
var/mob/living/carbon/H = owner
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index 08098b818f..240b9363d7 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -1004,7 +1004,7 @@
icon_icon = 'icons/mob/actions/actions_AI.dmi'
button_icon_state = "ai_shell"
-/datum/action/innate/deploy_shell/Trigger()
+/datum/action/innate/deploy_shell/Trigger(trigger_flags)
var/mob/living/silicon/ai/AI = owner
if(!AI)
return
@@ -1017,7 +1017,7 @@
button_icon_state = "ai_last_shell"
var/mob/living/silicon/robot/last_used_shell
-/datum/action/innate/deploy_last_shell/Trigger()
+/datum/action/innate/deploy_last_shell/Trigger(trigger_flags)
if(!owner)
return
if(last_used_shell)
diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm
index 435d1853f6..75d02ea2cf 100644
--- a/code/modules/mob/living/silicon/pai/pai.dm
+++ b/code/modules/mob/living/silicon/pai/pai.dm
@@ -228,7 +228,7 @@
icon_icon = 'icons/mob/actions/actions_silicon.dmi'
var/mob/living/silicon/pai/P
-/datum/action/innate/pai/Trigger()
+/datum/action/innate/pai/Trigger(trigger_flags)
if(!ispAI(owner))
return 0
P = owner
@@ -238,7 +238,7 @@
button_icon_state = "pai"
background_icon_state = "bg_tech"
-/datum/action/innate/pai/software/Trigger()
+/datum/action/innate/pai/software/Trigger(trigger_flags)
..()
P.paiInterface()
@@ -247,7 +247,7 @@
button_icon_state = "pai_holoform"
background_icon_state = "bg_tech"
-/datum/action/innate/pai/shell/Trigger()
+/datum/action/innate/pai/shell/Trigger(trigger_flags)
..()
if(P.holoform)
P.fold_in(FALSE)
@@ -259,7 +259,7 @@
button_icon_state = "pai_chassis"
background_icon_state = "bg_tech"
-/datum/action/innate/pai/chassis/Trigger()
+/datum/action/innate/pai/chassis/Trigger(trigger_flags)
..()
P.choose_chassis()
@@ -268,7 +268,7 @@
button_icon_state = "pai_rest"
background_icon_state = "bg_tech"
-/datum/action/innate/pai/rest/Trigger()
+/datum/action/innate/pai/rest/Trigger(trigger_flags)
..()
P.lay_down()
@@ -278,7 +278,7 @@
button_icon_state = "emp"
background_icon_state = "bg_tech"
-/datum/action/innate/pai/light/Trigger()
+/datum/action/innate/pai/light/Trigger(trigger_flags)
..()
P.toggle_integrated_light()
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 232c5b4195..7895ca9c52 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -1182,7 +1182,7 @@
button_icon_state = "ai_core"
required_mobility_flags = NONE
-/datum/action/innate/undeployment/Trigger()
+/datum/action/innate/undeployment/Trigger(trigger_flags)
if(!..())
return FALSE
var/mob/living/silicon/robot/R = owner
@@ -1197,7 +1197,7 @@
button_icon_state = "custom_holoform"
required_mobility_flags = NONE
-/datum/action/innate/custom_holoform/Trigger()
+/datum/action/innate/custom_holoform/Trigger(trigger_flags)
if(!..())
return FALSE
var/mob/living/silicon/S = owner
diff --git a/code/modules/mob/living/simple_animal/hostile/bosses/boss.dm b/code/modules/mob/living/simple_animal/hostile/bosses/boss.dm
index 1dedf8cd29..3709c821c9 100644
--- a/code/modules/mob/living/simple_animal/hostile/bosses/boss.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bosses/boss.dm
@@ -72,7 +72,7 @@
if(!boss.client && needs_target && !boss.target)
return FALSE
-/datum/action/boss/Trigger()
+/datum/action/boss/Trigger(trigger_flags)
. = ..()
if(!.)
return
@@ -83,7 +83,7 @@
//Example:
/*
-/datum/action/boss/selfgib/Trigger()
+/datum/action/boss/selfgib/Trigger(trigger_flags)
if(..())
boss.gib()
*/
diff --git a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm
index 6db5250469..0d288a64b4 100644
--- a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm
@@ -42,7 +42,7 @@
var/maximum_stickmen = 6
var/stickmen_to_summon = 3
-/datum/action/boss/wizard_summon_minions/Trigger()
+/datum/action/boss/wizard_summon_minions/Trigger(trigger_flags)
. =..()
if(!.)
return
@@ -89,7 +89,7 @@
req_statuses = list(AI_ON)
say_when_triggered = ""
-/datum/action/boss/wizard_mimic/Trigger()
+/datum/action/boss/wizard_mimic/Trigger(trigger_flags)
. = ..()
if(!.)
return
diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
index 23a0d44d56..7489ae2abe 100644
--- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
+++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
@@ -516,7 +516,7 @@
return FALSE
return TRUE
-/datum/action/innate/spider/comm/Trigger()
+/datum/action/innate/spider/comm/Trigger(trigger_flags)
var/input = stripped_input(owner, "Input a command for your legions to follow.", "Command", "")
if(QDELETED(src) || !input || !IsAvailable())
return FALSE
diff --git a/code/modules/mob/living/simple_animal/hostile/plaguerat.dm b/code/modules/mob/living/simple_animal/hostile/plaguerat.dm
index 73dace85cd..3f30b02d6e 100644
--- a/code/modules/mob/living/simple_animal/hostile/plaguerat.dm
+++ b/code/modules/mob/living/simple_animal/hostile/plaguerat.dm
@@ -167,7 +167,7 @@ GLOBAL_LIST_EMPTY(plague_rats)
button_icon_state = "coffer"
cooldown_time = 50
-/datum/action/cooldown/scavenge/Trigger()
+/datum/action/cooldown/scavenge/Trigger(trigger_flags)
. = ..()
if(!.)
return
diff --git a/code/modules/mob/living/simple_animal/hostile/regalrat.dm b/code/modules/mob/living/simple_animal/hostile/regalrat.dm
index f90fb55424..fc5347c58f 100644
--- a/code/modules/mob/living/simple_animal/hostile/regalrat.dm
+++ b/code/modules/mob/living/simple_animal/hostile/regalrat.dm
@@ -88,7 +88,7 @@
button_icon_state = "coffer"
cooldown_time = 50
-/datum/action/cooldown/coffer/Trigger()
+/datum/action/cooldown/coffer/Trigger(trigger_flags)
. = ..()
if(!. || owner.stat != CONSCIOUS)
return
@@ -133,7 +133,7 @@
cooldown_time = 80
///Checks to see if there are any nearby mice. Does not count Rats.
-/datum/action/cooldown/riot/Trigger()
+/datum/action/cooldown/riot/Trigger(trigger_flags)
. = ..()
if(!. || owner.stat != CONSCIOUS)
return
diff --git a/code/modules/mod/mod_actions.dm b/code/modules/mod/mod_actions.dm
index ee28771ef1..1691f82700 100644
--- a/code/modules/mod/mod_actions.dm
+++ b/code/modules/mod/mod_actions.dm
@@ -42,7 +42,7 @@
desc = "Deploy/Conceal a part of the MODsuit."
button_icon_state = "deploy"
-/datum/action/item_action/mod/deploy/Trigger()
+/datum/action/item_action/mod/deploy/Trigger(trigger_flags)
if(!IsAvailable())
return FALSE
mod.choose_deploy(usr)
@@ -56,7 +56,7 @@
desc = "Activate/Deactivate the MODsuit."
button_icon_state = "activate"
-/datum/action/item_action/mod/activate/Trigger()
+/datum/action/item_action/mod/activate/Trigger(trigger_flags)
if(!IsAvailable())
return FALSE
mod.toggle_activate(usr)
@@ -70,7 +70,7 @@
desc = "Toggle a MODsuit module."
button_icon_state = "module"
-/datum/action/item_action/mod/module/Trigger()
+/datum/action/item_action/mod/module/Trigger(trigger_flags)
if(!IsAvailable())
return FALSE
mod.quick_module(usr)
@@ -84,7 +84,7 @@
desc = "Open the MODsuit's panel."
button_icon_state = "panel"
-/datum/action/item_action/mod/panel/Trigger()
+/datum/action/item_action/mod/panel/Trigger(trigger_flags)
if(!IsAvailable())
return FALSE
mod.ui_interact(usr)
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 236143dc43..bf56d6a390 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -760,7 +760,7 @@
var/obj/item/gun/G = target
G.zoom(owner, owner.dir, FALSE)
-/datum/action/item_action/toggle_scope_zoom/Trigger()
+/datum/action/item_action/toggle_scope_zoom/Trigger(trigger_flags)
. = ..()
if(.)
var/obj/item/gun/G = target
diff --git a/code/modules/projectiles/guns/magic/motivation.dm b/code/modules/projectiles/guns/magic/motivation.dm
index db4c222619..eef9f43b13 100644
--- a/code/modules/projectiles/guns/magic/motivation.dm
+++ b/code/modules/projectiles/guns/magic/motivation.dm
@@ -39,7 +39,7 @@
var/judgement_toggled = TRUE
//lets the user know that you toggled them on/off
-/datum/action/judgement_cut/Trigger()
+/datum/action/judgement_cut/Trigger(trigger_flags)
judgement_toggled = !judgement_toggled
to_chat(owner, "You [judgement_toggled ? "enable" : "disable"] Judgement Cuts with Motivation.")
diff --git a/code/modules/research/xenobiology/crossbreeding/_clothing.dm b/code/modules/research/xenobiology/crossbreeding/_clothing.dm
index 640aa6d490..98555003b7 100644
--- a/code/modules/research/xenobiology/crossbreeding/_clothing.dm
+++ b/code/modules/research/xenobiology/crossbreeding/_clothing.dm
@@ -66,7 +66,7 @@ Slimecrossing Armor
icon_icon = 'icons/obj/slimecrossing.dmi'
button_icon_state = "prismcolor"
-/datum/action/item_action/change_prism_colour/Trigger()
+/datum/action/item_action/change_prism_colour/Trigger(trigger_flags)
if(!IsAvailable())
return
var/obj/item/clothing/glasses/prism_glasses/glasses = target
@@ -80,7 +80,7 @@ Slimecrossing Armor
icon_icon = 'icons/obj/slimecrossing.dmi'
button_icon_state = "lightprism"
-/datum/action/item_action/place_light_prism/Trigger()
+/datum/action/item_action/place_light_prism/Trigger(trigger_flags)
if(!IsAvailable())
return
var/obj/item/clothing/glasses/prism_glasses/glasses = target
diff --git a/code/modules/ruins/spaceruin_code/hilbertshotel.dm b/code/modules/ruins/spaceruin_code/hilbertshotel.dm
index 79119c8448..572e70304a 100644
--- a/code/modules/ruins/spaceruin_code/hilbertshotel.dm
+++ b/code/modules/ruins/spaceruin_code/hilbertshotel.dm
@@ -317,7 +317,7 @@ GLOBAL_VAR_INIT(hhmysteryRoomNumber, 1337)
desc = "Stop looking through the bluespace peephole."
button_icon_state = "cancel_peephole"
-/datum/action/peepholeCancel/Trigger()
+/datum/action/peepholeCancel/Trigger(trigger_flags)
. = ..()
to_chat(owner, "You move away from the peephole.")
owner.reset_perspective()
diff --git a/code/modules/surgery/dental_implant.dm b/code/modules/surgery/dental_implant.dm
index f41f299439..231eebe809 100644
--- a/code/modules/surgery/dental_implant.dm
+++ b/code/modules/surgery/dental_implant.dm
@@ -29,7 +29,7 @@
/datum/action/item_action/hands_free/activate_pill
name = "Activate Pill"
-/datum/action/item_action/hands_free/activate_pill/Trigger()
+/datum/action/item_action/hands_free/activate_pill/Trigger(trigger_flags)
if(!..())
return 0
to_chat(owner, "You grit your teeth and burst the implanted [target.name]!")
diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm
index 6263284584..274e9f2904 100644
--- a/code/modules/surgery/organs/heart.dm
+++ b/code/modules/surgery/organs/heart.dm
@@ -167,7 +167,7 @@
name = "Pump your blood"
//You are now brea- pumping blood manually
-/datum/action/item_action/organ_action/cursed_heart/Trigger()
+/datum/action/item_action/organ_action/cursed_heart/Trigger(trigger_flags)
. = ..()
if(. && istype(target, /obj/item/organ/heart/cursed))
var/obj/item/organ/heart/cursed/cursed_heart = target
diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm
index 733ff674c8..c80fb762a0 100644
--- a/code/modules/surgery/organs/vocal_cords.dm
+++ b/code/modules/surgery/organs/vocal_cords.dm
@@ -43,7 +43,7 @@
icon_state = "adamantine_cords"
decay_factor = 0
-/datum/action/item_action/organ_action/use/adamantine_vocal_cords/Trigger()
+/datum/action/item_action/organ_action/use/adamantine_vocal_cords/Trigger(trigger_flags)
if(!IsAvailable())
return
var/message = input(owner, "Resonate a message to all nearby golems.", "Resonate")
@@ -94,7 +94,7 @@
return FALSE
return TRUE
-/datum/action/item_action/organ_action/colossus/Trigger()
+/datum/action/item_action/organ_action/colossus/Trigger(trigger_flags)
. = ..()
if(!IsAvailable())
if(world.time < cords.next_command)
@@ -642,7 +642,7 @@
/datum/action/item_action/organ_action/velvet/IsAvailable(silent = FALSE)
return TRUE
-/datum/action/item_action/organ_action/velvet/Trigger()
+/datum/action/item_action/organ_action/velvet/Trigger(trigger_flags)
. = ..()
var/command = input(owner, "Speak in a sultry tone", "Command")
if(QDELETED(src) || QDELETED(owner))
diff --git a/code/modules/vehicles/mecha/mecha_actions.dm b/code/modules/vehicles/mecha/mecha_actions.dm
index 09ccaad2c2..428242668f 100644
--- a/code/modules/vehicles/mecha/mecha_actions.dm
+++ b/code/modules/vehicles/mecha/mecha_actions.dm
@@ -19,7 +19,7 @@
name = "Eject From Mech"
button_icon_state = "mech_eject"
-/datum/action/vehicle/sealed/mecha/mech_eject/Trigger()
+/datum/action/vehicle/sealed/mecha/mech_eject/Trigger(trigger_flags)
if(!owner)
return
if(!chassis || !(owner in chassis.occupants))
@@ -30,7 +30,7 @@
name = "Toggle Internal Airtank Usage"
button_icon_state = "mech_internals_off"
-/datum/action/vehicle/sealed/mecha/mech_toggle_internals/Trigger()
+/datum/action/vehicle/sealed/mecha/mech_toggle_internals/Trigger(trigger_flags)
if(!owner || !chassis || !(owner in chassis.occupants))
return
chassis.use_internal_tank = !chassis.use_internal_tank
@@ -43,7 +43,7 @@
name = "Cycle Equipment"
button_icon_state = "mech_cycle_equip_off"
-/datum/action/vehicle/sealed/mecha/mech_cycle_equip/Trigger()
+/datum/action/vehicle/sealed/mecha/mech_cycle_equip/Trigger(trigger_flags)
if(!owner || !chassis || !(owner in chassis.occupants))
return
@@ -85,7 +85,7 @@
name = "Toggle Lights"
button_icon_state = "mech_lights_off"
-/datum/action/vehicle/sealed/mecha/mech_toggle_lights/Trigger()
+/datum/action/vehicle/sealed/mecha/mech_toggle_lights/Trigger(trigger_flags)
if(!owner || !chassis || !(owner in chassis.occupants))
return
if(!(chassis.mecha_flags & HAS_LIGHTS))
@@ -106,7 +106,7 @@
name = "View Stats"
button_icon_state = "mech_view_stats"
-/datum/action/vehicle/sealed/mecha/mech_view_stats/Trigger()
+/datum/action/vehicle/sealed/mecha/mech_view_stats/Trigger(trigger_flags)
if(!owner || !chassis || !(owner in chassis.occupants))
return
var/datum/browser/popup = new(owner , "exosuit")
@@ -118,7 +118,7 @@
name = "Toggle Strafing. Disabled when Alt is held."
button_icon_state = "strafe"
-/datum/action/vehicle/sealed/mecha/strafe/Trigger()
+/datum/action/vehicle/sealed/mecha/strafe/Trigger(trigger_flags)
if(!owner || !chassis || !(owner in chassis.occupants))
return
chassis.toggle_strafe()
@@ -182,7 +182,7 @@
name = "Smoke"
button_icon_state = "mech_smoke"
-/datum/action/vehicle/sealed/mecha/mech_smoke/Trigger()
+/datum/action/vehicle/sealed/mecha/mech_smoke/Trigger(trigger_flags)
if(!owner || !chassis || !(owner in chassis.occupants))
return
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_SMOKE) && chassis.smoke_charges>0)
@@ -195,7 +195,7 @@
name = "Zoom"
button_icon_state = "mech_zoom_off"
-/datum/action/vehicle/sealed/mecha/mech_zoom/Trigger()
+/datum/action/vehicle/sealed/mecha/mech_zoom/Trigger(trigger_flags)
if(!owner || !chassis || !(owner in chassis.occupants))
return
if(owner.client)
@@ -214,7 +214,7 @@
name = "Reconfigure arm microtool arrays"
button_icon_state = "mech_damtype_brute"
-/datum/action/vehicle/sealed/mecha/mech_switch_damtype/Trigger()
+/datum/action/vehicle/sealed/mecha/mech_switch_damtype/Trigger(trigger_flags)
if(!owner || !chassis || !(owner in chassis.occupants))
return
var/new_damtype
@@ -238,7 +238,7 @@
name = "Switch Seats"
button_icon_state = "mech_seat_swap"
-/datum/action/vehicle/sealed/mecha/swap_seat/Trigger()
+/datum/action/vehicle/sealed/mecha/swap_seat/Trigger(trigger_flags)
if(!owner || !chassis || !(owner in chassis.occupants))
return
@@ -266,7 +266,7 @@
name = "Toggle Phasing"
button_icon_state = "mech_phasing_off"
-/datum/action/vehicle/sealed/mecha/mech_toggle_phasing/Trigger()
+/datum/action/vehicle/sealed/mecha/mech_toggle_phasing/Trigger(trigger_flags)
if(!owner || !chassis || !(owner in chassis.occupants))
return
chassis.phasing = !chassis.phasing
diff --git a/code/modules/vehicles/vehicle_actions.dm b/code/modules/vehicles/vehicle_actions.dm
index 8b2c72008c..b26a0df68a 100644
--- a/code/modules/vehicles/vehicle_actions.dm
+++ b/code/modules/vehicles/vehicle_actions.dm
@@ -105,7 +105,7 @@
desc = "Climb out of your vehicle!"
button_icon_state = "car_eject"
-/datum/action/vehicle/sealed/climb_out/Trigger()
+/datum/action/vehicle/sealed/climb_out/Trigger(trigger_flags)
if(..() && istype(vehicle_entered_target))
vehicle_entered_target.mob_try_exit(owner, owner)
@@ -117,7 +117,7 @@
desc = "Take your key out of the vehicle's ignition"
button_icon_state = "car_removekey"
-/datum/action/vehicle/sealed/remove_key/Trigger()
+/datum/action/vehicle/sealed/remove_key/Trigger(trigger_flags)
vehicle_entered_target.remove_key(owner)
//CLOWN CAR ACTION DATUMS
@@ -127,7 +127,7 @@
button_icon_state = "car_horn"
var/hornsound = 'sound/items/carhorn.ogg'
-/datum/action/vehicle/sealed/horn/Trigger()
+/datum/action/vehicle/sealed/horn/Trigger(trigger_flags)
if(TIMER_COOLDOWN_CHECK(src, COOLDOWN_CAR_HONK))
return
TIMER_COOLDOWN_START(src, COOLDOWN_CAR_HONK, 2 SECONDS)
@@ -143,7 +143,7 @@
desc = "Dump all objects and people in your car on the floor."
button_icon_state = "car_dump"
-/datum/action/vehicle/sealed/dump_kidnapped_mobs/Trigger()
+/datum/action/vehicle/sealed/dump_kidnapped_mobs/Trigger(trigger_flags)
vehicle_entered_target.visible_message(span_danger("[vehicle_entered_target] starts dumping the people inside of it."))
vehicle_entered_target.DumpSpecificMobs(VEHICLE_CONTROL_KIDNAPPED)
@@ -153,7 +153,7 @@
desc = "Press one of those colorful buttons on your display panel!"
button_icon_state = "car_rtd"
-/datum/action/vehicle/sealed/roll_the_dice/Trigger()
+/datum/action/vehicle/sealed/roll_the_dice/Trigger(trigger_flags)
if(!istype(vehicle_entered_target, /obj/vehicle/sealed/car/clowncar))
return
var/obj/vehicle/sealed/car/clowncar/C = vehicle_entered_target
@@ -164,7 +164,7 @@
desc = "Destroy them with their own fodder!"
button_icon_state = "car_cannon"
-/datum/action/vehicle/sealed/cannon/Trigger()
+/datum/action/vehicle/sealed/cannon/Trigger(trigger_flags)
if(!istype(vehicle_entered_target, /obj/vehicle/sealed/car/clowncar))
return
var/obj/vehicle/sealed/car/clowncar/C = vehicle_entered_target
@@ -178,7 +178,7 @@
COOLDOWN_DECLARE(thank_time_cooldown)
-/datum/action/vehicle/sealed/thank/Trigger()
+/datum/action/vehicle/sealed/thank/Trigger(trigger_flags)
if(!istype(vehicle_entered_target, /obj/vehicle/sealed/car/clowncar))
return
if(!COOLDOWN_FINISHED(src, thank_time_cooldown))
@@ -199,7 +199,7 @@
///Cooldown to next jump
var/next_ollie
-/datum/action/vehicle/ridden/scooter/skateboard/ollie/Trigger()
+/datum/action/vehicle/ridden/scooter/skateboard/ollie/Trigger(trigger_flags)
if(world.time > next_ollie)
var/obj/vehicle/ridden/scooter/skateboard/V = vehicle_target
if (V.grinding)
diff --git a/code/modules/wiremod/shell/brain_computer_interface.dm b/code/modules/wiremod/shell/brain_computer_interface.dm
index f9723e115c..cd270efd9a 100644
--- a/code/modules/wiremod/shell/brain_computer_interface.dm
+++ b/code/modules/wiremod/shell/brain_computer_interface.dm
@@ -302,7 +302,7 @@
return ..()
-/datum/action/innate/bci_charge_action/Trigger()
+/datum/action/innate/bci_charge_action/Trigger(trigger_flags)
var/obj/item/stock_parts/cell/cell = circuit_component.parent.cell
if (isnull(cell))
diff --git a/modular_citadel/code/modules/clothing/neck.dm b/modular_citadel/code/modules/clothing/neck.dm
index 9507e65e0e..25eb37fe11 100644
--- a/modular_citadel/code/modules/clothing/neck.dm
+++ b/modular_citadel/code/modules/clothing/neck.dm
@@ -13,7 +13,7 @@
var/toggled = FALSE
var/obj/effect/heart/heart
-/datum/action/item_action/zanderlocket/Trigger()
+/datum/action/item_action/zanderlocket/Trigger(trigger_flags)
new/obj/effect/temp_visual/souldeath(owner.loc, owner)
playsound(owner, 'sound/misc/souldeath.ogg', 100, FALSE)
diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm
index 2be1a97873..819c891d78 100644
--- a/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm
+++ b/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm
@@ -37,7 +37,7 @@ I'd like to point out from my calculations it'll take about 60-80 minutes to die
var/mob/living/carbon/origin
var/datum/mind/originalmind
-/datum/action/chem/astral/Trigger()
+/datum/action/chem/astral/Trigger(trigger_flags)
if(origin.mind && origin.mind != originalmind)
to_chat(originalmind.current, "There's a foreign presence in your body blocking your return!")
return ..()
diff --git a/modular_sand/code/datums/action.dm b/modular_sand/code/datums/action.dm
index 0f8d12be90..f778287145 100644
--- a/modular_sand/code/datums/action.dm
+++ b/modular_sand/code/datums/action.dm
@@ -2,7 +2,7 @@
small_icon = 'modular_sand/icons/mob/lavaland/drakeling_greyscale.dmi'
small_icon_state = "ash_whelp"
-/datum/action/item_action/toggle_light/Trigger()
+/datum/action/item_action/toggle_light/Trigger(trigger_flags)
if(istype(target, /obj/item/pda))
var/obj/item/pda/P = target
P.toggle_light(owner)
diff --git a/modular_sand/code/modules/mining/lavaland/necropolis_chests.dm b/modular_sand/code/modules/mining/lavaland/necropolis_chests.dm
index c96d95d358..eef5c87a4f 100644
--- a/modular_sand/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/modular_sand/code/modules/mining/lavaland/necropolis_chests.dm
@@ -1020,7 +1020,7 @@
desc = "Bind the necklaces ember to yourself, so that next time you activate it, it will revive or fully heal you whether dead or knocked out. (Beware of being gibbed)"
//What happens when the user clicks on datum
-/datum/action/item_action/hands_free/necklace_of_the_forsaken/Trigger()
+/datum/action/item_action/hands_free/necklace_of_the_forsaken/Trigger(trigger_flags)
var/obj/item/clothing/neck/necklace/necklace_of_the_forsaken/MM = target
if(MM.numUses <= 0)//skip if it has already been used up
return