This commit is contained in:
SandPoot
2024-05-23 21:53:15 -03:00
parent 2e5e548369
commit ad0f659226
47 changed files with 164 additions and 231 deletions
+3
View File
@@ -76,6 +76,9 @@
var/bounty_types = CIV_JOB_BASIC
///Bitfield of departments this job belongs wit
var/departments = NONE
/// Goodies that can be received via the mail system.
// this is a weighted list.
/// Keep the _job definition for this empty and use /obj/item/mail to define general gifts.
+1
View File
@@ -15,6 +15,7 @@
exp_type_department = EXP_TYPE_SILICON
display_order = JOB_DISPLAY_ORDER_AI
allow_bureaucratic_error = FALSE
departments = DEPARTMENT_BITFLAG_SILICON
random_spawns_possible = FALSE
var/do_special_check = TRUE
threat = 5
+1
View File
@@ -16,6 +16,7 @@ Assistant
antag_rep = 7
paycheck = PAYCHECK_ASSISTANT // Get a job. Job reassignment changes your paycheck now. Get over it.
paycheck_department = ACCOUNT_CIV
departments = DEPARTMENT_BITFLAG_SERVICE
display_order = JOB_DISPLAY_ORDER_ASSISTANT
dresscodecompliant = FALSE
always_can_respawn_as = TRUE
@@ -21,12 +21,13 @@
paycheck = PAYCHECK_MEDIUM
paycheck_department = ACCOUNT_ENG
bounty_types = CIV_JOB_ENG
departments = DEPARTMENT_BITFLAG_ENGINEERING
starting_modifiers = list(/datum/skill_modifier/job/level/wiring, /datum/skill_modifier/job/affinity/wiring)
display_order = JOB_DISPLAY_ORDER_ATMOSPHERIC_TECHNICIAN
threat = 0.5
family_heirlooms = list(
/obj/item/lighter,
/obj/item/lighter/greyscale,
+1
View File
@@ -18,6 +18,7 @@
paycheck = PAYCHECK_EASY
paycheck_department = ACCOUNT_SRV
bounty_types = CIV_JOB_DRINK
departments = DEPARTMENT_BITFLAG_SERVICE
display_order = JOB_DISPLAY_ORDER_BARTENDER
threat = 0.5
+1
View File
@@ -17,6 +17,7 @@
paycheck = PAYCHECK_EASY
paycheck_department = ACCOUNT_SRV
bounty_types = CIV_JOB_GROW
departments = DEPARTMENT_BITFLAG_SERVICE
display_order = JOB_DISPLAY_ORDER_BOTANIST
threat = 1.5 // lol powergame
+1
View File
@@ -29,6 +29,7 @@
mind_traits = list(TRAIT_CAPTAIN_METABOLISM, TRAIT_DISK_VERIFIER)
display_order = JOB_DISPLAY_ORDER_CAPTAIN
departments = DEPARTMENT_BITFLAG_COMMAND
blacklisted_quirks = list(/datum/quirk/mute, /datum/quirk/brainproblems, /datum/quirk/insanity)
threat = 5
@@ -20,6 +20,7 @@
display_order = JOB_DISPLAY_ORDER_CARGO_TECHNICIAN
bounty_types = CIV_JOB_RANDOM
departments = DEPARTMENT_BITFLAG_CARGO
threat = 0.2
family_heirlooms = list(
+1
View File
@@ -18,6 +18,7 @@
paycheck_department = ACCOUNT_CIV
display_order = JOB_DISPLAY_ORDER_CHAPLAIN
departments = DEPARTMENT_BITFLAG_SERVICE
threat = 0.5
family_heirlooms = list(
+1
View File
@@ -19,6 +19,7 @@
paycheck = PAYCHECK_MEDIUM
paycheck_department = ACCOUNT_MED
bounty_types = CIV_JOB_CHEM
departments = DEPARTMENT_BITFLAG_MEDICAL
display_order = JOB_DISPLAY_ORDER_CHEMIST
threat = 1.5
@@ -18,6 +18,7 @@
considered_combat_role = TRUE
outfit = /datum/outfit/job/ce
departments = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_COMMAND
plasma_outfit = /datum/outfit/plasmaman/ce
access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS,
@@ -18,6 +18,7 @@
considered_combat_role = TRUE
outfit = /datum/outfit/job/cmo
departments = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_COMMAND
plasma_outfit = /datum/outfit/plasmaman/cmo
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_HEADS, ACCESS_MINERAL_STOREROOM,
+1
View File
@@ -10,6 +10,7 @@
selection_color = "#dddddd"
outfit = /datum/outfit/job/clown
departments = DEPARTMENT_BITFLAG_SERVICE
plasma_outfit = /datum/outfit/plasmaman/clown
access = list(ACCESS_THEATRE)
+1
View File
@@ -18,6 +18,7 @@
paycheck = PAYCHECK_EASY
paycheck_department = ACCOUNT_SRV
bounty_types = CIV_JOB_CHEF
departments = DEPARTMENT_BITFLAG_SERVICE
display_order = JOB_DISPLAY_ORDER_COOK
threat = 0.2
+2 -1
View File
@@ -18,8 +18,9 @@
paycheck_department = ACCOUNT_CIV
display_order = JOB_DISPLAY_ORDER_CURATOR
departments = DEPARTMENT_BITFLAG_SERVICE
threat = 0.3
family_heirlooms = list(
/obj/item/pen/fountain,
/obj/item/storage/dice
+1
View File
@@ -16,6 +16,7 @@
starting_modifiers = list(/datum/skill_modifier/job/level/wiring/basic)
display_order = JOB_DISPLAY_ORDER_CYBORG
departments = DEPARTMENT_BITFLAG_SILICON
/datum/job/cyborg/equip(mob/living/carbon/human/H, visualsOnly = FALSE, announce = TRUE, latejoin = FALSE, datum/outfit/outfit_override = null, client/preference_source = null)
if(visualsOnly)
+1
View File
@@ -14,6 +14,7 @@
exp_type = EXP_TYPE_CREW
outfit = /datum/outfit/job/detective
departments = DEPARTMENT_BITFLAG_SECURITY
plasma_outfit = /datum/outfit/plasmaman/detective
considered_combat_role = TRUE
@@ -12,6 +12,7 @@
exp_requirements = 60
outfit = /datum/outfit/job/geneticist
departments = DEPARTMENT_BITFLAG_MEDICAL
plasma_outfit = /datum/outfit/plasmaman/genetics
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_CHEMISTRY, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_ROBOTICS, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE)
@@ -17,6 +17,7 @@
exp_type_department = EXP_TYPE_SERVICE
considered_combat_role = TRUE
outfit = /datum/outfit/job/hop
departments = DEPARTMENT_BITFLAG_COMMAND | DEPARTMENT_BITFLAG_SERVICE
plasma_outfit = /datum/outfit/plasmaman/hop
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_COURT, ACCESS_WEAPONS,
@@ -18,6 +18,7 @@
exp_type_department = EXP_TYPE_SECURITY
outfit = /datum/outfit/job/hos
departments = DEPARTMENT_BITFLAG_SECURITY | DEPARTMENT_BITFLAG_COMMAND
plasma_outfit = /datum/outfit/plasmaman/hos
mind_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM)
+1
View File
@@ -18,6 +18,7 @@
paycheck_department = ACCOUNT_SRV
display_order = JOB_DISPLAY_ORDER_JANITOR
departments = DEPARTMENT_BITFLAG_SERVICE
threat = 0.2
family_heirlooms = list(
+2 -1
View File
@@ -21,8 +21,9 @@
mind_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM)
display_order = JOB_DISPLAY_ORDER_LAWYER
departments = DEPARTMENT_BITFLAG_SERVICE
threat = 0.3
family_heirlooms = list(
/obj/item/gavelhammer,
/obj/item/book/manual/wiki/security_space_law
@@ -10,6 +10,7 @@
selection_color = "#74b5e0"
outfit = /datum/outfit/job/doctor
departments = DEPARTMENT_BITFLAG_MEDICAL
plasma_outfit = /datum/outfit/plasmaman/medical
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_VIROLOGY, ACCESS_MINERAL_STOREROOM)
+1
View File
@@ -18,6 +18,7 @@
paycheck_department = ACCOUNT_SRV
display_order = JOB_DISPLAY_ORDER_MIME
departments = DEPARTMENT_BITFLAG_SERVICE
threat = 0
+1
View File
@@ -17,6 +17,7 @@
paycheck = PAYCHECK_MEDIUM
paycheck_department = ACCOUNT_MED
bounty_types = CIV_JOB_MED
departments = DEPARTMENT_BITFLAG_MEDICAL
display_order = JOB_DISPLAY_ORDER_PARAMEDIC
+1
View File
@@ -13,6 +13,7 @@
plasma_outfit = /datum/outfit/plasmaman/prisoner
display_order = JOB_DISPLAY_ORDER_PRISONER
departments = DEPARTMENT_BITFLAG_SECURITY
family_heirlooms = list(
/obj/item/pen/blue
@@ -28,6 +28,7 @@
paycheck = PAYCHECK_HARD //They can already buy stuff using cargo budget, don't give em a command-level paycheck. //alright i'll agree to that -qweq
paycheck_department = ACCOUNT_CAR
bounty_types = CIV_JOB_RANDOM
departments = DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_COMMAND
display_order = JOB_DISPLAY_ORDER_QUARTERMASTER
blacklisted_quirks = list(/datum/quirk/mute, /datum/quirk/brainproblems, /datum/quirk/insanity)
@@ -18,6 +18,7 @@
considered_combat_role = TRUE
outfit = /datum/outfit/job/rd
departments = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_COMMAND
plasma_outfit = /datum/outfit/plasmaman/rd
access = list(ACCESS_RD, ACCESS_HEADS, ACCESS_TOX, ACCESS_GENETICS, ACCESS_MORGUE,
@@ -12,6 +12,7 @@
exp_type = EXP_TYPE_CREW
outfit = /datum/outfit/job/roboticist
departments = DEPARTMENT_BITFLAG_SCIENCE
plasma_outfit = /datum/outfit/plasmaman/robotics
access = list(ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_TECH_STORAGE, ACCESS_MORGUE, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM, ACCESS_XENOBIOLOGY, ACCESS_GENETICS)
+1
View File
@@ -19,6 +19,7 @@
paycheck = PAYCHECK_MEDIUM
paycheck_department = ACCOUNT_SCI
bounty_types = CIV_JOB_SCI
departments = DEPARTMENT_BITFLAG_SCIENCE
starting_modifiers = list(/datum/skill_modifier/job/level/wiring/basic)
display_order = JOB_DISPLAY_ORDER_SCIENTIST
threat = 1.2
@@ -22,6 +22,7 @@
paycheck = PAYCHECK_HARD
paycheck_department = ACCOUNT_SEC
bounty_types = CIV_JOB_SEC
departments = DEPARTMENT_BITFLAG_SECURITY
mind_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM)
+2 -1
View File
@@ -20,11 +20,12 @@
paycheck = PAYCHECK_EASY ///Not necessarily easy itself, but it can be trivial to make lot of cash on this job.
paycheck_department = ACCOUNT_CAR
bounty_types = CIV_JOB_MINE
departments = DEPARTMENT_BITFLAG_CARGO
display_order = JOB_DISPLAY_ORDER_SHAFT_MINER
threat = 1.5
family_heirlooms = list(
/obj/item/pickaxe/mini,
/obj/item/shovel
@@ -21,6 +21,7 @@
paycheck = PAYCHECK_MEDIUM
paycheck_department = ACCOUNT_ENG
bounty_types = CIV_JOB_ENG
departments = DEPARTMENT_BITFLAG_ENGINEERING
starting_modifiers = list(/datum/skill_modifier/job/level/wiring, /datum/skill_modifier/job/affinity/wiring)
@@ -19,6 +19,7 @@
paycheck = PAYCHECK_MEDIUM
paycheck_department = ACCOUNT_MED
bounty_types = CIV_JOB_VIRO
departments = DEPARTMENT_BITFLAG_MEDICAL
display_order = JOB_DISPLAY_ORDER_VIROLOGIST
+1
View File
@@ -23,6 +23,7 @@
paycheck = PAYCHECK_HARD
paycheck_department = ACCOUNT_SEC
bounty_types = CIV_JOB_SEC
departments = DEPARTMENT_BITFLAG_SECURITY
mind_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM)
+52
View File
@@ -0,0 +1,52 @@
/datum/crew_manifest
/datum/crew_manifest/ui_state(mob/user)
return GLOB.always_state
/datum/crew_manifest/ui_status(mob/user, datum/ui_state/state)
return (isnewplayer(user) || isobserver(user) || isAI(user) || ispAI(user)) ? UI_INTERACTIVE : UI_CLOSE
/datum/crew_manifest/ui_interact(mob/user, datum/tgui/ui)
ui = SStgui.try_update_ui(user, src, ui)
if (!ui)
ui = new(user, src, "CrewManifest")
ui.open()
/datum/crew_manifest/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
if (..())
return
/datum/crew_manifest/ui_data(mob/user)
var/list/positions = list(
DEPARTMENT_COMMAND = 0,
DEPARTMENT_SECURITY = 0,
DEPARTMENT_ENGINEERING = 0,
DEPARTMENT_MEDICAL = 0,
DEPARTMENT_SCIENCE = 0,
DEPARTMENT_CARGO = 0,
DEPARTMENT_SERVICE = 0,
DEPARTMENT_SILICON = 0
)
var/list/departments = list(
list("flag" = DEPARTMENT_BITFLAG_COMMAND, "name" = DEPARTMENT_COMMAND),
list("flag" = DEPARTMENT_BITFLAG_SECURITY, "name" = DEPARTMENT_SECURITY),
list("flag" = DEPARTMENT_BITFLAG_ENGINEERING, "name" = DEPARTMENT_ENGINEERING),
list("flag" = DEPARTMENT_BITFLAG_MEDICAL, "name" = DEPARTMENT_MEDICAL),
list("flag" = DEPARTMENT_BITFLAG_SCIENCE, "name" = DEPARTMENT_SCIENCE),
list("flag" = DEPARTMENT_BITFLAG_CARGO, "name" = DEPARTMENT_CARGO),
list("flag" = DEPARTMENT_BITFLAG_SERVICE, "name" = DEPARTMENT_SERVICE),
list("flag" = DEPARTMENT_BITFLAG_SILICON, "name" = DEPARTMENT_SILICON)
)
for(var/datum/job/job in SSjob.occupations)
for(var/department in departments)
// Check if the job is part of a department using its flag
// Will return true for Research Director if the department is Science or Command, for example
if(job.departments & department["flag"])
// Add open positions to current department
positions[department["name"]] += (job.total_positions - job.current_positions)
return list(
"manifest" = GLOB.data_core.get_manifest(),
"positions" = positions
)
@@ -720,11 +720,10 @@
return
client.crew_manifest_delay = world.time + (1 SECONDS)
var/dat = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8'></head><body>"
dat += "<h4>Crew Manifest</h4>"
dat += GLOB.data_core.get_manifest(OOC = 1)
if(!GLOB.crew_manifest_tgui)
GLOB.crew_manifest_tgui = new /datum/crew_manifest(src)
src << browse(dat, "window=manifest;size=387x420;can_close=1")
GLOB.crew_manifest_tgui.ui_interact(src)
/mob/dead/new_player/Move()
return FALSE
+3 -4
View File
@@ -730,11 +730,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
return
client.crew_manifest_delay = world.time + (1 SECONDS)
var/dat
dat += "<h4>Crew Manifest</h4>"
dat += GLOB.data_core.get_manifest()
if(!GLOB.crew_manifest_tgui)
GLOB.crew_manifest_tgui = new /datum/crew_manifest(src)
src << browse(dat, "window=manifest;size=387x420;can_close=1")
GLOB.crew_manifest_tgui.ui_interact(src)
//this is called when a ghost is drag clicked to something.
/mob/dead/observer/MouseDrop(atom/over)
+3 -6
View File
@@ -413,13 +413,10 @@
return
client.crew_manifest_delay = world.time + (1 SECONDS)
var/dat = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8'><title>Crew Roster</title></head><body><b>Crew Roster:</b><br><br>"
if(!GLOB.crew_manifest_tgui)
GLOB.crew_manifest_tgui = new /datum/crew_manifest(src)
dat += GLOB.data_core.get_manifest()
dat += "</body></html>"
src << browse(dat, "window=airoster")
onclose(src, "airoster")
GLOB.crew_manifest_tgui.ui_interact(src)
/mob/living/silicon/update_transform(do_animate)
var/matrix/ntransform = matrix(transform) //aka transform.Copy()
@@ -12,7 +12,7 @@
/datum/computer_file/program/crew_manifest/ui_static_data(mob/user)
var/list/data = list()
data["manifest"] = GLOB.data_core.get_manifest_tg()
data["manifest"] = GLOB.data_core.get_manifest()
return data
/datum/computer_file/program/crew_manifest/ui_data(mob/user)