Records system. You can now set your characters Medical and Security records. Remember, these are official NanoTrasen records, and should be written as such. Admins can ban people from using records by selecting 'Records' from the jobban panel.

This commit is contained in:
Erthilo
2012-06-01 03:20:50 +01:00
parent ebaa460892
commit fe8192ed65
6 changed files with 189 additions and 21 deletions

View File

@@ -161,7 +161,7 @@ Pod/Blast Doors computer
M.fields["id"] = G.fields["id"] M.fields["id"] = G.fields["id"]
S.fields["name"] = G.fields["name"] S.fields["name"] = G.fields["name"]
S.fields["id"] = G.fields["id"] S.fields["id"] = G.fields["id"]
if (H.gender == FEMALE) if(H.gender == FEMALE)
G.fields["sex"] = "Female" G.fields["sex"] = "Female"
else else
G.fields["sex"] = "Male" G.fields["sex"] = "Male"
@@ -171,21 +171,58 @@ Pod/Blast Doors computer
G.fields["m_stat"] = "Stable" G.fields["m_stat"] = "Stable"
M.fields["b_type"] = text("[]", H.dna.b_type) M.fields["b_type"] = text("[]", H.dna.b_type)
M.fields["b_dna"] = H.dna.unique_enzymes M.fields["b_dna"] = H.dna.unique_enzymes
M.fields["mi_dis"] = "None"
M.fields["mi_dis_d"] = "No minor disabilities have been declared." var/minor_dis = null
M.fields["ma_dis"] = "None" if(H.disabilities)
M.fields["ma_dis_d"] = "No major disabilities have been diagnosed." if(H.disabilities & 1)
minor_dis += "Myopia, "
if(H.disabilities & 4)
minor_dis += "Persistant Cough, "
if(H.disabilities & 16)
minor_dis += "Stuttering, "
if(minor_dis)
M.fields["mi_dis"] = minor_dis
else
M.fields["mi_dis"] = "None"
M.fields["mi_dis_d"] = "No additional minor disability notes."
var/major_dis = null
if(H.disabilities)
if(H.disabilities & 2)
major_dis += "Epilepsy, "
if(H.disabilities & 8)
major_dis += "Tourette's Syndrome, "
if(H.disabilities & 32)
major_dis += "Deafness, "
if(major_dis)
M.fields["ma_dis"] = major_dis
else
M.fields["ma_dis"] = "None"
M.fields["ma_dis_d"] = "No additional major disability notes."
M.fields["alg"] = "None" M.fields["alg"] = "None"
M.fields["alg_d"] = "No allergies have been detected in this patient." M.fields["alg_d"] = "No additional allergy notes."
M.fields["cdi"] = "None" M.fields["cdi"] = "None"
M.fields["cdi_d"] = "No diseases have been diagnosed at the moment." M.fields["cdi_d"] = "No additional disease notes."
M.fields["notes"] = "No notes."
if(H.med_record && !jobban_isbanned(H, "Records"))
M.fields["notes"] = H.med_record
else
M.fields["notes"] = "No notes found."
S.fields["criminal"] = "None" S.fields["criminal"] = "None"
S.fields["mi_crim"] = "None" S.fields["mi_crim"] = "None"
S.fields["mi_crim_d"] = "No minor crime convictions." S.fields["mi_crim_d"] = "No minor crime convictions."
S.fields["ma_crim"] = "None" S.fields["ma_crim"] = "None"
S.fields["ma_crim_d"] = "No major crime convictions." S.fields["ma_crim_d"] = "No major crime convictions."
S.fields["notes"] = "No notes."
if(H.sec_record && !jobban_isbanned(H, "Records"))
S.fields["notes"] = H.sec_record
else
S.fields["notes"] = "No notes."
//Begin locked reporting //Begin locked reporting
L.fields["name"] = H.real_name L.fields["name"] = H.real_name

View File

@@ -515,6 +515,17 @@ var/global/BSACooldown = 0
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=Emergency Response Team;jobban4=\ref[M]'>[dd_replacetext("Emergency Response Team", " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=Emergency Response Team;jobban4=\ref[M]'>[dd_replacetext("Emergency Response Team", " ", "&nbsp")]</a></td>"
//Misc (Grey)
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
jobs += "<tr bgcolor='B5B5B5'><th colspan='10'>Misc Positions</th></tr><tr align='center'>"
//Records
if(jobban_isbanned(M, "Records"))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=Records;jobban4=\ref[M]'><font color=red>[dd_replacetext("Records", " ", "&nbsp")]</font></a></td>"
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=Records;jobban4=\ref[M]'>[dd_replacetext("Records", " ", "&nbsp")]</a></td>"
/* //Malfunctioning AI //Removed Malf-bans because they're a pain to impliment /* //Malfunctioning AI //Removed Malf-bans because they're a pain to impliment
if(jobban_isbanned(M, "malf AI") || isbanned_dept) if(jobban_isbanned(M, "malf AI") || isbanned_dept)
@@ -601,6 +612,13 @@ var/global/BSACooldown = 0
var/datum/job/temp = job_master.GetJob(jobPos) var/datum/job/temp = job_master.GetJob(jobPos)
if(!temp) continue if(!temp) continue
joblist += temp.title joblist += temp.title
if("miscdept")
joblist += "pAI"
for(var/jobPos in nonhuman_positions)
if(!jobPos) continue
var/datum/job/temp = job_master.GetJob(jobPos)
if(!temp) continue
joblist += temp.title
else else
joblist += href_list["jobban3"] joblist += href_list["jobban3"]

View File

@@ -98,6 +98,8 @@
var/real_name = null var/real_name = null
var/original_name = null //Original name is only used in ghost chat! It is not to be edited by anything! var/original_name = null //Original name is only used in ghost chat! It is not to be edited by anything!
var/flavor_text = "" var/flavor_text = ""
var/med_record = ""
var/sec_record = ""
var/blinded = null var/blinded = null
var/bhunger = 0//Carbon var/bhunger = 0//Carbon
var/ajourn = 0 var/ajourn = 0

View File

@@ -301,7 +301,7 @@
proc/ManifestLateSpawn(var/mob/living/carbon/human/H, icon/H_icon) // Attempted fix to add late joiners to various databases -- TLE proc/ManifestLateSpawn(var/mob/living/carbon/human/H, icon/H_icon) // Attempted fix to add late joiners to various databases -- TLE
// This is basically ripped wholesale from the normal code for adding people to the databases during a fresh round // This is basically ripped wholesale from the normal code for adding people to the databases during a fresh round //Erth Mark
if (!isnull(H.mind) && (H.mind.assigned_role != "MODE")) if (!isnull(H.mind) && (H.mind.assigned_role != "MODE"))
var/datum/data/record/G = new() var/datum/data/record/G = new()
var/datum/data/record/M = new() var/datum/data/record/M = new()
@@ -310,10 +310,11 @@
var/obj/item/weapon/card/id/C = H.wear_id var/obj/item/weapon/card/id/C = H.wear_id
if (C) if (C)
G.fields["rank"] = C.assignment G.fields["rank"] = C.assignment
G.fields["real_rank"] = H.mind.assigned_role G.fields["real_rank"] = H.mind.assigned_role
else else
if(H.mind && H.mind.assigned_role) if(H.mind && H.mind.assigned_role)
G.fields["rank"] = H.mind.assigned_role G.fields["rank"] = H.mind.role_alt_title ? H.mind.role_alt_title : H.mind.assigned_role
G.fields["real_rank"] = H.mind.assigned_role G.fields["real_rank"] = H.mind.assigned_role
else else
G.fields["rank"] = "Unassigned" G.fields["rank"] = "Unassigned"
@@ -334,21 +335,58 @@
G.fields["m_stat"] = "Stable" G.fields["m_stat"] = "Stable"
M.fields["b_type"] = text("[]", H.dna.b_type) M.fields["b_type"] = text("[]", H.dna.b_type)
M.fields["b_dna"] = H.dna.unique_enzymes M.fields["b_dna"] = H.dna.unique_enzymes
M.fields["mi_dis"] = "None"
M.fields["mi_dis_d"] = "No minor disabilities have been declared." var/minor_dis = null
M.fields["ma_dis"] = "None" if(H.disabilities)
M.fields["ma_dis_d"] = "No major disabilities have been diagnosed." if(H.disabilities & 1)
minor_dis += "Myopia, "
if(H.disabilities & 4)
minor_dis += "Persistant Cough, "
if(H.disabilities & 16)
minor_dis += "Stuttering, "
if(minor_dis)
M.fields["mi_dis"] = minor_dis
else
M.fields["mi_dis"] = "None"
M.fields["mi_dis_d"] = "No additional minor disability notes."
var/major_dis = null
if(H.disabilities)
if(H.disabilities & 2)
major_dis += "Epilepsy, "
if(H.disabilities & 8)
major_dis += "Tourette's Syndrome, "
if(H.disabilities & 32)
major_dis += "Deafness, "
if(major_dis)
M.fields["ma_dis"] = major_dis
else
M.fields["ma_dis"] = "None"
M.fields["ma_dis_d"] = "No additional major disability notes."
M.fields["alg"] = "None" M.fields["alg"] = "None"
M.fields["alg_d"] = "No allergies have been detected in this patient." M.fields["alg_d"] = "No additional allergy notes."
M.fields["cdi"] = "None" M.fields["cdi"] = "None"
M.fields["cdi_d"] = "No diseases have been diagnosed at the moment." M.fields["cdi_d"] = "No additional disease notes."
M.fields["notes"] = "No notes."
if(H.med_record && !jobban_isbanned(H, "Records"))
M.fields["notes"] = H.med_record
else
M.fields["notes"] = "No notes found."
S.fields["criminal"] = "None" S.fields["criminal"] = "None"
S.fields["mi_crim"] = "None" S.fields["mi_crim"] = "None"
S.fields["mi_crim_d"] = "No minor crime convictions." S.fields["mi_crim_d"] = "No minor crime convictions."
S.fields["ma_crim"] = "None" S.fields["ma_crim"] = "None"
S.fields["ma_crim_d"] = "No major crime convictions." S.fields["ma_crim_d"] = "No major crime convictions."
S.fields["notes"] = "No notes."
if(H.sec_record && !jobban_isbanned(H, "Records"))
S.fields["notes"] = H.sec_record
else
S.fields["notes"] = "No notes."
//Begin locked reporting //Begin locked reporting
L.fields["name"] = H.real_name L.fields["name"] = H.real_name

View File

@@ -126,6 +126,9 @@ datum/preferences
var/flavor_text = "" var/flavor_text = ""
var/med_record = ""
var/sec_record = ""
// slot stuff (Why were they var/var? --SkyMarshal) // slot stuff (Why were they var/var? --SkyMarshal)
var/slotname var/slotname
var/curslot = 0 var/curslot = 0
@@ -320,6 +323,10 @@ datum/preferences
dat += "<hr><b><a href=\"byond://?src=\ref[user];preferences=1;disabilities=-1\">Disabilities</a></b><br>" dat += "<hr><b><a href=\"byond://?src=\ref[user];preferences=1;disabilities=-1\">Disabilities</a></b><br>"
if(jobban_isbanned(user, "Records"))
dat += "<hr><b>You are banned from using character records.</b><br>"
else
dat += "<hr><b><a href=\"byond://?src=\ref[user];preferences=1;records=1\">Character Records</a></b><br>"
dat += "<hr><b>Flavor Text</b><br>" dat += "<hr><b>Flavor Text</b><br>"
dat += "<a href='byond://?src=\ref[user];preferences=1;flavor_text=1'>Change</a><br>" dat += "<a href='byond://?src=\ref[user];preferences=1;flavor_text=1'>Change</a><br>"
if(lentext(flavor_text) <= 40) if(lentext(flavor_text) <= 40)
@@ -392,6 +399,33 @@ datum/preferences
user << browse(HTML, "window=disabil;size=350x300") user << browse(HTML, "window=disabil;size=350x300")
return return
proc/SetRecords(mob/user)
var/HTML = "<body>"
HTML += "<tt><center>"
HTML += "<b>Set Character Records</b><br>"
HTML += "<a href=\"byond://?src=\ref[user];preferences=1;med_record=1\">Medical Records</a><br>"
if(lentext(med_record) <= 40)
HTML += "<br>[med_record]<br>"
else
HTML += "<br>[copytext(med_record, 1, 37)]...<br>"
HTML += "<a href=\"byond://?src=\ref[user];preferences=1;sec_record=1\">Security Records</a><br>"
if(lentext(sec_record) <= 40)
HTML += "<br>[sec_record]<br>"
else
HTML += "<br>[copytext(sec_record, 1, 37)]...<br>"
HTML += "<br>"
HTML += "<a href=\"byond://?src=\ref[user];preferences=1;records=-1\">\[Done\]</a>"
HTML += "</center></tt>"
user << browse(null, "window=preferences")
user << browse(HTML, "window=records;size=350x300")
return
proc/GetAltTitle(datum/job/job) proc/GetAltTitle(datum/job/job)
return job_alt_titles.Find(job.title) > 0 \ return job_alt_titles.Find(job.title) > 0 \
? job_alt_titles[job.title] \ ? job_alt_titles[job.title] \
@@ -890,10 +924,9 @@ datum/preferences
be_random_name = !be_random_name be_random_name = !be_random_name
if(link_tags["flavor_text"]) if(link_tags["flavor_text"])
var/msg = input(usr,"Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!","Flavor Text",html_decode(flavor_text)) as message var/msg = copytext(sanitize(input(usr,"Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!","Flavor Text",html_decode(flavor_text)) as message),1,MAX_NAME_LEN)
if(msg != null) if(msg != null)
msg = copytext(msg, 1, MAX_MESSAGE_LEN)
msg = html_encode(msg) msg = html_encode(msg)
flavor_text = msg flavor_text = msg
@@ -984,6 +1017,7 @@ datum/preferences
midis = 1 midis = 1
ghost_ears = 1 ghost_ears = 1
disabilities = 0 disabilities = 0
if(link_tags["disabilities"]) if(link_tags["disabilities"])
if(text2num(link_tags["disabilities"]) >= -1) if(text2num(link_tags["disabilities"]) >= -1)
if(text2num(link_tags["disabilities"]) >= 0) if(text2num(link_tags["disabilities"]) >= 0)
@@ -993,6 +1027,39 @@ datum/preferences
else else
user << browse(null, "window=disabil") user << browse(null, "window=disabil")
if(link_tags["records"])
if(text2num(link_tags["records"]) >= 1)
SetRecords(user)
return
else
user << browse(null, "window=records")
if(link_tags["med_record"])
var/medmsg = copytext(sanitize(input(usr,"Set your medical notes here.","Medical Records",html_decode(med_record)) as message),1,MAX_NAME_LEN)
if(medmsg != null)
medmsg = html_encode(medmsg)
med_record = medmsg
SetRecords(user)
if(link_tags["sec_record"])
var/secmsg = copytext(sanitize(input(usr,"Set your security notes here.","Security Records",html_decode(sec_record)) as message),1,MAX_NAME_LEN)
if(secmsg != null)
secmsg = html_encode(secmsg)
sec_record = secmsg
SetRecords(user)
if(link_tags["flavor_text"])
var/msg = copytext(sanitize(input(usr,"Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!","Flavor Text",html_decode(flavor_text)) as message),1,MAX_NAME_LEN)
if(msg != null)
msg = html_encode(msg)
flavor_text = msg
ShowChoices(user) ShowChoices(user)
proc/copy_to(mob/living/carbon/human/character, safety = 0) proc/copy_to(mob/living/carbon/human/character, safety = 0)
@@ -1002,6 +1069,8 @@ datum/preferences
character.original_name = real_name //Original name is only used in ghost chat! It is not to be edited by anything! character.original_name = real_name //Original name is only used in ghost chat! It is not to be edited by anything!
character.flavor_text = flavor_text character.flavor_text = flavor_text
character.med_record = med_record
character.sec_record = sec_record
character.gender = gender character.gender = gender

View File

@@ -98,6 +98,8 @@ datum/preferences/proc/savefile_save(mob/user, slot)
F["name_is_always_random"] << src.be_random_name F["name_is_always_random"] << src.be_random_name
F["flavor_text"] << flavor_text F["flavor_text"] << flavor_text
F["med_record"] << med_record
F["sec_record"] << sec_record
F["gender"] << src.gender F["gender"] << src.gender
F["age"] << src.age F["age"] << src.age
@@ -196,6 +198,8 @@ datum/preferences/proc/savefile_load(mob/user, slot)
F["age"] >> src.age F["age"] >> src.age
F["flavor_text"] >> flavor_text F["flavor_text"] >> flavor_text
F["med_record"] >> med_record
F["sec_record"] >> sec_record
F["hair_red"] >> src.r_hair F["hair_red"] >> src.r_hair
F["hair_green"] >> src.g_hair F["hair_green"] >> src.g_hair