mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Refactored job preferences (#30034)
* Refactored job preferences * remove more useless shit * i swear it's useless * step * keep the list clean
This commit is contained in:
@@ -64,6 +64,7 @@ CREATE TABLE jobs (
|
|||||||
job_engsec_high INTEGER,
|
job_engsec_high INTEGER,
|
||||||
job_engsec_med INTEGER,
|
job_engsec_med INTEGER,
|
||||||
job_engsec_low INTEGER,
|
job_engsec_low INTEGER,
|
||||||
|
jobs TEXT,
|
||||||
FOREIGN KEY ( player_ckey, player_slot ) REFERENCES players ( player_ckey, player_slot ) ON DELETE CASCADE,
|
FOREIGN KEY ( player_ckey, player_slot ) REFERENCES players ( player_ckey, player_slot ) ON DELETE CASCADE,
|
||||||
UNIQUE ( player_ckey, player_slot )
|
UNIQUE ( player_ckey, player_slot )
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -8,3 +8,9 @@
|
|||||||
#define SPECIAL_POPUP_DISABLED 0 // only output to chat
|
#define SPECIAL_POPUP_DISABLED 0 // only output to chat
|
||||||
#define SPECIAL_POPUP_EXCLUSIVE 1 // only output to special
|
#define SPECIAL_POPUP_EXCLUSIVE 1 // only output to special
|
||||||
#define SPECIAL_POPUP_USE_BOTH 2 // output to both chat and special
|
#define SPECIAL_POPUP_USE_BOTH 2 // output to both chat and special
|
||||||
|
|
||||||
|
// /datum/preferences/var/jobs
|
||||||
|
#define JOB_PREF_HIGH 3
|
||||||
|
#define JOB_PREF_MED 2
|
||||||
|
#define JOB_PREF_LOW 1
|
||||||
|
#define JOB_PREF_NEVER 0
|
||||||
|
|||||||
@@ -528,7 +528,7 @@ Assign your candidates in choose_candidates() instead.
|
|||||||
/datum/dynamic_ruleset/roundstart/malf/proc/displace_AI(var/mob/new_player/old_AI)
|
/datum/dynamic_ruleset/roundstart/malf/proc/displace_AI(var/mob/new_player/old_AI)
|
||||||
old_AI.mind.assigned_role = null
|
old_AI.mind.assigned_role = null
|
||||||
var/list/shuffledoccupations = shuffle(job_master.occupations)
|
var/list/shuffledoccupations = shuffle(job_master.occupations)
|
||||||
for(var/level = 1 to 3)
|
for(var/level = 3 to 1 step -1)
|
||||||
if(old_AI.mind.assigned_role)
|
if(old_AI.mind.assigned_role)
|
||||||
break
|
break
|
||||||
for(var/datum/job/job in shuffledoccupations)
|
for(var/datum/job/job in shuffledoccupations)
|
||||||
|
|||||||
@@ -342,33 +342,12 @@ We don't care about names, DNA, accounts, activity, any of that. We're just gonn
|
|||||||
for(var/mob/new_player/player in player_list)
|
for(var/mob/new_player/player in player_list)
|
||||||
if(!player.ready)
|
if(!player.ready)
|
||||||
continue
|
continue
|
||||||
//Prefs are only stored as a bitflag, so we have to look up the job name.
|
|
||||||
//Only one of these should have a value
|
|
||||||
|
|
||||||
var/J = null
|
var/list/jobs = player.client.prefs.jobs
|
||||||
if(player.client.prefs.job_engsec_high)
|
|
||||||
J = flags_to_job(player.client.prefs.job_engsec_high,ENGSEC)
|
|
||||||
else if(player.client.prefs.job_medsci_high)
|
|
||||||
J = flags_to_job(player.client.prefs.job_medsci_high,MEDSCI)
|
|
||||||
else if(player.client.prefs.job_civilian_high)
|
|
||||||
J = flags_to_job(player.client.prefs.job_civilian_high,CIVILIAN)
|
|
||||||
else
|
|
||||||
continue //They don't have a high pref!
|
|
||||||
|
|
||||||
if(!J)
|
for(var/job in jobs)
|
||||||
continue //sanity
|
if(jobs[job] == JOB_PREF_HIGH)
|
||||||
crystal_ball[J] += 1
|
crystal_ball[job] += 1
|
||||||
|
|
||||||
/datum/controller/occupations/proc/flags_to_job(var/flags, var/department)
|
|
||||||
var/list/searchable_jobs = typesof(/datum/job) - /datum/job
|
|
||||||
for(var/path in searchable_jobs)
|
|
||||||
var/datum/job/J = path
|
|
||||||
if(initial(J.department_flag) != department)
|
|
||||||
continue
|
|
||||||
if(initial(J.flag) != flags)
|
|
||||||
continue
|
|
||||||
return initial(J.title)
|
|
||||||
return null //Still nothing? Null it is
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
We can't just insert in HTML into the nanoUI so we need the raw data to play with.
|
We can't just insert in HTML into the nanoUI so we need the raw data to play with.
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
/datum/job/assistant
|
/datum/job/assistant
|
||||||
title = "Assistant"
|
title = "Assistant"
|
||||||
flag = ASSISTANT
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 2
|
total_positions = 2
|
||||||
spawn_positions = -1
|
spawn_positions = -1
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
/datum/job/captain
|
/datum/job/captain
|
||||||
title = "Captain"
|
title = "Captain"
|
||||||
flag = CAPTAIN
|
|
||||||
department_flag = ENGSEC
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -27,8 +25,6 @@
|
|||||||
|
|
||||||
/datum/job/hop
|
/datum/job/hop
|
||||||
title = "Head of Personnel"
|
title = "Head of Personnel"
|
||||||
flag = HOP
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
//Food
|
//Food
|
||||||
/datum/job/bartender
|
/datum/job/bartender
|
||||||
title = "Bartender"
|
title = "Bartender"
|
||||||
flag = BARTENDER
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -15,8 +13,6 @@
|
|||||||
|
|
||||||
/datum/job/chef
|
/datum/job/chef
|
||||||
title = "Chef"
|
title = "Chef"
|
||||||
flag = CHEF
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -30,8 +26,6 @@
|
|||||||
|
|
||||||
/datum/job/hydro
|
/datum/job/hydro
|
||||||
title = "Botanist"
|
title = "Botanist"
|
||||||
flag = BOTANIST
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 3
|
total_positions = 3
|
||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
@@ -46,8 +40,6 @@
|
|||||||
//Cargo
|
//Cargo
|
||||||
/datum/job/qm
|
/datum/job/qm
|
||||||
title = "Quartermaster"
|
title = "Quartermaster"
|
||||||
flag = QUARTERMASTER
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -60,8 +52,6 @@
|
|||||||
|
|
||||||
/datum/job/cargo_tech
|
/datum/job/cargo_tech
|
||||||
title = "Cargo Technician"
|
title = "Cargo Technician"
|
||||||
flag = CARGOTECH
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 2
|
total_positions = 2
|
||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
@@ -74,8 +64,6 @@
|
|||||||
|
|
||||||
/datum/job/mining
|
/datum/job/mining
|
||||||
title = "Shaft Miner"
|
title = "Shaft Miner"
|
||||||
flag = MINER
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 3
|
total_positions = 3
|
||||||
spawn_positions = 3
|
spawn_positions = 3
|
||||||
@@ -88,8 +76,6 @@
|
|||||||
|
|
||||||
/datum/job/clown
|
/datum/job/clown
|
||||||
title = "Clown"
|
title = "Clown"
|
||||||
flag = CLOWN
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -120,8 +106,6 @@
|
|||||||
|
|
||||||
/datum/job/mime
|
/datum/job/mime
|
||||||
title = "Mime"
|
title = "Mime"
|
||||||
flag = MIME
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -171,8 +155,6 @@
|
|||||||
|
|
||||||
/datum/job/janitor
|
/datum/job/janitor
|
||||||
title = "Janitor"
|
title = "Janitor"
|
||||||
flag = JANITOR
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -191,8 +173,6 @@
|
|||||||
//More or less assistants
|
//More or less assistants
|
||||||
/datum/job/librarian
|
/datum/job/librarian
|
||||||
title = "Librarian"
|
title = "Librarian"
|
||||||
flag = LIBRARIAN
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -206,8 +186,6 @@
|
|||||||
|
|
||||||
/datum/job/iaa
|
/datum/job/iaa
|
||||||
title = "Internal Affairs Agent"
|
title = "Internal Affairs Agent"
|
||||||
flag = LAWYER
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 2
|
total_positions = 2
|
||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
@@ -221,8 +199,6 @@
|
|||||||
|
|
||||||
/datum/job/chaplain
|
/datum/job/chaplain
|
||||||
title = "Chaplain"
|
title = "Chaplain"
|
||||||
flag = CHAPLAIN
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
/datum/job/chief_engineer
|
/datum/job/chief_engineer
|
||||||
title = "Chief Engineer"
|
title = "Chief Engineer"
|
||||||
flag = CHIEF
|
|
||||||
department_flag = ENGSEC
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -22,8 +20,6 @@
|
|||||||
|
|
||||||
/datum/job/engineer
|
/datum/job/engineer
|
||||||
title = "Station Engineer"
|
title = "Station Engineer"
|
||||||
flag = ENGINEER
|
|
||||||
department_flag = ENGSEC
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 5
|
total_positions = 5
|
||||||
spawn_positions = 5
|
spawn_positions = 5
|
||||||
@@ -37,8 +33,6 @@
|
|||||||
|
|
||||||
/datum/job/atmos
|
/datum/job/atmos
|
||||||
title = "Atmospheric Technician"
|
title = "Atmospheric Technician"
|
||||||
flag = ATMOSTECH
|
|
||||||
department_flag = ENGSEC
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 3
|
total_positions = 3
|
||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
@@ -51,8 +45,6 @@
|
|||||||
|
|
||||||
/datum/job/mechanic
|
/datum/job/mechanic
|
||||||
title = "Mechanic"
|
title = "Mechanic"
|
||||||
flag = MECHANIC
|
|
||||||
department_flag = ENGSEC
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 3
|
total_positions = 3
|
||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
|
|||||||
@@ -8,9 +8,7 @@
|
|||||||
var/list/access = list() //Useful for servers which either have fewer players, so each person needs to fill more than one role, or servers which like to give more access, so players can't hide forever in their super secure departments (I'm looking at you, chemistry!)
|
var/list/access = list() //Useful for servers which either have fewer players, so each person needs to fill more than one role, or servers which like to give more access, so players can't hide forever in their super secure departments (I'm looking at you, chemistry!)
|
||||||
|
|
||||||
//Bitflags for the job
|
//Bitflags for the job
|
||||||
var/flag = 0
|
|
||||||
var/info_flag = 0
|
var/info_flag = 0
|
||||||
var/department_flag = 0
|
|
||||||
|
|
||||||
//Players will be allowed to spawn in as jobs that are set to "Station"
|
//Players will be allowed to spawn in as jobs that are set to "Station"
|
||||||
var/faction = "None"
|
var/faction = "None"
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
/datum/job/cmo
|
/datum/job/cmo
|
||||||
title = "Chief Medical Officer"
|
title = "Chief Medical Officer"
|
||||||
flag = CMO
|
|
||||||
department_flag = MEDSCI
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -22,8 +20,6 @@
|
|||||||
|
|
||||||
/datum/job/doctor
|
/datum/job/doctor
|
||||||
title = "Medical Doctor"
|
title = "Medical Doctor"
|
||||||
flag = DOCTOR
|
|
||||||
department_flag = MEDSCI
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 5
|
total_positions = 5
|
||||||
spawn_positions = 3
|
spawn_positions = 3
|
||||||
@@ -38,8 +34,6 @@
|
|||||||
//Chemist is a medical job damnit //YEAH FUCK YOU SCIENCE -Pete //Guys, behave -Erro //No, fuck science
|
//Chemist is a medical job damnit //YEAH FUCK YOU SCIENCE -Pete //Guys, behave -Erro //No, fuck science
|
||||||
/datum/job/chemist
|
/datum/job/chemist
|
||||||
title = "Chemist"
|
title = "Chemist"
|
||||||
flag = CHEMIST
|
|
||||||
department_flag = MEDSCI
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 2
|
total_positions = 2
|
||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
@@ -53,8 +47,6 @@
|
|||||||
|
|
||||||
/datum/job/geneticist
|
/datum/job/geneticist
|
||||||
title = "Geneticist"
|
title = "Geneticist"
|
||||||
flag = GENETICIST
|
|
||||||
department_flag = MEDSCI
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 2
|
total_positions = 2
|
||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
@@ -67,8 +59,6 @@
|
|||||||
|
|
||||||
/datum/job/virologist
|
/datum/job/virologist
|
||||||
title = "Virologist"
|
title = "Virologist"
|
||||||
flag = VIROLOGIST
|
|
||||||
department_flag = MEDSCI
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -82,8 +72,6 @@
|
|||||||
|
|
||||||
/datum/job/paramedic
|
/datum/job/paramedic
|
||||||
title = "Paramedic"
|
title = "Paramedic"
|
||||||
flag = PARAMEDIC
|
|
||||||
department_flag = MEDSCI
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 4
|
total_positions = 4
|
||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
@@ -98,8 +86,6 @@
|
|||||||
/*
|
/*
|
||||||
/datum/job/psychiatrist
|
/datum/job/psychiatrist
|
||||||
title = "Psychiatrist"
|
title = "Psychiatrist"
|
||||||
flag = PSYCHIATRIST
|
|
||||||
department_flag = MEDSCI
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
/datum/job/rd
|
/datum/job/rd
|
||||||
title = "Research Director"
|
title = "Research Director"
|
||||||
flag = RD
|
|
||||||
department_flag = MEDSCI
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -23,8 +21,6 @@
|
|||||||
|
|
||||||
/datum/job/scientist
|
/datum/job/scientist
|
||||||
title = "Scientist"
|
title = "Scientist"
|
||||||
flag = SCIENTIST
|
|
||||||
department_flag = MEDSCI
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 5
|
total_positions = 5
|
||||||
spawn_positions = 3
|
spawn_positions = 3
|
||||||
@@ -40,8 +36,6 @@
|
|||||||
|
|
||||||
/datum/job/xenoarchaeologist
|
/datum/job/xenoarchaeologist
|
||||||
title = "Xenoarchaeologist"
|
title = "Xenoarchaeologist"
|
||||||
flag = XENOARCH
|
|
||||||
department_flag = MEDSCI
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 2
|
total_positions = 2
|
||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
@@ -57,8 +51,6 @@
|
|||||||
|
|
||||||
datum/job/xenobiologist
|
datum/job/xenobiologist
|
||||||
title = "Xenobiologist"
|
title = "Xenobiologist"
|
||||||
flag = XENOBIO
|
|
||||||
department_flag = MEDSCI
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 2
|
total_positions = 2
|
||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
@@ -73,8 +65,6 @@ datum/job/xenobiologist
|
|||||||
|
|
||||||
/datum/job/roboticist
|
/datum/job/roboticist
|
||||||
title = "Roboticist"
|
title = "Roboticist"
|
||||||
flag = ROBOTICIST
|
|
||||||
department_flag = MEDSCI
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 2
|
total_positions = 2
|
||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
/datum/job/hos
|
/datum/job/hos
|
||||||
title = "Head of Security"
|
title = "Head of Security"
|
||||||
flag = HOS
|
|
||||||
department_flag = ENGSEC
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -31,8 +29,6 @@
|
|||||||
|
|
||||||
/datum/job/warden
|
/datum/job/warden
|
||||||
title = "Warden"
|
title = "Warden"
|
||||||
flag = WARDEN
|
|
||||||
department_flag = ENGSEC
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -46,8 +42,6 @@
|
|||||||
|
|
||||||
/datum/job/detective
|
/datum/job/detective
|
||||||
title = "Detective"
|
title = "Detective"
|
||||||
flag = DETECTIVE
|
|
||||||
department_flag = ENGSEC
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -62,8 +56,6 @@
|
|||||||
|
|
||||||
/datum/job/officer
|
/datum/job/officer
|
||||||
title = "Security Officer"
|
title = "Security Officer"
|
||||||
flag = OFFICER
|
|
||||||
department_flag = ENGSEC
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 5
|
total_positions = 5
|
||||||
spawn_positions = 5
|
spawn_positions = 5
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
/datum/job/ai
|
/datum/job/ai
|
||||||
title = "AI"
|
title = "AI"
|
||||||
flag = AI
|
|
||||||
info_flag = JINFO_SILICON
|
info_flag = JINFO_SILICON
|
||||||
department_flag = ENGSEC
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 0
|
total_positions = 0
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
@@ -21,9 +19,7 @@
|
|||||||
|
|
||||||
/datum/job/cyborg
|
/datum/job/cyborg
|
||||||
title = "Cyborg"
|
title = "Cyborg"
|
||||||
flag = CYBORG
|
|
||||||
info_flag = JINFO_SILICON
|
info_flag = JINFO_SILICON
|
||||||
department_flag = ENGSEC
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 0
|
total_positions = 0
|
||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
@@ -38,9 +34,7 @@
|
|||||||
|
|
||||||
/datum/job/mommi
|
/datum/job/mommi
|
||||||
title = "Mobile MMI"
|
title = "Mobile MMI"
|
||||||
flag = MOMMI
|
|
||||||
info_flag = JINFO_SILICON
|
info_flag = JINFO_SILICON
|
||||||
department_flag = ENGSEC
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 0
|
total_positions = 0
|
||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
/datum/job/trader
|
/datum/job/trader
|
||||||
title = "Trader"
|
title = "Trader"
|
||||||
flag = TRADER
|
|
||||||
department_flag = CIVILIAN
|
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 3
|
total_positions = 3
|
||||||
spawn_positions = 3
|
spawn_positions = 3
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ var/global/datum/controller/occupations/job_master
|
|||||||
if(flag && !player.client.desires_role(job.title))
|
if(flag && !player.client.desires_role(job.title))
|
||||||
Debug("FOC flag failed, Player: [player], Flag: [flag], ")
|
Debug("FOC flag failed, Player: [player], Flag: [flag], ")
|
||||||
continue
|
continue
|
||||||
if(player.client.prefs.GetJobDepartment(job, level) & job.flag)
|
if(player.client.prefs.jobs[job.title] == level)
|
||||||
Debug("FOC pass, Player: [player], Level:[level]")
|
Debug("FOC pass, Player: [player], Level:[level]")
|
||||||
candidates += player
|
candidates += player
|
||||||
return candidates
|
return candidates
|
||||||
@@ -280,7 +280,7 @@ var/global/datum/controller/occupations/job_master
|
|||||||
|
|
||||||
// Loop through all levels from high to low
|
// Loop through all levels from high to low
|
||||||
var/list/shuffledoccupations = shuffle(occupations)
|
var/list/shuffledoccupations = shuffle(occupations)
|
||||||
for(var/level = 1 to 3)
|
for(var/level = 3 to 1 step -1)
|
||||||
//Check the head jobs first each level
|
//Check the head jobs first each level
|
||||||
CheckHeadPositions(level)
|
CheckHeadPositions(level)
|
||||||
|
|
||||||
@@ -350,7 +350,7 @@ var/global/datum/controller/occupations/job_master
|
|||||||
final_pass: //this is a loop label
|
final_pass: //this is a loop label
|
||||||
for(var/mob/new_player/player in unassigned)
|
for(var/mob/new_player/player in unassigned)
|
||||||
if(player.client.prefs.alternate_option == GET_EMPTY_JOB)
|
if(player.client.prefs.alternate_option == GET_EMPTY_JOB)
|
||||||
for(var/level = 1 to 3)
|
for(var/level = 3 to 1 step -1)
|
||||||
for(var/datum/job/job in shuffledoccupations)
|
for(var/datum/job/job in shuffledoccupations)
|
||||||
if(job.current_positions) //already someone in this job title
|
if(job.current_positions) //already someone in this job title
|
||||||
continue
|
continue
|
||||||
@@ -373,7 +373,7 @@ var/global/datum/controller/occupations/job_master
|
|||||||
Debug("DO player not old enough, Player: [player], Job:[job.title]")
|
Debug("DO player not old enough, Player: [player], Job:[job.title]")
|
||||||
return FALSE
|
return FALSE
|
||||||
// If the player wants that job on this level, then try give it to him.
|
// If the player wants that job on this level, then try give it to him.
|
||||||
if(player.client.prefs.GetJobDepartment(job, level) & job.flag)
|
if(player.client.prefs.jobs[job.title] == level)
|
||||||
if (job.title == "Assistant" && !CheckAssistantCount(player, level))
|
if (job.title == "Assistant" && !CheckAssistantCount(player, level))
|
||||||
return FALSE
|
return FALSE
|
||||||
// If the job isn't filled
|
// If the job isn't filled
|
||||||
@@ -397,7 +397,7 @@ var/global/datum/controller/occupations/job_master
|
|||||||
Debug("AC1 failed, not enough sec.")
|
Debug("AC1 failed, not enough sec.")
|
||||||
// Does he want anything else...?
|
// Does he want anything else...?
|
||||||
for (var/datum/job/J in occupations)
|
for (var/datum/job/J in occupations)
|
||||||
if (player.client.prefs.GetJobDepartment(J, level) & J.flag)
|
if (player.client.prefs.jobs[J.title] == level)
|
||||||
Debug("AC1 failed, but other job slots for [player]. Adding them to the list of backup assistant slots.")
|
Debug("AC1 failed, but other job slots for [player]. Adding them to the list of backup assistant slots.")
|
||||||
assistant_second_chance[player.ckey] = level
|
assistant_second_chance[player.ckey] = level
|
||||||
return FALSE
|
return FALSE
|
||||||
@@ -572,11 +572,12 @@ var/global/datum/controller/occupations/job_master
|
|||||||
if(!job.player_old_enough(player.client))
|
if(!job.player_old_enough(player.client))
|
||||||
level6++
|
level6++
|
||||||
continue
|
continue
|
||||||
if(player.client.prefs.GetJobDepartment(job, 1) & job.flag)
|
switch(player.client.prefs.jobs[job.title])
|
||||||
|
if(JOB_PREF_LOW)
|
||||||
level1++
|
level1++
|
||||||
else if(player.client.prefs.GetJobDepartment(job, 2) & job.flag)
|
if(JOB_PREF_MED)
|
||||||
level2++
|
level2++
|
||||||
else if(player.client.prefs.GetJobDepartment(job, 3) & job.flag)
|
if(JOB_PREF_HIGH)
|
||||||
level3++
|
level3++
|
||||||
else
|
else
|
||||||
level4++ //not selected
|
level4++ //not selected
|
||||||
|
|||||||
@@ -1,53 +1,3 @@
|
|||||||
var/const/ENGSEC =(1<<0)
|
|
||||||
|
|
||||||
var/const/CAPTAIN =(1<<0)
|
|
||||||
var/const/HOS =(1<<1)
|
|
||||||
var/const/WARDEN =(1<<2)
|
|
||||||
var/const/DETECTIVE =(1<<3)
|
|
||||||
var/const/OFFICER =(1<<4)
|
|
||||||
var/const/CHIEF =(1<<5)
|
|
||||||
var/const/ENGINEER =(1<<6)
|
|
||||||
var/const/ATMOSTECH =(1<<7)
|
|
||||||
var/const/ROBOTICIST =(1<<8)
|
|
||||||
var/const/AI =(1<<9)
|
|
||||||
var/const/CYBORG =(1<<10)
|
|
||||||
var/const/MOMMI =(1<<11)
|
|
||||||
var/const/MECHANIC =(1<<12)
|
|
||||||
|
|
||||||
|
|
||||||
var/const/MEDSCI =(1<<1)
|
|
||||||
|
|
||||||
var/const/RD =(1<<0)
|
|
||||||
var/const/SCIENTIST =(1<<1)
|
|
||||||
var/const/CHEMIST =(1<<2)
|
|
||||||
var/const/CMO =(1<<3)
|
|
||||||
var/const/DOCTOR =(1<<4)
|
|
||||||
var/const/GENETICIST =(1<<5)
|
|
||||||
var/const/VIROLOGIST =(1<<6)
|
|
||||||
//var/const/PSYCHIATRIST =(1<<7)
|
|
||||||
var/const/PARAMEDIC =(1<<7)
|
|
||||||
var/const/XENOARCH =(1<<9)
|
|
||||||
var/const/XENOBIO =(1<<10)
|
|
||||||
|
|
||||||
|
|
||||||
var/const/CIVILIAN =(1<<2)
|
|
||||||
|
|
||||||
var/const/HOP =(1<<0)
|
|
||||||
var/const/BARTENDER =(1<<1)
|
|
||||||
var/const/BOTANIST =(1<<2)
|
|
||||||
var/const/CHEF =(1<<3)
|
|
||||||
var/const/JANITOR =(1<<4)
|
|
||||||
var/const/LIBRARIAN =(1<<5)
|
|
||||||
var/const/QUARTERMASTER =(1<<6)
|
|
||||||
var/const/CARGOTECH =(1<<7)
|
|
||||||
var/const/MINER =(1<<8)
|
|
||||||
var/const/LAWYER =(1<<9)
|
|
||||||
var/const/CHAPLAIN =(1<<10)
|
|
||||||
var/const/CLOWN =(1<<11)
|
|
||||||
var/const/MIME =(1<<12)
|
|
||||||
var/const/ASSISTANT =(1<<13)
|
|
||||||
var/const/TRADER =(1<<14)
|
|
||||||
|
|
||||||
var/list/command_positions = list(
|
var/list/command_positions = list(
|
||||||
"Captain",
|
"Captain",
|
||||||
"Head of Personnel",
|
"Head of Personnel",
|
||||||
|
|||||||
@@ -160,18 +160,7 @@ var/const/MAX_SAVE_SLOTS = 16
|
|||||||
var/preview_background = null
|
var/preview_background = null
|
||||||
var/list/background_options = list("Black", "White", "Tile")
|
var/list/background_options = list("Black", "White", "Tile")
|
||||||
|
|
||||||
//Jobs, uses bitflags
|
var/list/jobs = list()
|
||||||
var/job_civilian_high = 0
|
|
||||||
var/job_civilian_med = 0
|
|
||||||
var/job_civilian_low = 0
|
|
||||||
|
|
||||||
var/job_medsci_high = 0
|
|
||||||
var/job_medsci_med = 0
|
|
||||||
var/job_medsci_low = 0
|
|
||||||
|
|
||||||
var/job_engsec_high = 0
|
|
||||||
var/job_engsec_med = 0
|
|
||||||
var/job_engsec_low = 0
|
|
||||||
|
|
||||||
//Keeps track of preferrence for not getting any wanted jobs
|
//Keeps track of preferrence for not getting any wanted jobs
|
||||||
var/alternate_option = RETURN_TO_LOBBY
|
var/alternate_option = RETURN_TO_LOBBY
|
||||||
@@ -458,37 +447,15 @@ var/const/MAX_SAVE_SLOTS = 16
|
|||||||
return dat
|
return dat
|
||||||
|
|
||||||
/datum/preferences/proc/getPrefLevelText(var/datum/job/job)
|
/datum/preferences/proc/getPrefLevelText(var/datum/job/job)
|
||||||
if(GetJobDepartment(job, 1) & job.flag)
|
switch(jobs[job.title])
|
||||||
|
if(JOB_PREF_HIGH)
|
||||||
return "High"
|
return "High"
|
||||||
else if(GetJobDepartment(job, 2) & job.flag)
|
if(JOB_PREF_MED)
|
||||||
return "Medium"
|
return "Medium"
|
||||||
else if(GetJobDepartment(job, 3) & job.flag)
|
if(JOB_PREF_LOW)
|
||||||
return "Low"
|
return "Low"
|
||||||
else
|
|
||||||
return "NEVER"
|
return "NEVER"
|
||||||
|
|
||||||
/datum/preferences/proc/getPrefLevelUpOrDown(var/datum/job/job, var/inc)
|
|
||||||
if(GetJobDepartment(job, 1) & job.flag)
|
|
||||||
if(inc)
|
|
||||||
return "NEVER"
|
|
||||||
else
|
|
||||||
return "Medium"
|
|
||||||
else if(GetJobDepartment(job, 2) & job.flag)
|
|
||||||
if(inc)
|
|
||||||
return "High"
|
|
||||||
else
|
|
||||||
return "Low"
|
|
||||||
else if(GetJobDepartment(job, 3) & job.flag)
|
|
||||||
if(inc)
|
|
||||||
return "Medium"
|
|
||||||
else
|
|
||||||
return "NEVER"
|
|
||||||
else
|
|
||||||
if(inc)
|
|
||||||
return "Low"
|
|
||||||
else
|
|
||||||
return "High"
|
|
||||||
|
|
||||||
/datum/preferences/proc/SetChoices(mob/user, limit = 17, list/splitJobs = list("Chief Engineer", "AI"), widthPerColumn = 295, height = 620)
|
/datum/preferences/proc/SetChoices(mob/user, limit = 17, list/splitJobs = list("Chief Engineer", "AI"), widthPerColumn = 295, height = 620)
|
||||||
if(!job_master)
|
if(!job_master)
|
||||||
return
|
return
|
||||||
@@ -502,20 +469,18 @@ var/const/MAX_SAVE_SLOTS = 16
|
|||||||
|
|
||||||
var/HTML = "<link href='./common.css' rel='stylesheet' type='text/css'><body>"
|
var/HTML = "<link href='./common.css' rel='stylesheet' type='text/css'><body>"
|
||||||
HTML += {"<script type='text/javascript'>function setJobPrefRedirect(level, rank) { window.location.href='?_src_=prefs;preference=job;task=input;level=' + level + ';text=' + encodeURIComponent(rank); return false; }
|
HTML += {"<script type='text/javascript'>function setJobPrefRedirect(level, rank) { window.location.href='?_src_=prefs;preference=job;task=input;level=' + level + ';text=' + encodeURIComponent(rank); return false; }
|
||||||
function mouseDown(event,levelup,leveldown,rank){
|
function mouseDown(event,rank){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function mouseUp(event,levelup,leveldown,rank){
|
function mouseUp(event,rank){
|
||||||
if(event.button == 0 || event.button == 1)
|
if(event.button == 0 || event.button == 1)
|
||||||
{
|
{
|
||||||
//alert("left click " + levelup + " " + rank);
|
|
||||||
setJobPrefRedirect(1, rank);
|
setJobPrefRedirect(1, rank);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(event.button == 2)
|
if(event.button == 2)
|
||||||
{
|
{
|
||||||
//alert("right click " + leveldown + " " + rank);
|
|
||||||
setJobPrefRedirect(0, rank);
|
setJobPrefRedirect(0, rank);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -575,52 +540,28 @@ var/const/MAX_SAVE_SLOTS = 16
|
|||||||
|
|
||||||
HTML += "</td><td width='40%'>"
|
HTML += "</td><td width='40%'>"
|
||||||
|
|
||||||
|
var/prefLevelLabel = "NEVER"
|
||||||
|
var/prefLevelColor = "red"
|
||||||
|
|
||||||
|
if(job.species_whitelist.len && !job.species_whitelist.Find(src.species))
|
||||||
var/prefLevelLabel = "ERROR"
|
prefLevelLabel = "Unavailable"
|
||||||
var/prefLevelColor = "pink"
|
prefLevelColor = "gray"
|
||||||
var/prefUpperLevel = -1
|
else if(job.species_blacklist.Find(src.species))
|
||||||
var/prefLowerLevel = -1
|
prefLevelLabel = "Unavailable"
|
||||||
|
prefLevelColor = "gray"
|
||||||
if(GetJobDepartment(job, 1) & job.flag)
|
else
|
||||||
|
switch(jobs[job.title])
|
||||||
|
if(JOB_PREF_HIGH)
|
||||||
prefLevelLabel = "High"
|
prefLevelLabel = "High"
|
||||||
prefLevelColor = "slateblue"
|
prefLevelColor = "slateblue"
|
||||||
prefUpperLevel = 4
|
if(JOB_PREF_MED)
|
||||||
prefLowerLevel = 2
|
|
||||||
else if(GetJobDepartment(job, 2) & job.flag)
|
|
||||||
prefLevelLabel = "Medium"
|
prefLevelLabel = "Medium"
|
||||||
prefLevelColor = "green"
|
prefLevelColor = "green"
|
||||||
prefUpperLevel = 1
|
if(JOB_PREF_LOW)
|
||||||
prefLowerLevel = 3
|
|
||||||
else if(GetJobDepartment(job, 3) & job.flag)
|
|
||||||
prefLevelLabel = "Low"
|
prefLevelLabel = "Low"
|
||||||
prefLevelColor = "orange"
|
prefLevelColor = "orange"
|
||||||
prefUpperLevel = 2
|
|
||||||
prefLowerLevel = 4
|
|
||||||
else
|
|
||||||
prefLevelLabel = "NEVER"
|
|
||||||
prefLevelColor = "red"
|
|
||||||
prefUpperLevel = 3
|
|
||||||
prefLowerLevel = 1
|
|
||||||
|
|
||||||
if(job.species_whitelist.len)
|
HTML += "<a class='white' onmouseup='javascript:return mouseUp(event, \"[rank]\");' oncontextmenu='javascript:return mouseDown(event, \"[rank]\");'>"
|
||||||
if(!job.species_whitelist.Find(src.species))
|
|
||||||
prefLevelLabel = "Unavailable"
|
|
||||||
prefLevelColor = "gray"
|
|
||||||
prefUpperLevel = 0
|
|
||||||
prefLowerLevel = 0
|
|
||||||
else if(job.species_blacklist.len)
|
|
||||||
if(job.species_blacklist.Find(src.species))
|
|
||||||
prefLevelLabel = "Unavailable"
|
|
||||||
prefLevelColor = "gray"
|
|
||||||
prefUpperLevel = 0
|
|
||||||
prefLowerLevel = 0
|
|
||||||
|
|
||||||
HTML += "<a class='white' onmouseup='javascript:return mouseUp(event,[prefUpperLevel],[prefLowerLevel], \"[rank]\");' oncontextmenu='javascript:return mouseDown(event,[prefUpperLevel],[prefLowerLevel], \"[rank]\");'>"
|
|
||||||
|
|
||||||
|
|
||||||
//if(job.alt_titles)
|
|
||||||
//HTML += "</a></td></tr><tr bgcolor='[lastJob.selection_color]'><td width='60%' align='center'><a> </a></td><td><a href=\"byond://?src=\ref[user];preference=job;task=alt_title;job=\ref[job]\">\[[GetPlayerAltTitle(job)]\]</a></td></tr>"
|
|
||||||
HTML += "<font color=[prefLevelColor]>[prefLevelLabel]</font>"
|
HTML += "<font color=[prefLevelColor]>[prefLevelLabel]</font>"
|
||||||
HTML += "</a></td></tr>"
|
HTML += "</a></td></tr>"
|
||||||
|
|
||||||
@@ -781,7 +722,7 @@ var/const/MAX_SAVE_SLOTS = 16
|
|||||||
if(job.title != new_title)
|
if(job.title != new_title)
|
||||||
player_alt_titles[job.title] = new_title
|
player_alt_titles[job.title] = new_title
|
||||||
|
|
||||||
/datum/preferences/proc/SetJob(mob/user, role, inc)
|
/datum/preferences/proc/SetJob(mob/user, role, increase)
|
||||||
var/datum/job/job = job_master.GetJob(role)
|
var/datum/job/job = job_master.GetJob(role)
|
||||||
if(!job)
|
if(!job)
|
||||||
user << browse(null, "window=mob_occupation")
|
user << browse(null, "window=mob_occupation")
|
||||||
@@ -804,182 +745,31 @@ var/const/MAX_SAVE_SLOTS = 16
|
|||||||
to_chat(user, "<span class='notice'>Only the following species can have this job: [allowed_species]. Your species is ([src.species]).</span>")
|
to_chat(user, "<span class='notice'>Only the following species can have this job: [allowed_species]. Your species is ([src.species]).</span>")
|
||||||
return
|
return
|
||||||
|
|
||||||
if(inc == null)
|
var/new_value = jobs[job.title]
|
||||||
if(GetJobDepartment(job, 1) & job.flag)
|
if(increase)
|
||||||
SetJobDepartment(job, 1)
|
new_value += 1
|
||||||
else if(GetJobDepartment(job, 2) & job.flag)
|
if(new_value > JOB_PREF_HIGH)
|
||||||
SetJobDepartment(job, 2)
|
new_value = JOB_PREF_NEVER
|
||||||
else if(GetJobDepartment(job, 3) & job.flag)
|
|
||||||
SetJobDepartment(job, 3)
|
|
||||||
else//job = Never
|
|
||||||
SetJobDepartment(job, 4)
|
|
||||||
else
|
else
|
||||||
inc = text2num(inc)
|
new_value -= 1
|
||||||
var/desiredLevel = getPrefLevelUpOrDown(job,inc)
|
if(new_value < JOB_PREF_NEVER)
|
||||||
while(getPrefLevelText(job) != desiredLevel)
|
new_value = JOB_PREF_HIGH
|
||||||
if(GetJobDepartment(job, 1) & job.flag)
|
|
||||||
SetJobDepartment(job, 1)
|
|
||||||
else if(GetJobDepartment(job, 2) & job.flag)
|
|
||||||
SetJobDepartment(job, 2)
|
|
||||||
else if(GetJobDepartment(job, 3) & job.flag)
|
|
||||||
SetJobDepartment(job, 3)
|
|
||||||
else//job = Never
|
|
||||||
SetJobDepartment(job, 4)
|
|
||||||
|
|
||||||
/*if(level < 4)
|
// If setting a job to high,
|
||||||
to_chat(world,"setting [job] to [level+1]")
|
// set any other job that is currently high to med
|
||||||
SetJobDepartment(job,level+1)
|
if(new_value == JOB_PREF_HIGH)
|
||||||
|
for(var/some_job in jobs)
|
||||||
|
if(jobs[some_job] == JOB_PREF_HIGH)
|
||||||
|
jobs[some_job] = JOB_PREF_MED
|
||||||
|
else if(new_value == JOB_PREF_NEVER)
|
||||||
|
jobs -= job.title
|
||||||
else
|
else
|
||||||
to_chat(world,"setting [job] to 1");SetJobDepartment(job,1)
|
jobs[job.title] = new_value
|
||||||
*/
|
|
||||||
SetChoices(user)
|
SetChoices(user)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/datum/preferences/proc/ResetJobs()
|
/datum/preferences/proc/ResetJobs()
|
||||||
job_civilian_high = 0
|
jobs.Cut()
|
||||||
job_civilian_med = 0
|
|
||||||
job_civilian_low = 0
|
|
||||||
|
|
||||||
job_medsci_high = 0
|
|
||||||
job_medsci_med = 0
|
|
||||||
job_medsci_low = 0
|
|
||||||
|
|
||||||
job_engsec_high = 0
|
|
||||||
job_engsec_med = 0
|
|
||||||
job_engsec_low = 0
|
|
||||||
|
|
||||||
/datum/preferences/proc/GetJobDepartment(var/datum/job/job, var/level)
|
|
||||||
if(!job || !level)
|
|
||||||
return 0
|
|
||||||
switch(job.department_flag)
|
|
||||||
if(CIVILIAN)
|
|
||||||
switch(level)
|
|
||||||
if(1)
|
|
||||||
return job_civilian_high
|
|
||||||
if(2)
|
|
||||||
return job_civilian_med
|
|
||||||
if(3)
|
|
||||||
return job_civilian_low
|
|
||||||
if(MEDSCI)
|
|
||||||
switch(level)
|
|
||||||
if(1)
|
|
||||||
return job_medsci_high
|
|
||||||
if(2)
|
|
||||||
return job_medsci_med
|
|
||||||
if(3)
|
|
||||||
return job_medsci_low
|
|
||||||
if(ENGSEC)
|
|
||||||
switch(level)
|
|
||||||
if(1)
|
|
||||||
return job_engsec_high
|
|
||||||
if(2)
|
|
||||||
return job_engsec_med
|
|
||||||
if(3)
|
|
||||||
return job_engsec_low
|
|
||||||
return 0
|
|
||||||
|
|
||||||
/datum/preferences/proc/SetJobDepartment(var/datum/job/job, var/level)
|
|
||||||
if(!job || !level)
|
|
||||||
return 0
|
|
||||||
switch(level)
|
|
||||||
if(1)//Only one of these should ever be active at once so clear them all here
|
|
||||||
job_civilian_high = 0
|
|
||||||
job_medsci_high = 0
|
|
||||||
job_engsec_high = 0
|
|
||||||
return 1
|
|
||||||
if(2)//Set current highs to med, then reset them
|
|
||||||
job_civilian_med |= job_civilian_high
|
|
||||||
job_medsci_med |= job_medsci_high
|
|
||||||
job_engsec_med |= job_engsec_high
|
|
||||||
|
|
||||||
job_civilian_high = 0
|
|
||||||
job_medsci_high = 0
|
|
||||||
job_engsec_high = 0
|
|
||||||
|
|
||||||
switch(job.department_flag)
|
|
||||||
if(CIVILIAN)
|
|
||||||
switch(level)
|
|
||||||
if(2)
|
|
||||||
job_civilian_high = job.flag
|
|
||||||
job_civilian_med &= ~job.flag
|
|
||||||
if(3)
|
|
||||||
job_civilian_med |= job.flag
|
|
||||||
job_civilian_low &= ~job.flag
|
|
||||||
else
|
|
||||||
job_civilian_low |= job.flag
|
|
||||||
if(MEDSCI)
|
|
||||||
switch(level)
|
|
||||||
if(2)
|
|
||||||
job_medsci_high = job.flag
|
|
||||||
job_medsci_med &= ~job.flag
|
|
||||||
if(3)
|
|
||||||
job_medsci_med |= job.flag
|
|
||||||
job_medsci_low &= ~job.flag
|
|
||||||
else
|
|
||||||
job_medsci_low |= job.flag
|
|
||||||
if(ENGSEC)
|
|
||||||
switch(level)
|
|
||||||
if(2)
|
|
||||||
job_engsec_high = job.flag
|
|
||||||
job_engsec_med &= ~job.flag
|
|
||||||
if(3)
|
|
||||||
job_engsec_med |= job.flag
|
|
||||||
job_engsec_low &= ~job.flag
|
|
||||||
else
|
|
||||||
job_engsec_low |= job.flag
|
|
||||||
return 1
|
|
||||||
|
|
||||||
|
|
||||||
/datum/preferences/proc/SetDepartmentFlags(datum/job/job, level, new_flags) //Sets a department's preference flags (job_medsci_high, job_engsec_med - those variables) to 'new_flags'.
|
|
||||||
//First argument can either be a job, or the department's flag (ENGSEC, MISC, ...)
|
|
||||||
//Second argument can be either text ("high", "MEDIUM", "LoW") or number (1-high, 2-med, 3-low)
|
|
||||||
|
|
||||||
//NOTE: If you're not sure what you're doing, be careful when using this proc.
|
|
||||||
|
|
||||||
//Determine department flag
|
|
||||||
var/d_flag
|
|
||||||
if(istype(job))
|
|
||||||
d_flag = job.department_flag
|
|
||||||
else
|
|
||||||
d_flag = job
|
|
||||||
|
|
||||||
//Determine department level
|
|
||||||
var/d_level
|
|
||||||
if(istext(level))
|
|
||||||
switch(lowertext(level))
|
|
||||||
if("high")
|
|
||||||
d_level = 1
|
|
||||||
if("med", "medium")
|
|
||||||
d_level = 2
|
|
||||||
if("low")
|
|
||||||
d_level = 3
|
|
||||||
else
|
|
||||||
d_level = level
|
|
||||||
|
|
||||||
switch(d_flag)
|
|
||||||
if(CIVILIAN)
|
|
||||||
switch(d_level)
|
|
||||||
if(1) //high
|
|
||||||
job_civilian_high = new_flags
|
|
||||||
if(2) //med
|
|
||||||
job_civilian_med = new_flags
|
|
||||||
if(3) //low
|
|
||||||
job_civilian_low = new_flags
|
|
||||||
if(MEDSCI)
|
|
||||||
switch(d_level)
|
|
||||||
if(1) //high
|
|
||||||
job_medsci_high = new_flags
|
|
||||||
if(2) //med
|
|
||||||
job_medsci_med = new_flags
|
|
||||||
if(3) //low
|
|
||||||
job_medsci_low = new_flags
|
|
||||||
if(ENGSEC)
|
|
||||||
switch(d_level)
|
|
||||||
if(1) //high
|
|
||||||
job_engsec_high = new_flags
|
|
||||||
if(2) //med
|
|
||||||
job_engsec_med = new_flags
|
|
||||||
if(3) //low
|
|
||||||
job_engsec_low = new_flags
|
|
||||||
|
|
||||||
/datum/preferences/proc/SetRole(var/mob/user, var/list/href_list)
|
/datum/preferences/proc/SetRole(var/mob/user, var/list/href_list)
|
||||||
var/role_id = href_list["role_id"]
|
var/role_id = href_list["role_id"]
|
||||||
@@ -1049,7 +839,7 @@ NOTE: The change will take effect AFTER any current recruiting periods."}
|
|||||||
SetPlayerAltTitle(job, choice)
|
SetPlayerAltTitle(job, choice)
|
||||||
SetChoices(user)
|
SetChoices(user)
|
||||||
if("input")
|
if("input")
|
||||||
SetJob(user, href_list["text"], href_list["level"])
|
SetJob(user, href_list["text"], href_list["level"] == "1")
|
||||||
else
|
else
|
||||||
SetChoices(user)
|
SetChoices(user)
|
||||||
return 1
|
return 1
|
||||||
@@ -1212,25 +1002,14 @@ NOTE: The change will take effect AFTER any current recruiting periods."}
|
|||||||
|
|
||||||
for(var/datum/job/job in job_master.occupations)
|
for(var/datum/job/job in job_master.occupations)
|
||||||
if(job.species_blacklist.Find(species)) //If new species is in a job's blacklist
|
if(job.species_blacklist.Find(species)) //If new species is in a job's blacklist
|
||||||
for(var/i = 1 to 3)
|
jobs -= job.title
|
||||||
var/F = GetJobDepartment(job, i)
|
|
||||||
|
|
||||||
F &= ~job.flag //Disable that job in our preferences
|
|
||||||
SetDepartmentFlags(job, i, F)
|
|
||||||
|
|
||||||
to_chat(usr, "<span class='info'>Your new species ([species]) is blacklisted from [job.title].</span>")
|
to_chat(usr, "<span class='info'>Your new species ([species]) is blacklisted from [job.title].</span>")
|
||||||
|
|
||||||
if(job.species_whitelist.len) //If the job has a species whitelist
|
if(job.species_whitelist.len) //If the job has a species whitelist
|
||||||
if(!job.species_whitelist.Find(species)) //And it doesn't include our new species
|
if(!job.species_whitelist.Find(species)) //And it doesn't include our new species
|
||||||
for(var/i = 1 to 3)
|
if(jobs.Remove(job.title))
|
||||||
var/F = GetJobDepartment(job, i)
|
|
||||||
|
|
||||||
if(F & job.flag)
|
|
||||||
to_chat(usr, "<span class='info'>Your new species ([species]) can't be [job.title]. Your preferences have been adjusted.</span>")
|
to_chat(usr, "<span class='info'>Your new species ([species]) can't be [job.title]. Your preferences have been adjusted.</span>")
|
||||||
|
|
||||||
F &= ~job.flag //Disable that job in our preferences
|
|
||||||
SetDepartmentFlags(job, i, F)
|
|
||||||
|
|
||||||
if("language")
|
if("language")
|
||||||
var/list/new_languages = list("None")
|
var/list/new_languages = list("None")
|
||||||
|
|
||||||
|
|||||||
@@ -209,15 +209,7 @@ SELECT
|
|||||||
jobs.player_ckey,
|
jobs.player_ckey,
|
||||||
jobs.player_slot,
|
jobs.player_slot,
|
||||||
jobs.alternate_option,
|
jobs.alternate_option,
|
||||||
jobs.job_civilian_high,
|
jobs.jobs,
|
||||||
jobs.job_civilian_med,
|
|
||||||
jobs.job_civilian_low,
|
|
||||||
jobs.job_medsci_high,
|
|
||||||
jobs.job_medsci_med,
|
|
||||||
jobs.job_medsci_low,
|
|
||||||
jobs.job_engsec_high,
|
|
||||||
jobs.job_engsec_med,
|
|
||||||
jobs.job_engsec_low,
|
|
||||||
body.player_ckey,
|
body.player_ckey,
|
||||||
body.player_slot,
|
body.player_slot,
|
||||||
body.hair_red,
|
body.hair_red,
|
||||||
@@ -332,16 +324,7 @@ AND players.player_slot = ? ;"}, ckey, slot)
|
|||||||
organ_data["liver"] = preference_list["liver"]
|
organ_data["liver"] = preference_list["liver"]
|
||||||
|
|
||||||
alternate_option = text2num(preference_list["alternate_option"])
|
alternate_option = text2num(preference_list["alternate_option"])
|
||||||
job_civilian_high = text2num(preference_list["job_civilian_high"])
|
jobs = json_decode(preference_list["jobs"])
|
||||||
job_civilian_med = text2num(preference_list["job_civilian_med"])
|
|
||||||
job_civilian_low = text2num(preference_list["job_civilian_low"])
|
|
||||||
job_medsci_high = text2num(preference_list["job_medsci_high"])
|
|
||||||
job_medsci_med = text2num(preference_list["job_medsci_med"])
|
|
||||||
job_medsci_low = text2num(preference_list["job_medsci_low"])
|
|
||||||
job_engsec_high = text2num(preference_list["job_engsec_high"])
|
|
||||||
job_engsec_med = text2num(preference_list["job_engsec_med"])
|
|
||||||
job_engsec_low = text2num(preference_list["job_engsec_low"])
|
|
||||||
|
|
||||||
|
|
||||||
metadata = sanitize_text(metadata, initial(metadata))
|
metadata = sanitize_text(metadata, initial(metadata))
|
||||||
real_name = reject_bad_name(real_name)
|
real_name = reject_bad_name(real_name)
|
||||||
@@ -382,15 +365,6 @@ AND players.player_slot = ? ;"}, ckey, slot)
|
|||||||
//be_special = sanitize_integer(be_special, 0, 65535, initial(be_special))
|
//be_special = sanitize_integer(be_special, 0, 65535, initial(be_special))
|
||||||
|
|
||||||
alternate_option = sanitize_integer(alternate_option, 0, 2, initial(alternate_option))
|
alternate_option = sanitize_integer(alternate_option, 0, 2, initial(alternate_option))
|
||||||
job_civilian_high = sanitize_integer(job_civilian_high, 0, 65535, initial(job_civilian_high))
|
|
||||||
job_civilian_med = sanitize_integer(job_civilian_med, 0, 65535, initial(job_civilian_med))
|
|
||||||
job_civilian_low = sanitize_integer(job_civilian_low, 0, 65535, initial(job_civilian_low))
|
|
||||||
job_medsci_high = sanitize_integer(job_medsci_high, 0, 65535, initial(job_medsci_high))
|
|
||||||
job_medsci_med = sanitize_integer(job_medsci_med, 0, 65535, initial(job_medsci_med))
|
|
||||||
job_medsci_low = sanitize_integer(job_medsci_low, 0, 65535, initial(job_medsci_low))
|
|
||||||
job_engsec_high = sanitize_integer(job_engsec_high, 0, 65535, initial(job_engsec_high))
|
|
||||||
job_engsec_med = sanitize_integer(job_engsec_med, 0, 65535, initial(job_engsec_med))
|
|
||||||
job_engsec_low = sanitize_integer(job_engsec_low, 0, 65535, initial(job_engsec_low))
|
|
||||||
|
|
||||||
for(var/role_id in special_roles)
|
for(var/role_id in special_roles)
|
||||||
roles[role_id]=0
|
roles[role_id]=0
|
||||||
@@ -502,27 +476,27 @@ AND players.player_slot = ? ;"}, ckey, slot)
|
|||||||
check.Add("SELECT player_ckey FROM jobs WHERE player_ckey = ? AND player_slot = ?", ckey, slot)
|
check.Add("SELECT player_ckey FROM jobs WHERE player_ckey = ? AND player_slot = ?", ckey, slot)
|
||||||
if(check.Execute(db))
|
if(check.Execute(db))
|
||||||
if(!check.NextRow())
|
if(!check.NextRow())
|
||||||
// 1 2 3 4 5 6 7 8 9 10 11 12
|
// 1 2 3 4
|
||||||
q.Add("INSERT INTO jobs (player_ckey,player_slot,alternate_option,job_civilian_high,job_civilian_med,job_civilian_low,job_medsci_high,job_medsci_med,job_medsci_low,job_engsec_high,job_engsec_med,job_engsec_low) \
|
q.Add("INSERT INTO jobs (player_ckey,player_slot,alternate_option,jobs) \
|
||||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", \
|
VALUES (?, ?, ?, ?)", \
|
||||||
ckey, slot, alternate_option,job_civilian_high,job_civilian_med,job_civilian_low,job_medsci_high,job_medsci_med,job_medsci_low,job_engsec_high,job_engsec_med,job_engsec_low)
|
ckey, slot, alternate_option,json_encode(jobs))
|
||||||
if(!q.Execute(db))
|
if(!q.Execute(db))
|
||||||
message_admins("Error in save_character_sqlite [__FILE__] ln:[__LINE__] #: [q.Error()] - [q.ErrorMsg()]")
|
message_admins("Error in save_character_sqlite [__FILE__] ln:[__LINE__] #: [q.Error()] - [q.ErrorMsg()]")
|
||||||
WARNING("Error in save_character_sqlite [__FILE__] ln:[__LINE__] #:[q.Error()] - [q.ErrorMsg()]")
|
WARNING("Error in save_character_sqlite [__FILE__] ln:[__LINE__] #:[q.Error()] - [q.ErrorMsg()]")
|
||||||
return 0
|
return 0
|
||||||
to_chat(user, "Created Job list")
|
to_chat(user, "Created Job list")
|
||||||
else
|
else
|
||||||
// 1 2 3 4 5 6 7 8 9 10
|
// 1 2
|
||||||
q.Add("UPDATE jobs SET alternate_option=?,job_civilian_high=?,job_civilian_med=?,job_civilian_low=?,job_medsci_high=?,job_medsci_med=?,job_medsci_low=?,job_engsec_high=?,job_engsec_med=?,job_engsec_low=? WHERE player_ckey = ? AND player_slot = ?",\
|
q.Add("UPDATE jobs SET alternate_option=?,jobs=? WHERE player_ckey = ? AND player_slot = ?",\
|
||||||
alternate_option, job_civilian_high, job_civilian_med, job_civilian_low, job_medsci_high, job_medsci_med, job_medsci_low, job_engsec_high, job_engsec_med, job_engsec_low, ckey, slot)
|
alternate_option, json_encode(jobs), ckey, slot)
|
||||||
if(!q.Execute(db))
|
if(!q.Execute(db))
|
||||||
message_admins("Error in save_character_sqlite [__FILE__] ln:[__LINE__] #: [q.Error()] - [q.ErrorMsg()]")
|
message_admins("Error in save_character_sqlite [__FILE__] ln:[__LINE__] #: [q.Error()] - [q.ErrorMsg()]")
|
||||||
WARNING("Error in save_character_sqlite [__FILE__] ln:[__LINE__] #:[q.Error()] - [q.ErrorMsg()]")
|
WARNING("Error in save_character_sqlite [__FILE__] ln:[__LINE__] #:[q.Error()] - [q.ErrorMsg()]")
|
||||||
return 0
|
return 0
|
||||||
to_chat(user, "Updated Job List")
|
to_chat(user, "Updated Job List")
|
||||||
else
|
else
|
||||||
message_admins("Error in save_character_sqlite ln 790 #: [check.Error()] - [check.ErrorMsg()]")
|
message_admins("Error in save_character_sqlite ln [__LINE__] #: [check.Error()] - [check.ErrorMsg()]")
|
||||||
WARNING("Error in save_character_sqlite ln 790 #:[q.Error()] - [q.ErrorMsg()]")
|
WARNING("Error in save_character_sqlite ln [__LINE__] #:[q.Error()] - [q.ErrorMsg()]")
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
check.Add("SELECT player_ckey FROM limbs WHERE player_ckey = ? AND player_slot = ?", ckey, slot)
|
check.Add("SELECT player_ckey FROM limbs WHERE player_ckey = ? AND player_slot = ?", ckey, slot)
|
||||||
|
|||||||
13
code/modules/migrations/SS13_Prefs/027-refactor-jobs.dm
Normal file
13
code/modules/migrations/SS13_Prefs/027-refactor-jobs.dm
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
/datum/migration/sqlite/ss13_prefs/_027
|
||||||
|
id = 27
|
||||||
|
name = "Refactor jobs"
|
||||||
|
|
||||||
|
/datum/migration/sqlite/ss13_prefs/_027/up()
|
||||||
|
if(!hasColumn("jobs", "jobs"))
|
||||||
|
return execute("ALTER TABLE `jobs` ADD COLUMN jobs TEXT")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
/datum/migration/sqlite/ss13_prefs/_027/down()
|
||||||
|
if(hasColumn("jobs", "jobs"))
|
||||||
|
return execute("ALTER TABLE `jobs` DROP COLUMN jobs")
|
||||||
|
return TRUE
|
||||||
@@ -284,74 +284,80 @@
|
|||||||
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
|
|
||||||
//else
|
var/highest_pref = 0
|
||||||
if(job_civilian_high)//I hate how this looks, but there's no reason to go through this switch if it's empty
|
var/highest_job = "Assistant"
|
||||||
switch(job_civilian_high)
|
for(var/job in jobs)
|
||||||
if(HOP)
|
if(jobs[job] > highest_pref)
|
||||||
|
highest_pref = jobs[job]
|
||||||
|
highest_job = job
|
||||||
|
|
||||||
|
var/datum/job/highest_job_datum = job_master.GetJob(highest_job)
|
||||||
|
|
||||||
|
switch(highest_job_datum.type)
|
||||||
|
if(/datum/job/hop)
|
||||||
clothes_s = new /icon(uniform_dmi, "hop_s")
|
clothes_s = new /icon(uniform_dmi, "hop_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "brown"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "brown"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "HoP_Coat"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "HoP_Coat"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/head.dmi', "hopcap"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/head.dmi', "hopcap"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sun"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sun"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
if(BARTENDER)
|
if(/datum/job/bartender)
|
||||||
clothes_s = new /icon(uniform_dmi, "ba_suit_s")
|
clothes_s = new /icon(uniform_dmi, "ba_suit_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "armor"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "armor"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
if(BOTANIST)
|
if(/datum/job/hydro)
|
||||||
clothes_s = new /icon(uniform_dmi, "hydroponics_s")
|
clothes_s = new /icon(uniform_dmi, "hydroponics_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "ggloves"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "ggloves"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "apron"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "apron"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-hyd",null,"courierbaghyd")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-hyd",null,"courierbaghyd")
|
||||||
if(CHEF)
|
if(/datum/job/chef)
|
||||||
clothes_s = new /icon(uniform_dmi, "chef_s")
|
clothes_s = new /icon(uniform_dmi, "chef_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/head.dmi', "chef"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/head.dmi', "chef"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
if(JANITOR)
|
if(/datum/job/janitor)
|
||||||
clothes_s = new /icon(uniform_dmi, "janitor_s")
|
clothes_s = new /icon(uniform_dmi, "janitor_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
if(LIBRARIAN)
|
if(/datum/job/librarian)
|
||||||
clothes_s = new /icon(uniform_dmi, "red_suit_s")
|
clothes_s = new /icon(uniform_dmi, "red_suit_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
if(QUARTERMASTER)
|
if(/datum/job/qm)
|
||||||
clothes_s = new /icon(uniform_dmi, "qm_s")
|
clothes_s = new /icon(uniform_dmi, "qm_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "brown"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "brown"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sun"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sun"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/in-hand/right/items_righthand.dmi', "clipboard"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/in-hand/right/items_righthand.dmi', "clipboard"), ICON_UNDERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
if(CARGOTECH)
|
if(/datum/job/cargo_tech)
|
||||||
clothes_s = new /icon(uniform_dmi, "cargotech_s")
|
clothes_s = new /icon(uniform_dmi, "cargotech_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
if(MINER)
|
if(/datum/job/mining)
|
||||||
clothes_s = new /icon(uniform_dmi, "miner_s")
|
clothes_s = new /icon(uniform_dmi, "miner_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-eng",null,"courierbagengi")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-eng",null,"courierbagengi")
|
||||||
if(LAWYER)
|
if(/datum/job/lawyer)
|
||||||
clothes_s = new /icon(uniform_dmi, "internalaffairs_s")
|
clothes_s = new /icon(uniform_dmi, "internalaffairs_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "laceups"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "laceups"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "ia_jacket_open"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "ia_jacket_open"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/in-hand/right/backpacks_n_bags.dmi', "briefcase-centcomm"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/in-hand/right/backpacks_n_bags.dmi', "briefcase-centcomm"), ICON_UNDERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
|
if(/datum/job/chaplain)
|
||||||
if(CHAPLAIN)
|
|
||||||
clothes_s = new /icon(uniform_dmi, "chapblack_s")
|
clothes_s = new /icon(uniform_dmi, "chapblack_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "laceups"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "laceups"), ICON_UNDERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
if(CLOWN)
|
if(/datum/job/clown)
|
||||||
clothes_s = new /icon(uniform_dmi, "clown_s")
|
clothes_s = new /icon(uniform_dmi, "clown_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "clown"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "clown"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/mask.dmi', "clown"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/mask.dmi', "clown"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/back.dmi', "clownpack"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/back.dmi', "clownpack"), ICON_OVERLAY)
|
||||||
if(MIME)
|
if(/datum/job/mime)
|
||||||
clothes_s = new /icon(uniform_dmi, "mime_s")
|
clothes_s = new /icon(uniform_dmi, "mime_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "lgloves"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "lgloves"), ICON_UNDERLAY)
|
||||||
@@ -359,68 +365,62 @@
|
|||||||
clothes_s.Blend(new /icon('icons/mob/head.dmi', "beret"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/head.dmi', "beret"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "suspenders"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "suspenders"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
|
if(/datum/job/rd)
|
||||||
else if(job_medsci_high)
|
|
||||||
switch(job_medsci_high)
|
|
||||||
if(RD)
|
|
||||||
clothes_s = new /icon(uniform_dmi, "director_s")
|
clothes_s = new /icon(uniform_dmi, "director_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "brown"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "brown"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/in-hand/right/items_righthand.dmi', "clipboard"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/in-hand/right/items_righthand.dmi', "clipboard"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "labcoat_open"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "labcoat_open"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-tox",null,"courierbagtox")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-tox",null,"courierbagtox")
|
||||||
if(SCIENTIST)
|
if(/datum/job/scientist)
|
||||||
clothes_s = new /icon(uniform_dmi, "toxinswhite_s")
|
clothes_s = new /icon(uniform_dmi, "toxinswhite_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "white"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "white"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "labcoat_tox_open"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "labcoat_tox_open"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-tox",null,"courierbagtox")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-tox",null,"courierbagtox")
|
||||||
if(XENOARCH)
|
if(/datum/job/xenoarchaeologist)
|
||||||
clothes_s = new /icon('icons/mob/uniform.dmi', "xenoarch_s")
|
clothes_s = new /icon('icons/mob/uniform.dmi', "xenoarch_s")
|
||||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_tox_open"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_tox_open"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-tox",null,"courierbagtox")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-tox",null,"courierbagtox")
|
||||||
if(XENOBIO)
|
if(/datum/job/xenobiologist)
|
||||||
clothes_s = new /icon('icons/mob/uniform.dmi', "xenobio_s")
|
clothes_s = new /icon('icons/mob/uniform.dmi', "xenobio_s")
|
||||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_tox_open"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_tox_open"), ICON_OVERLAY)
|
||||||
if(CHEMIST)
|
if(/datum/job/chemist)
|
||||||
clothes_s = new /icon(uniform_dmi, "chemistrywhite_s")
|
clothes_s = new /icon(uniform_dmi, "chemistrywhite_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "white"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "white"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "labcoat_chem_open"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "labcoat_chem_open"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-chem",null,"courierbagchem")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-chem",null,"courierbagchem")
|
||||||
if(CMO)
|
if(/datum/job/cmo)
|
||||||
clothes_s = new /icon(uniform_dmi, "cmo_s")
|
clothes_s = new /icon(uniform_dmi, "cmo_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "brown"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "brown"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/in-hand/left/items_lefthand.dmi', "firstaid"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/in-hand/left/items_lefthand.dmi', "firstaid"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "labcoat_cmo_open"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "labcoat_cmo_open"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-med",null,"courierbagmed")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-med",null,"courierbagmed")
|
||||||
if(DOCTOR)
|
if(/datum/job/doctor)
|
||||||
clothes_s = new /icon(uniform_dmi, "medical_s")
|
clothes_s = new /icon(uniform_dmi, "medical_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "white"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "white"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/in-hand/left/items_lefthand.dmi', "firstaid"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/in-hand/left/items_lefthand.dmi', "firstaid"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "labcoat_open"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "labcoat_open"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-med","medicalpack","courierbagmed")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-med","medicalpack","courierbagmed")
|
||||||
if(GENETICIST)
|
if(/datum/job/geneticist)
|
||||||
clothes_s = new /icon(uniform_dmi, "geneticswhite_s")
|
clothes_s = new /icon(uniform_dmi, "geneticswhite_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "white"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "white"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "labcoat_gen_open"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "labcoat_gen_open"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-gen",null,"courierbagmed")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-gen",null,"courierbagmed")
|
||||||
if(VIROLOGIST)
|
if(/datum/job/virologist)
|
||||||
clothes_s = new /icon(uniform_dmi, "virologywhite_s")
|
clothes_s = new /icon(uniform_dmi, "virologywhite_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "white"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "white"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/mask.dmi', "sterile"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/mask.dmi', "sterile"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "labcoat_vir_open"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "labcoat_vir_open"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-vir","medicalpack","courierbagmed")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-vir","medicalpack","courierbagmed")
|
||||||
if(ROBOTICIST)
|
if(/datum/job/roboticist)
|
||||||
clothes_s = new /icon(uniform_dmi, "robotics_s")
|
clothes_s = new /icon(uniform_dmi, "robotics_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/in-hand/right/items_righthand.dmi', "toolbox_blue"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/in-hand/right/items_righthand.dmi', "toolbox_blue"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "labcoat_open"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "labcoat_open"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
|
if(/datum/job/captain)
|
||||||
else if(job_engsec_high)
|
|
||||||
switch(job_engsec_high)
|
|
||||||
if(CAPTAIN)
|
|
||||||
clothes_s = new /icon(uniform_dmi, "captain_s")
|
clothes_s = new /icon(uniform_dmi, "captain_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "brown"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "brown"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/head.dmi', "captain"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/head.dmi', "captain"), ICON_OVERLAY)
|
||||||
@@ -428,21 +428,21 @@
|
|||||||
clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sun"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sun"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "caparmor"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "caparmor"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-cap",null,"courierbagcom")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-cap",null,"courierbagcom")
|
||||||
if(HOS)
|
if(/datum/job/hos)
|
||||||
clothes_s = new /icon(uniform_dmi, "hosred_s")
|
clothes_s = new /icon(uniform_dmi, "hosred_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "jackboots"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "jackboots"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/head.dmi', "beret_badge"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/head.dmi', "beret_badge"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "armor"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "armor"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-sec","securitypack","courierbagsec")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-sec","securitypack","courierbagsec")
|
||||||
if(WARDEN)
|
if(/datum/job/warden)
|
||||||
clothes_s = new /icon(uniform_dmi, "warden_s")
|
clothes_s = new /icon(uniform_dmi, "warden_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "jackboots"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "jackboots"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/head.dmi', "policehelm"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/head.dmi', "policehelm"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "armor"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "armor"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-sec","securitypack","courierbagsec")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-sec","securitypack","courierbagsec")
|
||||||
if(DETECTIVE)
|
if(/datum/job/detective)
|
||||||
clothes_s = new /icon(uniform_dmi, "detective_s")
|
clothes_s = new /icon(uniform_dmi, "detective_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "brown"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "brown"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY)
|
||||||
@@ -450,14 +450,14 @@
|
|||||||
clothes_s.Blend(new /icon('icons/mob/head.dmi', "detective"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/head.dmi', "detective"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "detective"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "detective"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
if(OFFICER)
|
if(/datum/job/officer)
|
||||||
clothes_s = new /icon(uniform_dmi, "security_s")
|
clothes_s = new /icon(uniform_dmi, "security_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "jackboots"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "jackboots"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/head.dmi', "beret"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/head.dmi', "beret"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "armor"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "armor"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-sec","securitypack","courierbagsec")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-sec","securitypack","courierbagsec")
|
||||||
if(CHIEF)
|
if(/datum/job/chief_engineer)
|
||||||
clothes_s = new /icon(uniform_dmi, "chief_s")
|
clothes_s = new /icon(uniform_dmi, "chief_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "brown"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "brown"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "yellow"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "yellow"), ICON_UNDERLAY)
|
||||||
@@ -465,36 +465,36 @@
|
|||||||
clothes_s.Blend(new /icon('icons/mob/mask.dmi', "cigaron"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/mask.dmi', "cigaron"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/head.dmi', "hardhat0_white"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/head.dmi', "hardhat0_white"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-eng","engiepack","courierbagengi")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-eng","engiepack","courierbagengi")
|
||||||
if(ENGINEER)
|
if(/datum/job/engineer)
|
||||||
clothes_s = new /icon(uniform_dmi, "engine_s")
|
clothes_s = new /icon(uniform_dmi, "engine_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "orange"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "orange"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/head.dmi', "hardhat0_yellow"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/head.dmi', "hardhat0_yellow"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-eng","engiepack","courierbagengi")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-eng","engiepack","courierbagengi")
|
||||||
if(ATMOSTECH)
|
if(/datum/job/atmos)
|
||||||
clothes_s = new /icon(uniform_dmi, "atmos_s")
|
clothes_s = new /icon(uniform_dmi, "atmos_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "yellow"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "yellow"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbagengi")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbagengi")
|
||||||
if(MECHANIC)
|
if(/datum/job/mechanic)
|
||||||
clothes_s = new /icon(uniform_dmi, "mechanic_s")
|
clothes_s = new /icon(uniform_dmi, "mechanic_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "white"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "white"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "yellow"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "yellow"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-eng","engiepack","courierbagengi")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-eng","engiepack","courierbagengi")
|
||||||
if(ROBOTICIST)
|
if(/datum/job/roboticist)
|
||||||
clothes_s = new /icon(uniform_dmi, "robotics_s")
|
clothes_s = new /icon(uniform_dmi, "robotics_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "black"), ICON_UNDERLAY)
|
||||||
clothes_s.Blend(new /icon('icons/mob/in-hand/right/items_righthand.dmi', "toolbox_blue"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon('icons/mob/in-hand/right/items_righthand.dmi', "toolbox_blue"), ICON_OVERLAY)
|
||||||
clothes_s.Blend(new /icon(suit_dmi, "labcoat_open"), ICON_OVERLAY)
|
clothes_s.Blend(new /icon(suit_dmi, "labcoat_open"), ICON_OVERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
if(AI)//Gives AI and borgs assistant-wear, so they can still customize their character
|
if(/datum/job/ai)//Gives AI and borgs assistant-wear, so they can still customize their character
|
||||||
clothes_s = new /icon(uniform_dmi, "grey_s")
|
clothes_s = new /icon(uniform_dmi, "grey_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
if(CYBORG)
|
if(/datum/job/cyborg)
|
||||||
clothes_s = new /icon(uniform_dmi, "grey_s")
|
clothes_s = new /icon(uniform_dmi, "grey_s")
|
||||||
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
clothes_s.Blend(new /icon(feet_dmi, "black"), ICON_UNDERLAY)
|
||||||
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
clothes_s=blend_backpack(clothes_s,backbag,"satchel-norm",null,"courierbag")
|
||||||
|
|||||||
@@ -1692,6 +1692,7 @@
|
|||||||
#include "code\modules\migrations\SS13_Prefs\024-add-tgui-fancy.dm"
|
#include "code\modules\migrations\SS13_Prefs\024-add-tgui-fancy.dm"
|
||||||
#include "code\modules\migrations\SS13_Prefs\025-warning_notif.dm"
|
#include "code\modules\migrations\SS13_Prefs\025-warning_notif.dm"
|
||||||
#include "code\modules\migrations\SS13_Prefs\026-add-fps.dm"
|
#include "code\modules\migrations\SS13_Prefs\026-add-fps.dm"
|
||||||
|
#include "code\modules\migrations\SS13_Prefs\027-refactor-jobs.dm"
|
||||||
#include "code\modules\migrations\SS13_Prefs\_base.dm"
|
#include "code\modules\migrations\SS13_Prefs\_base.dm"
|
||||||
#include "code\modules\mining\abandonedcrates.dm"
|
#include "code\modules\mining\abandonedcrates.dm"
|
||||||
#include "code\modules\mining\debug_shit.dm"
|
#include "code\modules\mining\debug_shit.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user