removes the last of the old job controller (#19344)

* removes the last of the old job controller

* .

* .

* .

* .

* .

* Update admin_verbs.dm

* Update admin_verbs.dm

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
Kashargul
2026-04-13 09:06:54 +03:00
committed by GitHub
parent a3b7c0e836
commit 12c5adeeb3
40 changed files with 1029 additions and 1148 deletions
+9 -9
View File
@@ -357,17 +357,17 @@ ADMIN_VERB(shuttle_panel, R_ADMIN|R_EVENT, "Shuttle Control Panel", "Access the
ADMIN_VERB(free_slot, R_ADMIN|R_FUN|R_EVENT, "Free Job Slot", "Frees another job slot.", ADMIN_CATEGORY_EVENTS)
var/list/jobs = list()
for (var/datum/job/current_job in GLOB.job_master.occupations)
if (current_job.current_positions >= current_job.total_positions && current_job.total_positions != -1)
jobs += current_job.title
if (!length(jobs))
to_chat(user, "There are no fully staffed jobs.")
for(var/datum/job/J in SSjob.occupations)
if (J.current_positions >= J.total_positions && J.total_positions != -1)
jobs += J.title
if(!jobs.len)
to_chat(usr, "There are no fully staffed jobs.")
return
var/job = tgui_input_list(user, "Please select job slot to free", "Free job slot", jobs)
if (!job)
var/job = tgui_input_list(usr, "Please select job slot to free", "Free job slot", jobs)
if(job)
SSjob.free_role(job)
message_admins("A job slot for [job] has been opened by [key_name_admin(usr)]")
return
GLOB.job_master.FreeRole(job)
message_admins("A job slot for [job] has been opened by [key_name_admin(user)]")
ADMIN_VERB(toggleghostwriters, R_ADMIN|R_FUN|R_EVENT, "Toggle ghost writers", "Toggles ghost writing.", ADMIN_CATEGORY_SERVER_GAME)
if(!config)
+22 -22
View File
@@ -257,7 +257,7 @@
if(!M.ckey) //sanity
to_chat(usr, span_filter_adminlog("This mob has no ckey"))
return
if(!GLOB.job_master)
if(!SSjob)
to_chat(usr, span_filter_adminlog("Job Master has not been setup!"))
return
@@ -278,7 +278,7 @@
jobs += "<tr align='center' bgcolor='ccccff'><th colspan='[length(SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND))]'><a href='byond://?src=\ref[src];[HrefToken()];jobban3=commanddept;jobban4=\ref[M]'>Command Positions</a></th></tr><tr align='center'>"
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND))
if(!jobPos) continue
var/datum/job/job = GLOB.job_master.GetJob(jobPos)
var/datum/job/job = SSjob.get_job(jobPos)
if(!job) continue
if(jobban_isbanned(M, job.title))
@@ -298,7 +298,7 @@
jobs += "<tr bgcolor='ffddf0'><th colspan='[length(SSjob.get_job_titles_in_department(DEPARTMENT_SECURITY))]'><a href='byond://?src=\ref[src];[HrefToken()];jobban3=securitydept;jobban4=\ref[M]'>Security Positions</a></th></tr><tr align='center'>"
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_SECURITY))
if(!jobPos) continue
var/datum/job/job = GLOB.job_master.GetJob(jobPos)
var/datum/job/job = SSjob.get_job(jobPos)
if(!job) continue
if(jobban_isbanned(M, job.title))
@@ -318,7 +318,7 @@
jobs += "<tr bgcolor='fff5cc'><th colspan='[length(SSjob.get_job_titles_in_department(DEPARTMENT_ENGINEERING))]'><a href='byond://?src=\ref[src];[HrefToken()];jobban3=engineeringdept;jobban4=\ref[M]'>Engineering Positions</a></th></tr><tr align='center'>"
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_ENGINEERING))
if(!jobPos) continue
var/datum/job/job = GLOB.job_master.GetJob(jobPos)
var/datum/job/job = SSjob.get_job(jobPos)
if(!job) continue
if(jobban_isbanned(M, job.title))
@@ -338,7 +338,7 @@
jobs += "<tr bgcolor='fff5cc'><th colspan='[length(SSjob.get_job_titles_in_department(DEPARTMENT_CARGO))]'><a href='byond://?src=\ref[src];[HrefToken()];jobban3=cargodept;jobban4=\ref[M]'>Cargo Positions</a></th></tr><tr align='center'>"
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_CARGO))
if(!jobPos) continue
var/datum/job/job = GLOB.job_master.GetJob(jobPos)
var/datum/job/job = SSjob.get_job(jobPos)
if(!job) continue
if(jobban_isbanned(M, job.title))
@@ -358,7 +358,7 @@
jobs += "<tr bgcolor='ffeef0'><th colspan='[length(SSjob.get_job_titles_in_department(DEPARTMENT_MEDICAL))]'><a href='byond://?src=\ref[src];[HrefToken()];jobban3=medicaldept;jobban4=\ref[M]'>Medical Positions</a></th></tr><tr align='center'>"
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_MEDICAL))
if(!jobPos) continue
var/datum/job/job = GLOB.job_master.GetJob(jobPos)
var/datum/job/job = SSjob.get_job(jobPos)
if(!job) continue
if(jobban_isbanned(M, job.title))
@@ -378,7 +378,7 @@
jobs += "<tr bgcolor='e79fff'><th colspan='[length(SSjob.get_job_titles_in_department(DEPARTMENT_RESEARCH))]'><a href='byond://?src=\ref[src];[HrefToken()];jobban3=sciencedept;jobban4=\ref[M]'>Science Positions</a></th></tr><tr align='center'>"
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_RESEARCH))
if(!jobPos) continue
var/datum/job/job = GLOB.job_master.GetJob(jobPos)
var/datum/job/job = SSjob.get_job(jobPos)
if(!job) continue
if(jobban_isbanned(M, job.title))
@@ -398,7 +398,7 @@
jobs += "<tr bgcolor='ebb8fc'><th colspan='[length(SSjob.get_job_titles_in_department(DEPARTMENT_PLANET))]'><a href='byond://?src=\ref[src];[HrefToken()];jobban3=explorationdept;jobban4=\ref[M]'>Exploration Positions</a></th></tr><tr align='center'>"
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_PLANET))
if(!jobPos) continue
var/datum/job/job = GLOB.job_master.GetJob(jobPos)
var/datum/job/job = SSjob.get_job(jobPos)
if(!job) continue
if(jobban_isbanned(M, job.title))
@@ -422,7 +422,7 @@
jobs += "<tr bgcolor='00ffff'><th colspan='[length(offmap_jobs)]'><a href='byond://?src=\ref[src];[HrefToken()];jobban3=offmapdept;jobban4=\ref[M]'>Offmap Positions</a></th></tr><tr align='center'>"
for(var/jobPos in offmap_jobs)
if(!jobPos) continue
var/datum/job/job = GLOB.job_master.GetJob(jobPos)
var/datum/job/job = SSjob.get_job(jobPos)
if(!job) continue
if(jobban_isbanned(M, job.title))
@@ -442,7 +442,7 @@
jobs += "<tr bgcolor='dddddd'><th colspan='[length(SSjob.get_job_titles_in_department(DEPARTMENT_CIVILIAN))]'><a href='byond://?src=\ref[src];[HrefToken()];jobban3=civiliandept;jobban4=\ref[M]'>Civilian Positions</a></th></tr><tr align='center'>"
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_CIVILIAN))
if(!jobPos) continue
var/datum/job/job = GLOB.job_master.GetJob(jobPos)
var/datum/job/job = SSjob.get_job(jobPos)
if(!job) continue
if(jobban_isbanned(M, job.title))
@@ -467,7 +467,7 @@
jobs += "<tr bgcolor='ccffcc'><th colspan='[length(SSjob.get_job_titles_in_department(DEPARTMENT_SYNTHETIC))]'><a href='byond://?src=\ref[src];[HrefToken()];jobban3=nonhumandept;jobban4=\ref[M]'>Synthetic Positions</a></th></tr><tr align='center'>"
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_SYNTHETIC))
if(!jobPos) continue
var/datum/job/job = GLOB.job_master.GetJob(jobPos)
var/datum/job/job = SSjob.get_job(jobPos)
if(!job) continue
if(jobban_isbanned(M, job.title))
@@ -547,7 +547,7 @@
tgui_alert_async(usr, "You cannot perform this action. You must be of a higher administrative rank!")
return
if(!GLOB.job_master)
if(!SSjob)
to_chat(usr, span_filter_adminlog("Job Master has not been setup!"))
return
@@ -557,63 +557,63 @@
if("commanddept")
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND))
if(!jobPos) continue
var/datum/job/temp = GLOB.job_master.GetJob(jobPos)
var/datum/job/temp = SSjob.get_job(jobPos)
if(!temp) continue
joblist += temp.title
if("securitydept")
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_SECURITY))
if(!jobPos) continue
var/datum/job/temp = GLOB.job_master.GetJob(jobPos)
var/datum/job/temp = SSjob.get_job(jobPos)
if(!temp) continue
joblist += temp.title
if("engineeringdept")
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_ENGINEERING))
if(!jobPos) continue
var/datum/job/temp = GLOB.job_master.GetJob(jobPos)
var/datum/job/temp = SSjob.get_job(jobPos)
if(!temp) continue
joblist += temp.title
if("cargodept")
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_CARGO))
if(!jobPos) continue
var/datum/job/temp = GLOB.job_master.GetJob(jobPos)
var/datum/job/temp = SSjob.get_job(jobPos)
if(!temp) continue
joblist += temp.title
if("medicaldept")
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_MEDICAL))
if(!jobPos) continue
var/datum/job/temp = GLOB.job_master.GetJob(jobPos)
var/datum/job/temp = SSjob.get_job(jobPos)
if(!temp) continue
joblist += temp.title
if("sciencedept")
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_RESEARCH))
if(!jobPos) continue
var/datum/job/temp = GLOB.job_master.GetJob(jobPos)
var/datum/job/temp = SSjob.get_job(jobPos)
if(!temp) continue
joblist += temp.title
if("explorationdept")
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_PLANET))
if(!jobPos) continue
var/datum/job/temp = GLOB.job_master.GetJob(jobPos)
var/datum/job/temp = SSjob.get_job(jobPos)
if(!temp) continue
joblist += temp.title
if("offmapdept")
for(var/dept in GLOB.offmap_departments)
for(var/jobPos in SSjob.get_job_titles_in_department(dept))
if(!jobPos) continue
var/datum/job/temp = GLOB.job_master.GetJob(jobPos)
var/datum/job/temp = SSjob.get_job(jobPos)
if(!temp) continue
joblist += temp.title
if("civiliandept")
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_CIVILIAN))
if(!jobPos) continue
var/datum/job/temp = GLOB.job_master.GetJob(jobPos)
var/datum/job/temp = SSjob.get_job(jobPos)
if(!temp) continue
joblist += temp.title
if("nonhumandept")
joblist += "pAI"
for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_SYNTHETIC))
if(!jobPos) continue
var/datum/job/temp = GLOB.job_master.GetJob(jobPos)
var/datum/job/temp = SSjob.get_job(jobPos)
if(!temp) continue
joblist += temp.title
else
+2 -2
View File
@@ -57,8 +57,8 @@ ADMIN_VERB(camera_view, R_DEBUG, "Camera Range Display", "Globally changes the c
ADMIN_VERB_VISIBILITY(sec_camera_report, ADMIN_VERB_VISIBLITY_FLAG_LOCALHOST)
ADMIN_VERB(sec_camera_report, R_DEBUG, "Camera Report", "Gives a report of the camera state (Only use on a test server).", ADMIN_CATEGORY_MAPPING_TESTS)
if(!GLOB.master_controller)
tgui_alert_async(user,"Master_controller not found.","Sec Camera Report")
if(!SSticker.HasRoundStarted())
tgui_alert_async(user,"Game init not ready.","Sec Camera Report")
return 0
var/list/obj/machinery/camera/CL = list()
+5 -5
View File
@@ -390,7 +390,7 @@ ADMIN_VERB(respawn_character, (R_ADMIN|R_REJUVINATE), "Spawn Character", "(Re)Sp
//Well you're not reloading their job or they never had one.
if(!charjob)
var/pickjob = tgui_input_list(src, "Pick a job to assign them (or none).","Job Select", GLOB.joblist.Copy() + "-No Job-", "-No Job-")
var/pickjob = tgui_input_list(src, "Pick a job to assign them (or none).","Job Select", SSjob.occupations_by_name.Copy() + "-No Job-", "-No Job-")
if(!pickjob)
return
if(pickjob != "-No Job-")
@@ -521,10 +521,10 @@ ADMIN_VERB(respawn_character, (R_ADMIN|R_REJUVINATE), "Spawn Character", "(Re)Sp
//If desired, apply equipment.
if(equipment)
if(charjob)
GLOB.job_master.EquipRank(new_character, charjob, 1)
SSjob.equip_rank(new_character, charjob, 1)
if(new_character.mind)
new_character.mind.assigned_role = charjob
new_character.mind.role_alt_title = GLOB.job_master.GetPlayerAltTitle(new_character, charjob)
new_character.mind.role_alt_title = SSjob.get_player_alt_title(new_character, charjob)
//If customised job title, modify here.
if(custom_job && custom_job_title)
@@ -652,8 +652,8 @@ ADMIN_VERB_AND_CONTEXT_MENU(cmd_admin_delete, R_FUN|R_ADMIN, "Delete", "Delete t
user.admin_delete(atom_target)
ADMIN_VERB(cmd_admin_list_open_jobs, R_HOLDER, "List free slots", "Show available job slots.", ADMIN_CATEGORY_INVESTIGATE)
if(GLOB.job_master)
for(var/datum/job/job in GLOB.job_master.occupations)
if(SSjob)
for(var/datum/job/job in SSjob.occupations)
to_chat(user, "[job.title]: [job.total_positions]")
feedback_add_details("admin_verb","LFS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+2 -2
View File
@@ -6,8 +6,8 @@
to_chat(usr, "This option is currently only usable during pregame. This may change at a later date.")
return
if(GLOB.job_master && SSticker)
var/datum/job/job = GLOB.job_master.GetJob(JOB_AI)
if(SSjob && SSticker)
var/datum/job/job = SSjob.get_job(JOB_AI)
if(!job)
to_chat(usr, "Unable to locate the AI job")
return