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"]
S.fields["name"] = G.fields["name"]
S.fields["id"] = G.fields["id"]
if (H.gender == FEMALE)
if(H.gender == FEMALE)
G.fields["sex"] = "Female"
else
G.fields["sex"] = "Male"
@@ -171,22 +171,59 @@ Pod/Blast Doors computer
G.fields["m_stat"] = "Stable"
M.fields["b_type"] = text("[]", H.dna.b_type)
M.fields["b_dna"] = H.dna.unique_enzymes
var/minor_dis = null
if(H.disabilities)
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 minor disabilities have been declared."
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 major disabilities have been diagnosed."
M.fields["ma_dis_d"] = "No additional major disability notes."
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_d"] = "No diseases have been diagnosed at the moment."
M.fields["notes"] = "No notes."
M.fields["cdi_d"] = "No additional disease 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["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."
if(H.sec_record && !jobban_isbanned(H, "Records"))
S.fields["notes"] = H.sec_record
else
S.fields["notes"] = "No notes."
//Begin locked reporting
L.fields["name"] = H.real_name
L.fields["sex"] = H.gender

View File

@@ -515,6 +515,17 @@ var/global/BSACooldown = 0
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>"
//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
if(jobban_isbanned(M, "malf AI") || isbanned_dept)
@@ -601,6 +612,13 @@ var/global/BSACooldown = 0
var/datum/job/temp = job_master.GetJob(jobPos)
if(!temp) continue
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
joblist += href_list["jobban3"]

View File

@@ -98,6 +98,8 @@
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/flavor_text = ""
var/med_record = ""
var/sec_record = ""
var/blinded = null
var/bhunger = 0//Carbon
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
// 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"))
var/datum/data/record/G = new()
var/datum/data/record/M = new()
@@ -310,10 +310,11 @@
var/obj/item/weapon/card/id/C = H.wear_id
if (C)
G.fields["rank"] = C.assignment
G.fields["real_rank"] = H.mind.assigned_role
else
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
else
G.fields["rank"] = "Unassigned"
@@ -334,22 +335,59 @@
G.fields["m_stat"] = "Stable"
M.fields["b_type"] = text("[]", H.dna.b_type)
M.fields["b_dna"] = H.dna.unique_enzymes
var/minor_dis = null
if(H.disabilities)
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 minor disabilities have been declared."
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 major disabilities have been diagnosed."
M.fields["ma_dis_d"] = "No additional major disability notes."
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_d"] = "No diseases have been diagnosed at the moment."
M.fields["notes"] = "No notes."
M.fields["cdi_d"] = "No additional disease 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["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."
if(H.sec_record && !jobban_isbanned(H, "Records"))
S.fields["notes"] = H.sec_record
else
S.fields["notes"] = "No notes."
//Begin locked reporting
L.fields["name"] = H.real_name
L.fields["sex"] = H.gender

View File

@@ -126,6 +126,9 @@ datum/preferences
var/flavor_text = ""
var/med_record = ""
var/sec_record = ""
// slot stuff (Why were they var/var? --SkyMarshal)
var/slotname
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>"
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 += "<a href='byond://?src=\ref[user];preferences=1;flavor_text=1'>Change</a><br>"
if(lentext(flavor_text) <= 40)
@@ -392,6 +399,33 @@ datum/preferences
user << browse(HTML, "window=disabil;size=350x300")
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)
return job_alt_titles.Find(job.title) > 0 \
? job_alt_titles[job.title] \
@@ -890,10 +924,9 @@ datum/preferences
be_random_name = !be_random_name
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)
msg = copytext(msg, 1, MAX_MESSAGE_LEN)
msg = html_encode(msg)
flavor_text = msg
@@ -984,6 +1017,7 @@ datum/preferences
midis = 1
ghost_ears = 1
disabilities = 0
if(link_tags["disabilities"])
if(text2num(link_tags["disabilities"]) >= -1)
if(text2num(link_tags["disabilities"]) >= 0)
@@ -993,6 +1027,39 @@ datum/preferences
else
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)
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.flavor_text = flavor_text
character.med_record = med_record
character.sec_record = sec_record
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["flavor_text"] << flavor_text
F["med_record"] << med_record
F["sec_record"] << sec_record
F["gender"] << src.gender
F["age"] << src.age
@@ -196,6 +198,8 @@ datum/preferences/proc/savefile_load(mob/user, slot)
F["age"] >> src.age
F["flavor_text"] >> flavor_text
F["med_record"] >> med_record
F["sec_record"] >> sec_record
F["hair_red"] >> src.r_hair
F["hair_green"] >> src.g_hair