diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index bcef0703eef..aa7c1d1a380 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -86,6 +86,8 @@ A.AICtrlClick(src) /mob/living/silicon/ai/AltClickOn(var/atom/A) A.AIAltClick(src) +/mob/living/silicon/ai/MiddleClickOn(var/atom/A) + A.AIMiddleClick(src) /* The following criminally helpful code is just the previous code cleaned up; @@ -102,7 +104,6 @@ Topic("aiDisable=7", list("aiDisable"="7"), 1) return - /atom/proc/AICtrlClick() return @@ -126,16 +127,26 @@ if(emagged) return if(!secondsElectrified) - // permenant shock + // permanent shock Topic("aiEnable=6", list("aiEnable"="6"), 1) // 1 meaning no window (consistency!) else - // disable/6 is not in Topic; disable/5 disables both temporary and permenant shock + // disable/6 is not in Topic; disable/5 disables both temporary and permanent shock Topic("aiDisable=5", list("aiDisable"="5"), 1) return /obj/machinery/turretid/AIAltClick() //toggles lethal on turrets src.lethal = !src.lethal src.updateTurrets() + +/atom/proc/AIMiddleClick() + return + +/obj/machinery/door/airlock/AIMiddleClick() // Toggles door bolt lights. + if(!src.lights) + Topic("aiEnable=10", list("aiEnable"="10"), 1) // 1 meaning no window (consistency!) + else + Topic("aiDisable=10", list("aiDisable"="10"), 1) + return // // Override AdjacentQuick for AltClicking diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index 8685c7e79f3..34959362737 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -241,4 +241,4 @@ else if (sorttext(a.c_tag, b.c_tag) < 0) L.Swap(j, j + 1) - return L \ No newline at end of file + return L diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 33042d95331..f99567472d6 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -894,10 +894,11 @@ About the new airlock wires panel: if(1) //disable idscan if(src.isWireCut(AIRLOCK_WIRE_IDSCAN)) - usr << "The IdScan wire has been cut - So, you can't disable it, but it is already disabled anyway." + usr << "The IdScan wire has been cut - The IdScan feature is already disabled." else if(src.aiDisabledIdScanner) - usr << "You've already disabled the IdScan feature." + usr << "The IdScan feature is already disabled." else + usr << "The IdScan feature has been disabled." src.aiDisabledIdScanner = 1 if(2) //disrupt main power @@ -914,36 +915,19 @@ About the new airlock wires panel: if(4) //drop door bolts if(src.isWireCut(AIRLOCK_WIRE_DOOR_BOLTS)) - usr << "You can't drop the door bolts - The door bolt dropping wire has been cut." - else if(src.locked!=1) - src.locked = 1 - update_icon() + usr << "The door bolt control wire has been cut - The door bolts are already dropped." + else if(src.locked) + usr << "The door bolts are already dropped." + else + src.lock() + usr << "The door bolts have been dropped." if(5) //un-electrify door if(src.isWireCut(AIRLOCK_WIRE_ELECTRIFY)) - usr << text("Can't un-electrify the airlock - The electrification wire is cut.") - else if(src.secondsElectrified==-1 || src.secondsElectrified>0) + usr << text("The electrification wire is cut - Cannot un-electrify the door.") + else if(secondsElectrified != 0) usr << "The door is now un-electrified." src.secondsElectrified = 0 - - if(8) - // Safeties! We don't need no stinking safeties! - if (src.isWireCut(AIRLOCK_WIRE_SAFETY)) - usr << text("Control to door sensors is disabled.") - else if (src.safe) - safe = 0 - else - usr << text("Firmware reports safeties already overriden.") - - if(9) - // Door speed control - if(src.isWireCut(AIRLOCK_WIRE_SPEED)) - usr << text("Control to door timing circuitry has been severed.") - else if (src.normalspeed) - normalspeed = 0 - else - usr << text("Door timing circurity already accellerated.") - if(7) //close door if(src.welded) @@ -954,15 +938,31 @@ About the new airlock wires panel: close() else open() - + if(8) + // Safeties! We don't need no stinking safeties! + if (src.isWireCut(AIRLOCK_WIRE_SAFETY)) + usr << text("Control to door sensors is disabled.") + else if (src.safe) + safe = 0 + else + usr << text("Firmware reports safeties already overridden.") + if(9) + // Door speed control + if(src.isWireCut(AIRLOCK_WIRE_SPEED)) + usr << text("Control to door timing circuitry has been severed.") + else if (src.normalspeed) + normalspeed = 0 + else + usr << text("Door timing circuity already accelerated.") if(10) // Bolt lights if(src.isWireCut(AIRLOCK_WIRE_LIGHT)) - usr << text("Control to door bolt lights has been severed.") + usr << "The bolt lights wire has been cut - The door bolt lights are already disabled." else if (src.lights) lights = 0 + usr << "The door bolt lights have been disabled." else - usr << text("Door bolt lights are already disabled!") + usr << "The door bolt lights are already disabled!" else if(href_list["aiEnable"]) var/code = text2num(href_list["aiEnable"]) @@ -970,20 +970,23 @@ About the new airlock wires panel: if(1) //enable idscan if(src.isWireCut(AIRLOCK_WIRE_IDSCAN)) - usr << "You can't enable IdScan - The IdScan wire has been cut." + usr << "The IdScan wire has been cut - The IdScan feature cannot be enabled." else if(src.aiDisabledIdScanner) + usr << "The IdScan feature has been enabled." src.aiDisabledIdScanner = 0 else - usr << "The IdScan feature is not disabled." + usr << "The IdScan feature is already enabled." if(4) //raise door bolts if(src.isWireCut(AIRLOCK_WIRE_DOOR_BOLTS)) - usr << text("The door bolt control wire is cut - you can't raise the door bolts.
\n") + usr << "The door bolt control wire has been cut - The door bolts cannot be raised." else if(!src.locked) - usr << text("The door bolts are already up.
\n") + usr << "The door bolts are already raised." else - src.unlock() - + if(src.unlock()) + usr << "The door bolts have been raised." + else + usr << "Unable to raise door bolts." if(5) //electrify door for 30 seconds if(src.isWireCut(AIRLOCK_WIRE_ELECTRIFY)) @@ -991,7 +994,7 @@ About the new airlock wires panel: else if(src.secondsElectrified==-1) usr << text("The door is already indefinitely electrified. You'd have to un-electrify it before you can re-electrify it with a non-forever duration.
\n") else if(src.secondsElectrified!=0) - usr << text("The door is already electrified. You can't re-electrify it while it's already electrified.
\n") + usr << text("The door is already electrified. Cannot re-electrify it while it's already electrified.
\n") else shockedby += text("\[[time_stamp()]\][usr](ckey:[usr.ckey])") usr.attack_log += text("\[[time_stamp()]\] Electrified the [name] at [x] [y] [z]") @@ -1002,7 +1005,6 @@ About the new airlock wires panel: src.secondsElectrified-=1 if(src.secondsElectrified<0) src.secondsElectrified = 0 - src.updateUsrDialog() sleep(10) if(6) //electrify door indefinitely @@ -1017,27 +1019,6 @@ About the new airlock wires panel: usr.attack_log += text("\[[time_stamp()]\] Electrified the [name] at [x] [y] [z]") usr << "The door is now electrified." src.secondsElectrified = -1 - - if (8) // Not in order >.> - // Safeties! Maybe we do need some stinking safeties! - if (src.isWireCut(AIRLOCK_WIRE_SAFETY)) - usr << text("Control to door sensors is disabled.") - else if (!src.safe) - safe = 1 - src.updateUsrDialog() - else - usr << text("Firmware reports safeties already in place.") - - if(9) - // Door speed control - if(src.isWireCut(AIRLOCK_WIRE_SPEED)) - usr << text("Control to door timing circuitry has been severed.") - else if (!src.normalspeed) - normalspeed = 1 - src.updateUsrDialog() - else - usr << text("Door timing circurity currently operating normally.") - if(7) //open door if(src.welded) @@ -1048,16 +1029,31 @@ About the new airlock wires panel: open() else close() - + if (8) + // Safeties! Maybe we do need some stinking safeties! + if (src.isWireCut(AIRLOCK_WIRE_SAFETY)) + usr << text("Control to door sensors is disabled.") + else if (!src.safe) + safe = 1 + else + usr << text("Firmware reports safeties already in place.") + if(9) + // Door speed control + if(src.isWireCut(AIRLOCK_WIRE_SPEED)) + usr << text("Control to door timing circuitry has been severed.") + else if (!src.normalspeed) + normalspeed = 1 + else + usr << text("Door timing circuity currently operating normally.") if(10) // Bolt lights if(src.isWireCut(AIRLOCK_WIRE_LIGHT)) - usr << text("Control to door bolt lights has been severed.") + usr << "The bolt lights wire has been cut - The door bolt lights cannot be enabled." else if (!src.lights) lights = 1 - src.updateUsrDialog() + usr << "The door bolt lights have been enabled" else - usr << text("Door bolt lights are already enabled!") + usr << "The door bolt lights are already enabled!" add_fingerprint(usr) update_icon() @@ -1263,13 +1259,15 @@ About the new airlock wires panel: update_icon() /obj/machinery/door/airlock/proc/unlock(var/forced=0) - if (!src.locked) return + if (!src.locked) return 0 if(forced || src.arePowerSystemsOn()) //only can raise bolts if power's on src.locked = 0 for(var/mob/M in range(1,src)) M.show_message("You hear a click from the bottom of the door.", 2) update_icon() + return 1 + return 0 /obj/machinery/door/airlock/New() ..()