From a2511bc8bbff570e2f4773506a5704ccdb10407c Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Sat, 26 Sep 2020 16:46:14 +0200 Subject: [PATCH] tgui: Interface improvements (#990) Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com> Co-authored-by: Azarak --- code/game/objects/items/stacks/stack.dm | 6 -- code/modules/mining/laborcamp/laborshuttle.dm | 29 ++++----- code/modules/shuttle/computer.dm | 13 ++++ code/modules/shuttle/shuttle.dm | 2 - code/modules/shuttle/syndicate.dm | 36 ++++++----- .../tgui/interfaces/ExosuitControlConsole.js | 11 +++- tgui/packages/tgui/interfaces/Holopad.js | 4 +- .../tgui/interfaces/ParticleAccelerator.js | 64 ------------------- .../tgui/interfaces/ShuttleConsole.js | 28 +++++--- tgui/packages/tgui/interfaces/Stack.js | 51 +++++++++++++-- tgui/packages/tgui/interfaces/Teleporter.js | 31 ++++----- .../packages/tgui/interfaces/TurretControl.js | 2 +- tgui/public/tgui-common.chunk.js | 2 +- tgui/public/tgui-panel.bundle.js | 2 +- 14 files changed, 133 insertions(+), 148 deletions(-) delete mode 100644 tgui/packages/tgui/interfaces/ParticleAccelerator.js diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 75e40b2b9c3..89e5f9ca6ac 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -179,12 +179,6 @@ return TRUE return FALSE -/obj/item/stack/attack_self(mob/user) - interact(user) - -/obj/item/stack/interact(mob/user) - ui_interact(user) - /obj/item/stack/ui_state(mob/user) return GLOB.hands_state diff --git a/code/modules/mining/laborcamp/laborshuttle.dm b/code/modules/mining/laborcamp/laborshuttle.dm index 2923e8447e7..cc304e4505c 100644 --- a/code/modules/mining/laborcamp/laborshuttle.dm +++ b/code/modules/mining/laborcamp/laborshuttle.dm @@ -13,19 +13,16 @@ circuit = /obj/item/circuitboard/computer/labor_shuttle/one_way req_access = list( ) -/obj/machinery/computer/shuttle/labor/one_way/ui_act(action, params) - if(!allowed(usr)) - to_chat(usr, "Access denied.") - return - - switch(action) - if("move") - var/obj/docking_port/mobile/M = SSshuttle.getShuttle("laborcamp") - if(!M) - to_chat(usr, "Cannot locate shuttle!") - return - var/obj/docking_port/stationary/S = M.get_docked() - if(S?.name == "laborcamp_away") - to_chat(usr, "Shuttle is already at the outpost!") - return - return ..() +/obj/machinery/computer/shuttle/labor/one_way/launch_check(mob/user) + . = ..() + if(!.) + return FALSE + var/obj/docking_port/mobile/M = SSshuttle.getShuttle("laborcamp") + if(!M) + to_chat(user, "Cannot locate shuttle!") + return FALSE + var/obj/docking_port/stationary/S = M.get_docked() + if(S?.name == "laborcamp_away") + to_chat(user, "Shuttle is already at the outpost!") + return FALSE + return TRUE diff --git a/code/modules/shuttle/computer.dm b/code/modules/shuttle/computer.dm index d0dbf15d56c..2abb47782f9 100644 --- a/code/modules/shuttle/computer.dm +++ b/code/modules/shuttle/computer.dm @@ -49,6 +49,8 @@ data["status"] = "Igniting" if(SHUTTLE_IDLE) data["status"] = "Idle" + if(SHUTTLE_RECHARGING) + data["status"] = "Recharging" else data["status"] = "In Transit" for(var/obj/docking_port/stationary/S in SSshuttle.stationary) @@ -70,6 +72,15 @@ data["status"] = "Locked" return data +/** + * Checks if we are allowed to launch the shuttle, for special cases + * + * Arguments: + * * user - The mob trying to initiate the launch + */ +/obj/machinery/computer/shuttle/proc/launch_check(mob/user) + return TRUE + /obj/machinery/computer/shuttle/ui_act(action, params) . = ..() if(.) @@ -80,6 +91,8 @@ switch(action) if("move") + if(!launch_check(usr)) + return var/obj/docking_port/mobile/M = SSshuttle.getShuttle(shuttleId) if(M.launch_status == ENDGAME_LAUNCHED) to_chat(usr, "You've already escaped. Never going back to that place again!") diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index c123e4a4e34..8d10102d810 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -740,8 +740,6 @@ else dst = destination return "In transit to [dst?.name || "unknown location"]" - else if(mode == SHUTTLE_RECHARGING) - return "[docked_at], recharging [getTimerStr()]" else return docked_at diff --git a/code/modules/shuttle/syndicate.dm b/code/modules/shuttle/syndicate.dm index cb436a218a1..66e2072e8cd 100644 --- a/code/modules/shuttle/syndicate.dm +++ b/code/modules/shuttle/syndicate.dm @@ -17,23 +17,16 @@ return FALSE return ..() -/obj/machinery/computer/shuttle/syndicate/ui_act(action, params) - if(!allowed(usr)) - to_chat(usr, "Access denied.") - return - - switch(action) - if("move") - if(istype(src, /obj/machinery/computer/shuttle/syndicate/drop_pod)) - if(!is_centcom_level(z)) - to_chat(usr, "Pods are one way!") - return - var/obj/item/circuitboard/computer/syndicate_shuttle/board = circuit - if(board?.challenge && world.time < SYNDICATE_CHALLENGE_TIMER) - to_chat(usr, "You've issued a combat challenge to the station! You've got to give them at least [DisplayTimeText(SYNDICATE_CHALLENGE_TIMER - world.time)] more to allow them to prepare.") - return - board.moved = TRUE - return ..() +/obj/machinery/computer/shuttle/syndicate/launch_check(mob/user) + . = ..() + if(!.) + return FALSE + var/obj/item/circuitboard/computer/syndicate_shuttle/board = circuit + if(board?.challenge && world.time < SYNDICATE_CHALLENGE_TIMER) + to_chat(user, "You've issued a combat challenge to the station! You've got to give them at least [DisplayTimeText(SYNDICATE_CHALLENGE_TIMER - world.time)] more to allow them to prepare.") + return FALSE + board.moved = TRUE + return TRUE /obj/machinery/computer/shuttle/syndicate/recall name = "syndicate shuttle recall terminal" @@ -50,6 +43,15 @@ shuttleId = "steel_rain" possible_destinations = null +/obj/machinery/computer/shuttle/syndicate/drop_pod/launch_check(mob/user) + . = ..() + if(!.) + return FALSE + if(!is_centcom_level(z)) + to_chat(user, "Pods are one way!") + return FALSE + return TRUE + /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate name = "syndicate shuttle navigation computer" desc = "Used to designate a precise transit location for the syndicate shuttle." diff --git a/tgui/packages/tgui/interfaces/ExosuitControlConsole.js b/tgui/packages/tgui/interfaces/ExosuitControlConsole.js index 4e318a6d1b9..974b6171369 100644 --- a/tgui/packages/tgui/interfaces/ExosuitControlConsole.js +++ b/tgui/packages/tgui/interfaces/ExosuitControlConsole.js @@ -28,7 +28,7 @@ export const ExosuitControlConsole = (props, context) => {