lazy datacore fix

This commit is contained in:
Letter N
2020-08-06 17:27:51 +08:00
parent f2f6416105
commit 8f0f30f6f7
4 changed files with 42 additions and 6 deletions

View File

@@ -91,6 +91,42 @@
if(foundrecord) if(foundrecord)
foundrecord.fields["rank"] = assignment foundrecord.fields["rank"] = assignment
/datum/datacore/proc/get_manifest_tg() //copypasted from tg, renamed to avoid namespace conflicts
var/list/manifest_out = list()
var/list/departments = list(
"Command" = GLOB.command_positions,
"Security" = GLOB.security_positions,
"Engineering" = GLOB.engineering_positions,
"Medical" = GLOB.medical_positions,
"Science" = GLOB.science_positions,
"Supply" = GLOB.supply_positions,
"Service" = GLOB.civilian_positions,
"Silicon" = GLOB.nonhuman_positions
)
for(var/datum/data/record/t in GLOB.data_core.general)
var/name = t.fields["name"]
var/rank = t.fields["rank"]
var/has_department = FALSE
for(var/department in departments)
var/list/jobs = departments[department]
if(rank in jobs)
if(!manifest_out[department])
manifest_out[department] = list()
manifest_out[department] += list(list(
"name" = name,
"rank" = rank
))
has_department = TRUE
break
if(!has_department)
if(!manifest_out["Misc"])
manifest_out["Misc"] = list()
manifest_out["Misc"] += list(list(
"name" = name,
"rank" = rank
))
return manifest_out
/datum/datacore/proc/get_manifest(monochrome, OOC) /datum/datacore/proc/get_manifest(monochrome, OOC)
var/list/heads = list() var/list/heads = list()
var/list/sec = list() var/list/sec = list()

View File

@@ -60,7 +60,7 @@
else if(!opened && our_pressure >= open_pressure) else if(!opened && our_pressure >= open_pressure)
open() open()
/obj/machinery/atmospherics/components/unary/relief_valve/ui_interact(mob/user, datum/tgui/ui) /obj/machinery/atmospherics/components/binary/relief_valve/ui_interact(mob/user, datum/tgui/ui)
ui = SStgui.try_update_ui(user, src, ui) ui = SStgui.try_update_ui(user, src, ui)
if(!ui) if(!ui)
ui = new(user, src, "AtmosRelief", name) ui = new(user, src, "AtmosRelief", name)
@@ -78,7 +78,7 @@
return return
switch(action) switch(action)
if("open_pressure") if("open_pressure")
var/pressure = params["open_pressure"] var/pressure = params["pressure"]
if(pressure == "max") if(pressure == "max")
pressure = 50*ONE_ATMOSPHERE pressure = 50*ONE_ATMOSPHERE
. = TRUE . = TRUE
@@ -93,7 +93,7 @@
open_pressure = clamp(pressure, close_pressure, 50*ONE_ATMOSPHERE) open_pressure = clamp(pressure, close_pressure, 50*ONE_ATMOSPHERE)
investigate_log("open pressure was set to [open_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) investigate_log("open pressure was set to [open_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS)
if("close_pressure") if("close_pressure")
var/pressure = params["close_pressure"] var/pressure = params["pressure"]
if(pressure == "max") if(pressure == "max")
pressure = open_pressure pressure = open_pressure
. = TRUE . = TRUE

View File

@@ -79,7 +79,7 @@
return return
switch(action) switch(action)
if("open_pressure") if("open_pressure")
var/pressure = params["open_pressure"] var/pressure = params["pressure"]
if(pressure == "max") if(pressure == "max")
pressure = 50*ONE_ATMOSPHERE pressure = 50*ONE_ATMOSPHERE
. = TRUE . = TRUE
@@ -94,7 +94,7 @@
open_pressure = clamp(pressure, close_pressure, 50*ONE_ATMOSPHERE) open_pressure = clamp(pressure, close_pressure, 50*ONE_ATMOSPHERE)
investigate_log("open pressure was set to [open_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) investigate_log("open pressure was set to [open_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS)
if("close_pressure") if("close_pressure")
var/pressure = params["close_pressure"] var/pressure = params["pressure"]
if(pressure == "max") if(pressure == "max")
pressure = open_pressure pressure = open_pressure
. = TRUE . = TRUE

View File

@@ -10,7 +10,7 @@
/datum/computer_file/program/crew_manifest/ui_static_data(mob/user) /datum/computer_file/program/crew_manifest/ui_static_data(mob/user)
var/list/data = list() var/list/data = list()
data["manifest"] = GLOB.data_core.get_manifest() data["manifest"] = GLOB.data_core.get_manifest_tg()
return data return data
/datum/computer_file/program/crew_manifest/ui_data(mob/user) /datum/computer_file/program/crew_manifest/ui_data(mob/user)