diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm index fb5a1702cec..af957f64f9b 100644 --- a/code/__DEFINES/role_preferences.dm +++ b/code/__DEFINES/role_preferences.dm @@ -6,27 +6,33 @@ //These are synced with the Database, if you change the values of the defines //then you MUST update the database! -#define ROLE_SYNDICATE "Syndicate" -#define ROLE_TRAITOR "traitor" -#define ROLE_OPERATIVE "operative" -#define ROLE_CHANGELING "changeling" -#define ROLE_WIZARD "wizard" -#define ROLE_MALF "malf AI" -#define ROLE_REV "revolutionary" -#define ROLE_REV_HEAD "Head Revolutionary" -#define ROLE_ALIEN "xenomorph" -#define ROLE_PAI "pAI" -#define ROLE_CULTIST "cultist" -#define ROLE_BLOB "blob" -#define ROLE_NINJA "space ninja" -#define ROLE_MONKEY "monkey" -#define ROLE_ABDUCTOR "abductor" -#define ROLE_REVENANT "revenant" -#define ROLE_DEVIL "devil" -#define ROLE_SERVANT_OF_RATVAR "servant of Ratvar" -#define ROLE_BROTHER "blood brother" -#define ROLE_BRAINWASHED "brainwashed victim" -#define ROLE_OVERTHROW "syndicate mutineer" +#define ROLE_SYNDICATE "Syndicate" +#define ROLE_TRAITOR "traitor" +#define ROLE_OPERATIVE "operative" +#define ROLE_CHANGELING "changeling" +#define ROLE_WIZARD "wizard" +#define ROLE_MALF "malf AI" +#define ROLE_REV "revolutionary" +#define ROLE_REV_HEAD "Head Revolutionary" +#define ROLE_ALIEN "xenomorph" +#define ROLE_PAI "pAI" +#define ROLE_CULTIST "cultist" +#define ROLE_BLOB "blob" +#define ROLE_NINJA "space ninja" +#define ROLE_MONKEY "monkey" +#define ROLE_ABDUCTOR "abductor" +#define ROLE_REVENANT "revenant" +#define ROLE_DEVIL "devil" +#define ROLE_SERVANT_OF_RATVAR "servant of Ratvar" +#define ROLE_BROTHER "blood brother" +#define ROLE_BRAINWASHED "brainwashed victim" +#define ROLE_OVERTHROW "syndicate mutineer" +#define ROLE_SENTIENCE "sentience potion spawn" +#define ROLE_MIND_TRANSFER "mind transfer potion" +#define ROLE_POSIBRAIN "posibrain" +#define ROLE_DRONE "drone" +#define ROLE_DEATHSQUAD "deathsquad" +#define ROLE_LAVALAND "lavaland" //Missing assignment means it's not a gamemode specific role, IT'S NOT A BUG OR ERROR. //The gamemode specific ones are just so the gamemodes can query whether a player is old enough @@ -49,7 +55,8 @@ GLOBAL_LIST_INIT(special_roles, list( ROLE_ABDUCTOR, ROLE_DEVIL = /datum/game_mode/devil, ROLE_SERVANT_OF_RATVAR = /datum/game_mode/clockwork_cult, - ROLE_OVERTHROW = /datum/game_mode/overthrow + ROLE_OVERTHROW = /datum/game_mode/overthrow, + ROLE_SENTIENCE )) //Job defines for what happens when you fail to qualify for any job during job selection diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 43d9c06388f..4ae4a809106 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -806,30 +806,35 @@ //Drones - if(jobban_isbanned(M, "drone")) - dat += "Drone" + if(jobban_isbanned(M, ROLE_DRONE)) + dat += "Drone" else - dat += "Drone" + dat += "Drone" //Positronic Brains - if(jobban_isbanned(M, "posibrain")) - dat += "Posibrain" + if(jobban_isbanned(M, ROLE_POSIBRAIN)) + dat += "Posibrain" else - dat += "Posibrain" - + dat += "Posibrain" + //Sentience Potion Spawn + if(jobban_isbanned(M, ROLE_SENTIENCE)) + dat += "Sentience Potion Spawn" + else + dat += "Sentience Potion Spawn" + //Deathsquad - if(jobban_isbanned(M, "deathsquad")) - dat += "Deathsquad" + if(jobban_isbanned(M, ROLE_DEATHSQUAD)) + dat += "Deathsquad" else - dat += "Deathsquad" + dat += "Deathsquad" //Lavaland roles - if(jobban_isbanned(M, "lavaland")) - dat += "Lavaland" + if(jobban_isbanned(M, ROLE_LAVALAND)) + dat += "Lavaland" else - dat += "Lavaland" + dat += "Lavaland" dat += "" @@ -896,6 +901,16 @@ else dat += "Alien" + //Other Roles (black) + dat += "" + dat += "" + + //Mind Transfer Potion + if(jobban_isbanned(M, ROLE_MIND_TRANSFER)) + dat += "" + else + dat += "" + dat += "
Other Roles
Mind Transfer PotionMind Transfer Potion
" usr << browse(dat, "window=jobban2;size=800x450") return @@ -955,11 +970,13 @@ continue joblist += jobPos if("ghostroles") - joblist += list(ROLE_PAI, "posibrain", "drone", "deathsquad", "lavaland") + joblist += list(ROLE_PAI, ROLE_POSIBRAIN, ROLE_DRONE , ROLE_DEATHSQUAD, ROLE_LAVALAND, ROLE_SENTIENCE) if("teamantags") joblist += list(ROLE_OPERATIVE, ROLE_REV, ROLE_CULTIST, ROLE_SERVANT_OF_RATVAR, ROLE_ABDUCTOR, ROLE_ALIEN) if("convertantags") joblist += list(ROLE_REV, ROLE_CULTIST, ROLE_SERVANT_OF_RATVAR, ROLE_ALIEN) + if("otherroles") + joblist += list(ROLE_MIND_TRANSFER) else joblist += href_list["jobban3"] diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 20e50e3554d..5628c0e6050 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -672,7 +672,7 @@ to_chat(user, "You offer [src] to [SM]...") being_used = TRUE - var/list/candidates = pollCandidatesForMob("Do you want to play as [SM.name]?", ROLE_ALIEN, null, ROLE_ALIEN, 50, SM, POLL_IGNORE_SENTIENCE_POTION) // see poll_ignore.dm + var/list/candidates = pollCandidatesForMob("Do you want to play as [SM.name]?", ROLE_SENTIENCE, null, ROLE_SENTIENCE, 50, SM, POLL_IGNORE_SENTIENCE_POTION) // see poll_ignore.dm if(LAZYLEN(candidates)) var/mob/dead/observer/C = pick(candidates) SM.key = C.key @@ -726,11 +726,11 @@ if(SM.sentience_type != animal_type) to_chat(user, "You cannot transfer your consciousness to [SM]." ) return ..() - var/jb = jobban_isbanned(user, ROLE_ALIEN) + var/jb = jobban_isbanned(user, ROLE_MIND_TRANSFER) if(QDELETED(src) || QDELETED(M) || QDELETED(user)) return - if(jb) //ideally sentience and trasnference potions should be their own unique role. + if(jb) to_chat(user, "Your mind goes blank as you attempt to use the potion.") return