diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index 16d651ab1dfcc..ae86c12261ae4 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -103,30 +103,33 @@ #define ROLE_ERT "Emergency Response Team" #define ROLE_VALHALLA "Valhalla" -GLOBAL_LIST_EMPTY(jobs_command) -GLOBAL_LIST_INIT(jobs_officers, list(CAPTAIN, FIELD_COMMANDER, STAFF_OFFICER, PILOT_OFFICER, MECH_PILOT, CORPORATE_LIAISON, SYNTHETIC, SILICON_AI)) +//RUTGMC EDIT BEGIN +GLOBAL_LIST_INIT(jobs_command, list(CAPTAIN, FIELD_COMMANDER, STAFF_OFFICER, SQUAD_LEADER)) +GLOBAL_LIST_INIT(jobs_officers, list(CAPTAIN, FIELD_COMMANDER, STAFF_OFFICER, PILOT_OFFICER, MECH_PILOT, CORPORATE_LIAISON, SYNTHETIC, SILICON_AI, SQUAD_LEADER, CHIEF_MEDICAL_OFFICER, CHIEF_SHIP_ENGINEER, REQUISITIONS_OFFICER)) GLOBAL_LIST_INIT(jobs_support, list(PILOT_OFFICER, MECH_PILOT, REQUISITIONS_OFFICER, SYNTHETIC, SILICON_AI)) -GLOBAL_LIST_INIT(jobs_engineering, list(CHIEF_SHIP_ENGINEER, SHIP_TECH)) +GLOBAL_LIST_INIT(jobs_engineering, list(CHIEF_SHIP_ENGINEER, SHIP_TECH, SQUAD_ENGINEER)) GLOBAL_LIST_INIT(jobs_requisitions, list(REQUISITIONS_OFFICER)) -GLOBAL_LIST_INIT(jobs_medical, list(CHIEF_MEDICAL_OFFICER, MEDICAL_DOCTOR, MEDICAL_RESEARCHER)) +GLOBAL_LIST_INIT(jobs_medical, list(CHIEF_MEDICAL_OFFICER, MEDICAL_DOCTOR, MEDICAL_RESEARCHER, SQUAD_CORPSMAN)) GLOBAL_LIST_INIT(jobs_marines, list(SQUAD_LEADER, SQUAD_SMARTGUNNER, SQUAD_CORPSMAN, SQUAD_ENGINEER, SQUAD_MARINE)) -GLOBAL_LIST_INIT(jobs_som, list(SOM_SQUAD_MARINE, SOM_SQUAD_VETERAN, SOM_SQUAD_ENGINEER, SOM_SQUAD_CORPSMAN, SOM_SQUAD_LEADER)) +GLOBAL_LIST_INIT(jobs_robots, list(SYNTHETIC, SILICON_AI)) +GLOBAL_LIST_INIT(jobs_civilian, list(CORPORATE_LIAISON)) GLOBAL_LIST_INIT(jobs_regular_all, list(CAPTAIN, FIELD_COMMANDER, STAFF_OFFICER, PILOT_OFFICER, MECH_PILOT, REQUISITIONS_OFFICER, CHIEF_SHIP_ENGINEER, \ CHIEF_MEDICAL_OFFICER, SYNTHETIC, SILICON_AI, CORPORATE_LIAISON, SHIP_TECH, \ -MEDICAL_DOCTOR, MEDICAL_RESEARCHER, SQUAD_LEADER, SQUAD_SMARTGUNNER, SQUAD_CORPSMAN, SQUAD_ENGINEER, SQUAD_MARINE, \ -SOM_SQUAD_MARINE, SOM_SQUAD_VETERAN, SOM_SQUAD_ENGINEER, SOM_SQUAD_CORPSMAN, SOM_SQUAD_LEADER)) -//GLOBAL_LIST_INIT(jobs_xenos, list(ROLE_XENOMORPH, ROLE_XENO_QUEEN)) //RUTGMC EDIT: Moved to modular_RUtgmc\code\__DEFINES\jobs.dm -GLOBAL_LIST_INIT(jobs_fallen_marine, typecacheof(list(/datum/job/fallen/marine), TRUE)) +MEDICAL_DOCTOR, MEDICAL_RESEARCHER, SQUAD_LEADER, SQUAD_SMARTGUNNER, SQUAD_CORPSMAN, SQUAD_ENGINEER, SQUAD_MARINE, SOM_SQUAD_MARINE, SOM_SQUAD_VETERAN, SOM_SQUAD_ENGINEER, SOM_SQUAD_CORPSMAN, SOM_SQUAD_LEADER)) +GLOBAL_LIST_INIT(jobs_som, list(SOM_SQUAD_MARINE, SOM_SQUAD_VETERAN, SOM_SQUAD_ENGINEER, SOM_SQUAD_CORPSMAN, SOM_SQUAD_LEADER)) //Playtime tracking system, see jobs_exp.dm #define EXP_TYPE_LIVING "Living" -#define EXP_TYPE_REGULAR_ALL "Any" +#define EXP_TYPE_ALL "Any" +#define EXP_TYPE_REGULAR_ALL "Any TMGC" #define EXP_TYPE_COMMAND "Command" +#define EXP_TYPE_OFFICERS "Officers" #define EXP_TYPE_ENGINEERING "Engineering" #define EXP_TYPE_MEDICAL "Medical" #define EXP_TYPE_MARINES "Marines" #define EXP_TYPE_REQUISITIONS "Requisitions" #define EXP_TYPE_SILICON "Silicon" +#define EXP_TYPE_XENO "Xeno" #define EXP_TYPE_SPECIAL "Special" #define EXP_TYPE_GHOST "Ghost" #define EXP_TYPE_ADMIN "Admin" @@ -140,11 +143,19 @@ GLOBAL_LIST_INIT(jobs_fallen_marine, typecacheof(list(/datum/job/fallen/marine), #define CRYO_CHARLIE "Charlie Squad" #define CRYO_DELTA "Delta Squad" - +/* //ORIGINAL #define XP_REQ_UNSEASONED 60 #define XP_REQ_INTERMEDIATE 180 #define XP_REQ_EXPERIENCED 600 #define XP_REQ_EXPERT 900 +*/ +#define XP_REQ_NOVICE 300 +#define XP_REQ_UNSEASONED 300 +#define XP_REQ_INTERMEDIATE 600 +#define XP_REQ_EXPERIENCED 2400 +#define XP_REQ_EXPERT 2400 +#define XP_REQ_SURVIVOR 3600 +//RUTGMC EDIT END // how much a job is going to contribute towards burrowed larva. see config for points required to larva. old balance was 1 larva per 3 humans. #define LARVA_POINTS_SHIPSIDE 1 diff --git a/code/__DEFINES/~RUtgmc_defines/jobs.dm b/code/__DEFINES/~RUtgmc_defines/jobs.dm index c4d4abc77ce91..b0446eae4f9fd 100644 --- a/code/__DEFINES/~RUtgmc_defines/jobs.dm +++ b/code/__DEFINES/~RUtgmc_defines/jobs.dm @@ -1,3 +1,7 @@ #define ROLE_XENO_HUGGER "Xeno Facehugger" GLOBAL_LIST_INIT(jobs_xenos, list(ROLE_XENOMORPH, ROLE_XENO_QUEEN, ROLE_XENO_HUGGER)) +GLOBAL_LIST_INIT(jobs_xeno, list(ROLE_XENOMORPH, ROLE_XENO_QUEEN, ROLE_XENO_HUGGER)) +GLOBAL_LIST_INIT(jobs_all, list(CAPTAIN, FIELD_COMMANDER, STAFF_OFFICER, PILOT_OFFICER, REQUISITIONS_OFFICER, CHIEF_SHIP_ENGINEER, CHIEF_MEDICAL_OFFICER, SYNTHETIC, SILICON_AI, CORPORATE_LIAISON, SHIP_TECH, +MEDICAL_DOCTOR, MEDICAL_RESEARCHER, SQUAD_LEADER, SQUAD_SMARTGUNNER, SQUAD_CORPSMAN, SQUAD_ENGINEER, SQUAD_MARINE, ROLE_XENOMORPH, ROLE_XENO_QUEEN, ROLE_XENO_HUGGER)) +GLOBAL_LIST_INIT(jobs_fallen_marine, typecacheof(list(/datum/job/fallen/marine))) diff --git a/code/datums/jobs/job/job_exp.dm b/code/datums/jobs/job/job_exp.dm index bb2193435cdaf..d22afd4231f49 100644 --- a/code/datums/jobs/job/job_exp.dm +++ b/code/datums/jobs/job/job_exp.dm @@ -7,22 +7,35 @@ GLOBAL_PROTECT(exp_to_update) return FALSE if(!CONFIG_GET(flag/use_exp_tracking)) return FALSE + //RUTGMC EDIT BEGIN + if(!CONFIG_GET(flag/use_exp_restrictions)) //ADDITION + return FALSE //ADDITION + //RUTGMC EDIT END if(!SSdbcore.Connect()) return FALSE if(!exp_requirements || !exp_type) return FALSE + //RUTGMC EDIT BEGIN + /* if(!job_is_xp_locked(src)) return FALSE + */ if(CONFIG_GET(flag/use_exp_restrictions_admin_bypass) && check_other_rights(C, R_ADMIN, FALSE)) return FALSE + /* //ORIGINAL var/my_exp = C.calc_exp_type(get_exp_req_type()) var/job_requirement = get_exp_req_amount() + */ + + // Calc client exp and how much do we need + var/my_exp = C.calc_exp_type(exp_type) + var/job_requirement = exp_requirements if(my_exp >= job_requirement) return FALSE else return (job_requirement - my_exp) - +/* /datum/job/proc/get_exp_req_amount() if(job_flags & JOB_FLAG_ISCOMMAND) var/uerhh = CONFIG_GET(number/use_exp_restrictions_command_hours) @@ -44,7 +57,8 @@ GLOBAL_PROTECT(exp_to_update) if(!CONFIG_GET(flag/use_exp_restrictions_other) && !(job.job_flags & JOB_FLAG_ISCOMMAND)) return FALSE return TRUE - +*/ +//RUTGMC EDIT END /client/proc/calc_exp_type(exptype) var/list/explist = prefs.exp.Copy() @@ -115,13 +129,22 @@ GLOBAL_PROTECT(exp_to_update) for(var/j in SSjob.joinable_occupations) var/datum/job/job = j if(job.exp_requirements && job.exp_type) + //RUTGMC EDIT BEGIN + /* if(!job_is_xp_locked(job)) continue else if(!job.required_playtime_remaining(mob.client)) + */ + if(!job.required_playtime_remaining(mob.client)) jobs_unlocked += job.title else + /* ORIGINAL var/xp_req = job.get_exp_req_amount() jobs_locked += "[job.title] [get_exp_format(text2num(calc_exp_type(job.get_exp_req_type())))] / [get_exp_format(xp_req)] as [job.get_exp_req_type()])" + */ + var/xp_req = job.exp_requirements + jobs_locked += "[job.title] [get_exp_format(text2num(calc_exp_type(job.exp_type)))] / [get_exp_format(xp_req)] as [job.exp_type])" + //RUTGMC EDIT END if(length(jobs_unlocked)) return_text += "

Jobs Unlocked: