mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-12 08:36:00 +01:00
@@ -20,7 +20,6 @@
|
||||
name = "Vault Raider Objectives"
|
||||
info = "<b>Objectives #1</b>: Find out what is hidden in Kosmicheskaya Stantsiya 13s Vault"
|
||||
|
||||
|
||||
/// Vault controller for use on the derelict/KS13.
|
||||
/obj/machinery/computer/vaultcontroller
|
||||
name = "vault controller"
|
||||
@@ -38,15 +37,10 @@
|
||||
var/siphoned_power = 0
|
||||
var/siphon_max = 1e7
|
||||
|
||||
ui_x = 300
|
||||
ui_y = 120
|
||||
|
||||
|
||||
/obj/machinery/computer/monitor/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>It appears to be powered via a cable connector.</span>"
|
||||
|
||||
|
||||
//Checks for cable connection, charges if possible.
|
||||
/obj/machinery/computer/vaultcontroller/process()
|
||||
if(siphoned_power >= siphon_max)
|
||||
@@ -55,13 +49,11 @@
|
||||
if(attached_cable)
|
||||
attempt_siphon()
|
||||
|
||||
|
||||
///Looks for a cable connection beneath the machine.
|
||||
/obj/machinery/computer/vaultcontroller/proc/update_cable()
|
||||
var/turf/T = get_turf(src)
|
||||
attached_cable = locate(/obj/structure/cable) in T
|
||||
|
||||
|
||||
///Initializes airlock links.
|
||||
/obj/machinery/computer/vaultcontroller/proc/find_airlocks()
|
||||
for(var/obj/machinery/door/airlock/A in GLOB.airlocks)
|
||||
@@ -73,7 +65,6 @@
|
||||
door2 = A
|
||||
break
|
||||
|
||||
|
||||
///Tries to charge from powernet excess, no upper limit except max charge.
|
||||
/obj/machinery/computer/vaultcontroller/proc/attempt_siphon()
|
||||
var/surpluspower = clamp(attached_cable.surplus(), 0, (siphon_max - siphoned_power))
|
||||
@@ -81,7 +72,6 @@
|
||||
attached_cable.add_load(surpluspower)
|
||||
siphoned_power += surpluspower
|
||||
|
||||
|
||||
///Handles the doors closing
|
||||
/obj/machinery/computer/vaultcontroller/proc/cycle_close(obj/machinery/door/airlock/A)
|
||||
A.safe = FALSE //Make sure its forced closed, always
|
||||
@@ -89,14 +79,12 @@
|
||||
A.close()
|
||||
A.bolt()
|
||||
|
||||
|
||||
///Handles the doors opening
|
||||
/obj/machinery/computer/vaultcontroller/proc/cycle_open(obj/machinery/door/airlock/A)
|
||||
A.unbolt()
|
||||
A.open()
|
||||
A.bolt()
|
||||
|
||||
|
||||
///Attempts to lock the vault doors
|
||||
/obj/machinery/computer/vaultcontroller/proc/lock_vault()
|
||||
if(door1 && !door1.density)
|
||||
@@ -106,7 +94,6 @@
|
||||
if(door1.density && door1.locked && door2.density && door2.locked)
|
||||
locked = TRUE
|
||||
|
||||
|
||||
///Attempts to unlock the vault doors
|
||||
/obj/machinery/computer/vaultcontroller/proc/unlock_vault()
|
||||
if(door1 && door1.density)
|
||||
@@ -116,7 +103,6 @@
|
||||
if(!door1.density && door1.locked && !door2.density && door2.locked)
|
||||
locked = FALSE
|
||||
|
||||
|
||||
///Attempts to lock/unlock vault doors, if machine is charged.
|
||||
/obj/machinery/computer/vaultcontroller/proc/activate_lock()
|
||||
if(siphoned_power < siphon_max)
|
||||
@@ -128,15 +114,12 @@
|
||||
else
|
||||
lock_vault()
|
||||
|
||||
|
||||
/obj/machinery/computer/vaultcontroller/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \
|
||||
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
/obj/machinery/computer/vaultcontroller/ui_interact(mob/user, datum/tgui/ui)
|
||||
ui = SStgui.try_update_ui(user, src, ui)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "VaultController", name, ui_x, ui_y, master_ui, state)
|
||||
ui = new(user, src, "VaultController", name)
|
||||
ui.open()
|
||||
|
||||
|
||||
/obj/machinery/computer/vaultcontroller/ui_act(action, params)
|
||||
if(..())
|
||||
return
|
||||
@@ -144,7 +127,6 @@
|
||||
if("togglelock")
|
||||
activate_lock()
|
||||
|
||||
|
||||
/obj/machinery/computer/vaultcontroller/ui_data()
|
||||
var/list/data = list()
|
||||
data["stored"] = siphoned_power
|
||||
@@ -152,7 +134,6 @@
|
||||
data["doorstatus"] = locked
|
||||
return data
|
||||
|
||||
|
||||
///Airlock that can't be deconstructed, broken or hacked.
|
||||
/obj/machinery/door/airlock/vault/derelict
|
||||
locked = TRUE
|
||||
@@ -161,14 +142,12 @@
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||
id_tag = "derelictvault"
|
||||
|
||||
|
||||
///Overrides screwdriver attack to prevent all deconstruction and hacking.
|
||||
/obj/machinery/door/airlock/vault/derelict/attackby(obj/item/C, mob/user, params)
|
||||
if(C.tool_behaviour == TOOL_SCREWDRIVER)
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
// So drones can teach borgs and AI dronespeak. For best effect, combine with mother drone lawset.
|
||||
/obj/item/dronespeak_manual
|
||||
name = "dronespeak manual"
|
||||
|
||||
Reference in New Issue
Block a user