diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 262d9a4fd6..2e7f80ab49 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -30,7 +30,7 @@ if(SEND_SIGNAL(src, COMSIG_MOB_CLICKON, A, params) & COMSIG_MOB_CANCEL_CLICKON) return . = ClickOn(A, params) - if(.) + if(!(. & DISCARD_LAST_ACTION)) FlushCurrentAction() else DiscardCurrentAction() @@ -94,30 +94,29 @@ if(restrained()) DelayNextAction(CLICK_CD_HANDCUFFED) - RestrainedClickOn(A) - return TRUE + return RestrainedClickOn(A) if(in_throw_mode) throw_item(A) - return TRUE + return var/obj/item/W = get_active_held_item() if(W == A) W.attack_self(src) update_inv_hands() - return TRUE + return //These are always reachable. //User itself, current loc, and user inventory if(A in DirectAccess()) if(W) - return !(W.melee_attack_chain(src, A, params) & DISCARD_LAST_ACTION) + return W.melee_attack_chain(src, A, params) else . = UnarmedAttack(A, TRUE, a_intent) if(!(. & NO_AUTO_CLICKDELAY_HANDLING) && ismob(A)) DelayNextAction(CLICK_CD_MELEE) - return !(. & DISCARD_LAST_ACTION) + return //Can't reach anything else in lockers or other weirdness if(!loc.AllowClick()) @@ -126,17 +125,17 @@ //Standard reach turf to turf or reaching inside storage if(CanReach(A,W)) if(W) - return !(W.melee_attack_chain(src, A, params) & DISCARD_LAST_ACTION) + return W.melee_attack_chain(src, A, params) else . = UnarmedAttack(A, TRUE, a_intent) if(!(. & NO_AUTO_CLICKDELAY_HANDLING) && ismob(A)) DelayNextAction(CLICK_CD_MELEE) - return !(. & DISCARD_LAST_ACTION) + return else if(W) - return !(W.ranged_attack_chain(src, A, params) & DISCARD_LAST_ACTION) + return W.ranged_attack_chain(src, A, params) else - return !(RangedAttack(A,params) & DISCARD_LAST_ACTION) + return RangedAttack(A,params) //Is the atom obscured by a PREVENT_CLICK_UNDER_1 object above it /atom/proc/IsObscured() diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index 7048c98fb3..3dc3176205 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -16,23 +16,17 @@ var/list/modifiers = params2list(params) if(modifiers["shift"] && modifiers["ctrl"]) - CtrlShiftClickOn(A) - return + return CtrlShiftClickOn(A) if(modifiers["shift"] && modifiers["middle"]) - ShiftMiddleClickOn(A) - return + return ShiftMiddleClickOn(A) if(modifiers["middle"]) - MiddleClickOn(A) - return + return MiddleClickOn(A) if(modifiers["shift"]) - ShiftClickOn(A) - return + return ShiftClickOn(A) if(modifiers["alt"]) // alt and alt-gr (rightalt) - AltClickOn(A) - return + return AltClickOn(A) if(modifiers["ctrl"]) - CtrlClickOn(A) - return + return CtrlClickOn(A) if(!CheckActionCooldown(immediate = TRUE)) return @@ -81,7 +75,7 @@ . = W.melee_attack_chain(src, A, params) if(!(. & NO_AUTO_CLICKDELAY_HANDLING) && ismob(A)) DelayNextAction(CLICK_CD_MELEE) - return !(. & DISCARD_LAST_ACTION) + return if(!isturf(loc)) return @@ -92,9 +86,9 @@ . = W.melee_attack_chain(src, A, params) if(!(. & NO_AUTO_CLICKDELAY_HANDLING) && ismob(A)) DelayNextAction(CLICK_CD_MELEE) - return !(. & DISCARD_LAST_ACTION) + return else - return !(W.afterattack(A, src, 0, params) & DISCARD_LAST_ACTION) + return W.afterattack(A, src, 0, params) //Middle click cycles through selected modules. /mob/living/silicon/robot/MiddleClickOn(atom/A) diff --git a/code/_onclick/right_click.dm b/code/_onclick/right_click.dm index e822aad497..a72ab3ce85 100644 --- a/code/_onclick/right_click.dm +++ b/code/_onclick/right_click.dm @@ -17,8 +17,7 @@ if(restrained()) DelayNextAction(CLICK_CD_HANDCUFFED) - RestrainedClickOn(A) - return TRUE + return RestrainedClickOn(A) if(in_throw_mode) throw_item(A)//todo: make it plausible to lightly toss items via right-click @@ -36,14 +35,14 @@ //User itself, current loc, and user inventory if(A in DirectAccess()) if(W) - return !(W.rightclick__melee_attack_chain(src, A, params) & DISCARD_LAST_ACTION) + return W.rightclick_melee_attack_chain(src, A, params) else if(!AltUnarmedAttack(A, TRUE)) . = UnarmedAttack(A, TRUE, a_intent) if(!(. & NO_AUTO_CLICKDELAY_HANDLING) && ismob(A)) DelayNextAction(CLICK_CD_MELEE) - return (.)? TRUE : FALSE - return TRUE + return + return //Can't reach anything else in lockers or other weirdness if(!loc.AllowClick()) @@ -52,22 +51,21 @@ //Standard reach turf to turf or reaching inside storage if(CanReach(A,W)) if(W) - return !(W.rightclick_melee_attack_chain(src, A, params) & DISCARD_LAST_ACTION) + return W.rightclick_melee_attack_chain(src, A, params) else if(!AltUnarmedAttack(A, TRUE)) . = UnarmedAttack(A, TRUE, a_intent) if(!(. & NO_AUTO_CLICKDELAY_HANDLING) && ismob(A)) DelayNextAction(CLICK_CD_MELEE) - return (.)? TRUE : FALSE - return TRUE + return + return else if(W) if(!W.altafterattack(A, src, FALSE, params)) - W.afterattack(A, src, FALSE, params) + return W.afterattack(A, src, FALSE, params) else if(!AltRangedAttack(A, params)) - return !(RangedAttack(A, params) & DISCARD_LAST_ACTION) - return TRUE + return (RangedAttack(A, params) /mob/proc/AltUnarmedAttack(atom/A, proximity_flag) if(ismob(A))