diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 8c17e30038c..f66ae358010 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -8,7 +8,7 @@ /proc/iscultist(mob/living/M as mob) return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.cult) - + /proc/is_convertable_to_cult(datum/mind/mind) if(!istype(mind)) return 0 if(istype(mind.current, /mob/living/carbon/human) && (mind.assigned_role in list("Captain", "Chaplain"))) return 0 @@ -21,8 +21,8 @@ /datum/game_mode/cult name = "cult" config_tag = "cult" - restricted_jobs = list("Chaplain","AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative") - protected_jobs = list() + restricted_jobs = list("Chaplain","AI", "Cyborg", "Lawyer", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative") + protected_jobs = list("Security Officer", "Warden", "Detective") required_players = 5 required_players_secret = 15 required_enemies = 3 @@ -135,7 +135,7 @@ mob.mutations.Remove(M_CLUMSY) add_cult_viewpoint(mob) // give them a viewpoint - + var/obj/item/weapon/paper/talisman/supply/T = new(mob) var/list/slots = list ( "backpack" = slot_in_backpack, @@ -177,7 +177,7 @@ var/obj/cult_viewpoint/viewpoint = new(target) viewpoint.loc = target return viewpoint - + /datum/game_mode/proc/add_cultist(datum/mind/cult_mind) //BASE if (!istype(cult_mind)) @@ -200,11 +200,11 @@ cult -= cult_mind cult_mind.current << "\red An unfamiliar white light flashes through your mind, cleansing the taint of the dark-one and the memories of your time as his servant with it." cult_mind.memory = "" - + // remove the cult viewpoint object var/obj/viewpoint = getCultViewpoint(cult_mind.current) del(viewpoint) - + update_cult_icons_removed(cult_mind) if(show_message) for(var/mob/M in viewers(cult_mind.current)) @@ -220,7 +220,7 @@ for(var/mob/spirit/currentSpirit in spirits) reset_cult_icons_for_spirit(currentSpirit) - + /datum/game_mode/proc/reset_cult_icons_for_cultist(var/datum/mind/target) if(target.current) if(target.current.client) @@ -228,7 +228,7 @@ for(var/datum/mind/cultist in cult) if(cultist.current) add_cult_icon(target.current.client,cultist.current) - + /datum/game_mode/proc/reset_cult_icons_for_spirit(mob/spirit/target) if (target.client) @@ -236,25 +236,25 @@ for(var/datum/mind/cultist in cult) if(cultist.current) add_cult_icon(target.client,cultist.current) - - + + /datum/game_mode/proc/add_cult_icon(client/target_client,mob/target_mob) var/I = image('icons/mob/mob.dmi', loc = target_mob, icon_state = "cult") target_client.images += I - + /datum/game_mode/proc/remove_cult_icon(client/target_client,mob/target_mob) for(var/image/I in target_client.images) if(I.icon_state == "cult" && I.loc == target_mob) del(I) - - + + /datum/game_mode/proc/remove_all_cult_icons_from_client(client/target) for(var/image/I in target.images) if(I.icon_state == "cult") del(I) - - + + /datum/game_mode/proc/remove_all_cult_icons(target) var/datum/mind/cultist = target if(istype(cultist)) @@ -268,65 +268,65 @@ remove_all_cult_icons_from_client(currentSpirit.client) return TRUE return FALSE - - + + /datum/game_mode/proc/add_cult_icon_to_spirit(mob/spirit/currentSpirit,datum/mind/cultist) if(!istype(currentSpirit) || !istype(cultist)) return FALSE if (currentSpirit.client) if (cultist.current) add_cult_icon(currentSpirit.client,cultist.current) - - + + /datum/game_mode/proc/add_cult_icon_to_cultist(datum/mind/first_cultist,datum/mind/second_cultist) if(first_cultist.current && second_cultist.current) if(first_cultist.current.client) add_cult_icon(first_cultist.current.client, second_cultist.current) - - + + /datum/game_mode/proc/remove_cult_icon_from_cultist(datum/mind/first_cultist,datum/mind/second_cultist) if(first_cultist.current && second_cultist.current) if(first_cultist.current.client) remove_cult_icon(first_cultist.current.client,second_cultist.current) - + /datum/game_mode/proc/remove_cult_icon_from_spirit(mob/spirit/currentSpirit,datum/mind/cultist) if(!istype(currentSpirit) || !istype(cultist)) return FALSE if (currentSpirit.client) if (cultist.current) remove_cult_icon(currentSpirit.client,cultist.current) - - + + /datum/game_mode/proc/cult_icon_pair_link(datum/mind/first_cultist,datum/mind/second_cultist) if (!istype(first_cultist) || !istype(second_cultist)) return 0 add_cult_icon_to_cultist(first_cultist,second_cultist) add_cult_icon_to_cultist(second_cultist,first_cultist) - + /datum/game_mode/proc/cult_icon_pair_unlink(datum/mind/first_cultist,datum/mind/second_cultist) if (!istype(first_cultist) || !istype(second_cultist)) return 0 remove_cult_icon(first_cultist,second_cultist) remove_cult_icon(second_cultist,first_cultist) - - + + /datum/game_mode/proc/update_cult_icons_added(datum/mind/cult_mind) spawn(0) for(var/datum/mind/cultist in cult) cult_icon_pair_link(cultist,cult_mind) for(var/mob/spirit/currentSpirit in spirits) add_cult_icon_to_spirit(currentSpirit,cult_mind) - - + + /datum/game_mode/proc/update_cult_icons_removed(datum/mind/cult_mind) spawn(0) for(var/datum/mind/cultist in cult) cult_icon_pair_unlink(cultist,cult_mind) for(var/mob/spirit/currentSpirit in spirits) remove_cult_icon_from_spirit(currentSpirit,cult_mind) - + /datum/game_mode/cult/proc/get_unconvertables() var/list/ucs = list() @@ -364,7 +364,7 @@ /atom/proc/cult_log(var/message) investigate_log(message, "cult") - + /datum/game_mode/cult/declare_completion() diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index b298435cf02..963a1619262 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -14,7 +14,8 @@ /datum/game_mode/revolution name = "revolution" config_tag = "revolution" - restricted_jobs = list("Security Officer", "Warden", "Detective", "AI", "Cyborg","Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer", "Blueshield", "Nanotrasen Representative") + restricted_jobs = list("Lawyer", "AI", "Cyborg","Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer", "Blueshield", "Nanotrasen Representative") + protected_jobs = list("Security Officer", "Warden", "Detective") required_players = 4 required_players_secret = 15 required_enemies = 3