mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-26 18:12:40 +00:00
Distinguish Between Service and Civilian on Crew Manifest (#13670)
This commit is contained in:
@@ -1,16 +1,18 @@
|
||||
#define COMMAND_ROLES list(/datum/job/captain, /datum/job/xo, /datum/job/chief_engineer, /datum/job/cmo, /datum/job/rd, /datum/job/hos, /datum/job/operations_manager, /datum/job/bridge_crew, /datum/job/ai, /datum/job/cyborg, /datum/job/visitor)
|
||||
// Groups
|
||||
#define COMMAND_ROLES list(/datum/job/captain, /datum/job/xo, /datum/job/chief_engineer, /datum/job/cmo, /datum/job/rd, /datum/job/hos, /datum/job/operations_manager, /datum/job/bridge_crew)
|
||||
#define ENGINEERING_ROLES list(/datum/job/engineer, /datum/job/atmos, /datum/job/intern_eng)
|
||||
#define SERVICE_ROLES list(/datum/job/chaplain, /datum/job/bartender, /datum/job/chef, /datum/job/hydro, /datum/job/janitor, /datum/job/journalist, /datum/job/librarian)
|
||||
#define CIVILIAN_ROLES list(/datum/job/assistant, /datum/job/visitor, /datum/job/passenger)
|
||||
#define OPERATIONS_ROLES list(/datum/job/hangar_tech, /datum/job/mining, /datum/job/machinist)
|
||||
#define MEDICAL_ROLES list(/datum/job/doctor, /datum/job/surgeon, /datum/job/pharmacist, /datum/job/psychiatrist, /datum/job/med_tech, /datum/job/intern_med)
|
||||
#define SCIENCE_ROLES list(/datum/job/scientist, /datum/job/xenobiologist, /datum/job/intern_sci)
|
||||
#define SECURITY_ROLES list(/datum/job/warden, /datum/job/investigator, /datum/job/officer, /datum/job/intern_sec)
|
||||
#define SMALL_ROLES list(/datum/job/assistant, /datum/job/visitor)
|
||||
#define EQUIPMENT_ROLES list(/datum/job/ai, /datum/job/cyborg)
|
||||
#define INDEP_ROLES list(/datum/job/merchant, /datum/job/passenger, /datum/job/consular, /datum/job/journalist, /datum/job/chaplain)
|
||||
#define ALL_FACTION_ROLES list(/datum/job/assistant, /datum/job/visitor, /datum/job/representative)
|
||||
#define MISC_ROLE list(/datum/job/assistant, /datum/job/representative)
|
||||
#define ALL_JOBS list(COMMAND_ROLES, ENGINEERING_ROLES, SERVICE_ROLES, CARGO_ROLES, MEDICAL_ROLES, SCIENCE_ROLES, SECURITY_ROLES, INDEP_ROLES, MISC_ROLE)
|
||||
#define ALL_JOBS list(COMMAND_ROLES, ENGINEERING_ROLES, SERVICE_ROLES, CIVILIAN_ROLES, CARGO_ROLES, MEDICAL_ROLES, SCIENCE_ROLES, SECURITY_ROLES, EQUIPMENT_ROLES, INDEP_ROLES)
|
||||
|
||||
// Factions
|
||||
#define IDRIS_ROLES list(SECURITY_ROLES, SERVICE_ROLES, ALL_FACTION_ROLES)
|
||||
#define ZAVOD_ROLES list(SECURITY_ROLES, SCIENCE_ROLES, ENGINEERING_ROLES, ALL_FACTION_ROLES)
|
||||
#define PMC_ROLES list(SECURITY_ROLES, MEDICAL_ROLES, ALL_FACTION_ROLES)
|
||||
|
||||
@@ -116,6 +116,7 @@
|
||||
#define DEPARTMENT_SCIENCE "Science"
|
||||
#define DEPARTMENT_CARGO "Operations"
|
||||
#define DEPARTMENT_SERVICE "Service"
|
||||
#define DEPARTMENT_CIVILIAN "Civilian"
|
||||
#define DEPARTMENT_EQUIPMENT "Equipment"
|
||||
#define DEPARTMENT_MISCELLANEOUS "Miscellaneous"
|
||||
#define DEPARTMENTS_LIST_INIT list(\
|
||||
@@ -126,6 +127,7 @@
|
||||
DEPARTMENT_SCIENCE = list(),\
|
||||
DEPARTMENT_CARGO = list(),\
|
||||
DEPARTMENT_SERVICE = list(),\
|
||||
DEPARTMENT_CIVILIAN = list(),\
|
||||
DEPARTMENT_EQUIPMENT = list(),\
|
||||
DEPARTMENT_MISCELLANEOUS = list(),\
|
||||
)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/job/assistant
|
||||
title = "Assistant"
|
||||
flag = ASSISTANT
|
||||
departments = SIMPLEDEPT(DEPARTMENT_SERVICE)
|
||||
departments = SIMPLEDEPT(DEPARTMENT_CIVILIAN)
|
||||
department_flag = SERVICE
|
||||
faction = "Station"
|
||||
total_positions = -1
|
||||
@@ -31,7 +31,7 @@
|
||||
/datum/job/visitor
|
||||
title = "Off-Duty Crew Member"
|
||||
flag = VISITOR
|
||||
departments = SIMPLEDEPT(DEPARTMENT_SERVICE)
|
||||
departments = SIMPLEDEPT(DEPARTMENT_CIVILIAN)
|
||||
department_flag = SERVICE
|
||||
faction = "Station"
|
||||
total_positions = -1
|
||||
@@ -54,7 +54,7 @@
|
||||
/datum/job/passenger
|
||||
title = "Passenger"
|
||||
flag = PASSENGER
|
||||
departments = SIMPLEDEPT(DEPARTMENT_SERVICE)
|
||||
departments = SIMPLEDEPT(DEPARTMENT_CIVILIAN)
|
||||
department_flag = SERVICE
|
||||
faction = "Station"
|
||||
total_positions = -1
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
var/const/NUM_JOB_DEPTS = 3 //ENGSEC, MEDSCI and SERVICE
|
||||
|
||||
// ENGSEC
|
||||
var/const/ENGSEC =(1<<0)
|
||||
|
||||
var/const/CAPTAIN =(1<<0)
|
||||
@@ -16,6 +18,7 @@ var/const/INTERN_ENG =(1<<11)
|
||||
var/const/BRIDGE_CREW =(1<<12)
|
||||
var/const/OPERATIONS_MANAGER =(1<<13)
|
||||
|
||||
// MEDSCI
|
||||
var/const/MEDSCI =(1<<1)
|
||||
|
||||
var/const/RD =(1<<0)
|
||||
@@ -32,7 +35,7 @@ var/const/MED_TECH =(1<<10)
|
||||
var/const/INTERN_MED =(1<<11)
|
||||
var/const/INTERN_SCI =(1<<12)
|
||||
|
||||
|
||||
// SERVICE
|
||||
var/const/SERVICE =(1<<2)
|
||||
|
||||
var/const/XO =(1<<0)
|
||||
@@ -52,7 +55,7 @@ var/const/MERCHANT =(1<<13)
|
||||
var/const/JOURNALIST =(1<<14)
|
||||
var/const/ASSISTANT =(1<<15)
|
||||
|
||||
|
||||
// Positions Lists
|
||||
var/list/command_positions = list(
|
||||
"Captain",
|
||||
"Executive Officer",
|
||||
@@ -63,7 +66,6 @@ var/list/command_positions = list(
|
||||
"Operations Manager"
|
||||
)
|
||||
|
||||
|
||||
var/list/engineering_positions = list(
|
||||
"Chief Engineer",
|
||||
"Engineer",
|
||||
@@ -71,7 +73,6 @@ var/list/engineering_positions = list(
|
||||
"Engineering Apprentice"
|
||||
)
|
||||
|
||||
|
||||
var/list/medical_positions = list(
|
||||
"Chief Medical Officer",
|
||||
"Physician",
|
||||
@@ -82,7 +83,6 @@ var/list/medical_positions = list(
|
||||
"Medical Intern"
|
||||
)
|
||||
|
||||
|
||||
var/list/science_positions = list(
|
||||
"Research Director",
|
||||
"Scientist",
|
||||
@@ -90,7 +90,6 @@ var/list/science_positions = list(
|
||||
"Lab Assistant"
|
||||
)
|
||||
|
||||
//BS12 EDIT
|
||||
var/list/cargo_positions = list(
|
||||
"Operations Manager",
|
||||
"Hangar Technician",
|
||||
@@ -108,12 +107,15 @@ var/list/service_positions = list(
|
||||
"Librarian",
|
||||
"Corporate Reporter",
|
||||
"Chaplain",
|
||||
"Assistant",
|
||||
"Bridge Crew",
|
||||
"Off-Duty Crew Member",
|
||||
"Passenger"
|
||||
"Bridge Crew"
|
||||
)
|
||||
|
||||
var/list/civilian_positions = list(
|
||||
"Assistant",
|
||||
"Off-Duty Crew Member",
|
||||
"Passenger",
|
||||
"Merchant"
|
||||
)
|
||||
|
||||
var/list/security_positions = list(
|
||||
"Head of Security",
|
||||
@@ -126,8 +128,7 @@ var/list/security_positions = list(
|
||||
var/list/nonhuman_positions = list(
|
||||
"AI",
|
||||
"Cyborg",
|
||||
"pAI",
|
||||
"Merchant"
|
||||
"pAI"
|
||||
)
|
||||
|
||||
/proc/guest_jobbans(var/job)
|
||||
@@ -153,5 +154,3 @@ var/list/nonhuman_positions = list(
|
||||
titles = J.alt_titles
|
||||
|
||||
return titles
|
||||
|
||||
//Mahzel : Job preview not added because code don't exist in BS12
|
||||
|
||||
@@ -319,9 +319,9 @@ var/list/jobban_keylist = list() // Global jobban list.
|
||||
************************************WARNING!***********************************/
|
||||
var/counter = 0
|
||||
//Regular jobs
|
||||
//Command (Blue)
|
||||
//Command
|
||||
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
||||
jobs += "<tr align='center' bgcolor='ccccff'><th colspan='[length(command_positions)]'><a href='?src=\ref[src];jobban_job=commanddept;jobban_tgt=[ckey]'>Command Positions</a></th></tr><tr align='center'>"
|
||||
jobs += "<tr align='center' bgcolor='114dc1'><th colspan='[length(command_positions)]'><a href='?src=\ref[src];jobban_job=commanddept;jobban_tgt=[ckey]'>Command Positions</a></th></tr><tr align='center'>"
|
||||
for (var/jobPos in command_positions)
|
||||
if (!jobPos)
|
||||
continue
|
||||
@@ -341,10 +341,10 @@ var/list/jobban_keylist = list() // Global jobban list.
|
||||
counter = 0
|
||||
jobs += "</tr></table>"
|
||||
|
||||
//Security (Red)
|
||||
//Security
|
||||
counter = 0
|
||||
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
||||
jobs += "<tr bgcolor='ffddf0'><th colspan='[length(security_positions)]'><a href='?src=\ref[src];jobban_job=securitydept;jobban_tgt=[ckey]'>Security Positions</a></th></tr><tr align='center'>"
|
||||
jobs += "<tr bgcolor='991818'><th colspan='[length(security_positions)]'><a href='?src=\ref[src];jobban_job=securitydept;jobban_tgt=[ckey]'>Security Positions</a></th></tr><tr align='center'>"
|
||||
for (var/jobPos in security_positions)
|
||||
if (!jobPos)
|
||||
continue
|
||||
@@ -364,10 +364,10 @@ var/list/jobban_keylist = list() // Global jobban list.
|
||||
counter = 0
|
||||
jobs += "</tr></table>"
|
||||
|
||||
//Engineering (Yellow)
|
||||
//Engineering
|
||||
counter = 0
|
||||
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
||||
jobs += "<tr bgcolor='fff5cc'><th colspan='[length(engineering_positions)]'><a href='?src=\ref[src];jobban_job=engineeringdept;jobban_tgt=[ckey]'>Engineering Positions</a></th></tr><tr align='center'>"
|
||||
jobs += "<tr bgcolor='c67519'><th colspan='[length(engineering_positions)]'><a href='?src=\ref[src];jobban_job=engineeringdept;jobban_tgt=[ckey]'>Engineering Positions</a></th></tr><tr align='center'>"
|
||||
for (var/jobPos in engineering_positions)
|
||||
if (!jobPos)
|
||||
continue
|
||||
@@ -387,10 +387,10 @@ var/list/jobban_keylist = list() // Global jobban list.
|
||||
counter = 0
|
||||
jobs += "</tr></table>"
|
||||
|
||||
//Medical (White)
|
||||
//Medical
|
||||
counter = 0
|
||||
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
||||
jobs += "<tr bgcolor='ffeef0'><th colspan='[length(medical_positions)]'><a href='?src=\ref[src];jobban_job=medicaldept;jobban_tgt=[ckey]'>Medical Positions</a></th></tr><tr align='center'>"
|
||||
jobs += "<tr bgcolor='15903a'><th colspan='[length(medical_positions)]'><a href='?src=\ref[src];jobban_job=medicaldept;jobban_tgt=[ckey]'>Medical Positions</a></th></tr><tr align='center'>"
|
||||
for (var/jobPos in medical_positions)
|
||||
if (!jobPos)
|
||||
continue
|
||||
@@ -410,10 +410,10 @@ var/list/jobban_keylist = list() // Global jobban list.
|
||||
counter = 0
|
||||
jobs += "</tr></table>"
|
||||
|
||||
//Science (Purple)
|
||||
//Science
|
||||
counter = 0
|
||||
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
||||
jobs += "<tr bgcolor='e79fff'><th colspan='[length(science_positions)]'><a href='?src=\ref[src];jobban_job=sciencedept;jobban_tgt=[ckey]'>Science Positions</a></th></tr><tr align='center'>"
|
||||
jobs += "<tr bgcolor='a44799'><th colspan='[length(science_positions)]'><a href='?src=\ref[src];jobban_job=sciencedept;jobban_tgt=[ckey]'>Science Positions</a></th></tr><tr align='center'>"
|
||||
for (var/jobPos in science_positions)
|
||||
if (!jobPos)
|
||||
continue
|
||||
@@ -433,10 +433,10 @@ var/list/jobban_keylist = list() // Global jobban list.
|
||||
counter = 0
|
||||
jobs += "</tr></table>"
|
||||
|
||||
//Cargo (Brown ish)
|
||||
//Cargo
|
||||
counter = 0
|
||||
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
||||
jobs += "<tr bgcolor='f49d50'><th colspan='[length(cargo_positions)]'><a href='?src=\ref[src];jobban_job=cargodept;jobban_tgt=[ckey]'>Cargo Positions</a></th></tr><tr align='center'>"
|
||||
jobs += "<tr bgcolor='593616'><th colspan='[length(cargo_positions)]'><a href='?src=\ref[src];jobban_job=cargodept;jobban_tgt=[ckey]'>Cargo Positions</a></th></tr><tr align='center'>"
|
||||
for (var/jobPos in cargo_positions)
|
||||
if (!jobPos)
|
||||
continue
|
||||
@@ -455,10 +455,10 @@ var/list/jobban_keylist = list() // Global jobban list.
|
||||
jobs += "</tr><tr align='center'>"
|
||||
counter = 0
|
||||
|
||||
//Civilian (Grey)
|
||||
//Service
|
||||
counter = 0
|
||||
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
||||
jobs += "<tr bgcolor='dddddd'><th colspan='[length(service_positions)]'><a href='?src=\ref[src];jobban_job=civiliandept;jobban_tgt=[ckey]'>Civilian Positions</a></th></tr><tr align='center'>"
|
||||
jobs += "<tr bgcolor='90524b'><th colspan='[length(service_positions)]'><a href='?src=\ref[src];jobban_job=servicedept;jobban_tgt=[ckey]'>Service Positions</a></th></tr><tr align='center'>"
|
||||
for (var/jobPos in service_positions)
|
||||
if (!jobPos)
|
||||
continue
|
||||
@@ -476,9 +476,30 @@ var/list/jobban_keylist = list() // Global jobban list.
|
||||
if (counter >= 5) //So things dont get squiiiiished!
|
||||
jobs += "</tr><tr align='center'>"
|
||||
counter = 0
|
||||
|
||||
jobs += "</tr></table>"
|
||||
|
||||
//Civilian
|
||||
counter = 0
|
||||
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
||||
jobs += "<tr bgcolor='999999'><th colspan='[length(civilian_positions)]'><a href='?src=\ref[src];jobban_job=civiliandept;jobban_tgt=[ckey]'>Civilian Positions</a></th></tr><tr align='center'>"
|
||||
for (var/jobPos in civilian_positions)
|
||||
if (!jobPos)
|
||||
continue
|
||||
var/datum/job/job = SSjobs.GetJob(jobPos)
|
||||
if (!job)
|
||||
continue
|
||||
|
||||
if (jobban_isbanned(ckey, job.title))
|
||||
jobs += "<td width='20%'><a href='?src=\ref[src];jobban_job=[job.title];jobban_tgt=[ckey]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
||||
counter++
|
||||
else
|
||||
jobs += "<td width='20%'><a href='?src=\ref[src];jobban_job=[job.title];jobban_tgt=[ckey]'>[replacetext(job.title, " ", " ")]</a></td>"
|
||||
counter++
|
||||
|
||||
if (counter >= 5) //So things dont get squiiiiished!
|
||||
jobs += "</tr><tr align='center'>"
|
||||
counter = 0
|
||||
|
||||
//Non-Human (Green)
|
||||
counter = 0
|
||||
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
||||
@@ -500,6 +521,7 @@ var/list/jobban_keylist = list() // Global jobban list.
|
||||
if (counter >= 5) //So things dont get squiiiiished!
|
||||
jobs += "</tr><tr align='center'>"
|
||||
counter = 0
|
||||
jobs += "</tr></table>"
|
||||
|
||||
//pAI isn't technically a job, but it goes in here.
|
||||
|
||||
@@ -514,12 +536,10 @@ var/list/jobban_keylist = list() // Global jobban list.
|
||||
jobs += "</tr></table>"
|
||||
|
||||
//Antagonist (Orange)
|
||||
counter = 0
|
||||
var/isbanned_dept = jobban_isbanned(ckey, "Antagonist")
|
||||
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
||||
jobs += "<tr bgcolor='ffeeaa'><th colspan='10'><a href='?src=\ref[src];jobban_job=Antagonist;jobban_tgt=[ckey]'>Antagonist Positions</a></th></tr><tr align='center'>"
|
||||
|
||||
// Antagonists.
|
||||
counter = 0
|
||||
for (var/antag_type in all_antag_types)
|
||||
var/datum/antagonist/antag = all_antag_types[antag_type]
|
||||
if (!antag || !antag.bantype)
|
||||
@@ -534,10 +554,9 @@ var/list/jobban_keylist = list() // Global jobban list.
|
||||
if (counter >= 5) //So things dont get squiiiiished!
|
||||
jobs += "</tr><tr align='center'>"
|
||||
counter = 0
|
||||
|
||||
jobs += "</tr></table>"
|
||||
|
||||
//Other races (BLUE, because I have no idea what other color to make this)
|
||||
//Other Races
|
||||
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
||||
jobs += "<tr bgcolor='ccccff'><th colspan='1'>Other Races</th></tr><tr align='center'>"
|
||||
|
||||
@@ -628,7 +647,7 @@ var/list/jobban_keylist = list() // Global jobban list.
|
||||
if (!temp)
|
||||
continue
|
||||
joblist += temp.title
|
||||
if ("civiliandept")
|
||||
if ("servicedept")
|
||||
for (var/jobPos in service_positions)
|
||||
if (!jobPos)
|
||||
continue
|
||||
@@ -636,6 +655,14 @@ var/list/jobban_keylist = list() // Global jobban list.
|
||||
if (!temp)
|
||||
continue
|
||||
joblist += temp.title
|
||||
if ("civiliandept")
|
||||
for (var/jobPos in civilian_positions)
|
||||
if (!jobPos)
|
||||
continue
|
||||
var/datum/job/temp = SSjobs.GetJob(jobPos)
|
||||
if (!temp)
|
||||
continue
|
||||
joblist += temp.title
|
||||
if ("nonhumandept")
|
||||
joblist += "pAI"
|
||||
for (var/jobPos in nonhuman_positions)
|
||||
|
||||
@@ -40,13 +40,13 @@
|
||||
data["id_owner"] = id_card && id_card.registered_name ? id_card.registered_name : "-----"
|
||||
data["id_name"] = id_card ? id_card.name : "-----"
|
||||
|
||||
|
||||
data["engineering_jobs"] = format_jobs(engineering_positions)
|
||||
data["medical_jobs"] = format_jobs(medical_positions)
|
||||
data["science_jobs"] = format_jobs(science_positions)
|
||||
data["security_jobs"] = format_jobs(security_positions)
|
||||
data["cargo_jobs"] = format_jobs(cargo_positions)
|
||||
data["civilian_jobs"] = format_jobs(service_positions)
|
||||
data["service_jobs"] = format_jobs(service_positions)
|
||||
data["civilian_jobs"] = format_jobs(civilian_positions)
|
||||
data["centcom_jobs"] = format_jobs(get_all_centcom_jobs())
|
||||
|
||||
data["all_centcom_access"] = is_centcom ? get_accesses(1) : null
|
||||
|
||||
@@ -191,7 +191,8 @@
|
||||
"eng" = engineering_positions,
|
||||
"med" = medical_positions,
|
||||
"sci" = science_positions,
|
||||
"civ" = service_positions,
|
||||
"ser" = service_positions,
|
||||
"civ" = civilian_positions,
|
||||
"bot" = nonhuman_positions
|
||||
)
|
||||
|
||||
|
||||
7
html/changelogs/manifest_additions.yml
Normal file
7
html/changelogs/manifest_additions.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
author: SleepyGemmy
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- tweak: "The crew manifest now distinguishes between service and civilian."
|
||||
- backend: "The job ban menu now uses standardized colours."
|
||||
@@ -118,7 +118,17 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="color: '#808080';">Civilian</th>
|
||||
<th style="color: '#90524b';">Service</th>
|
||||
<td>
|
||||
{{for data.service_jobs}}
|
||||
{{if index && index % 6 === 0}}
|
||||
</td></tr><tr><th></th><td>
|
||||
{{/if}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'assign', 'assign_target' : value.job}, data.id_rank == value.job ? 'disabled' : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
<th style="color: '#999999';">Civilian</th>
|
||||
<td>
|
||||
{{for data.civilian_jobs}}
|
||||
{{if index && index % 6 === 0}}
|
||||
@@ -130,7 +140,7 @@
|
||||
</tr>
|
||||
{{if data.centcom_access}}
|
||||
<tr>
|
||||
<th style="color: '#A52A2A';">CentCom</th>
|
||||
<th style="color: '#a52a2a';">CentCom</th>
|
||||
<td>
|
||||
{{for data.centcom_jobs}}
|
||||
{{if index % 6 === 0}}
|
||||
|
||||
@@ -6,6 +6,7 @@ $departmental-colors: (
|
||||
"Science": #a44799,
|
||||
"Operations": #593616,
|
||||
"Service": #90524b,
|
||||
"Civilian": #999999,
|
||||
"Equipment": #6c5b73,
|
||||
"Miscellaneous": #5d6a67,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user