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