From 00a676283843cb061e14f9e6bff527176df9cc45 Mon Sep 17 00:00:00 2001 From: GunHog Date: Tue, 28 Apr 2015 14:45:59 -0500 Subject: [PATCH] Ban panel and preferences changes - Deathsquad moved from Antagonist to Ghost Roles. - pAI jobbans split into drone, pAI, and posibrains. - Posibrains back under pAI preference flag (the byte is full) - Fixed Posibrain sprite if it fails to get a ghost. --- code/__DEFINES/preferences.dm | 2 +- code/_globalvars/configuration.dm | 2 +- code/controllers/subsystem/pai.dm | 4 +- code/modules/admin/topic.dm | 43 ++++++++++++++----- code/modules/client/preferences.dm | 2 +- .../mob/living/carbon/brain/posibrain.dm | 8 ++-- .../friendly/drone/drones_as_items.dm | 2 +- 7 files changed, 43 insertions(+), 20 deletions(-) diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index 6fc106cb655..9c2e1ccb84a 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -34,7 +34,7 @@ #define BE_MALF 16 #define BE_REV 32 #define BE_ALIEN 64 -#define BE_GHOST_ROLE 128 +#define BE_PAI 128 //Includes Positronic brains, but the flag is already maxed. #define BE_CULTIST 256 #define BE_BLOB 512 #define BE_NINJA 1024 diff --git a/code/_globalvars/configuration.dm b/code/_globalvars/configuration.dm index 819cc7667a0..d42d812db7a 100644 --- a/code/_globalvars/configuration.dm +++ b/code/_globalvars/configuration.dm @@ -41,7 +41,7 @@ var/list/be_special_flags = list( "Malf AI" = BE_MALF, "Revolutionary" = BE_REV, "Alien Lifeform" = BE_ALIEN, - "Ghost Roles" = BE_GHOST_ROLE, + "pAI/Positronic Brain" = BE_PAI, "Cultist" = BE_CULTIST, "Blob" = BE_BLOB, "Ninja" = BE_NINJA, diff --git a/code/controllers/subsystem/pai.dm b/code/controllers/subsystem/pai.dm index e88bc863c09..431f68c348e 100644 --- a/code/controllers/subsystem/pai.dm +++ b/code/controllers/subsystem/pai.dm @@ -181,7 +181,7 @@ var/datum/subsystem/pai/SSpai /datum/subsystem/pai/proc/requestRecruits() for(var/mob/dead/observer/O in player_list) - if(jobban_isbanned(O, "Ghost Roles")) + if(jobban_isbanned(O, "pAI")) continue if(asked.Find(O.key)) if(world.time < asked[O.key] + askDelay) @@ -193,7 +193,7 @@ var/datum/subsystem/pai/SSpai for(var/datum/paiCandidate/c in SSpai.candidates) if(c.key == O.key) hasSubmitted = 1 - if(!hasSubmitted && (O.client.prefs.be_special & BE_GHOST_ROLE)) + if(!hasSubmitted && (O.client.prefs.be_special & BE_PAI)) question(O.client) /datum/subsystem/pai/proc/question(var/client/C) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index c0c1342f323..65df4760502 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -642,11 +642,38 @@ jobs += "" counter = 0 - //Ghost Roles (pAI/Drone/Positronic Brains) are not technically jobs, but they go in here. - if(jobban_isbanned(M, "Ghost Roles")) - jobs += "Ghost Roles (pAI/Drone/Positronic Brains)" + jobs += "" + + //Ghost Roles (light light gray) + jobs += "" + jobs += "" + + //pAI + if(jobban_isbanned(M, "pAI")) + jobs += "" else - jobs += "" + jobs += "" + + + //Drones + if(jobban_isbanned(M, "drone")) + jobs += "" + else + jobs += "" + + + //Positronic Brains + if(jobban_isbanned(M, "posibrain")) + jobs += "" + else + jobs += "" + + + //Deathsquad + if(jobban_isbanned(M, "deathsquad")) + jobs += "" + else + jobs += "" jobs += "
Ghost Roles
[replacetext("pAI", " ", " ")]Ghost Roles (pAI/Drone/Positronic Brains)[replacetext("pAI", " ", " ")][replacetext("Drone", " ", " ")][replacetext("Drone", " ", " ")][replacetext("Posibrain", " ", " ")][replacetext("Posibrain", " ", " ")][replacetext("Deathsquad", " ", " ")][replacetext("Deathsquad", " ", " ")]
" @@ -705,12 +732,6 @@ else jobs += "[replacetext("Abductor", " ", " ")]" - //Deathsquad - if(jobban_isbanned(M, "deathsquad") || isbanned_dept) - jobs += "[replacetext("Deathsquad", " ", " ")]" - else - jobs += "[replacetext("Deathsquad", " ", " ")]" - /* //Malfunctioning AI //Removed Malf-bans because they're a pain to impliment if(jobban_isbanned(M, "malf AI") || isbanned_dept) jobs += "[replacetext("Malf AI", " ", " ")]" @@ -800,6 +821,8 @@ var/datum/job/temp = SSjob.GetJob(jobPos) if(!temp) continue joblist += temp.title + if("ghostroles") + joblist += list("pAI", "posibrain", "drone", "deathsquad") else joblist += href_list["jobban3"] diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 87f5a53950e..f853991c7ce 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -11,7 +11,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set "malf AI" = /datum/game_mode/malfunction, //4 "revolutionary" = /datum/game_mode/revolution, //5 "alien", //6 - "Ghost Roles", //7 + "pAI/posibrain", //7 "cultist" = /datum/game_mode/cult, //8 "blob" = /datum/game_mode/blob, //9 "ninja", //10 diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index a56d3ecc436..9a788562cdb 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -26,10 +26,10 @@ /obj/item/device/mmi/posibrain/proc/request_player() for(var/mob/dead/observer/O in player_list) - if(jobban_isbanned(O, "Ghost Roles")) + if(jobban_isbanned(O, "posibrain")) continue if(O.client) - if(O.client.prefs.be_special & BE_GHOST_ROLE) + if(O.client.prefs.be_special & BE_PAI) question(O.client) /obj/item/device/mmi/posibrain/proc/question(var/client/C) @@ -41,7 +41,7 @@ if(response == "Yes") transfer_personality(C.mob) else if (response == "Never for this round") - C.prefs.be_special ^= BE_GHOST_ROLE + C.prefs.be_special ^= BE_PAI /obj/item/device/mmi/posibrain/transfer_identity(var/mob/living/carbon/H) @@ -140,7 +140,7 @@ if(searching) icon_state = "posibrain-searching" return - if(brainmob) + if(brainmob && brainmob.key) icon_state = "posibrain-occupied" else icon_state = "posibrain" diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm index b089d526e4c..930dff33f2e 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm @@ -16,7 +16,7 @@ var/drone_type = /mob/living/simple_animal/drone //Type of drone that will be spawned /obj/item/drone_shell/attack_ghost(mob/user) - if(jobban_isbanned(user,"Ghost Roles")) + if(jobban_isbanned(user,"drone")) return var/be_drone = alert("Become a drone? (Warning, You can no longer be cloned!)",,"Yes","No")