mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 04:51:32 +01:00
Add record programs, keeps old consoles to avoid converting main maps. (#7225)
Add record printing (fixes #6042)
This commit is contained in:
+39
-4
@@ -5,6 +5,7 @@
|
||||
|
||||
var/cmp_field = "id"
|
||||
var/list/excluded_fields
|
||||
var/list/excluded_print_fields
|
||||
|
||||
/datum/record/New()
|
||||
..()
|
||||
@@ -12,6 +13,10 @@
|
||||
excluded_fields = list()
|
||||
for(var/f in tmp_ex)
|
||||
excluded_fields[f] = f
|
||||
tmp_ex = excluded_print_fields
|
||||
excluded_print_fields = list()
|
||||
for(var/f in tmp_ex)
|
||||
excluded_print_fields[f] = f
|
||||
|
||||
/datum/record/proc/Copy(var/datum/copied)
|
||||
if(!copied)
|
||||
@@ -60,10 +65,37 @@
|
||||
else if(!to_update)
|
||||
record[variable] = src.vars[variable]
|
||||
|
||||
|
||||
/datum/record/proc/Printify(var/list/excluded = list()) // Mostyl to support old things or to use with serialization
|
||||
. = ""
|
||||
var/tmp_ex = excluded
|
||||
excluded = list()
|
||||
for(var/e in tmp_ex)
|
||||
excluded[e] = e
|
||||
var/exclusions = (SSrecords.excluded_fields | src.excluded_fields | excluded | src.excluded_print_fields)
|
||||
var/extendedVars = list() // To put last
|
||||
for(var/variable in src.vars)
|
||||
if(!exclusions[variable])
|
||||
if(istype(src.vars[variable], /datum/record))
|
||||
extendedVars[variable] = src.vars[variable]
|
||||
// . += "<h3>[variable]</h3>"
|
||||
// . += src.vars[variable].Printify()
|
||||
else if(istype(src.vars[variable], /list))
|
||||
. += "<b>[get_field_name(variable)]:</b><br>"
|
||||
. += jointext(src.vars[variable], "<br>")
|
||||
else if(istext(src.vars[variable]) || isnum(src.vars[variable]))
|
||||
. += "<b>[get_field_name(variable)]:</b> [src.vars[variable]]<br>"
|
||||
for(var/variable in extendedVars)
|
||||
. += "<center><h3>[get_field_name(variable)]</h3></center>"
|
||||
. += src.vars[variable].Printify()
|
||||
|
||||
/datum/record/proc/get_field_name(var/field)
|
||||
. = SSrecords.localized_fields[src.type][field]
|
||||
if(!.)
|
||||
return capitalize(replacetext(field, "_", " "))
|
||||
|
||||
// Record for storing general data, data tree top level datum
|
||||
/datum/record/general
|
||||
var/datum/record/medical/medical
|
||||
var/datum/record/security/security
|
||||
var/name = "New Record"
|
||||
var/real_rank = "Unassigned"
|
||||
var/rank = "Unassigned"
|
||||
@@ -80,9 +112,12 @@
|
||||
var/list/ccia_actions = list()
|
||||
var/icon/photo_front
|
||||
var/icon/photo_side
|
||||
var/list/advanced_fields = list("species", "citizenship", "faction", "religion", "ccia_record", "ccia_actions")
|
||||
var/datum/record/medical/medical
|
||||
var/datum/record/security/security
|
||||
var/list/advanced_fields = list("species", "citizenship", "employer", "religion", "ccia_record", "ccia_actions")
|
||||
cmp_field = "name"
|
||||
excluded_fields = list("photo_front", "photo_side", "advanced_fields")
|
||||
excluded_fields = list("photo_front", "photo_side", "advanced_fields", "real_rank")
|
||||
excluded_print_fields = list("ccia_actions")
|
||||
|
||||
/datum/record/general/New(var/mob/living/carbon/human/H, var/nid)
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user