TGUI for RCD , Radial menu for RLD & Silo Link for RLD & Plumbing RCD (#71710)

This commit is contained in:
SyncIt21
2022-12-12 15:22:32 +05:30
committed by GitHub
parent 7cb7ee497c
commit cfb41eb05c
14 changed files with 800 additions and 560 deletions
@@ -59,42 +59,17 @@
base_console.internal_rcd.pre_attack(rcd_target, owner, TRUE) //Activate the RCD and force it to work remotely!
playsound(target_turf, 'sound/items/deconstruct.ogg', 60, TRUE)
/datum/action/innate/construction/switch_mode
name = "Switch Mode"
button_icon_state = "builder_mode"
/datum/action/innate/construction/configure_mode
name = "Configure RCD"
button_icon = 'icons/obj/tools.dmi'
button_icon_state = "rcd"
/datum/action/innate/construction/switch_mode/Activate()
if(..())
return
var/list/buildlist = list("Walls and Floors" = RCD_FLOORWALL, "Airlocks" = RCD_AIRLOCK, "Deconstruction" = RCD_DECONSTRUCT, "Windows and Grilles" = RCD_WINDOWGRILLE)
var/buildmode = tgui_input_list(owner, "Set construction mode", "Base Console", buildlist)
if(isnull(buildmode))
return
if(isnull(buildlist[buildmode]))
return
check_rcd()
base_console.internal_rcd.construction_mode = buildlist[buildmode]
to_chat(owner, "Build mode is now [buildmode].")
/datum/action/innate/construction/airlock_type
name = "Select Airlock Type"
button_icon_state = "airlock_select"
/datum/action/innate/construction/airlock_type/Activate()
/datum/action/innate/construction/configure_mode/Activate()
if(..())
return
check_rcd()
base_console.internal_rcd.change_airlock_setting(owner, remote_eye)
/datum/action/innate/construction/window_type
name = "Select Window Glass"
button_icon_state = "window_select"
/datum/action/innate/construction/window_type/Activate()
if(..())
return
check_rcd()
base_console.internal_rcd.toggle_window_glass(owner)
base_console.internal_rcd.ui_always_active = TRUE
base_console.internal_rcd.ui_interact(owner)
///Generic action used with base construction consoles to build anything that can't be built with an RCD
/datum/action/innate/construction/place_structure
@@ -15,10 +15,8 @@
structures["turrets"] = 4
/obj/machinery/computer/camera_advanced/base_construction/aux/populate_actions_list()
actions += new /datum/action/innate/construction/switch_mode(src) //Action for switching the RCD's build modes
actions += new /datum/action/innate/construction/configure_mode(src) //Action for switching the RCD's build modes
actions += new /datum/action/innate/construction/build(src) //Action for using the RCD
actions += new /datum/action/innate/construction/airlock_type(src) //Action for setting the airlock type
actions += new /datum/action/innate/construction/window_type(src) //Action for setting the window type
actions += new /datum/action/innate/construction/place_structure/fan(src) //Action for spawning fans
actions += new /datum/action/innate/construction/place_structure/turret(src) //Action for spawning turrets
@@ -11,5 +11,5 @@
internal_rcd.matter = internal_rcd.max_matter
/obj/machinery/computer/camera_advanced/base_construction/centcom/populate_actions_list()
actions += new /datum/action/innate/construction/switch_mode(src) //Action for switching the RCD's build modes
actions += new /datum/action/innate/construction/configure_mode(src) //Action for switching the RCD's build modes
actions += new /datum/action/innate/construction/build(src) //Action for using the RCD