diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 84ea6b6458..94940b3855 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -81,7 +81,7 @@ if(N.new_character) log_manifest(N.ckey,N.new_character.mind,N.new_character) if(ishuman(N.new_character)) - manifest_inject(N.new_character, N.client) + manifest_inject(N.new_character, N.client, N.client.prefs) CHECK_TICK /datum/datacore/proc/manifest_modify(name, assignment) @@ -197,7 +197,7 @@ return dat -/datum/datacore/proc/manifest_inject(mob/living/carbon/human/H, client/C) +/datum/datacore/proc/manifest_inject(mob/living/carbon/human/H, client/C, datum/preferences/prefs) set waitfor = FALSE var/static/list/show_directions = list(SOUTH, WEST) if(H.mind && (H.mind.assigned_role != H.mind.special_role)) @@ -260,7 +260,7 @@ 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"] = H.get_trait_string(medical) + M.fields["notes"] = "Trait information as of shift start: [H.get_trait_string(medical)]
[prefs.medical_records]" medical += M //Security Record @@ -270,7 +270,7 @@ S.fields["criminal"] = "None" S.fields["mi_crim"] = list() S.fields["ma_crim"] = list() - S.fields["notes"] = "No notes." + S.fields["notes"] = prefs.security_records || "No notes." security += S //Locked Record diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index aaee5c85f6..738a2c6fd4 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -165,6 +165,11 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/custom_speech_verb = "default" //if your say_mod is to be something other than your races var/custom_tongue = "default" //if your tongue is to be something other than your races + /// Security record note section + var/security_records + /// Medical record note section + var/medical_records + var/list/custom_names = list() var/preferred_ai_core_display = "Blue" var/prefered_security_department = SEC_DEPT_RANDOM @@ -342,6 +347,25 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Preferred Security Department: [prefered_security_department]
" dat += "" + dat += "Security Records
" + if(length_char(security_records) <= 40) + if(!length(security_records)) + dat += "\[...\]" + else + dat += "[security_records]" + else + dat += "[TextPreview(security_records)]...
" + + dat += "Medical Records
" + if(length_char(medical_records) <= 40) + if(!length(medical_records)) + dat += "\[...\]" + else + dat += "[medical_records]" + else + dat += "[TextPreview(medical_records)]...
" + + //Character Appearance if(2) if(path) @@ -1646,6 +1670,16 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(new_age) age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN) + if("security_records") + var/rec = stripped_multiline_input(usr, "Set your security record note section. This should be IC!", "Securitty Records", html_decode(security_records), MAX_FLAVOR_LEN, TRUE) + if(!isnull(rec)) + security_records = rec + + if("medical_records") + var/rec = stripped_multiline_input(usr, "Set your medical record note section. This should be IC!", "Securitty Records", html_decode(medical_records), MAX_FLAVOR_LEN, TRUE) + if(!isnull(rec)) + medical_records = rec + if("flavor_text") var/msg = stripped_multiline_input(usr, "Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!", "Flavor Text", html_decode(features["flavor_text"]), MAX_FLAVOR_LEN, TRUE) if(!isnull(msg)) diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 6888a6590f..be18f78cfb 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -398,7 +398,7 @@ humanc = character //Let's retypecast the var to be human, if(humanc) //These procs all expect humans - GLOB.data_core.manifest_inject(humanc) + GLOB.data_core.manifest_inject(humanc, client, client.prefs) if(SSshuttle.arrivals) SSshuttle.arrivals.QueueAnnounce(humanc, rank) else