mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 03:33:21 +00:00
fancy new manifest
This commit is contained in:
@@ -107,6 +107,110 @@
|
|||||||
//This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().
|
//This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().
|
||||||
var/locked[] = list()
|
var/locked[] = list()
|
||||||
|
|
||||||
|
proc/get_manifest(monochrome)
|
||||||
|
var/list/heads = new()
|
||||||
|
var/list/sec = new()
|
||||||
|
var/list/eng = new()
|
||||||
|
var/list/med = new()
|
||||||
|
var/list/sci = new()
|
||||||
|
var/list/civ = new()
|
||||||
|
var/list/bot = new()
|
||||||
|
var/list/misc = new()
|
||||||
|
|
||||||
|
var/dat = {"
|
||||||
|
<head><style>
|
||||||
|
.manifest {border-collapse:collapse;}
|
||||||
|
.manifest td, th {border:1px solid [monochrome?"black":"#DEF; background-color:white; color:black"]; padding:.25em}
|
||||||
|
.manifest th {height: 2em; [monochrome?"border-top-width: 3px":"background-color: #48C; color:white"]}
|
||||||
|
.manifest tr.head th { [monochrome?"border-top-width: 1px":"background-color: #488;"] }
|
||||||
|
.manifest td:first-child {text-align:right}
|
||||||
|
.manifest tr.alt td {[monochrome?"border-top-width: 2px":"background-color: #DEF"]}
|
||||||
|
</style></head>
|
||||||
|
<table class="manifest">
|
||||||
|
<tr class='head'><th>Name</th><th>Rank</th></tr>
|
||||||
|
"}
|
||||||
|
var/even = 0
|
||||||
|
|
||||||
|
// sort mobs
|
||||||
|
for(var/datum/data/record/t in data_core.general)
|
||||||
|
var/name = t.fields["name"]
|
||||||
|
var/rank = t.fields["rank"]
|
||||||
|
|
||||||
|
//world << "[name]: [rank]"
|
||||||
|
|
||||||
|
if(rank in command_positions)
|
||||||
|
heads[name] = rank
|
||||||
|
if(rank in security_positions)
|
||||||
|
sec[name] = rank
|
||||||
|
continue
|
||||||
|
if(rank in engineering_positions)
|
||||||
|
eng[name] = rank
|
||||||
|
continue
|
||||||
|
if(rank in medical_positions)
|
||||||
|
med[name] = rank
|
||||||
|
continue
|
||||||
|
if(rank in science_positions)
|
||||||
|
sci[name] = rank
|
||||||
|
continue
|
||||||
|
if(rank in civilian_positions)
|
||||||
|
civ[name] = rank
|
||||||
|
continue
|
||||||
|
if(rank in nonhuman_positions)
|
||||||
|
bot[name] = rank
|
||||||
|
continue
|
||||||
|
|
||||||
|
if(!(name in heads))
|
||||||
|
misc[name] = rank
|
||||||
|
|
||||||
|
if(heads.len > 0)
|
||||||
|
dat += "<tr><th colspan=2>Heads</th></tr>"
|
||||||
|
for(name in heads)
|
||||||
|
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[heads[name]]</td></tr>"
|
||||||
|
even = !even
|
||||||
|
if(sec.len > 0)
|
||||||
|
dat += "<tr><th colspan=2>Security</th></tr>"
|
||||||
|
for(name in sec)
|
||||||
|
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[sec[name]]</td></tr>"
|
||||||
|
even = !even
|
||||||
|
if(eng.len > 0)
|
||||||
|
dat += "<tr><th colspan=2>Engineering</th></tr>"
|
||||||
|
for(name in eng)
|
||||||
|
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[eng[name]]</td></tr>"
|
||||||
|
even = !even
|
||||||
|
if(med.len > 0)
|
||||||
|
dat += "<tr><th colspan=2>Medical</th></tr>"
|
||||||
|
for(name in med)
|
||||||
|
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[med[name]]</td></tr>"
|
||||||
|
even = !even
|
||||||
|
if(sci.len > 0)
|
||||||
|
dat += "<tr><th colspan=2>Science</th></tr>"
|
||||||
|
for(name in sci)
|
||||||
|
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[sci[name]]</td></tr>"
|
||||||
|
even = !even
|
||||||
|
if(civ.len > 0)
|
||||||
|
dat += "<tr><th colspan=2>Civilian</th></tr>"
|
||||||
|
for(name in civ)
|
||||||
|
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[civ[name]]</td></tr>"
|
||||||
|
even = !even
|
||||||
|
// in case somebody is insane and added them to the manifest, why not
|
||||||
|
if(bot.len > 0)
|
||||||
|
dat += "<tr><th colspan=2>Silicon</th></tr>"
|
||||||
|
for(name in bot)
|
||||||
|
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[bot[name]]</td></tr>"
|
||||||
|
even = !even
|
||||||
|
// misc guys
|
||||||
|
if(misc.len > 0)
|
||||||
|
dat += "<tr><th colspan=2>Miscellaneous</th></tr>"
|
||||||
|
for(name in misc)
|
||||||
|
dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[misc[name]]</td></tr>"
|
||||||
|
even = !even
|
||||||
|
|
||||||
|
|
||||||
|
dat += "</table>"
|
||||||
|
dat = dd_replacetext(dat, "\n", "") // so it can be placed on paper correctly
|
||||||
|
dat = dd_replacetext(dat, "\t", "")
|
||||||
|
return dat
|
||||||
|
|
||||||
/obj/effect/equip_e
|
/obj/effect/equip_e
|
||||||
name = "equip e"
|
name = "equip e"
|
||||||
var/mob/source = null
|
var/mob/source = null
|
||||||
|
|||||||
@@ -52,9 +52,7 @@
|
|||||||
if (!( ticker ))
|
if (!( ticker ))
|
||||||
return
|
return
|
||||||
if (mode) // accessing crew manifest
|
if (mode) // accessing crew manifest
|
||||||
var/crew = ""
|
var/crew = data_core.get_manifest()
|
||||||
for(var/datum/data/record/t in data_core.general)
|
|
||||||
crew += "[t.fields["name"]] - [t.fields["rank"]]<br>"
|
|
||||||
dat = "<tt><b>Crew Manifest:</b><br>Please use the security record computer to modify entries.<br>[crew]<a href='?src=\ref[src];choice=print'>Print</a><br><br><a href='?src=\ref[src];choice=mode;mode_target=0'>Access ID modification console.</a><br></tt>"
|
dat = "<tt><b>Crew Manifest:</b><br>Please use the security record computer to modify entries.<br>[crew]<a href='?src=\ref[src];choice=print'>Print</a><br><br><a href='?src=\ref[src];choice=mode;mode_target=0'>Access ID modification console.</a><br></tt>"
|
||||||
else
|
else
|
||||||
var/header = "<div align='center'><b>Identification Card Modifier</b></div>"
|
var/header = "<div align='center'><b>Identification Card Modifier</b></div>"
|
||||||
@@ -245,10 +243,7 @@
|
|||||||
printing = 1
|
printing = 1
|
||||||
sleep(50)
|
sleep(50)
|
||||||
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( loc )
|
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( loc )
|
||||||
var/t1 = "<B>Crew Manifest:</B><BR>"
|
P.info = "<B>Crew Manifest:</B><BR>" + data_core.get_manifest()
|
||||||
for(var/datum/data/record/t in data_core.general)
|
|
||||||
t1 += "<B>[t.fields["name"]]</B> - [t.fields["rank"]]<BR>"
|
|
||||||
P.info = t1
|
|
||||||
P.name = "paper - 'Crew Manifest'"
|
P.name = "paper - 'Crew Manifest'"
|
||||||
printing = null
|
printing = null
|
||||||
if (modify)
|
if (modify)
|
||||||
|
|||||||
@@ -235,8 +235,7 @@ Code:
|
|||||||
menu = "<h4><img src=pda_notes.png> Crew Manifest</h4>"
|
menu = "<h4><img src=pda_notes.png> Crew Manifest</h4>"
|
||||||
menu += "Entries cannot be modified from this terminal.<br><br>"
|
menu += "Entries cannot be modified from this terminal.<br><br>"
|
||||||
|
|
||||||
for (var/datum/data/record/t in data_core.general)
|
menu += data_core.get_manifest(1)
|
||||||
menu += "[t.fields["name"]] - [t.fields["rank"]]<br>"
|
|
||||||
menu += "<br>"
|
menu += "<br>"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -228,11 +228,8 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
/obj/effect/manifest/proc/manifest()
|
/obj/effect/manifest/proc/manifest()
|
||||||
var/dat = "<B>Crew Manifest</B>:<BR>"
|
|
||||||
for(var/mob/living/carbon/human/M in world)
|
|
||||||
dat += text(" <B>[]</B> - []<BR>", M.name, M.get_assignment())
|
|
||||||
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.loc )
|
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.loc )
|
||||||
P.info = dat
|
P.info = "<B>Crew Manifest:</B><BR>" + data_core.get_manifest()
|
||||||
P.name = "paper - 'Crew Manifest'"
|
P.name = "paper - 'Crew Manifest'"
|
||||||
//SN src = null
|
//SN src = null
|
||||||
del(src)
|
del(src)
|
||||||
|
|||||||
Reference in New Issue
Block a user