mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Removed unused caching code from getFlatIcon(). We handle our own caching using datacore.dm Runtime fix: datacore wasn't checking the type of object in the wear_id inventory slot. I've removed that so it now uses mind.assigned_role instead. The following runtime has occured 1 time(s). runtime error: undefined variable /obj/item/device/pda/warden/var/assignment proc name: manifest (/obj/effect/datacore/proc/manifest) source file: datacore.dm,14 usr: null src: the datacore (/obj/effect/datacore) Runtime fix: staff-of-change projectiles were runtiminng when transforming somebody with implants. Cause: forgot a "continue" >.< The following runtime has occured 4 time(s). runtime error: Cannot modify null.layer. proc name: wabbajack (/obj/item/projectile/change/proc/wabbajack) source file: change.dm,37 usr: 0 src: the bolt of change (/obj/item/projectile/change) git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4412 316c924e-a436-60f5-8080-3fe189b3f50e
91 lines
2.7 KiB
Plaintext
91 lines
2.7 KiB
Plaintext
|
|
/obj/effect/datacore/proc/manifest(var/nosleep = 0)
|
|
spawn()
|
|
if(!nosleep)
|
|
sleep(40)
|
|
for(var/mob/living/carbon/human/H in player_list)
|
|
manifest_inject(H)
|
|
return
|
|
|
|
/obj/effect/datacore/proc/manifest_modify(var/name, var/assignment)
|
|
var/datum/data/record/foundrecord
|
|
|
|
for(var/datum/data/record/t in data_core.general)
|
|
if(t.fields["name"] == name)
|
|
foundrecord = t
|
|
break
|
|
|
|
if(foundrecord)
|
|
foundrecord.fields["rank"] = assignment
|
|
|
|
|
|
|
|
/obj/effect/datacore/proc/manifest_inject(var/mob/living/carbon/human/H)
|
|
if(H.mind && (H.mind.assigned_role != "MODE"))
|
|
var/assignment
|
|
if(H.mind.assigned_role)
|
|
assignment = H.mind.assigned_role
|
|
else if(H.job)
|
|
assignment = H.job
|
|
else
|
|
assignment = "Unassigned"
|
|
|
|
var/id = add_zero(num2hex(rand(1, 1.6777215E7)), 6) //this was the best they could come up with? A large random number? *sigh*
|
|
|
|
//General Record
|
|
var/datum/data/record/G = new()
|
|
G.fields["id"] = id
|
|
G.fields["name"] = H.real_name
|
|
G.fields["rank"] = assignment
|
|
G.fields["age"] = H.age
|
|
G.fields["fingerprint"] = md5(H.dna.uni_identity)
|
|
G.fields["p_stat"] = "Active"
|
|
G.fields["m_stat"] = "Stable"
|
|
G.fields["sex"] = H.gender
|
|
general += G
|
|
|
|
//Medical Record
|
|
var/datum/data/record/M = new()
|
|
M.fields["id"] = id
|
|
M.fields["name"] = H.real_name
|
|
M.fields["b_type"] = H.b_type
|
|
M.fields["b_dna"] = H.dna.unique_enzymes
|
|
M.fields["mi_dis"] = "None"
|
|
M.fields["mi_dis_d"] = "No minor disabilities have been declared."
|
|
M.fields["ma_dis"] = "None"
|
|
M.fields["ma_dis_d"] = "No major disabilities have been diagnosed."
|
|
M.fields["alg"] = "None"
|
|
M.fields["alg_d"] = "No allergies have been detected in this patient."
|
|
M.fields["cdi"] = "None"
|
|
M.fields["cdi_d"] = "No diseases have been diagnosed at the moment."
|
|
M.fields["notes"] = "No notes."
|
|
medical += M
|
|
|
|
//Security Record
|
|
var/datum/data/record/S = new()
|
|
S.fields["id"] = id
|
|
S.fields["name"] = H.real_name
|
|
S.fields["criminal"] = "None"
|
|
S.fields["mi_crim"] = "None"
|
|
S.fields["mi_crim_d"] = "No minor crime convictions."
|
|
S.fields["ma_crim"] = "None"
|
|
S.fields["ma_crim_d"] = "No major crime convictions."
|
|
S.fields["notes"] = "No notes."
|
|
security += S
|
|
|
|
//Locked Record
|
|
var/datum/data/record/L = new()
|
|
L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]")
|
|
L.fields["name"] = H.real_name
|
|
L.fields["rank"] = H.mind.assigned_role
|
|
L.fields["age"] = H.age
|
|
L.fields["sex"] = H.gender
|
|
L.fields["b_type"] = H.b_type
|
|
L.fields["b_dna"] = H.dna.unique_enzymes
|
|
L.fields["enzymes"] = H.dna.struc_enzymes
|
|
L.fields["identity"] = H.dna.uni_identity
|
|
L.fields["image"] = getFlatIcon(H,0) //This is god-awful
|
|
locked += L
|
|
return
|
|
|