From 345c08706855fd2160f06f1f70451132c548f563 Mon Sep 17 00:00:00 2001 From: TheYeetster1 <70362590+TheYeetster1@users.noreply.github.com> Date: Wed, 25 Aug 2021 18:00:02 -0400 Subject: [PATCH 1/4] Shift Middle Click --- code/_onclick/ai.dm | 19 +++++++++++++++++++ code/_onclick/click.dm | 6 ++++++ code/_onclick/cyborg.dm | 10 +++++++++- code/game/machinery/doors/airlock.dm | 15 +++++++++++++-- 4 files changed, 47 insertions(+), 3 deletions(-) diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index b023aaa4dd0..9f0c2194472 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -67,6 +67,9 @@ if(modifiers["shift"] && modifiers["alt"]) AltShiftClickOn(A) return + if(modifiers["shift"] && modifiers["middle"]) + ShiftMiddleClickOn(A) + return if(modifiers["middle"]) MiddleClickOn(A) if(controlled_mech) //Are we piloting a mech? Placed here so the modifiers are not overridden. @@ -128,6 +131,8 @@ A.AICtrlShiftClick(src) /mob/living/silicon/ai/AltShiftClickOn(atom/A) A.AIAltShiftClick(src) +/mob/living/silicon/ai/ShiftMiddleClickOn(atom/A) + A.AIShiftMiddleClick(src) /mob/living/silicon/ai/ShiftClickOn(atom/A) A.AIShiftClick(src) /mob/living/silicon/ai/CtrlClickOn(atom/A) @@ -148,11 +153,20 @@ /atom/proc/AIAltShiftClick() return +/atom/proc/AIShiftMiddleClick() + return + /atom/proc/AIShiftClick(mob/living/user) // borgs use this too if(user.client) user.examinate(src) return +/atom/proc/AIShiftMiddleClickOn(mob/living/user) + return + +/obj/machinery/door/airlock/AIShiftMiddleClickOn(mob/living/user) + toggle_speed() + /atom/proc/AICtrlClick(mob/living/silicon/user) return @@ -215,3 +229,8 @@ if(!ai_control_check(user)) return toggle_light(user) + +/obj/machinery/door/airlock/AIShiftMiddleClick(mob/user) // Toggles door timings. + if(!ai_control_check(user)) + return + toggle_speed(user) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 77a4ae192f1..ae2341e3e7b 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -363,6 +363,12 @@ A.AltShiftClick(src) return +/mob/proc/ShiftMiddleClickOn(atom/A) + return + +/atom/proc/CtrlShiftMiddleClick(mob/user) + return + /atom/proc/AltShiftClick(mob/user) return diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index 40fcfc82671..706c9304e20 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -30,6 +30,9 @@ if(modifiers["middle"] && modifiers["ctrl"]) CtrlMiddleClickOn(A) return + if(modifiers["shift"] && modifiers["middle"]) + ShiftMiddleClickOn(A) + return if(modifiers["middle"]) MiddleClickOn(A) return @@ -126,7 +129,8 @@ A.BorgCtrlShiftClick(src) /mob/living/silicon/robot/AltShiftClickOn(atom/A) A.BorgAltShiftClick(src) - +/mob/living/silicon/robot/ShiftMiddleClickOn(atom/A) + A.BorgShiftMiddleClick(src) /atom/proc/BorgShiftClick(mob/user) if(user.client && user.client.eye == user) @@ -148,6 +152,8 @@ /atom/proc/BorgAltShiftClick() return +/atom/proc/BorgShiftMiddleClick() + return // AIRLOCKS @@ -163,6 +169,8 @@ /obj/machinery/door/airlock/BorgAltShiftClick(mob/living/silicon/robot/user) // Enables emergency override on doors! Forwards to AI code. AIAltShiftClick(user) +/obj/machinery/door/airlock/BorgShiftMiddleClick(mob/living/silicon/robot/user) //Toggles door timing. Forwards to AI code. + AIShiftMiddleClick(user) // APC diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 12eca7544bd..30d3801afd0 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -817,9 +817,9 @@ About the new airlock wires panel: if(wires.is_cut(WIRE_SPEED)) to_chat(usr, "The timing wire is cut - Cannot alter timing.") else if(normalspeed) - normalspeed = 0 + normalspeed = FALSE else - normalspeed = 1 + normalspeed = TRUE if("open-close") open_close(usr) else @@ -864,6 +864,17 @@ About the new airlock wires panel: to_chat(user, "Emergency access has been disabled.") update_icon() +/obj/machinery/door/airlock/proc/toggle_speed(mob/user) + normalspeed = !normalspeed + if(wires.is_cut(WIRE_SPEED)) + to_chat(user, "The timing wire is cut - Cannot alter timing.") + else if(normalspeed) + normalspeed = TRUE + to_chat(user, "The door is now in normal mode.") + else if(!normalspeed) + normalspeed = FALSE + to_chat(user, "The door is now in fast mode.") + /obj/machinery/door/airlock/attackby(obj/item/C, mob/user, params) add_fingerprint(user) if(!headbutt_shock_check(user)) From 42cfb6868a5dcc65dd859b3d3897890a4ce93f56 Mon Sep 17 00:00:00 2001 From: TheYeetster1 <70362590+TheYeetster1@users.noreply.github.com> Date: Thu, 26 Aug 2021 15:04:26 -0400 Subject: [PATCH 2/4] Bolds Normal and Fast mode, Removes redundent code, fixes cut_speedwire --- code/game/machinery/doors/airlock.dm | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 30d3801afd0..4cb0a1471be 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -814,12 +814,7 @@ About the new airlock wires panel: safe = 1 to_chat(usr, "The door safeties have been enabled.") if("speed-toggle") - if(wires.is_cut(WIRE_SPEED)) - to_chat(usr, "The timing wire is cut - Cannot alter timing.") - else if(normalspeed) - normalspeed = FALSE - else - normalspeed = TRUE + toggle_speed(usr) if("open-close") open_close(usr) else @@ -865,15 +860,15 @@ About the new airlock wires panel: update_icon() /obj/machinery/door/airlock/proc/toggle_speed(mob/user) - normalspeed = !normalspeed if(wires.is_cut(WIRE_SPEED)) - to_chat(user, "The timing wire is cut - Cannot alter timing.") - else if(normalspeed) - normalspeed = TRUE - to_chat(user, "The door is now in normal mode.") - else if(!normalspeed) - normalspeed = FALSE - to_chat(user, "The door is now in fast mode.") + to_chat(user, "The timing wire has been cut - Cannot alter timing.") + return + normalspeed = !normalspeed + + if(normalspeed) + to_chat(user, "The door is now in normal mode.") + else + to_chat(user, "The door is now in fast mode.") /obj/machinery/door/airlock/attackby(obj/item/C, mob/user, params) add_fingerprint(user) From 4fbe8ca67ff26fcf45d70193dcc3818aca7dc47c Mon Sep 17 00:00:00 2001 From: TheYeetster1 <70362590+TheYeetster1@users.noreply.github.com> Date: Thu, 26 Aug 2021 15:15:35 -0400 Subject: [PATCH 3/4] removes CtrlShiftMiddleClick as it is not used --- code/_onclick/click.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index ae2341e3e7b..cb483601e26 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -366,13 +366,9 @@ /mob/proc/ShiftMiddleClickOn(atom/A) return -/atom/proc/CtrlShiftMiddleClick(mob/user) - return - /atom/proc/AltShiftClick(mob/user) return - /* Misc helpers From 9e25a01f36cb6293365b3358925903865f0bba28 Mon Sep 17 00:00:00 2001 From: TheYeetster1 <70362590+TheYeetster1@users.noreply.github.com> Date: Thu, 26 Aug 2021 15:26:13 -0400 Subject: [PATCH 4/4] Removes redundent onclick/ai code --- code/_onclick/ai.dm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index 9f0c2194472..74453f47c62 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -161,12 +161,6 @@ user.examinate(src) return -/atom/proc/AIShiftMiddleClickOn(mob/living/user) - return - -/obj/machinery/door/airlock/AIShiftMiddleClickOn(mob/living/user) - toggle_speed() - /atom/proc/AICtrlClick(mob/living/silicon/user) return