From 2824a51cf01adc6a00eb7b9a590249ca555454b2 Mon Sep 17 00:00:00 2001 From: Alberyk Date: Fri, 16 Aug 2019 13:16:20 -0300 Subject: [PATCH] Adds more depth to citizenship and religion choices at the character setup (#6785) This pr adds some depth to the citizenship and religion choices at the character setup. Citizenship will now affect your loadout and mission as a consular officer. Religion will now affect your chaplain's religion name, bible name and sprite. Selecting any option will bring a small lore pop up for citizenship and religion choices. --- aurorastation.dme | 15 +- code/__defines/species_languages.dm | 7 +- code/controllers/subsystems/records.dm | 37 +- code/datums/records.dm | 6 +- code/datums/trading/goods.dm | 1 - code/game/jobs/faction/eridani.dm | 2 +- code/game/jobs/faction/faction.dm | 4 +- code/game/jobs/faction/hephaestus.dm | 2 +- code/game/jobs/faction/idris.dm | 2 +- code/game/jobs/faction/nanotrasen.dm | 4 +- code/game/jobs/faction/necropolis.dm | 2 +- code/game/jobs/faction/zeng_hu.dm | 2 +- code/game/jobs/job/civilian_chaplain.dm | 148 +- code/game/jobs/job/outsider/representative.dm | 118 +- code/game/objects/items/devices/uplink.dm | 1 - code/game/objects/items/weapons/cards_ids.dm | 6 +- code/game/objects/items/weapons/manuals.dm | 167 +++ .../objects/items/weapons/storage/backpack.dm | 16 +- .../objects/items/weapons/storage/bible.dm | 67 +- .../objects/items/weapons/storage/boxes.dm | 84 +- .../objects/items/weapons/vaurca_items.dm | 1 + .../background/citizenship/citizenship.dm | 22 + code/modules/background/citizenship/human.dm | 128 ++ code/modules/background/citizenship/ipc.dm | 3 + code/modules/background/citizenship/skrell.dm | 27 + code/modules/background/citizenship/tajara.dm | 38 + code/modules/background/citizenship/unathi.dm | 44 + code/modules/background/citizenship/vaurca.dm | 53 + code/modules/background/defines.dm | 44 + code/modules/background/religion/human.dm | 52 + code/modules/background/religion/religion.dm | 8 + code/modules/background/religion/skrell.dm | 18 + code/modules/background/religion/tajara.dm | 26 + code/modules/background/religion/unathi.dm | 37 + code/modules/background/religion/vaurca.dm | 21 + .../preference_setup/general/05_background.dm | 79 +- code/modules/client/preferences.dm | 1 - code/modules/client/preferences_factions.dm | 48 - code/modules/clothing/head/misc.dm | 1188 +++++++++-------- code/modules/clothing/shoes/vaurca.dm | 12 +- code/modules/clothing/spacesuits/alien.dm | 140 -- code/modules/clothing/suits/alien.dm | 10 + .../clothing/under/accessories/badges.dm | 20 +- code/modules/customitems/item_defines.dm | 1 - code/modules/library/lib_items.dm | 6 - code/modules/library/lib_machines.dm | 1 - .../mob/living/carbon/human/human_defines.dm | 1 - .../living/carbon/human/species/species.dm | 3 + .../human/species/station/diona/diona.dm | 3 + .../carbon/human/species/station/ipc/ipc.dm | 2 + .../human/species/station/skrell/skrell.dm | 3 + .../human/species/station/tajara/tajara.dm | 3 + .../human/species/station/unathi/unathi.dm | 3 + .../human/species/station/vaurca/vaurca.dm | 3 + .../station/vaurca/vaurca_subspecies.dm | 4 + ...Cobaltblood - applying_for_citizenship.yml | 43 + icons/mob/human_face/eyes48x48.dmi | Bin 342 -> 292 bytes icons/mob/human_races/masks/blood_breeder.dmi | Bin 7265 -> 7205 bytes icons/mob/human_races/vaurca/r_vaurcac.dmi | Bin 9575 -> 7290 bytes icons/mob/species/breeder/back.dmi | Bin 1409 -> 1620 bytes icons/mob/species/breeder/gloves.dmi | Bin 341 -> 0 bytes icons/mob/species/breeder/head.dmi | Bin 440 -> 1486 bytes icons/mob/species/breeder/inventory.dmi | Bin 3823 -> 3737 bytes icons/mob/species/breeder/mask.dmi | Bin 382 -> 0 bytes icons/mob/species/breeder/shoes.dmi | Bin 538 -> 392 bytes icons/mob/species/breeder/suit.dmi | Bin 2023 -> 811 bytes icons/obj/library.dmi | Bin 27669 -> 27917 bytes icons/obj/storage.dmi | Bin 82155 -> 84227 bytes nano/templates/uplink.tmpl | 1 - vueui/src/components/view/records/general.vue | 1 - 70 files changed, 1644 insertions(+), 1145 deletions(-) create mode 100644 code/modules/background/citizenship/citizenship.dm create mode 100644 code/modules/background/citizenship/human.dm create mode 100644 code/modules/background/citizenship/ipc.dm create mode 100644 code/modules/background/citizenship/skrell.dm create mode 100644 code/modules/background/citizenship/tajara.dm create mode 100644 code/modules/background/citizenship/unathi.dm create mode 100644 code/modules/background/citizenship/vaurca.dm create mode 100644 code/modules/background/defines.dm create mode 100644 code/modules/background/religion/human.dm create mode 100644 code/modules/background/religion/religion.dm create mode 100644 code/modules/background/religion/skrell.dm create mode 100644 code/modules/background/religion/tajara.dm create mode 100644 code/modules/background/religion/unathi.dm create mode 100644 code/modules/background/religion/vaurca.dm delete mode 100644 code/modules/client/preferences_factions.dm create mode 100644 html/changelogs/VTCobaltblood - applying_for_citizenship.yml delete mode 100644 icons/mob/species/breeder/gloves.dmi delete mode 100644 icons/mob/species/breeder/mask.dmi diff --git a/aurorastation.dme b/aurorastation.dme index d46a5f5670a..f0a3ff571b7 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -1186,6 +1186,20 @@ #include "code\modules\awaymissions\pamphlet.dm" #include "code\modules\awaymissions\trigger.dm" #include "code\modules\awaymissions\zlevel.dm" +#include "code\modules\background\defines.dm" +#include "code\modules\background\citizenship\citizenship.dm" +#include "code\modules\background\citizenship\human.dm" +#include "code\modules\background\citizenship\ipc.dm" +#include "code\modules\background\citizenship\skrell.dm" +#include "code\modules\background\citizenship\tajara.dm" +#include "code\modules\background\citizenship\unathi.dm" +#include "code\modules\background\citizenship\vaurca.dm" +#include "code\modules\background\religion\human.dm" +#include "code\modules\background\religion\religion.dm" +#include "code\modules\background\religion\skrell.dm" +#include "code\modules\background\religion\tajara.dm" +#include "code\modules\background\religion\unathi.dm" +#include "code\modules\background\religion\vaurca.dm" #include "code\modules\battlemonsters\datum_core.dm" #include "code\modules\battlemonsters\datum_elements.dm" #include "code\modules\battlemonsters\datum_monsters.dm" @@ -1239,7 +1253,6 @@ #include "code\modules\client\movement.dm" #include "code\modules\client\preferences.dm" #include "code\modules\client\preferences_ambience.dm" -#include "code\modules\client\preferences_factions.dm" #include "code\modules\client\preferences_notification.dm" #include "code\modules\client\preferences_savefile.dm" #include "code\modules\client\preferences_spawnpoints.dm" diff --git a/code/__defines/species_languages.dm b/code/__defines/species_languages.dm index 75130b32073..771646e9041 100644 --- a/code/__defines/species_languages.dm +++ b/code/__defines/species_languages.dm @@ -83,4 +83,9 @@ #define INNATE 64 // All mobs can be assumed to speak and understand this language. (audible emotes) #define NO_TALK_MSG 128 // Do not show the "\The [speaker] talks into \the [radio]" message #define NO_STUTTER 256 // No stuttering, slurring, or other speech problems -#define TCOMSSIM 512 // Can be synthesized in tcoms \ No newline at end of file +#define TCOMSSIM 512 // Can be synthesized in tcoms + +// Representative missions levels +#define REPRESENTATIVE_MISSION_LOW 1 +#define REPRESENTATIVE_MISSION_MEDIUM 2 +#define REPRESENTATIVE_MISSION_HIGH 3 \ No newline at end of file diff --git a/code/controllers/subsystems/records.dm b/code/controllers/subsystems/records.dm index 68cb5d358be..c8c45df0496 100644 --- a/code/controllers/subsystems/records.dm +++ b/code/controllers/subsystems/records.dm @@ -15,6 +15,15 @@ var/manifest_json var/list/manifest + var/list/citizenships = list() + var/list/religions = list() + +/datum/controller/subsystem/records/Initialize() + ..() + + InitializeCitizenships() + InitializeReligions() + /datum/controller/subsystem/records/New() records = list() records_locked = list() @@ -192,7 +201,7 @@ var/isactive = t.phisical_status var/department = 0 var/depthead = 0 // Department Heads will be placed at the top of their lists. - + for(var/positionType in positions) var/typesPositions = positions[positionType] if(real_rank in typesPositions) @@ -237,4 +246,28 @@ return "Unassigned" /proc/generate_record_id() - return add_zero(num2hex(rand(1, 65535)), 4) \ No newline at end of file + return add_zero(num2hex(rand(1, 65535)), 4) + + +/datum/controller/subsystem/records/proc/InitializeCitizenships() + for (var/type in subtypesof(/datum/citizenship)) + var/datum/citizenship/citizenship = new type() + + citizenships[citizenship.name] = citizenship + + if (!citizenships.len) + crash_with("No citizenships located in SSrecords.") + +/datum/controller/subsystem/records/proc/InitializeReligions() + for (var/type in subtypesof(/datum/religion)) + var/datum/religion/religion = new type() + + religions[religion.name] = religion + + if (!religions.len) + crash_with("No citizenships located in SSrecords.") + +/datum/controller/subsystem/records/proc/get_religion_record_name(var/target_religion) + var/datum/religion/religion = SSrecords.religions[target_religion] + if(religion) + return religion.get_records_name() \ No newline at end of file diff --git a/code/datums/records.dm b/code/datums/records.dm index 5df3f8e2caf..d5d17200432 100644 --- a/code/datums/records.dm +++ b/code/datums/records.dm @@ -73,7 +73,6 @@ var/phisical_status = "Active" var/mental_status = "Stable" var/species = "Unknown" - var/home_system = "Unknown" var/citizenship = "Unknown" var/employer = "Unknown" var/religion = "Unknown" @@ -81,7 +80,7 @@ var/list/ccia_actions = list() var/icon/photo_front var/icon/photo_side - var/list/advanced_fields = list("species", "home_system", "citizenship", "faction", "religion", "ccia_record", "ccia_actions") + var/list/advanced_fields = list("species", "citizenship", "faction", "religion", "ccia_record", "ccia_actions") cmp_field = "name" excluded_fields = list("photo_front", "photo_side", "advanced_fields") @@ -105,10 +104,9 @@ fingerprint = md5(H.dna.uni_identity) sex = H.gender species = H.get_species() - home_system = H.home_system citizenship = H.citizenship employer = H.employer_faction - religion = H.religion + religion = SSrecords.get_religion_record_name(H.religion) ccia_record = H.ccia_record ccia_actions = H.ccia_actions if(H.gen_record && !jobban_isbanned(H, "Records")) diff --git a/code/datums/trading/goods.dm b/code/datums/trading/goods.dm index c13ad946ecd..a43698ad506 100644 --- a/code/datums/trading/goods.dm +++ b/code/datums/trading/goods.dm @@ -189,7 +189,6 @@ /obj/item/clothing/gloves/force = TRADER_BLACKLIST_ALL, /obj/item/clothing/gloves/swat/fluff = TRADER_BLACKLIST_ALL, /obj/item/clothing/gloves/black/fluff = TRADER_BLACKLIST_ALL, - /obj/item/clothing/gloves/yellow/typec = TRADER_BLACKLIST, /obj/item/clothing/gloves/swat/bst = TRADER_BLACKLIST, /obj/item/clothing/gloves/watch/fluff = TRADER_BLACKLIST_ALL, /obj/item/clothing/gloves/fluff = TRADER_BLACKLIST_ALL, diff --git a/code/game/jobs/faction/eridani.dm b/code/game/jobs/faction/eridani.dm index 357b2a6fa24..814aefcaa84 100644 --- a/code/game/jobs/faction/eridani.dm +++ b/code/game/jobs/faction/eridani.dm @@ -70,7 +70,7 @@ id = /obj/item/weapon/card/id/eridani /datum/outfit/job/representative/eridani - name = "Corporate Liaison - Eridani" + name = "Eridani Corporate Liaison" uniform = /obj/item/clothing/under/rank/security/eridani/alt head = null suit = null diff --git a/code/game/jobs/faction/faction.dm b/code/game/jobs/faction/faction.dm index 05a5ea59bb5..b60cd8bde7b 100644 --- a/code/game/jobs/faction/faction.dm +++ b/code/game/jobs/faction/faction.dm @@ -50,10 +50,10 @@ /datum/faction/proc/get_corporate_objectives(var/mission_level) var/objective switch(mission_level) - if("high") + if(REPRESENTATIVE_MISSION_HIGH) objective = pick("Assist your contractor in smuggling [rand(1,4)] items of value", "Collect evidence of Nanotrasen being unfair or oppressive against your contractors to be used as leverage in future talks") - if("medium") + if(REPRESENTATIVE_MISSION_MEDIUM) objective = pick("Convince [rand(1,3)] of NT employees to join your own company", "Have [rand(1,3)] of your contractors write down their grievances with the company, and present the report to station command.") else diff --git a/code/game/jobs/faction/hephaestus.dm b/code/game/jobs/faction/hephaestus.dm index 8b9896c9e0f..a88ae53ae8d 100644 --- a/code/game/jobs/faction/hephaestus.dm +++ b/code/game/jobs/faction/hephaestus.dm @@ -101,7 +101,7 @@ id = /obj/item/weapon/card/id/hephaestus /datum/outfit/job/representative/hephaestus - name = "Corporate Liaison - Hephaestus" + name = "Hephaestus Corporate Liaison" uniform = /obj/item/clothing/under/rank/hephaestus head = null suit = null diff --git a/code/game/jobs/faction/idris.dm b/code/game/jobs/faction/idris.dm index 5b738fbf1b6..2fc9e969eca 100644 --- a/code/game/jobs/faction/idris.dm +++ b/code/game/jobs/faction/idris.dm @@ -99,7 +99,7 @@ /datum/outfit/job/representative/idris - name = "Corporate Liaison - Idris" + name = "Idris Corporate Liaison" uniform = /obj/item/clothing/under/rank/idris head = null suit = null diff --git a/code/game/jobs/faction/nanotrasen.dm b/code/game/jobs/faction/nanotrasen.dm index d8ed4005695..f4fe3ce929a 100644 --- a/code/game/jobs/faction/nanotrasen.dm +++ b/code/game/jobs/faction/nanotrasen.dm @@ -19,11 +19,11 @@ /datum/faction/nano_trasen/get_corporate_objectives(var/mission_level) var/objective switch(mission_level) - if("high") + if(REPRESENTATIVE_MISSION_HIGH) objective = pick("Have [rand(1,4)] crewmember sign NT apprenticeship contracts", "Make sure that the station fullfils [rand(4,12)] cargo bounties", "Make sure that the station raises [rand(5000,12000)] credits by the end of the shift") - if("medium") + if(REPRESENTATIVE_MISSION_MEDIUM) objective = pick("Have [rand(2,5)] crewmembers sign contract extensions", "Have [rand(2,5)] crewmembers buy Odin real estate", "[rand(3,10)] crewmember must buy Getmore products from the vendors") diff --git a/code/game/jobs/faction/necropolis.dm b/code/game/jobs/faction/necropolis.dm index 86bd83c3ed1..c686e66fc4a 100644 --- a/code/game/jobs/faction/necropolis.dm +++ b/code/game/jobs/faction/necropolis.dm @@ -107,7 +107,7 @@ id = /obj/item/weapon/card/id/necropolis /datum/outfit/job/representative/necropolis - name = "Corporate Liaison - Necropolis" + name = "Necropolis Corporate Liaison" uniform = /obj/item/clothing/under/rank/necropolis head = null suit = null diff --git a/code/game/jobs/faction/zeng_hu.dm b/code/game/jobs/faction/zeng_hu.dm index 7ccce692a2e..a1d9db7785a 100644 --- a/code/game/jobs/faction/zeng_hu.dm +++ b/code/game/jobs/faction/zeng_hu.dm @@ -105,7 +105,7 @@ id = /obj/item/weapon/card/id/zeng_hu /datum/outfit/job/representative/zeng_hu - name = "Corporate Liaison - Zeng-Hu" + name = "Zeng-Hu Corporate Liaison" uniform = /obj/item/clothing/under/rank/zeng head = null suit = null diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm index 93fe5b6dbba..7d5123f3df8 100644 --- a/code/game/jobs/job/civilian_chaplain.dm +++ b/code/game/jobs/job/civilian_chaplain.dm @@ -28,139 +28,21 @@ if(visualsOnly) return - var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible(H) //BS12 EDIT - H.equip_or_collect(B, slot_r_hand) + var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible(get_turf(H)) //BS12 EDIT + var/obj/item/weapon/storage/S = locate() in H.contents + if(S && istype(S)) + B.forceMove(S) - CALLBACK(src, .proc/select_religion_name, H, B) + var/datum/religion/religion = SSrecords.religions[H.religion] + if (religion) - return TRUE + if(religion.name == "None" || religion.name == "Other") + B.verbs += /obj/item/weapon/storage/bible/proc/Set_Religion + return 1 -/datum/outfit/job/chaplain/proc/select_religion_name(mob/living/carbon/human/H, obj/item/weapon/storage/bible/B) - var/religion_name = "Christianity" - var/new_religion = sanitize(input(H, "You are the crew services officer. Would you like to change your religion? Default is Christianity, in SPACE.", "Name change", religion_name), MAX_NAME_LEN) - - if (!new_religion) - new_religion = religion_name - - switch(lowertext(new_religion)) - if("christianity") - B.name = pick("The Holy Bible","The Dead Sea Scrolls") - if("satanism") - B.name = "The Unholy Bible" - if("cthulu") - B.name = "The Necronomicon" - if("islam") - B.name = "Quran" - if("scientology") - B.name = pick("The Biography of L. Ron Hubbard","Dianetics") - if("chaos") - B.name = "The Book of Lorgar" - if("imperium") - B.name = "Uplifting Primer" - if("toolboxia") - B.name = "Toolbox Manifesto" - if("homosexuality") - B.name = "Guys Gone Wild" - if("moroz holy tribunal","moroz","holy tribunal") - B.name = "Tribunal Codex" - //if("lol", "wtf", "gay", "penis", "ass", "poo", "badmin", "shitmin", "deadmin", "cock", "cocks") - // B.name = pick("Woodys Got Wood: The Aftermath", "War of the Cocks", "Sweet Bro and Hella Jef: Expanded Edition") - // H.setBrainLoss(100) // starts off retarded as fuck - if("science") - B.name = pick("Principle of Relativity", "Quantum Enigma: Physics Encounters Consciousness", "Programming the Universe", "Quantum Physics and Theology", "String Theory for Dummies", "How To: Build Your Own Warp Drive", "The Mysteries of Bluespace", "Playing God: Collector's Edition") - else - B.name = "The Holy Book of [new_religion]" - feedback_set_details("religion_name","[new_religion]") - CALLBACK(src, .proc/select_deity_name, H, B) - -/datum/outfit/job/chaplain/proc/select_deity_name(mob/living/carbon/human/H, obj/item/weapon/storage/bible/B) - var/deity_name = "Space Jesus" - var/new_deity = sanitize(input(H, "Would you like to change your deity? Default is Space Jesus.", "Name change", deity_name), MAX_NAME_LEN) - - if ((length(new_deity) == 0) || (new_deity == "Space Jesus") ) - new_deity = deity_name - B.deity_name = new_deity - - var/accepted = 0 - var/outoftime = 0 - spawn(200) // 20 seconds to choose - outoftime = 1 - var/new_book_style = "Bible" - - while(!accepted) - if(!B) break // prevents possible runtime errors - new_book_style = input(H,"Which bible style would you like?") in list("Bible", "Koran", "Scrapbook", "Creeper", "White Bible", "Holy Light", "Athiest", "Tome", "The King in Yellow", "Ithaqua", "Scientology", "the bible melts", "Necronomicon") - switch(new_book_style) - if("Koran") - B.icon_state = "koran" - B.item_state = "koran" - for(var/area/chapel/main/A in the_station_areas) - for(var/turf/T in A.contents) - if(T.icon_state == "carpetsymbol") - T.set_dir(4) - if("Scrapbook") - B.icon_state = "scrapbook" - B.item_state = "scrapbook" - if("Creeper") - B.icon_state = "creeper" - B.item_state = "syringe_kit" - if("White Bible") - B.icon_state = "white" - B.item_state = "syringe_kit" - if("Holy Light") - B.icon_state = "holylight" - B.item_state = "syringe_kit" - if("Athiest") - B.icon_state = "athiest" - B.item_state = "syringe_kit" - for(var/area/chapel/main/A in the_station_areas) - for(var/turf/T in A.contents) - if(T.icon_state == "carpetsymbol") - T.set_dir(10) - if("Tome") - B.icon_state = "tome" - B.item_state = "syringe_kit" - if("The King in Yellow") - B.icon_state = "kingyellow" - B.item_state = "kingyellow" - if("Ithaqua") - B.icon_state = "ithaqua" - B.item_state = "ithaqua" - if("Scientology") - B.icon_state = "scientology" - B.item_state = "scientology" - for(var/area/chapel/main/A in the_station_areas) - for(var/turf/T in A.contents) - if(T.icon_state == "carpetsymbol") - T.set_dir(8) - if("the bible melts") - B.icon_state = "melted" - B.item_state = "melted" - if("Necronomicon") - B.icon_state = "necronomicon" - B.item_state = "necronomicon" - else - // if christian bible, revert to default - B.icon_state = "bible" - B.item_state = "bible" - for(var/area/chapel/main/A in the_station_areas) - for(var/turf/T in A.contents) - if(T.icon_state == "carpetsymbol") - T.set_dir(2) - - H.update_inv_l_hand() // so that it updates the bible's item_state in his hand - - switch(input(H,"Look at your bible - is this what you want?") in list("Yes","No")) - if("Yes") - accepted = 1 - if("No") - if(outoftime) - to_chat(H, "Welp, out of time, buddy. You're stuck. Next time choose faster.") - accepted = 1 - - SSticker.Bible_icon_state = B.icon_state - SSticker.Bible_item_state = B.item_state - SSticker.Bible_name = B.name - SSticker.Bible_deity_name = B.deity_name - feedback_set_details("religion_deity","[new_deity]") - feedback_set_details("religion_book","[new_book_style]") + B.icon_state = religion.book_sprite + B.name = religion.book_name + SSticker.Bible_icon_state = religion.book_sprite + SSticker.Bible_item_state = religion.book_sprite + SSticker.Bible_name = religion.book_name + return 1 \ No newline at end of file diff --git a/code/game/jobs/job/outsider/representative.dm b/code/game/jobs/job/outsider/representative.dm index a1f8328ec55..e9cecd48e52 100644 --- a/code/game/jobs/job/outsider/representative.dm +++ b/code/game/jobs/job/outsider/representative.dm @@ -13,16 +13,18 @@ access = list(access_lawyer, access_maint_tunnels) minimal_access = list(access_lawyer) outfit = /datum/outfit/job/representative - alt_titles = list("Tau Ceti Representative","Sol Consular Officer", "PRA Consular Officer") - outfit = /datum/outfit/job/representative - alt_outfits = list( - "Tau Ceti Representative"=/datum/outfit/job/representative/ceti, - "Sol Consular Officer"=/datum/outfit/job/representative/sol, - "PRA Consular Officer"= /datum/outfit/job/representative/pra - ) + alt_titles = list("Consular Officer") + +/datum/job/representative/get_outfit(mob/living/carbon/human/H, alt_title = null) + if(H.mind?.role_alt_title == "Consular Officer" || alt_title == "Consular Officer") + var/datum/citizenship/citizenship = SSrecords.citizenships[H.citizenship] + if(citizenship) + return citizenship.consular_outfit + else + . = ..() /datum/outfit/job/representative - name = "Corporate Liaison" + name = "NanoTrasen Corporate Liaison" jobtype = /datum/job/representative head = /obj/item/clothing/head/beret/liaison @@ -53,13 +55,13 @@ var/faxtext = "


Directives Report


" faxtext += "Attention [name], the following directives are to be fulfilled during your stay in the station: