mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 04:57:12 +01:00
Assign different paycheck amounts to each job (#29682)
This commit is contained in:
@@ -22,9 +22,10 @@
|
||||
#define DEPARTMENT_BALANCE_HIGH 1500
|
||||
|
||||
/////BASE PAY AMOUNTS///
|
||||
#define CREW_BASE_PAY_LOW 100
|
||||
#define CREW_PAY_MEDIUM 250
|
||||
#define CREW_PAY_HIGH 300
|
||||
#define CREW_PAY_ASSISTANT 100
|
||||
#define CREW_PAY_LOW 150
|
||||
#define CREW_PAY_MEDIUM 200
|
||||
#define CREW_PAY_HIGH 250
|
||||
|
||||
#define DEPARTMENT_BASE_PAY_NONE 0
|
||||
#define DEPARTMENT_BASE_PAY_LOW 250
|
||||
|
||||
@@ -306,6 +306,8 @@ SUBSYSTEM_DEF(economy)
|
||||
amount_to_pay -= deduction
|
||||
amount_to_pay = max(amount_to_pay, 0)
|
||||
account.pay_check_deductions = null
|
||||
if(!amount_to_pay)
|
||||
continue
|
||||
station_db.credit_account(account, amount_to_pay, "Payday", "NAS Trurl Payroll", FALSE)
|
||||
if(account.account_type == ACCOUNT_TYPE_PERSONAL)
|
||||
if(LAZYLEN(account.associated_nanobank_programs))
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
access = list() //See /datum/job/assistant/get_access()
|
||||
alt_titles = list("Off-Duty", "Retired", "Intern")
|
||||
outfit = /datum/outfit/job/assistant
|
||||
standard_paycheck = CREW_PAY_ASSISTANT
|
||||
|
||||
/datum/job/assistant/get_access()
|
||||
if(GLOB.configuration.jobs.assistant_maint_access)
|
||||
|
||||
@@ -72,10 +72,15 @@
|
||||
/// Boolean detailing if this job has been banned because of a gamemode restriction i.e. The revolution has won, no more command
|
||||
var/job_banned_gamemode = FALSE
|
||||
|
||||
/// Standard paycheck amount for this job
|
||||
var/standard_paycheck = CREW_PAY_ASSISTANT
|
||||
|
||||
//Only override this proc
|
||||
/datum/job/proc/after_spawn(mob/living/carbon/human/H)
|
||||
SHOULD_CALL_PARENT(TRUE)
|
||||
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_JOB_AFTER_SPAWN, src, H)
|
||||
|
||||
H.mind.initial_account.payday_amount = standard_paycheck
|
||||
|
||||
/datum/job/proc/announce(mob/living/carbon/human/H)
|
||||
return
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY)
|
||||
outfit = /datum/outfit/job/cmo
|
||||
important_information = "This role requires you to coordinate a department. You are required to be familiar with Standard Operating Procedure (Medical), basic job duties, and act professionally (roleplay)."
|
||||
standard_paycheck = CREW_PAY_HIGH
|
||||
|
||||
/datum/outfit/job/cmo
|
||||
name = "Chief Medical Officer"
|
||||
@@ -81,6 +82,7 @@
|
||||
minimal_player_age = 3
|
||||
exp_map = list(EXP_TYPE_CREW = 180)
|
||||
outfit = /datum/outfit/job/doctor
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/doctor
|
||||
name = "Medical Doctor"
|
||||
@@ -121,6 +123,7 @@
|
||||
minimal_player_age = 3
|
||||
exp_map = list(EXP_TYPE_CREW = 180)
|
||||
outfit = /datum/outfit/job/coroner
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/coroner
|
||||
name = "Coroner"
|
||||
@@ -190,6 +193,7 @@
|
||||
minimal_player_age = 7
|
||||
exp_map = list(EXP_TYPE_CREW = 300)
|
||||
outfit = /datum/outfit/job/chemist
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/chemist
|
||||
name = "Chemist"
|
||||
@@ -231,6 +235,7 @@
|
||||
minimal_player_age = 3
|
||||
exp_map = list(EXP_TYPE_CREW = 180)
|
||||
outfit = /datum/outfit/job/geneticist
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/geneticist
|
||||
name = "Geneticist"
|
||||
@@ -275,6 +280,7 @@
|
||||
/datum/job_objective/virus_samples
|
||||
)
|
||||
outfit = /datum/outfit/job/virologist
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
|
||||
/datum/outfit/job/virologist
|
||||
@@ -315,6 +321,7 @@
|
||||
)
|
||||
alt_titles = list("Psychologist","Therapist")
|
||||
outfit = /datum/outfit/job/psychiatrist
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/psychiatrist
|
||||
name = "Psychiatrist"
|
||||
@@ -366,6 +373,7 @@
|
||||
exp_map = list(EXP_TYPE_CREW = 180)
|
||||
outfit = /datum/outfit/job/paramedic
|
||||
important_information = "You are the first responder to medical emergencies outside the sanctity of the Medbay. You can also respond to Lavaland emergencies via the mining shuttle located in Cargo."
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/paramedic
|
||||
name = "Paramedic"
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
|
||||
outfit = /datum/outfit/job/rd
|
||||
important_information = "This role requires you to coordinate a department. You are required to be familiar with Standard Operating Procedure (Science), basic job duties, and act professionally (roleplay)."
|
||||
standard_paycheck = CREW_PAY_HIGH
|
||||
|
||||
/datum/outfit/job/rd
|
||||
name = "Research Director"
|
||||
@@ -95,6 +96,7 @@
|
||||
)
|
||||
|
||||
outfit = /datum/outfit/job/scientist
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/scientist
|
||||
name = "Scientist"
|
||||
@@ -145,6 +147,7 @@
|
||||
)
|
||||
|
||||
outfit = /datum/outfit/job/xenobiologist
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/xenobiologist
|
||||
name = "Xenobiologist"
|
||||
@@ -197,6 +200,7 @@
|
||||
)
|
||||
|
||||
outfit = /datum/outfit/job/roboticist
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/roboticist
|
||||
name = "Roboticist"
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
missing_limbs_allowed = FALSE
|
||||
outfit = /datum/outfit/job/hos
|
||||
important_information = "This role requires you to coordinate a department. You are required to be familiar with Standard Operating Procedure (Security), Space Law, basic job duties, and act professionally (roleplay)."
|
||||
standard_paycheck = CREW_PAY_HIGH
|
||||
|
||||
/datum/outfit/job/hos
|
||||
name = "Head of Security"
|
||||
@@ -100,6 +101,7 @@
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY, DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP, DISABILITY_FLAG_PARAPLEGIC)
|
||||
missing_limbs_allowed = FALSE
|
||||
outfit = /datum/outfit/job/warden
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/warden
|
||||
name = "Warden"
|
||||
@@ -159,6 +161,7 @@
|
||||
missing_limbs_allowed = FALSE
|
||||
outfit = /datum/outfit/job/detective
|
||||
important_information = "Track, investigate, and look cool while doing it."
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/detective
|
||||
name = "Detective"
|
||||
@@ -230,6 +233,7 @@
|
||||
missing_limbs_allowed = FALSE
|
||||
outfit = /datum/outfit/job/officer
|
||||
important_information = "Space Law is the law, not a suggestion."
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/officer
|
||||
name = "Security Officer"
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY, DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP)
|
||||
outfit = /datum/outfit/job/captain
|
||||
important_information = "This role requires you to coordinate a department. You are required to be familiar with Standard Operating Procedure (Command), basic job duties, and act professionally (roleplay)."
|
||||
standard_paycheck = CREW_PAY_HIGH
|
||||
|
||||
/datum/job/captain/get_access()
|
||||
return get_all_accesses()
|
||||
@@ -110,6 +111,7 @@
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY , DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP)
|
||||
outfit = /datum/outfit/job/hop
|
||||
important_information = "This role requires you to coordinate a department. You are required to be familiar with Standard Operating Procedure (Service), basic job duties, and act professionally (roleplay)."
|
||||
standard_paycheck = CREW_PAY_HIGH
|
||||
|
||||
/datum/outfit/job/hop
|
||||
name = "Head of Personnel"
|
||||
@@ -185,6 +187,7 @@
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP)
|
||||
outfit = /datum/outfit/job/nanotrasenrep
|
||||
important_information = "This role requires you to advise the Command team about Standard Operating Procedure, Chain of Command, and report to Central Command about various matters. You are required to act in a manner befitting someone representing Nanotrasen."
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/nanotrasenrep
|
||||
name = "Nanotrasen Representative"
|
||||
@@ -246,6 +249,7 @@
|
||||
missing_limbs_allowed = FALSE
|
||||
outfit = /datum/outfit/job/blueshield
|
||||
important_information = "This role requires you to ensure the safety of the Heads of Staff, not the general crew. You may perform arrests only if the combatant is directly threatening a member of Command, the Nanotrasen Representative, or the Magistrate."
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/blueshield
|
||||
name = "Blueshield"
|
||||
@@ -298,6 +302,7 @@
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP)
|
||||
outfit = /datum/outfit/job/judge
|
||||
important_information = "This role requires you to oversee legal matters and make important decisions about sentencing. You are required to have an extensive knowledge of Space Law and Security SOP and only operate within, not outside, the boundaries of the law."
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/judge
|
||||
name = "Magistrate"
|
||||
@@ -352,6 +357,7 @@
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP)
|
||||
outfit = /datum/outfit/job/iaa
|
||||
important_information = "Your job is to deal with affairs regarding Standard Operating Procedure. You are NOT in charge of Space Law affairs, nor can you override it. You are NOT a prisoner defence lawyer."
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/iaa
|
||||
name = "Internal Affairs Agent"
|
||||
@@ -413,6 +419,7 @@
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP)
|
||||
outfit = /datum/outfit/job/nct
|
||||
important_information = "Your job is to try to assist as many crew members as possible regardless of department. You are NOT permitted to give command staff advice on any command SOP questions or aid in legal advice."
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
|
||||
/datum/outfit/job/nct
|
||||
name = "Nanotrasen Career Trainer"
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
outfit = /datum/outfit/job/qm
|
||||
important_information = "This role requires you to coordinate a department. You are required to be familiar with Standard Operating Procedure (Supply), basic job duties, and act professionally (roleplay)."
|
||||
exp_map = list(EXP_TYPE_SUPPLY = 1200)
|
||||
standard_paycheck = CREW_PAY_HIGH
|
||||
|
||||
/datum/outfit/job/qm
|
||||
name = "Quartermaster"
|
||||
@@ -78,6 +79,7 @@
|
||||
)
|
||||
alt_titles = list("Mail Carrier", "Courier")
|
||||
outfit = /datum/outfit/job/cargo_tech
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
|
||||
/datum/outfit/job/cargo_tech
|
||||
name = "Cargo Technician"
|
||||
@@ -116,6 +118,7 @@
|
||||
)
|
||||
alt_titles = list("Metalworker", "Tinkerer")
|
||||
outfit = /datum/outfit/job/smith
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
|
||||
/datum/outfit/job/smith
|
||||
name = "Smith"
|
||||
@@ -150,6 +153,7 @@
|
||||
)
|
||||
alt_titles = list("Spelunker")
|
||||
outfit = /datum/outfit/job/mining
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
|
||||
/datum/outfit/job/mining
|
||||
name = "Shaft Miner"
|
||||
@@ -232,6 +236,7 @@
|
||||
)
|
||||
alt_titles = list("Salvage Technician", "Scavenger")
|
||||
outfit = /datum/outfit/job/explorer
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
|
||||
/datum/outfit/job/explorer
|
||||
name = "Explorer"
|
||||
@@ -265,6 +270,7 @@
|
||||
selection_color = "#dddddd"
|
||||
access = list(ACCESS_BAR, ACCESS_MAINT_TUNNELS, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM)
|
||||
outfit = /datum/outfit/job/bartender
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
|
||||
/datum/outfit/job/bartender
|
||||
name = "Bartender"
|
||||
@@ -313,6 +319,7 @@
|
||||
)
|
||||
alt_titles = list("Cook","Culinary Artist","Butcher")
|
||||
outfit = /datum/outfit/job/chef
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
|
||||
/datum/outfit/job/chef
|
||||
name = "Chef"
|
||||
@@ -353,6 +360,7 @@
|
||||
)
|
||||
alt_titles = list("Hydroponicist", "Botanical Researcher")
|
||||
outfit = /datum/outfit/job/hydro
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
|
||||
/datum/outfit/job/hydro
|
||||
name = "Botanist"
|
||||
@@ -393,6 +401,7 @@
|
||||
ACCESS_THEATRE
|
||||
)
|
||||
outfit = /datum/outfit/job/clown
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
|
||||
/datum/outfit/job/clown
|
||||
name = "Clown"
|
||||
@@ -488,6 +497,7 @@
|
||||
ACCESS_THEATRE
|
||||
)
|
||||
outfit = /datum/outfit/job/mime
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
|
||||
/datum/outfit/job/mime
|
||||
name = "Mime"
|
||||
@@ -547,6 +557,7 @@
|
||||
)
|
||||
alt_titles = list("Custodial Technician")
|
||||
outfit = /datum/outfit/job/janitor
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
|
||||
/datum/outfit/job/janitor
|
||||
name = "Janitor"
|
||||
@@ -586,6 +597,7 @@
|
||||
)
|
||||
alt_titles = list("Journalist")
|
||||
outfit = /datum/outfit/job/librarian
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
|
||||
/datum/outfit/job/librarian
|
||||
name = "Librarian"
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
ACCESS_MORGUE
|
||||
)
|
||||
outfit = /datum/outfit/job/chaplain
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
|
||||
/datum/outfit/job/chaplain
|
||||
name = "Chaplain"
|
||||
|
||||
@@ -509,10 +509,10 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
SSjobs.notify_dept_head(modify.rank, "[scan.registered_name] has transferred \"[modify.registered_name]\" the \"[oldrank]\" to \"[temp_t]\".")
|
||||
else
|
||||
var/list/access = list()
|
||||
var/datum/job/jobdatum
|
||||
if(is_centcom() && islist(get_centcom_access(t1)))
|
||||
access = get_centcom_access(t1)
|
||||
else
|
||||
var/datum/job/jobdatum
|
||||
for(var/jobtype in typesof(/datum/job))
|
||||
var/datum/job/J = new jobtype
|
||||
if(ckey(J.title) == ckey(t1))
|
||||
@@ -534,6 +534,9 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
SSjobs.notify_dept_head(t1, "[scan.registered_name] has transferred \"[modify.registered_name]\" the \"[jobnamedata]\" to \"[t1]\".")
|
||||
if(modify.owner_uid)
|
||||
SSjobs.slot_job_transfer(modify.rank, t1)
|
||||
var/datum/money_account/account = modify.get_card_account()
|
||||
if(account && jobdatum)
|
||||
account.payday_amount = jobdatum.standard_paycheck
|
||||
|
||||
var/mob/living/carbon/human/H = modify.getPlayer()
|
||||
if(istype(H))
|
||||
@@ -573,6 +576,9 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
modify.lastlog = "[station_time_timestamp()]: DEMOTED by \"[scan.registered_name]\" ([scan.assignment]) from \"[jobnamedata]\" for: \"[reason]\"."
|
||||
SSjobs.notify_dept_head(modify.rank, "[scan.registered_name] ([scan.assignment]) has demoted \"[modify.registered_name]\" ([jobnamedata]) for \"[reason]\".")
|
||||
SSjobs.slot_job_transfer(modify.rank, "Assistant")
|
||||
var/datum/money_account/account = modify.get_card_account()
|
||||
if(account)
|
||||
account.payday_amount = jobdatum.standard_paycheck
|
||||
modify.access = access
|
||||
modify.assignment = "Demoted"
|
||||
modify.icon_state = "id"
|
||||
@@ -600,6 +606,9 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
var/datum/job/job = SSjobs.GetJob(modify.rank)
|
||||
if(modify.assignment != "Demoted" && !(job.title in GLOB.command_positions))
|
||||
job.current_positions--
|
||||
var/datum/money_account/account = modify.get_card_account()
|
||||
if(account)
|
||||
account.payday_amount = 0
|
||||
modify.assignment = "Terminated"
|
||||
modify.access = list()
|
||||
modify.rank = "Terminated"
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
///Type of account this is
|
||||
var/account_type = ACCOUNT_TYPE_PERSONAL
|
||||
///the amount this account receives every payday
|
||||
var/payday_amount = CREW_BASE_PAY_LOW
|
||||
var/payday_amount = CREW_PAY_ASSISTANT
|
||||
|
||||
///The nanobank programs associated with this account, used for notifying crew members through PDA, this is a lazy list
|
||||
var/list/associated_nanobank_programs
|
||||
@@ -40,7 +40,7 @@
|
||||
///pay deductions for the next pay period for this account, this is a lazy list
|
||||
var/list/pay_check_deductions
|
||||
|
||||
/datum/money_account/New(_account_name, starting_balance = 0, _security_level = ACCOUNT_SECURITY_ID, _account_type = ACCOUNT_TYPE_PERSONAL, _payday_amount = CREW_BASE_PAY_LOW)
|
||||
/datum/money_account/New(_account_name, starting_balance = 0, _security_level = ACCOUNT_SECURITY_ID, _account_type = ACCOUNT_TYPE_PERSONAL, _payday_amount = CREW_PAY_ASSISTANT)
|
||||
account_name = _account_name
|
||||
credit_balance = starting_balance
|
||||
payday_amount = _payday_amount
|
||||
|
||||
Reference in New Issue
Block a user