The Culling of ROLE_ (#21661)

* culling of role

* fix compile

* Typos

* alien ROLE
This commit is contained in:
Kurfursten
2019-03-05 15:51:10 -06:00
committed by MadmanMartian
parent 96f9492952
commit 4cc066f3b5
30 changed files with 102 additions and 125 deletions

View File

@@ -858,28 +858,13 @@ SEE_PIXELS 256
#define ROLEPREF_VALMASK 3 // 0b00000011 - Used to get ROLEPREF flags without the ROLEPREF_POLLED and ROLEPREF_SAVE bits #define ROLEPREF_VALMASK 3 // 0b00000011 - Used to get ROLEPREF flags without the ROLEPREF_POLLED and ROLEPREF_SAVE bits
// Should correspond to jobbans, too. // Should correspond to jobbans, too.
#define ROLE_ALIEN "alien" #define ROLE_BORER "borer"
#define ROLE_BLOB "blob" // New!
#define ROLE_BORER "borer" // New!
#define ROLE_CHANGELING "changeling"
#define ROLE_COMMANDO "commando" // New!
#define ROLE_CULTIST "cultist"
#define ROLE_LEGACY_CULTIST "legacy_cultist"
#define ROLE_MALF "malf AI"
#define ROLE_NINJA "ninja"
#define ROLE_OPERATIVE "operative" // New!
#define ROLE_PAI "pAI" #define ROLE_PAI "pAI"
#define ROLE_PLANT "Dionaea" #define ROLE_PLANT "Dionaea"
#define ROLE_POSIBRAIN "posibrain" #define ROLE_POSIBRAIN "posibrain"
#define ROLE_REV "revolutionary"
#define ROLE_STRIKE "Strike Team"
#define ROLE_TRAITOR "traitor"
#define ROLE_VAMPIRE "vampire"
#define ROLE_VOXRAIDER "vox raider"
#define ROLE_WIZARD "wizard"
#define ROLE_GRINCH "Grinch"
#define ROLE_WEEABOO "crazed weeaboo"
#define ROLE_MINOR "minor roles" #define ROLE_MINOR "minor roles"
#define ROLE_ALIEN "xenomorph"
#define ROLE_STRIKE "striketeam"
#define AGE_MIN 17 //youngest a character can be #define AGE_MIN 17 //youngest a character can be
#define AGE_MAX 85 //oldest a character can be #define AGE_MAX 85 //oldest a character can be

View File

@@ -45,7 +45,7 @@
/* /*
/datum/dynamic_ruleset/roundstart/changeling /datum/dynamic_ruleset/roundstart/changeling
name = "Changelings" name = "Changelings"
role_category = ROLE_CHANGELING role_category = CHANGELING
protected_from_jobs = list("Security Officer", "Warden", "Merchant", "Head of Personnel", "Detective", "Head of Security", "Captain") protected_from_jobs = list("Security Officer", "Warden", "Merchant", "Head of Personnel", "Detective", "Head of Security", "Captain")
restricted_from_jobs = list("AI","Cyborg","Mobile MMI") restricted_from_jobs = list("AI","Cyborg","Mobile MMI")
enemy_jobs = list("Security Officer","Detective","Head of Security", "Captain") enemy_jobs = list("Security Officer","Detective","Head of Security", "Captain")
@@ -194,7 +194,7 @@
/datum/dynamic_ruleset/roundstart/cult_legacy /datum/dynamic_ruleset/roundstart/cult_legacy
name = "Cult (Legacy)" name = "Cult (Legacy)"
role_category = /datum/role/legacy_cultist role_category = /datum/role/legacy_cultist
role_category_override = ROLE_CULTIST // H-ha role_category_override = CULTIST // H-ha
protected_from_jobs = list("Merchant") protected_from_jobs = list("Merchant")
restricted_from_jobs = list("AI", "Cyborg", "Mobile MMI", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Internal Affairs Agent", "Chaplain") restricted_from_jobs = list("AI", "Cyborg", "Mobile MMI", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Internal Affairs Agent", "Chaplain")
enemy_jobs = list("AI", "Cyborg", "Security Officer","Detective","Head of Security", "Captain", "Chaplain") enemy_jobs = list("AI", "Cyborg", "Security Officer","Detective","Head of Security", "Captain", "Chaplain")

View File

@@ -273,7 +273,7 @@
if (istype(blade) && !blade.shade) if (istype(blade) && !blade.shade)
var/icon/logo_icon = icon('icons/logos.dmi', "shade-blade") var/icon/logo_icon = icon('icons/logos.dmi', "shade-blade")
for(var/mob/M in observers) for(var/mob/M in observers)
if(!M.client || isantagbanned(M) || jobban_isbanned(M, ROLE_CULTIST) || M.client.is_afk()) if(!M.client || isantagbanned(M) || jobban_isbanned(M, CULTIST) || M.client.is_afk())
continue continue
if (M.mind && M.mind.GetRole(CULTIST)) if (M.mind && M.mind.GetRole(CULTIST))
var/datum/role/cultist/cultist = M.mind.GetRole(CULTIST) var/datum/role/cultist/cultist = M.mind.GetRole(CULTIST)

View File

@@ -874,8 +874,8 @@
victim.Stun(15) victim.Stun(15)
if (victim.client && victim.mind.assigned_role != "Chaplain")//Chaplains can never be converted if (victim.client && victim.mind.assigned_role != "Chaplain")//Chaplains can never be converted
acceptance = get_role_desire_str(victim.client.prefs.roles[ROLE_CULTIST]) acceptance = get_role_desire_str(victim.client.prefs.roles[CULTIST])
if (jobban_isbanned(victim, ROLE_CULTIST) || isantagbanned(victim)) if (jobban_isbanned(victim, CULTIST) || isantagbanned(victim))
acceptance = "Banned" acceptance = "Banned"
//Players with cult enabled in their preferences will always get converted. //Players with cult enabled in their preferences will always get converted.

View File

@@ -323,7 +323,7 @@ var/list/factions_with_hud_icons = list()
ID = HIVEMIND ID = HIVEMIND
initial_role = CHANGELING initial_role = CHANGELING
late_role = CHANGELING late_role = CHANGELING
required_pref = ROLE_CHANGELING required_pref = CHANGELING
desc = "An almost parasitic, shapeshifting entity that assumes the identity of its victims. Commonly used as smart bioweapons by the syndicate,\ desc = "An almost parasitic, shapeshifting entity that assumes the identity of its victims. Commonly used as smart bioweapons by the syndicate,\
or simply wandering malignant vagrants happening upon a meal of identity that can carry them to further feeding grounds." or simply wandering malignant vagrants happening upon a meal of identity that can carry them to further feeding grounds."
roletype = /datum/role/changeling roletype = /datum/role/changeling
@@ -342,7 +342,7 @@ var/list/factions_with_hud_icons = list()
ID = WIZFEDERATION ID = WIZFEDERATION
initial_role = WIZARD initial_role = WIZARD
late_role = WIZARD late_role = WIZARD
required_pref = ROLE_WIZARD required_pref = WIZARD
desc = "A conglomeration of magically adept individuals, with no obvious heirachy, instead acting as equal individuals in the pursuit of magic-oriented endeavours.\ desc = "A conglomeration of magically adept individuals, with no obvious heirachy, instead acting as equal individuals in the pursuit of magic-oriented endeavours.\
Their motivations for attacking seemingly peaceful enclaves or operations are as yet unknown, but they do so without respite or remorse.\ Their motivations for attacking seemingly peaceful enclaves or operations are as yet unknown, but they do so without respite or remorse.\
This has led to them being identified as enemies of humanity, and should be treated as such." This has led to them being identified as enemies of humanity, and should be treated as such."
@@ -382,7 +382,6 @@ var/list/factions_with_hud_icons = list()
/datum/faction/strike_team /datum/faction/strike_team
name = "Custom Strike Team"//obviously this name is a placeholder getting replaced by the admin setting up the squad name = "Custom Strike Team"//obviously this name is a placeholder getting replaced by the admin setting up the squad
required_pref = ROLE_STRIKE
ID = CUSTOMSQUAD ID = CUSTOMSQUAD
logo_state = "nano-logo" logo_state = "nano-logo"

View File

@@ -42,7 +42,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
initroletype = /datum/role/legacy_cultist initroletype = /datum/role/legacy_cultist
roletype = /datum/role/legacy_cultist roletype = /datum/role/legacy_cultist
required_pref = ROLE_LEGACY_CULTIST required_pref = CULTIST
/datum/faction/cult/narsie/GetObjectivesMenuHeader() /datum/faction/cult/narsie/GetObjectivesMenuHeader()
var/icon/logo = icon('icons/logos.dmi', "cult-logo") var/icon/logo = icon('icons/logos.dmi', "cult-logo")

View File

@@ -297,7 +297,7 @@
playsound(get_turf(src), get_sfx("soulstone"), 50,1) playsound(get_turf(src), get_sfx("soulstone"), 50,1)
//Are we capturing a cult-banned player as a cultist? Sucks for them! //Are we capturing a cult-banned player as a cultist? Sucks for them!
if (iscultist(user) && (jobban_isbanned(body, ROLE_CULTIST) || isantagbanned(body))) if (iscultist(user) && (jobban_isbanned(body, CULTIST) || isantagbanned(body)))
to_chat(body, "<span class='danger'>A cultist tried to capture your soul, but due to past behaviour you have been banned from the role. Your body will instead dust away.</span>") to_chat(body, "<span class='danger'>A cultist tried to capture your soul, but due to past behaviour you have been banned from the role. Your body will instead dust away.</span>")
to_chat(user, "<span class='notice'>Their soul wasn't fit for our cult, and wasn't accepted by \the [src].</span>") to_chat(user, "<span class='notice'>Their soul wasn't fit for our cult, and wasn't accepted by \the [src].</span>")

View File

@@ -2,7 +2,7 @@
name = "Malfunctioning AI" name = "Malfunctioning AI"
desc = "ERROR" desc = "ERROR"
ID = MALF ID = MALF
required_pref = ROLE_MALF required_pref = MALF
initial_role = MALF initial_role = MALF
late_role = MALFBOT late_role = MALFBOT
initroletype = /datum/role/malfAI //First addition should be the AI initroletype = /datum/role/malfAI //First addition should be the AI

View File

@@ -1,7 +1,7 @@
/datum/faction/syndicate/nuke_op /datum/faction/syndicate/nuke_op
name = "Syndicate Nuclear Operatives" name = "Syndicate Nuclear Operatives"
ID = SYNDIOPS ID = SYNDIOPS
required_pref = ROLE_OPERATIVE required_pref = NUKE_OP
initial_role = NUKE_OP initial_role = NUKE_OP
late_role = NUKE_OP late_role = NUKE_OP
initroletype = /datum/role/nuclear_operative initroletype = /datum/role/nuclear_operative

View File

@@ -3,7 +3,7 @@
/datum/faction/revolution /datum/faction/revolution
name = "Revolutionaries" name = "Revolutionaries"
ID = REVOLUTION ID = REVOLUTION
required_pref = ROLE_REV required_pref = REV
initial_role = HEADREV initial_role = HEADREV
late_role = REV late_role = REV
desc = "Viva!" desc = "Viva!"

View File

@@ -1,7 +1,7 @@
/datum/faction/syndicate /datum/faction/syndicate
name = "The Syndicate" name = "The Syndicate"
ID = SYNDICATE ID = SYNDICATE
required_pref = ROLE_TRAITOR required_pref = TRAITOR
desc = "A coalition of companies that actively work against Nanotrasen's intentions. Seen as Freedom fighters by some, Rebels and Malcontents by others." desc = "A coalition of companies that actively work against Nanotrasen's intentions. Seen as Freedom fighters by some, Rebels and Malcontents by others."
logo_state = "synd-logo" logo_state = "synd-logo"

View File

@@ -2,7 +2,7 @@
name = "Vampire Lords" name = "Vampire Lords"
desc = "Hailing from Space Transylvania." desc = "Hailing from Space Transylvania."
ID = VAMPIRELORDS ID = VAMPIRELORDS
required_pref = ROLE_VAMPIRE required_pref = VAMPIRE
initial_role = VAMPIRE initial_role = VAMPIRE
late_role = VAMPIRE // Vampires do not change their role. late_role = VAMPIRE // Vampires do not change their role.
roletype = /datum/role/vampire roletype = /datum/role/vampire

View File

@@ -1,7 +1,7 @@
/datum/role/changeling /datum/role/changeling
name = "Changeling" name = "Changeling"
id = CHANGELING id = CHANGELING
required_pref = ROLE_CHANGELING required_pref = CHANGELING
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain") protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain")
protected_traitor_prob = PROB_PROTECTED_RARE protected_traitor_prob = PROB_PROTECTED_RARE
logo_state = "change-logoa" logo_state = "change-logoa"

View File

@@ -1,7 +1,7 @@
/datum/role/cultist /datum/role/cultist
id = ROLE_CULTIST id = CULTIST
name = "Cultist" name = "Cultist"
required_pref = ROLE_CULTIST required_pref = CULTIST
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Internal Affairs Agent", "Merchant") protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Internal Affairs Agent", "Merchant")
logo_state = "cult-logo" logo_state = "cult-logo"
greets = list(GREET_DEFAULT,GREET_CUSTOM,GREET_ROUNDSTART,GREET_ADMINTOGGLE) greets = list(GREET_DEFAULT,GREET_CUSTOM,GREET_ROUNDSTART,GREET_ADMINTOGGLE)
@@ -12,7 +12,7 @@
/datum/role/cultist/New(var/datum/mind/M, var/datum/faction/fac=null, var/new_id) /datum/role/cultist/New(var/datum/mind/M, var/datum/faction/fac=null, var/new_id)
..() ..()
wikiroute = role_wiki[ROLE_CULTIST] wikiroute = role_wiki[CULTIST]
/datum/role/cultist/OnPostSetup() /datum/role/cultist/OnPostSetup()
. = ..() . = ..()

View File

@@ -1,7 +1,7 @@
/datum/role/grinch /datum/role/grinch
name = GRINCH name = GRINCH
id = ROLE_GRINCH id = GRINCH
required_pref = ROLE_GRINCH required_pref = GRINCH
logo_state = "synd-logo" logo_state = "synd-logo"
disallow_job = TRUE disallow_job = TRUE
refund_value = BASE_SOLO_REFUND refund_value = BASE_SOLO_REFUND

View File

@@ -1,12 +1,12 @@
/datum/role/legacy_cultist /datum/role/legacy_cultist
id = LEGACY_CULTIST id = LEGACY_CULTIST
name = LEGACY_CULTIST name = LEGACY_CULTIST
special_role = ROLE_LEGACY_CULTIST special_role = LEGACY_CULTIST
disallow_job = FALSE disallow_job = FALSE
restricted_jobs = list("AI", "Cyborg", "Mobile MMI", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Internal Affairs Agent", "Merchant") restricted_jobs = list("AI", "Cyborg", "Mobile MMI", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Internal Affairs Agent", "Merchant")
logo_state = "cult-logo" logo_state = "cult-logo"
greets = list("default","custom","admintoggle") greets = list("default","custom","admintoggle")
required_pref = ROLE_LEGACY_CULTIST required_pref = CULTIST
/datum/role/legacy_cultist/OnPostSetup(var/equip = FALSE) /datum/role/legacy_cultist/OnPostSetup(var/equip = FALSE)
. = ..() . = ..()

View File

@@ -1,7 +1,7 @@
/datum/role/revolutionary /datum/role/revolutionary
name = REV name = REV
id = REV id = REV
required_pref = ROLE_REV required_pref = REV
restricted_jobs = list("Security Officer", "Warden", "Detective", "AI", "Cyborg","Mobile MMI","Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer", "Internal Affairs Agent") restricted_jobs = list("Security Officer", "Warden", "Detective", "AI", "Cyborg","Mobile MMI","Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer", "Internal Affairs Agent")
logo_state = "rev-logo" logo_state = "rev-logo"
greets = list(GREET_DEFAULT,GREET_CUSTOM,GREET_ROUNDSTART,GREET_MIDROUND,GREET_LATEJOIN,GREET_CONVERTED,GREET_PROVOC_CONVERTED,GREET_REVSQUAD_CONVERTED,GREET_ADMINTOGGLE) greets = list(GREET_DEFAULT,GREET_CUSTOM,GREET_ROUNDSTART,GREET_MIDROUND,GREET_LATEJOIN,GREET_CONVERTED,GREET_PROVOC_CONVERTED,GREET_REVSQUAD_CONVERTED,GREET_ADMINTOGGLE)
@@ -48,7 +48,7 @@
/datum/role/revolutionary/New() /datum/role/revolutionary/New()
..() ..()
wikiroute = role_wiki[ROLE_REV] wikiroute = role_wiki[REV]
/datum/role/revolutionary/leader /datum/role/revolutionary/leader
name = HEADREV name = HEADREV

View File

@@ -572,7 +572,7 @@
/datum/role/blob_overmind /datum/role/blob_overmind
name = BLOBOVERMIND name = BLOBOVERMIND
id = BLOBOVERMIND id = BLOBOVERMIND
required_pref = ROLE_BLOB required_pref = BLOBOVERMIND
logo_state = "blob-logo" logo_state = "blob-logo"
greets = list(GREET_DEFAULT,GREET_CUSTOM) greets = list(GREET_DEFAULT,GREET_CUSTOM)
var/countdown = 60 var/countdown = 60
@@ -660,7 +660,7 @@
name = WIZARD name = WIZARD
id = WIZARD id = WIZARD
special_role = WIZARD special_role = WIZARD
required_pref = ROLE_WIZARD required_pref = WIZARD
disallow_job = TRUE disallow_job = TRUE
logo_state = "wizard-logo" logo_state = "wizard-logo"
refund_value = BASE_SOLO_REFUND * 2 refund_value = BASE_SOLO_REFUND * 2
@@ -788,7 +788,7 @@
/datum/role/malfAI /datum/role/malfAI
name = MALF name = MALF
id = MALF id = MALF
required_pref = ROLE_MALF required_pref = MALF
logo_state = "malf-logo" logo_state = "malf-logo"
/datum/role/malfAI/OnPostSetup() /datum/role/malfAI/OnPostSetup()

View File

@@ -1,9 +1,9 @@
/datum/role/traitor /datum/role/traitor
name = TRAITOR name = TRAITOR
id = TRAITOR id = TRAITOR
required_pref = ROLE_TRAITOR required_pref = TRAITOR
logo_state = "synd-logo" logo_state = "synd-logo"
wikiroute = ROLE_TRAITOR wikiroute = TRAITOR
refund_value = BASE_SOLO_REFUND refund_value = BASE_SOLO_REFUND
var/can_be_smooth = TRUE //Survivors can't be smooth because they get nothing. var/can_be_smooth = TRUE //Survivors can't be smooth because they get nothing.
@@ -226,8 +226,8 @@
/datum/role/nuclear_operative /datum/role/nuclear_operative
name = NUKE_OP name = NUKE_OP
id = ROLE_OPERATIVE id = NUKE_OP
required_pref = ROLE_OPERATIVE required_pref = NUKE_OP
disallow_job = TRUE disallow_job = TRUE
logo_state = "nuke-logo" logo_state = "nuke-logo"

View File

@@ -5,12 +5,12 @@
/datum/role/vampire /datum/role/vampire
id = VAMPIRE id = VAMPIRE
name = VAMPIRE name = VAMPIRE
special_role = ROLE_VAMPIRE special_role = VAMPIRE
disallow_job = FALSE disallow_job = FALSE
restricted_jobs = list("AI", "Cyborg", "Mobile MMI", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain") restricted_jobs = list("AI", "Cyborg", "Mobile MMI", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain")
logo_state = "vampire-logo" logo_state = "vampire-logo"
greets = list(GREET_DEFAULT,GREET_CUSTOM,GREET_ADMINTOGGLE, GREET_MASTER) greets = list(GREET_DEFAULT,GREET_CUSTOM,GREET_ADMINTOGGLE, GREET_MASTER)
required_pref = ROLE_VAMPIRE required_pref = VAMPIRE
protected_traitor_prob = PROB_PROTECTED_RARE protected_traitor_prob = PROB_PROTECTED_RARE
refund_value = BASE_SOLO_REFUND refund_value = BASE_SOLO_REFUND
@@ -37,7 +37,7 @@
else if (istype(fac, /datum/faction/vampire)) else if (istype(fac, /datum/faction/vampire))
vamp_fac = fac vamp_fac = fac
vamp_fac.addMaster(src) vamp_fac.addMaster(src)
wikiroute = role_wiki[ROLE_VAMPIRE] wikiroute = role_wiki[VAMPIRE]
/datum/role/vampire/Greet(var/greeting,var/custom) /datum/role/vampire/Greet(var/greeting,var/custom)
if(!greeting) if(!greeting)

View File

@@ -1,7 +1,7 @@
/datum/role/weeaboo /datum/role/weeaboo
name = WEEABOO name = WEEABOO
id = WEEABOO id = WEEABOO
required_pref = ROLE_WEEABOO required_pref = WEEABOO
special_role = WEEABOO special_role = WEEABOO
logo_state = "weeaboo-logo" logo_state = "weeaboo-logo"
refund_value = BASE_SOLO_REFUND refund_value = BASE_SOLO_REFUND

View File

@@ -118,7 +118,7 @@ var/list/uplink_items = list()
if(user.mind) if(user.mind)
user.mind.spent_TC += get_cost(U.job) user.mind.spent_TC += get_cost(U.job)
//First, try to add the uplink buys to any operative teams they're on. If none, add to a traitor role they have. //First, try to add the uplink buys to any operative teams they're on. If none, add to a traitor role they have.
var/datum/role/R = user.mind.GetRole(ROLE_OPERATIVE) var/datum/role/R = user.mind.GetRole(NUKE_OP)
if(R) if(R)
R.faction.faction_scoreboard_data += {"<img src="logo_[tempstate].png"> [bundlename] for [get_cost(U.job)] TC<BR>"} R.faction.faction_scoreboard_data += {"<img src="logo_[tempstate].png"> [bundlename] for [get_cost(U.job)] TC<BR>"}
else else

View File

@@ -110,7 +110,7 @@
return 0 return 0
/obj/effect/blob/core/proc/recruit_overmind() /obj/effect/blob/core/proc/recruit_overmind()
var/list/possible_candidates = get_candidates(ROLE_BLOB) var/list/possible_candidates = get_candidates(BLOBOVERMIND)
var/icon/logo_icon = icon('icons/logos.dmi', "blob-logo") var/icon/logo_icon = icon('icons/logos.dmi', "blob-logo")
for(var/client/candidate in possible_candidates) for(var/client/candidate in possible_candidates)
if(istype(candidate.eye,/obj/item/projectile/meteor/blob/core)) if(istype(candidate.eye,/obj/item/projectile/meteor/blob/core))
@@ -135,7 +135,7 @@
if(!new_overmind) if(!new_overmind)
return 0 return 0
if (jobban_isbanned(new_overmind.mob, ROLE_BLOB) || isantagbanned(new_overmind.mob)) if (jobban_isbanned(new_overmind.mob, BLOBOVERMIND) || isantagbanned(new_overmind.mob))
to_chat(usr, "<span class='warning'>You are banned from this role.</span>") to_chat(usr, "<span class='warning'>You are banned from this role.</span>")
return 0 return 0

View File

@@ -240,7 +240,7 @@ var/global/datum/controller/occupations/job_master
for(var/level = 1 to 3) for(var/level = 1 to 3)
var/list/candidates = list() var/list/candidates = list()
if(ticker.mode.name == "AI malfunction")//Make sure they want to malf if its malf if(ticker.mode.name == "AI malfunction")//Make sure they want to malf if its malf
candidates = FindOccupationCandidates(job, level, ROLE_MALF) candidates = FindOccupationCandidates(job, level, MALF)
else else
candidates = FindOccupationCandidates(job, level) candidates = FindOccupationCandidates(job, level)
if(candidates.len) if(candidates.len)

View File

@@ -8,7 +8,7 @@
var/genomes_to_give = 10 //seeing as the new changeling won't have had a whole round to prepare, they get some genomes free var/genomes_to_give = 10 //seeing as the new changeling won't have had a whole round to prepare, they get some genomes free
/obj/item/changeling_vial/attack_self(mob/user as mob) /obj/item/changeling_vial/attack_self(mob/user as mob)
if(ishuman(user) && !(isantagbanned(user) || jobban_isbanned(user, ROLE_CHANGELING))) if(ishuman(user) && !(isantagbanned(user) || jobban_isbanned(user, CHANGELING)))
var/mob/living/carbon/human/H = user var/mob/living/carbon/human/H = user
if(H.mind) if(H.mind)
var/datum/mind/M = H.mind var/datum/mind/M = H.mind
@@ -25,7 +25,7 @@
C.geneticpoints = Clamp(genomes_to_give, 0, 100) C.geneticpoints = Clamp(genomes_to_give, 0, 100)
C.OnPostSetup() C.OnPostSetup()
to_chat(H, "<B><font color='red'>Finally, we once again have a suitable body. We are once again a proper changeling!</font></B>") to_chat(H, "<B><font color='red'>Finally, we once again have a suitable body. We are once again a proper changeling!</font></B>")
var/wikiroute = role_wiki[ROLE_CHANGELING] var/wikiroute = role_wiki[CHANGELING]
to_chat(H, "<span class='info'><a HREF='?src=\ref[H];getwiki=[wikiroute]'>(Wiki Guide)</a></span>") to_chat(H, "<span class='info'><a HREF='?src=\ref[H];getwiki=[wikiroute]'>(Wiki Guide)</a></span>")
log_admin("[H] has become a changeling using a changeling vial.") log_admin("[H] has become a changeling using a changeling vial.")
else else

View File

@@ -99,7 +99,7 @@
name = "syndicate robot teleporter" name = "syndicate robot teleporter"
desc = "A single-use teleporter used to deploy a syndicate robot on the field." desc = "A single-use teleporter used to deploy a syndicate robot on the field."
borg_type = /mob/living/silicon/robot/syndie borg_type = /mob/living/silicon/robot/syndie
role = ROLE_OPERATIVE role = NUKE_OP
jobban_roles = list("Syndicate", "AI", "Cyborg", "Mobile MMI") jobban_roles = list("Syndicate", "AI", "Cyborg", "Mobile MMI")
faction = "syndicate" faction = "syndicate"

View File

@@ -166,7 +166,7 @@ client/proc/one_click_antag()
var/syndicate_leader_selected = 0 //when the leader is chosen. The last person spawned. var/syndicate_leader_selected = 0 //when the leader is chosen. The last person spawned.
//Generates a list of commandos from active ghosts. Then the user picks which characters to respawn as the commandos. //Generates a list of commandos from active ghosts. Then the user picks which characters to respawn as the commandos.
for(var/mob/dead/observer/G in get_active_candidates(ROLE_COMMANDO, poll="Do you wish to be considered for an elite syndicate strike team being sent in?")) for(var/mob/dead/observer/G in get_active_candidates(ROLE_STRIKE, poll="Do you wish to be considered for an elite syndicate strike team being sent in?"))
if(!jobban_isbanned(G, "operative") && !isantagbanned(G)) if(!jobban_isbanned(G, "operative") && !isantagbanned(G))
candidates += G candidates += G

View File

@@ -4,49 +4,43 @@
#define SPECIAL_ROLES_SETUP 3 #define SPECIAL_ROLES_SETUP 3
var/list/preferences_datums = list() var/list/preferences_datums = list()
var/global/list/special_roles = list( var/global/list/special_roles = list(
ROLE_ALIEN = 1, //always show ROLE_ALIEN = 1,
ROLE_BLOB = 1, BLOBOVERMIND = 1,
ROLE_BORER = 1, ROLE_BORER = 1,
ROLE_CHANGELING = 1, CHANGELING = 1,
ROLE_CULTIST = 1, CULTIST = 1,
ROLE_LEGACY_CULTIST = 1,
ROLE_PLANT = 1, ROLE_PLANT = 1,
// "infested monkey" = IS_MODE_COMPILED("monkey"), MALF = 1,
ROLE_MALF = 1, NUKE_OP = 1,
//ROLE_NINJA = 1, ROLE_PAI = 1,
ROLE_OPERATIVE = 1,
ROLE_PAI = 1, // -- TLE
ROLE_POSIBRAIN = 1, ROLE_POSIBRAIN = 1,
ROLE_REV = 1, REV = 1,
ROLE_TRAITOR = 1, TRAITOR = 1,
ROLE_VAMPIRE = 1, VAMPIRE = 1,
ROLE_VOXRAIDER = 1, VOXRAIDER = 1,
ROLE_WIZARD = 1, WIZARD = 1,
ROLE_COMMANDO = 1, ROLE_STRIKE = 1,
ROLE_GRINCH = 1, GRINCH = 1,
ROLE_WEEABOO = 1, WEEABOO = 1,
ROLE_MINOR = 1, ROLE_MINOR = 1,
) )
var/list/antag_roles = list( /var/list/antag_roles = list(
ROLE_ALIEN = 1, ROLE_ALIEN = 1,
ROLE_BLOB = 1, BLOBOVERMIND = 1,
ROLE_CHANGELING = 1, CHANGELING = 1,
ROLE_CULTIST = 1, CULTIST = 1,
ROLE_LEGACY_CULTIST = 1, MALF = 1,
ROLE_MALF = 1, NUKE_OP = 1,
ROLE_OPERATIVE = 1, REV = 1,
ROLE_REV = 1, TRAITOR = 1,
ROLE_TRAITOR = 1, VAMPIRE = 1,
ROLE_VAMPIRE = 1, VOXRAIDER = 1,
ROLE_VOXRAIDER = 1, WIZARD = 1,
ROLE_WIZARD = 1, ROLE_STRIKE = 1,
ROLE_COMMANDO = 1, GRINCH = 1,
// "infested monkey" = IS_MODE_COMPILED("monkey"), WEEABOO = 1,
ROLE_GRINCH = 1,
ROLE_WEEABOO = 1,
ROLE_MINOR = 1, ROLE_MINOR = 1,
) )
@@ -59,22 +53,21 @@ var/list/nonantag_roles = list(
var/list/role_wiki=list( var/list/role_wiki=list(
ROLE_ALIEN = "Xenomorph", ROLE_ALIEN = "Xenomorph",
ROLE_BLOB = "Blob", BLOBOVERMIND = "Blob",
ROLE_BORER = "Cortical_Borer", ROLE_BORER = "Cortical_Borer",
ROLE_CHANGELING = "Changeling", CHANGELING = "Changeling",
ROLE_CULTIST = "Cult 3.0", CULTIST = "Cult",
ROLE_LEGACY_CULTIST = "Cult", // To change ! In the future we'll have a new page for Cult 3, and this one will go down in history
ROLE_PLANT = "Dionaea", ROLE_PLANT = "Dionaea",
ROLE_MALF = "Guide_to_Malfunction", MALF = "Guide_to_Malfunction",
ROLE_OPERATIVE = "Nuclear_Agent", NUKE_OP = "Nuclear_Agent",
ROLE_PAI = "Personal_AI", ROLE_PAI = "Personal_AI",
ROLE_POSIBRAIN = "Guide_to_Silicon_Laws", ROLE_POSIBRAIN = "Guide_to_Silicon_Laws",
ROLE_REV = "Revolution", REV = "Revolution",
ROLE_TRAITOR = "Traitor", TRAITOR = "Traitor",
ROLE_VAMPIRE = "Vampire", VAMPIRE = "Vampire",
ROLE_VOXRAIDER = "Vox_Raider", VOXRAIDER = "Vox_Raider",
ROLE_WIZARD = "Wizard", WIZARD = "Wizard",
ROLE_GRINCH = "Grinch", GRINCH = "Grinch",
WEEABOO = "Crazed_Weeaboo", WEEABOO = "Crazed_Weeaboo",
ROLE_MINOR = "Minor_Roles", ROLE_MINOR = "Minor_Roles",
) )

View File

@@ -205,7 +205,7 @@ var/global/list/thing_storm_types = list(
if (!(candidates.len) && !started) if (!(candidates.len) && !started)
candidates = get_candidates(ROLE_BLOB) candidates = get_candidates(BLOBOVERMIND)
for(var/i = 0 to cores_spawned) for(var/i = 0 to cores_spawned)
if (!candidates.len) if (!candidates.len)

View File

@@ -151,7 +151,7 @@ obj/item/device/mmi/Destroy()
icon_state = "mmi_full" icon_state = "mmi_full"
if (isrev(brainmob)) if (isrev(brainmob))
var/datum/role/revolutionary/R = brainmob.mind.GetRole(ROLE_REV) var/datum/role/revolutionary/R = brainmob.mind.GetRole(REV)
R.Drop(TRUE) R.Drop(TRUE)
locked = 1 locked = 1