mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 06:29:23 +01:00
Fixes protected roles getting antagonist (#11016)
* 0 * Update code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com> * Update code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com> Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
This commit is contained in:
@@ -210,6 +210,15 @@
|
||||
if(is_banned_from(candidate_client.ckey, BAN_ANTAGONIST))
|
||||
candidates.Remove(candidate_player)
|
||||
continue
|
||||
|
||||
if(candidate_player.mind.assigned_role.antagonist_restricted)
|
||||
if(candidate_player.mind.assigned_role.restricted_antagonists)
|
||||
if(antag_flag in candidate_player.mind.assigned_role.restricted_antagonists)
|
||||
candidates.Remove(candidate_player)
|
||||
continue
|
||||
else //Assume it's all antagonist roles.
|
||||
candidates.Remove(candidate_player)
|
||||
continue
|
||||
//SKYRAT EDIT END
|
||||
|
||||
if(candidate_client.get_remaining_days(minimum_required_age) > 0)
|
||||
|
||||
@@ -16,6 +16,22 @@
|
||||
candidates.Remove(P)
|
||||
else if (!((antag_preference || antag_flag) in P.client.prefs.be_special) || is_banned_from(P.ckey, list(antag_flag_override || antag_flag, ROLE_SYNDICATE)))
|
||||
candidates.Remove(P)
|
||||
// SKYRAT EDIT ADDITION - PROTECTED JOBS
|
||||
else if(P.mind.assigned_role.antagonist_restricted)
|
||||
if(P.mind.assigned_role.restricted_antagonists)
|
||||
if(antag_flag in P.mind.assigned_role.restricted_antagonists)
|
||||
candidates.Remove(P)
|
||||
continue
|
||||
else //Assume it's all antagonist roles.
|
||||
candidates.Remove(P)
|
||||
continue
|
||||
else if(P.client?.prefs && !P.client.prefs.read_preference(/datum/preference/toggle/be_antag))
|
||||
candidates.Remove(P)
|
||||
continue
|
||||
else if(is_banned_from(P.client?.ckey, BAN_ANTAGONIST))
|
||||
candidates.Remove(P)
|
||||
continue
|
||||
// SKYRAT EDIT END
|
||||
|
||||
/datum/dynamic_ruleset/latejoin/ready(forced = 0)
|
||||
if (!forced)
|
||||
@@ -57,25 +73,6 @@
|
||||
JOB_HEAD_OF_SECURITY,
|
||||
JOB_SECURITY_OFFICER,
|
||||
JOB_WARDEN,
|
||||
// SKYRAT EDIT START - More protected roles
|
||||
JOB_NT_REP,
|
||||
JOB_CHIEF_ENGINEER,
|
||||
JOB_CHIEF_MEDICAL_OFFICER,
|
||||
JOB_RESEARCH_DIRECTOR,
|
||||
JOB_QUARTERMASTER,
|
||||
JOB_BLUESHIELD,
|
||||
JOB_SECURITY_SERGEANT,
|
||||
JOB_SECURITY_MEDIC,
|
||||
JOB_CORRECTIONS_OFFICER,
|
||||
JOB_CIVIL_DISPUTES_OFFICER,
|
||||
JOB_ORDERLY,
|
||||
JOB_BOUNCER,
|
||||
JOB_CUSTOMS_AGENT,
|
||||
JOB_ENGINEERING_GUARD,
|
||||
JOB_SCIENCE_GUARD,
|
||||
JOB_VANGUARD_OPERATIVE,
|
||||
JOB_PRISONER,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
restricted_roles = list(
|
||||
JOB_AI,
|
||||
@@ -112,21 +109,6 @@
|
||||
JOB_RESEARCH_DIRECTOR,
|
||||
JOB_SECURITY_OFFICER,
|
||||
JOB_WARDEN,
|
||||
// SKYRAT EDIT START - More protected roles
|
||||
JOB_NT_REP,
|
||||
JOB_QUARTERMASTER,
|
||||
JOB_BLUESHIELD,
|
||||
JOB_SECURITY_SERGEANT,
|
||||
JOB_SECURITY_MEDIC,
|
||||
JOB_CORRECTIONS_OFFICER,
|
||||
JOB_CIVIL_DISPUTES_OFFICER,
|
||||
JOB_ORDERLY,
|
||||
JOB_BOUNCER,
|
||||
JOB_CUSTOMS_AGENT,
|
||||
JOB_ENGINEERING_GUARD,
|
||||
JOB_SCIENCE_GUARD,
|
||||
JOB_VANGUARD_OPERATIVE,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
enemy_roles = list(
|
||||
JOB_AI,
|
||||
@@ -219,24 +201,6 @@
|
||||
JOB_PRISONER,
|
||||
JOB_SECURITY_OFFICER,
|
||||
JOB_WARDEN,
|
||||
// SKYRAT EDIT START - More protected roles
|
||||
JOB_NT_REP,
|
||||
JOB_CHIEF_ENGINEER,
|
||||
JOB_CHIEF_MEDICAL_OFFICER,
|
||||
JOB_RESEARCH_DIRECTOR,
|
||||
JOB_QUARTERMASTER,
|
||||
JOB_BLUESHIELD,
|
||||
JOB_SECURITY_SERGEANT,
|
||||
JOB_SECURITY_MEDIC,
|
||||
JOB_CORRECTIONS_OFFICER,
|
||||
JOB_CIVIL_DISPUTES_OFFICER,
|
||||
JOB_ORDERLY,
|
||||
JOB_BOUNCER,
|
||||
JOB_CUSTOMS_AGENT,
|
||||
JOB_ENGINEERING_GUARD,
|
||||
JOB_SCIENCE_GUARD,
|
||||
JOB_VANGUARD_OPERATIVE,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
restricted_roles = list(
|
||||
JOB_AI,
|
||||
|
||||
@@ -67,6 +67,16 @@
|
||||
if (M.mind.assigned_role.title in restricted_roles) // Does their job allow it?
|
||||
trimmed_list.Remove(M)
|
||||
continue
|
||||
// SKYRAT EDIT ADDITION - PROTECTED JOBS
|
||||
if(M.mind.assigned_role.antagonist_restricted)
|
||||
if(M.mind.assigned_role.restricted_antagonists)
|
||||
if(antag_flag in M.mind.assigned_role.restricted_antagonists)
|
||||
trimmed_list.Remove(M)
|
||||
continue
|
||||
else //Assume it's all antagonist roles.
|
||||
trimmed_list.Remove(M)
|
||||
continue
|
||||
// SKYRAT EDIT END
|
||||
if ((exclusive_roles.len > 0) && !(M.mind.assigned_role.title in exclusive_roles)) // Is the rule exclusive to their job?
|
||||
trimmed_list.Remove(M)
|
||||
continue
|
||||
@@ -200,24 +210,6 @@
|
||||
JOB_PRISONER,
|
||||
JOB_SECURITY_OFFICER,
|
||||
JOB_WARDEN,
|
||||
// SKYRAT EDIT START - More protected roles
|
||||
JOB_NT_REP,
|
||||
JOB_CHIEF_ENGINEER,
|
||||
JOB_CHIEF_MEDICAL_OFFICER,
|
||||
JOB_RESEARCH_DIRECTOR,
|
||||
JOB_QUARTERMASTER,
|
||||
JOB_BLUESHIELD,
|
||||
JOB_SECURITY_SERGEANT,
|
||||
JOB_SECURITY_MEDIC,
|
||||
JOB_CORRECTIONS_OFFICER,
|
||||
JOB_CIVIL_DISPUTES_OFFICER,
|
||||
JOB_ORDERLY,
|
||||
JOB_BOUNCER,
|
||||
JOB_CUSTOMS_AGENT,
|
||||
JOB_ENGINEERING_GUARD,
|
||||
JOB_SCIENCE_GUARD,
|
||||
JOB_VANGUARD_OPERATIVE,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
restricted_roles = list(
|
||||
JOB_AI,
|
||||
@@ -301,23 +293,6 @@
|
||||
JOB_RESEARCH_DIRECTOR,
|
||||
JOB_SECURITY_OFFICER,
|
||||
JOB_WARDEN,
|
||||
// SKYRAT EDIT START - More protected roles
|
||||
JOB_NT_REP,
|
||||
JOB_CHIEF_ENGINEER,
|
||||
JOB_CHIEF_MEDICAL_OFFICER,
|
||||
JOB_QUARTERMASTER,
|
||||
JOB_BLUESHIELD,
|
||||
JOB_SECURITY_SERGEANT,
|
||||
JOB_SECURITY_MEDIC,
|
||||
JOB_CORRECTIONS_OFFICER,
|
||||
JOB_CIVIL_DISPUTES_OFFICER,
|
||||
JOB_ORDERLY,
|
||||
JOB_BOUNCER,
|
||||
JOB_CUSTOMS_AGENT,
|
||||
JOB_ENGINEERING_GUARD,
|
||||
JOB_SCIENCE_GUARD,
|
||||
JOB_VANGUARD_OPERATIVE,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
required_candidates = 3
|
||||
weight = 2
|
||||
@@ -389,11 +364,6 @@
|
||||
JOB_SCIENTIST,
|
||||
JOB_SECURITY_OFFICER,
|
||||
JOB_WARDEN,
|
||||
// SKYRAT EDIT START - More enemy roles
|
||||
JOB_DETECTIVE,
|
||||
JOB_CAPTAIN,
|
||||
JOB_BLUESHIELD,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
exclusive_roles = list(JOB_AI)
|
||||
required_enemies = list(4,4,4,4,4,4,2,2,2,0)
|
||||
@@ -562,24 +532,6 @@
|
||||
JOB_PRISONER,
|
||||
JOB_SECURITY_OFFICER,
|
||||
JOB_WARDEN,
|
||||
// SKYRAT EDIT START - More protected roles
|
||||
JOB_NT_REP,
|
||||
JOB_CHIEF_ENGINEER,
|
||||
JOB_CHIEF_MEDICAL_OFFICER,
|
||||
JOB_RESEARCH_DIRECTOR,
|
||||
JOB_QUARTERMASTER,
|
||||
JOB_BLUESHIELD,
|
||||
JOB_SECURITY_SERGEANT,
|
||||
JOB_SECURITY_MEDIC,
|
||||
JOB_CORRECTIONS_OFFICER,
|
||||
JOB_CIVIL_DISPUTES_OFFICER,
|
||||
JOB_ORDERLY,
|
||||
JOB_BOUNCER,
|
||||
JOB_CUSTOMS_AGENT,
|
||||
JOB_ENGINEERING_GUARD,
|
||||
JOB_SCIENCE_GUARD,
|
||||
JOB_VANGUARD_OPERATIVE,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
restricted_roles = list(
|
||||
JOB_AI,
|
||||
@@ -1042,21 +994,6 @@
|
||||
JOB_PRISONER,
|
||||
JOB_SECURITY_OFFICER,
|
||||
JOB_WARDEN,
|
||||
// SKYRAT EDIT START - RESTRICTING ROLES
|
||||
JOB_NT_REP,
|
||||
JOB_QUARTERMASTER,
|
||||
JOB_BLUESHIELD,
|
||||
JOB_SECURITY_SERGEANT,
|
||||
JOB_SECURITY_MEDIC,
|
||||
JOB_CORRECTIONS_OFFICER,
|
||||
JOB_CIVIL_DISPUTES_OFFICER,
|
||||
JOB_ORDERLY,
|
||||
JOB_BOUNCER,
|
||||
JOB_CUSTOMS_AGENT,
|
||||
JOB_ENGINEERING_GUARD,
|
||||
JOB_SCIENCE_GUARD,
|
||||
JOB_VANGUARD_OPERATIVE,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
restricted_roles = list(
|
||||
JOB_AI,
|
||||
|
||||
@@ -22,25 +22,6 @@
|
||||
restricted_roles = list(
|
||||
JOB_AI,
|
||||
JOB_CYBORG,
|
||||
// SKYRAT EDIT START - More restricted roles
|
||||
JOB_NT_REP,
|
||||
JOB_HEAD_OF_PERSONNEL,
|
||||
JOB_CHIEF_ENGINEER,
|
||||
JOB_CHIEF_MEDICAL_OFFICER,
|
||||
JOB_RESEARCH_DIRECTOR,
|
||||
JOB_QUARTERMASTER,
|
||||
JOB_BLUESHIELD,
|
||||
JOB_SECURITY_SERGEANT,
|
||||
JOB_SECURITY_MEDIC,
|
||||
JOB_CORRECTIONS_OFFICER,
|
||||
JOB_CIVIL_DISPUTES_OFFICER,
|
||||
JOB_ORDERLY,
|
||||
JOB_BOUNCER,
|
||||
JOB_CUSTOMS_AGENT,
|
||||
JOB_ENGINEERING_GUARD,
|
||||
JOB_SCIENCE_GUARD,
|
||||
JOB_VANGUARD_OPERATIVE,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
required_candidates = 1
|
||||
weight = 5
|
||||
@@ -137,30 +118,10 @@
|
||||
restricted_roles = list(
|
||||
JOB_AI,
|
||||
JOB_CYBORG,
|
||||
// SKYRAT EDIT START - More restricted roles
|
||||
JOB_NT_REP,
|
||||
JOB_HEAD_OF_PERSONNEL,
|
||||
JOB_CHIEF_ENGINEER,
|
||||
JOB_CHIEF_MEDICAL_OFFICER,
|
||||
JOB_RESEARCH_DIRECTOR,
|
||||
JOB_QUARTERMASTER,
|
||||
JOB_BLUESHIELD,
|
||||
JOB_SECURITY_SERGEANT,
|
||||
JOB_SECURITY_MEDIC,
|
||||
JOB_CORRECTIONS_OFFICER,
|
||||
JOB_CIVIL_DISPUTES_OFFICER,
|
||||
JOB_ORDERLY,
|
||||
JOB_BOUNCER,
|
||||
JOB_CUSTOMS_AGENT,
|
||||
JOB_ENGINEERING_GUARD,
|
||||
JOB_SCIENCE_GUARD,
|
||||
JOB_VANGUARD_OPERATIVE,
|
||||
JOB_PRISONER,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
required_candidates = 2
|
||||
weight = 4
|
||||
cost = 15
|
||||
weight = 2
|
||||
cost = 12
|
||||
scaling_cost = 15
|
||||
requirements = list(40,30,30,20,20,15,15,15,10,10)
|
||||
antag_cap = 2 // Can pick 3 per team, but rare enough it doesn't matter.
|
||||
@@ -216,25 +177,6 @@
|
||||
restricted_roles = list(
|
||||
JOB_AI,
|
||||
JOB_CYBORG,
|
||||
// SKYRAT EDIT START - More restricted roles
|
||||
JOB_NT_REP,
|
||||
JOB_HEAD_OF_PERSONNEL,
|
||||
JOB_CHIEF_ENGINEER,
|
||||
JOB_CHIEF_MEDICAL_OFFICER,
|
||||
JOB_RESEARCH_DIRECTOR,
|
||||
JOB_QUARTERMASTER,
|
||||
JOB_BLUESHIELD,
|
||||
JOB_SECURITY_SERGEANT,
|
||||
JOB_SECURITY_MEDIC,
|
||||
JOB_CORRECTIONS_OFFICER,
|
||||
JOB_CIVIL_DISPUTES_OFFICER,
|
||||
JOB_ORDERLY,
|
||||
JOB_BOUNCER,
|
||||
JOB_CUSTOMS_AGENT,
|
||||
JOB_ENGINEERING_GUARD,
|
||||
JOB_SCIENCE_GUARD,
|
||||
JOB_VANGUARD_OPERATIVE,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
required_candidates = 1
|
||||
weight = 3
|
||||
@@ -284,24 +226,6 @@
|
||||
restricted_roles = list(
|
||||
JOB_AI,
|
||||
JOB_CYBORG,
|
||||
// SKYRAT EDIT START - More restricted roles
|
||||
JOB_NT_REP,
|
||||
JOB_CHIEF_ENGINEER,
|
||||
JOB_CHIEF_MEDICAL_OFFICER,
|
||||
JOB_RESEARCH_DIRECTOR,
|
||||
JOB_QUARTERMASTER,
|
||||
JOB_BLUESHIELD,
|
||||
JOB_SECURITY_SERGEANT,
|
||||
JOB_SECURITY_MEDIC,
|
||||
JOB_CORRECTIONS_OFFICER,
|
||||
JOB_CIVIL_DISPUTES_OFFICER,
|
||||
JOB_ORDERLY,
|
||||
JOB_BOUNCER,
|
||||
JOB_CUSTOMS_AGENT,
|
||||
JOB_ENGINEERING_GUARD,
|
||||
JOB_SCIENCE_GUARD,
|
||||
JOB_VANGUARD_OPERATIVE,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
required_candidates = 1
|
||||
weight = 3
|
||||
@@ -395,11 +319,18 @@
|
||||
antag_flag = ROLE_CULTIST
|
||||
antag_datum = /datum/antagonist/cult
|
||||
minimum_required_age = 14
|
||||
restricted_roles = list(JOB_AI, JOB_CYBORG, JOB_PRISONER,
|
||||
JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_CIVIL_DISPUTES_OFFICER, JOB_SECURITY_SERGEANT,
|
||||
JOB_CAPTAIN, JOB_VANGUARD_OPERATIVE, JOB_NT_REP, JOB_BLUESHIELD,
|
||||
JOB_ORDERLY, JOB_BOUNCER, JOB_CUSTOMS_AGENT, JOB_ENGINEERING_GUARD, JOB_SCIENCE_GUARD
|
||||
) // SKYRAT EDIT ADD - ALL AFTER JOB_PRISONER
|
||||
restricted_roles = list(
|
||||
JOB_AI,
|
||||
JOB_CAPTAIN,
|
||||
JOB_CHAPLAIN,
|
||||
JOB_CYBORG,
|
||||
JOB_DETECTIVE,
|
||||
JOB_HEAD_OF_PERSONNEL,
|
||||
JOB_HEAD_OF_SECURITY,
|
||||
JOB_PRISONER,
|
||||
JOB_SECURITY_OFFICER,
|
||||
JOB_WARDEN,
|
||||
)
|
||||
required_candidates = 2
|
||||
weight = 3
|
||||
cost = 20
|
||||
@@ -558,22 +489,6 @@
|
||||
JOB_RESEARCH_DIRECTOR,
|
||||
JOB_SECURITY_OFFICER,
|
||||
JOB_WARDEN,
|
||||
// SKYRAT EDIT START - More restricted roles
|
||||
JOB_NT_REP,
|
||||
JOB_QUARTERMASTER,
|
||||
JOB_BLUESHIELD,
|
||||
JOB_SECURITY_SERGEANT,
|
||||
JOB_SECURITY_MEDIC,
|
||||
JOB_CORRECTIONS_OFFICER,
|
||||
JOB_CIVIL_DISPUTES_OFFICER,
|
||||
JOB_ORDERLY,
|
||||
JOB_BOUNCER,
|
||||
JOB_CUSTOMS_AGENT,
|
||||
JOB_ENGINEERING_GUARD,
|
||||
JOB_SCIENCE_GUARD,
|
||||
JOB_VANGUARD_OPERATIVE,
|
||||
JOB_PRISONER,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
required_candidates = 3
|
||||
weight = 3
|
||||
@@ -670,25 +585,6 @@
|
||||
JOB_RESEARCH_DIRECTOR,
|
||||
JOB_SECURITY_OFFICER,
|
||||
JOB_WARDEN,
|
||||
// SKYRAT EDIT START - More restricted roles
|
||||
JOB_NT_REP,
|
||||
JOB_CHIEF_ENGINEER,
|
||||
JOB_CHIEF_MEDICAL_OFFICER,
|
||||
JOB_RESEARCH_DIRECTOR,
|
||||
JOB_QUARTERMASTER,
|
||||
JOB_BLUESHIELD,
|
||||
JOB_SECURITY_SERGEANT,
|
||||
JOB_SECURITY_MEDIC,
|
||||
JOB_CORRECTIONS_OFFICER,
|
||||
JOB_CIVIL_DISPUTES_OFFICER,
|
||||
JOB_ORDERLY,
|
||||
JOB_BOUNCER,
|
||||
JOB_CUSTOMS_AGENT,
|
||||
JOB_ENGINEERING_GUARD,
|
||||
JOB_SCIENCE_GUARD,
|
||||
JOB_VANGUARD_OPERATIVE,
|
||||
JOB_PRISONER,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
required_candidates = 3
|
||||
weight = 1
|
||||
@@ -820,21 +716,6 @@
|
||||
JOB_PRISONER,
|
||||
JOB_SECURITY_OFFICER,
|
||||
JOB_WARDEN,
|
||||
// SKYRAT EDIT START - RESTRICTING ROLES
|
||||
JOB_NT_REP,
|
||||
JOB_QUARTERMASTER,
|
||||
JOB_BLUESHIELD,
|
||||
JOB_SECURITY_SERGEANT,
|
||||
JOB_SECURITY_MEDIC,
|
||||
JOB_CORRECTIONS_OFFICER,
|
||||
JOB_CIVIL_DISPUTES_OFFICER,
|
||||
JOB_ORDERLY,
|
||||
JOB_BOUNCER,
|
||||
JOB_CUSTOMS_AGENT,
|
||||
JOB_ENGINEERING_GUARD,
|
||||
JOB_SCIENCE_GUARD,
|
||||
JOB_VANGUARD_OPERATIVE,
|
||||
// SKYRAT EDIT END
|
||||
)
|
||||
restricted_roles = list(
|
||||
JOB_AI,
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
/datum/dynamic_ruleset/roundstart/traitor
|
||||
protected_roles = list(JOB_PRISONER, JOB_BLUESHIELD, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_MEDIC, JOB_SECURITY_SERGEANT, JOB_CIVIL_DISPUTES_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CAPTAIN, JOB_NT_REP, JOB_HEAD_OF_PERSONNEL, JOB_CHIEF_ENGINEER, JOB_CHIEF_MEDICAL_OFFICER, JOB_RESEARCH_DIRECTOR, JOB_QUARTERMASTER, JOB_VANGUARD_OPERATIVE)
|
||||
|
||||
/datum/dynamic_ruleset/roundstart/traitorbro
|
||||
protected_roles = list(JOB_PRISONER, JOB_BLUESHIELD, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_MEDIC, JOB_SECURITY_SERGEANT, JOB_CIVIL_DISPUTES_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CAPTAIN, JOB_NT_REP, JOB_HEAD_OF_PERSONNEL, JOB_CHIEF_ENGINEER, JOB_CHIEF_MEDICAL_OFFICER, JOB_RESEARCH_DIRECTOR, JOB_QUARTERMASTER, JOB_VANGUARD_OPERATIVE)
|
||||
|
||||
/datum/dynamic_ruleset/roundstart/changeling
|
||||
protected_roles = list(JOB_PRISONER, JOB_BLUESHIELD, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_MEDIC, JOB_SECURITY_SERGEANT, JOB_CIVIL_DISPUTES_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CAPTAIN, JOB_NT_REP, JOB_HEAD_OF_PERSONNEL, JOB_CHIEF_ENGINEER, JOB_CHIEF_MEDICAL_OFFICER, JOB_RESEARCH_DIRECTOR, JOB_QUARTERMASTER, JOB_VANGUARD_OPERATIVE)
|
||||
|
||||
/datum/dynamic_ruleset/roundstart/heretics
|
||||
protected_roles = list(JOB_PRISONER, JOB_BLUESHIELD, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_MEDIC, JOB_SECURITY_SERGEANT, JOB_CIVIL_DISPUTES_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CAPTAIN, JOB_NT_REP, JOB_HEAD_OF_PERSONNEL, JOB_CHIEF_ENGINEER, JOB_CHIEF_MEDICAL_OFFICER, JOB_RESEARCH_DIRECTOR, JOB_QUARTERMASTER, JOB_VANGUARD_OPERATIVE)
|
||||
|
||||
/datum/dynamic_ruleset/midround/autotraitor
|
||||
protected_roles = list(JOB_PRISONER, JOB_BLUESHIELD, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_MEDIC, JOB_SECURITY_SERGEANT, JOB_CIVIL_DISPUTES_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CAPTAIN, JOB_NT_REP, JOB_HEAD_OF_PERSONNEL, JOB_CHIEF_ENGINEER, JOB_CHIEF_MEDICAL_OFFICER, JOB_RESEARCH_DIRECTOR, JOB_QUARTERMASTER, JOB_VANGUARD_OPERATIVE)
|
||||
|
||||
/datum/dynamic_ruleset/latejoin/infiltrator
|
||||
protected_roles = list(JOB_PRISONER, JOB_BLUESHIELD, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_MEDIC, JOB_SECURITY_SERGEANT, JOB_CIVIL_DISPUTES_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CAPTAIN, JOB_NT_REP, JOB_HEAD_OF_PERSONNEL, JOB_CHIEF_ENGINEER, JOB_CHIEF_MEDICAL_OFFICER, JOB_RESEARCH_DIRECTOR, JOB_QUARTERMASTER, JOB_VANGUARD_OPERATIVE)
|
||||
@@ -0,0 +1,5 @@
|
||||
/datum/job
|
||||
/// Do we allow this job to be an antag of any kind?
|
||||
var/antagonist_restricted = FALSE
|
||||
/// If we restrict this job from antagonists, what antags? Leave blank for all antags.
|
||||
var/list/restricted_antagonists
|
||||
@@ -0,0 +1,55 @@
|
||||
/**
|
||||
* Job antagonist restriction file
|
||||
*
|
||||
* Add relative restrictions to any jobs that you wish to prevent from being
|
||||
* an antagonist. If you set antagonist_restricted to true without setting restricted_antagonist,
|
||||
* then the job will be restricted from all antagonists.
|
||||
*/
|
||||
|
||||
/datum/job/nanotrasen_representative
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/head_of_personnel
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/chief_engineer
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/chief_medical_officer
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/research_director
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/quartermaster
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/blueshield
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/security_sergeant
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/security_medic
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/brigoff
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/junior_officer
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/orderly
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/bouncer
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/customs_agent
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/engineering_guard
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
/datum/job/science_guard
|
||||
antagonist_restricted = TRUE
|
||||
+2
-1
@@ -4472,7 +4472,6 @@
|
||||
#include "modular_skyrat\modules\alternative_job_titles\code\job.dm"
|
||||
#include "modular_skyrat\modules\ammo_workbench\code\ammo_workbench.dm"
|
||||
#include "modular_skyrat\modules\ammo_workbench\code\design_disks.dm"
|
||||
#include "modular_skyrat\modules\antagonists\code\gamemodes.dm"
|
||||
#include "modular_skyrat\modules\antagonists\eldritch_cult\knowledge\ash_lore_skyrat.dm"
|
||||
#include "modular_skyrat\modules\antagonists\eldritch_cult\knowledge\flesh_lore_skyrat.dm"
|
||||
#include "modular_skyrat\modules\apocolypse_of_scythes\code\scythes.dm"
|
||||
@@ -5179,6 +5178,8 @@
|
||||
#include "modular_skyrat\modules\prison_transport\code\outfits.dm"
|
||||
#include "modular_skyrat\modules\prison_transport\code\shuttle.dm"
|
||||
#include "modular_skyrat\modules\projectiles\code\guns\misc\m6pdw.dm"
|
||||
#include "modular_skyrat\modules\protected_roles\code\_job.dm"
|
||||
#include "modular_skyrat\modules\protected_roles\code\antag_restricted_jobs.dm"
|
||||
#include "modular_skyrat\modules\QOL\code\_under.dm"
|
||||
#include "modular_skyrat\modules\QOL\code\datums\components\crafting\recipes\recipes_misc.dm"
|
||||
#include "modular_skyrat\modules\QOL\code\game\objects\items\mop.dm"
|
||||
|
||||
Reference in New Issue
Block a user