mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
Merge pull request #16598 from TheYeetster1/Shift+Middle-Click-toggle-door-timing
Makes AIs and borgs able to use Shift+Middle+Click to toggle door timings.
This commit is contained in:
@@ -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,6 +153,9 @@
|
||||
/atom/proc/AIAltShiftClick()
|
||||
return
|
||||
|
||||
/atom/proc/AIShiftMiddleClick()
|
||||
return
|
||||
|
||||
/atom/proc/AIShiftClick(mob/living/user) // borgs use this too
|
||||
if(user.client)
|
||||
user.examinate(src)
|
||||
@@ -215,3 +223,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)
|
||||
|
||||
@@ -363,9 +363,11 @@
|
||||
A.AltShiftClick(src)
|
||||
return
|
||||
|
||||
/atom/proc/AltShiftClick(mob/user)
|
||||
/mob/proc/ShiftMiddleClickOn(atom/A)
|
||||
return
|
||||
|
||||
/atom/proc/AltShiftClick(mob/user)
|
||||
return
|
||||
|
||||
/*
|
||||
Misc helpers
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -814,12 +814,7 @@ About the new airlock wires panel:
|
||||
safe = 1
|
||||
to_chat(usr, "<span class='notice'>The door safeties have been enabled.</span>")
|
||||
if("speed-toggle")
|
||||
if(wires.is_cut(WIRE_SPEED))
|
||||
to_chat(usr, "<span class='warning'>The timing wire is cut - Cannot alter timing.</span>")
|
||||
else if(normalspeed)
|
||||
normalspeed = 0
|
||||
else
|
||||
normalspeed = 1
|
||||
toggle_speed(usr)
|
||||
if("open-close")
|
||||
open_close(usr)
|
||||
else
|
||||
@@ -870,6 +865,17 @@ About the new airlock wires panel:
|
||||
to_chat(user, "<span class='notice'>Emergency access has been disabled.</span>")
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/door/airlock/proc/toggle_speed(mob/user)
|
||||
if(wires.is_cut(WIRE_SPEED))
|
||||
to_chat(user, "<span class='warning'>The timing wire has been cut - Cannot alter timing.</span>")
|
||||
return
|
||||
normalspeed = !normalspeed
|
||||
|
||||
if(normalspeed)
|
||||
to_chat(user, "<span class='notice'>The door is now in <b>normal</b> mode.</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>The door is now in <b>fast</b> mode.</span>")
|
||||
|
||||
/obj/machinery/door/airlock/attackby(obj/item/C, mob/user, params)
|
||||
add_fingerprint(user)
|
||||
if(!headbutt_shock_check(user))
|
||||
|
||||
Reference in New Issue
Block a user