mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
The Culling of ROLE_ (#21661)
* culling of role * fix compile * Typos * alien ROLE
This commit is contained in:
committed by
MadmanMartian
parent
96f9492952
commit
4cc066f3b5
@@ -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
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
@@ -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>")
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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!"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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()
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -4,50 +4,44 @@
|
|||||||
#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,
|
MALF = 1,
|
||||||
// "infested monkey" = IS_MODE_COMPILED("monkey"),
|
NUKE_OP = 1,
|
||||||
ROLE_MALF = 1,
|
ROLE_PAI = 1,
|
||||||
//ROLE_NINJA = 1,
|
ROLE_POSIBRAIN = 1,
|
||||||
ROLE_OPERATIVE = 1,
|
REV = 1,
|
||||||
ROLE_PAI = 1, // -- TLE
|
TRAITOR = 1,
|
||||||
ROLE_POSIBRAIN = 1,
|
VAMPIRE = 1,
|
||||||
ROLE_REV = 1,
|
VOXRAIDER = 1,
|
||||||
ROLE_TRAITOR = 1,
|
WIZARD = 1,
|
||||||
ROLE_VAMPIRE = 1,
|
ROLE_STRIKE = 1,
|
||||||
ROLE_VOXRAIDER = 1,
|
GRINCH = 1,
|
||||||
ROLE_WIZARD = 1,
|
WEEABOO = 1,
|
||||||
ROLE_COMMANDO = 1,
|
ROLE_MINOR = 1,
|
||||||
ROLE_GRINCH = 1,
|
|
||||||
ROLE_WEEABOO = 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_MINOR = 1,
|
||||||
ROLE_WEEABOO = 1,
|
|
||||||
ROLE_MINOR = 1,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var/list/nonantag_roles = list(
|
var/list/nonantag_roles = list(
|
||||||
@@ -58,25 +52,24 @@ 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",
|
MALF = "Guide_to_Malfunction",
|
||||||
ROLE_MALF = "Guide_to_Malfunction",
|
NUKE_OP = "Nuclear_Agent",
|
||||||
ROLE_OPERATIVE = "Nuclear_Agent",
|
ROLE_PAI = "Personal_AI",
|
||||||
ROLE_PAI = "Personal_AI",
|
ROLE_POSIBRAIN = "Guide_to_Silicon_Laws",
|
||||||
ROLE_POSIBRAIN = "Guide_to_Silicon_Laws",
|
REV = "Revolution",
|
||||||
ROLE_REV = "Revolution",
|
TRAITOR = "Traitor",
|
||||||
ROLE_TRAITOR = "Traitor",
|
VAMPIRE = "Vampire",
|
||||||
ROLE_VAMPIRE = "Vampire",
|
VOXRAIDER = "Vox_Raider",
|
||||||
ROLE_VOXRAIDER = "Vox_Raider",
|
WIZARD = "Wizard",
|
||||||
ROLE_WIZARD = "Wizard",
|
GRINCH = "Grinch",
|
||||||
ROLE_GRINCH = "Grinch",
|
WEEABOO = "Crazed_Weeaboo",
|
||||||
WEEABOO = "Crazed_Weeaboo",
|
ROLE_MINOR = "Minor_Roles",
|
||||||
ROLE_MINOR = "Minor_Roles",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var/const/MAX_SAVE_SLOTS = 8
|
var/const/MAX_SAVE_SLOTS = 8
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user