From b9394257dae3562771314ba9ccfe4c03de7d8a04 Mon Sep 17 00:00:00 2001 From: Remie Richards Date: Wed, 7 Oct 2015 22:11:19 +0100 Subject: [PATCH] About a million changes, but largely: Functional (Sort of) Antag Huds, Mind fixes, and Final glue to get the mode working. --- code/__DEFINES/preferences.dm | 19 --- code/__DEFINES/role_preferences.dm | 50 ++++++ code/_globalvars/configuration.dm | 20 --- code/controllers/subsystem/pai.dm | 4 +- code/datums/hud.dm | 15 +- code/datums/mind.dm | 42 +++-- code/game/gamemodes/abduction/abduction.dm | 2 +- code/game/gamemodes/antag_hud.dm | 17 +- code/game/gamemodes/antag_spawner.dm | 6 +- code/game/gamemodes/blob/blob.dm | 4 +- code/game/gamemodes/blob/blobs/core.dm | 2 +- code/game/gamemodes/changeling/changeling.dm | 6 +- .../game/gamemodes/changeling/traitor_chan.dm | 8 +- code/game/gamemodes/cult/cult.dm | 2 +- code/game/gamemodes/game_mode.dm | 19 +-- code/game/gamemodes/gang/gang.dm | 2 +- code/game/gamemodes/handofgod/_handofgod.dm | 57 ++++--- code/game/gamemodes/handofgod/god.dm | 43 +++-- code/game/gamemodes/handofgod/items.dm | 47 ++++-- code/game/gamemodes/handofgod/objectives.dm | 7 +- code/game/gamemodes/handofgod/powers.dm | 155 ++++++++++-------- code/game/gamemodes/handofgod/structures.dm | 62 +++++-- code/game/gamemodes/handofgod/traps.dm | 10 +- .../game/gamemodes/malfunction/malfunction.dm | 6 +- code/game/gamemodes/monkey/monkey.dm | 2 +- code/game/gamemodes/nuclear/nuclear.dm | 2 +- code/game/gamemodes/revolution/revolution.dm | 4 +- code/game/gamemodes/shadowling/shadowling.dm | 2 +- code/game/gamemodes/traitor/traitor.dm | 6 +- code/game/gamemodes/wizard/artefact.dm | 2 +- code/game/gamemodes/wizard/raginmages.dm | 4 +- code/game/gamemodes/wizard/soulstone.dm | 2 +- code/game/gamemodes/wizard/wizard.dm | 2 +- code/game/jobs/job/job.dm | 2 +- code/game/machinery/turrets.dm | 7 +- code/game/objects/effects/spiders.dm | 2 +- code/modules/admin/verbs/one_click_antag.dm | 22 +-- code/modules/admin/verbs/randomverbs.dm | 2 +- code/modules/client/preferences.dm | 32 +--- code/modules/client/preferences_savefile.dm | 41 ++++- code/modules/client/preferences_toggles.dm | 23 ++- code/modules/events/alien_infestation.dm | 2 +- code/modules/events/wizard/imposter.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 6 + .../carbon/alien/special/alien_embryo.dm | 2 +- code/modules/mob/living/living_defines.dm | 1 - .../living/simple_animal/guardian/guardian.dm | 2 +- .../mob/living/simple_animal/morph/morph.dm | 2 +- .../living/simple_animal/revenant/revenant.dm | 2 +- .../revenant/revenant_spawn_event.dm | 2 +- .../simple_animal/slaughter/slaughterevent.dm | 2 +- code/modules/mob/login.dm | 2 + code/modules/mob/mob_defines.dm | 1 + code/modules/mob/transform_procs.dm | 9 +- code/modules/ninja/ninja_event.dm | 2 +- .../research/xenobiology/xenobiology.dm | 2 +- data/mode.txt | 2 +- icons/mob/feet.dmi | Bin 12903 -> 12900 bytes icons/mob/mob.dmi | Bin 235989 -> 235990 bytes icons/mob/screen_gen.dmi | Bin 99902 -> 101167 bytes icons/mob/suit.dmi | Bin 263205 -> 264859 bytes icons/obj/hand_of_god_structures.dmi | Bin 23657 -> 24275 bytes icons/obj/items.dmi | Bin 48710 -> 47892 bytes icons/obj/storage.dmi | Bin 54306 -> 55434 bytes tgstation.dme | 1 + 65 files changed, 475 insertions(+), 329 deletions(-) create mode 100644 code/__DEFINES/role_preferences.dm diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index b5674ad9dd4..bfa8b697c98 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -28,22 +28,3 @@ #define TOGGLES_DEFAULT_CHAT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_PULLR|CHAT_GHOSTWHISPER|CHAT_GHOSTPDA|CHAT_GHOSTRADIO) -//Antag preferences -#define BE_TRAITOR 1 -#define BE_OPERATIVE 2 -#define BE_CHANGELING 3 -#define BE_WIZARD 4 -#define BE_MALF 5 -#define BE_REV 6 -#define BE_ALIEN 7 -#define BE_PAI 8 -#define BE_CULTIST 9 -#define BE_BLOB 10 -#define BE_NINJA 11 -#define BE_MONKEY 12 -#define BE_GANG 13 -#define BE_SHADOWLING 14 -#define BE_ABDUCTOR 15 -#define BE_REVENANT 16 -#define BE_HOG_GOD 17 -#define BE_HOG_CULTIST 18 diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm new file mode 100644 index 00000000000..63b85ec17b6 --- /dev/null +++ b/code/__DEFINES/role_preferences.dm @@ -0,0 +1,50 @@ + + +//Values for antag preferences, event roles, etc. unified here + + + +//These are synced with the Database, if you change the values of the defines +//then you MUST update the database! +#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_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_GANG "gangster" +#define ROLE_SHADOWLING "shadowling" +#define ROLE_ABDUCTOR "abductor" +#define ROLE_REVENANT "revenant" +#define ROLE_HOG_GOD "hand of god: god" +#define ROLE_HOG_CULTIST "hand of god: cultist" + + +//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 +//(in game days played) to play that role +var/global/list/special_roles = list( + ROLE_TRAITOR = /datum/game_mode/traitor, + ROLE_OPERATIVE = /datum/game_mode/nuclear, + ROLE_CHANGELING = /datum/game_mode/changeling, + ROLE_WIZARD = /datum/game_mode/wizard, + ROLE_MALF = /datum/game_mode/malfunction, + ROLE_REV = /datum/game_mode/revolution, + ROLE_ALIEN, + ROLE_PAI, + ROLE_CULTIST = /datum/game_mode/cult, + ROLE_BLOB = /datum/game_mode/blob, + ROLE_NINJA, + ROLE_MONKEY = /datum/game_mode/monkey, + ROLE_GANG = /datum/game_mode/gang, + ROLE_SHADOWLING = /datum/game_mode/shadowling, + ROLE_ABDUCTOR = /datum/game_mode/abduction, + ROLE_HOG_GOD = /datum/game_mode/hand_of_god, + ROLE_HOG_CULTIST = /datum/game_mode/hand_of_god, +) diff --git a/code/_globalvars/configuration.dm b/code/_globalvars/configuration.dm index dac3d69f6fd..550a4672621 100644 --- a/code/_globalvars/configuration.dm +++ b/code/_globalvars/configuration.dm @@ -33,23 +33,3 @@ var/MAX_EX_LIGHT_RANGE = 14 var/MAX_EX_FLASH_RANGE = 14 var/MAX_EX_FLAME_RANGE = 14 -var/list/be_special_flags = list( - "Traitor" = BE_TRAITOR, - "Operative" = BE_OPERATIVE, - "Changeling" = BE_CHANGELING, - "Wizard" = BE_WIZARD, - "Malf AI" = BE_MALF, - "Revolutionary" = BE_REV, - "Alien Lifeform" = BE_ALIEN, - "pAI" = BE_PAI, - "Cultist" = BE_CULTIST, - "Blob" = BE_BLOB, - "Ninja" = BE_NINJA, - "Monkey" = BE_MONKEY, - "Gang" = BE_GANG, - "Abductor" = BE_ABDUCTOR, - "Revenant" = BE_REVENANT, - "Shadowling" = BE_SHADOWLING, - "Hand of god, god" = BE_HOG_GOD, - "Hand of god, cultist" = BE_HOG_CULTIST - ) diff --git a/code/controllers/subsystem/pai.dm b/code/controllers/subsystem/pai.dm index 8fe3e03edbb..af09a53846a 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, "pAI")) + if(jobban_isbanned(O, ROLE_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 && (BE_PAI in O.client.prefs.be_special)) + if(!hasSubmitted && (ROLE_PAI in O.client.prefs.be_special)) question(O.client) /datum/subsystem/pai/proc/question(client/C) diff --git a/code/datums/hud.dm b/code/datums/hud.dm index 73a1b86084c..25fa65173aa 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -21,6 +21,8 @@ var/datum/atom_hud/huds = list( \ var/list/hud_icons = list() //these will be the indexes for the atom's hud_list /datum/atom_hud/proc/remove_hud_from(mob/M) + if(!M) + return if(src in M.permanent_huds) return for(var/atom/A in hudatoms) @@ -28,31 +30,38 @@ var/datum/atom_hud/huds = list( \ hudusers -= M /datum/atom_hud/proc/remove_from_hud(atom/A) + if(!A) + return for(var/mob/M in hudusers) remove_from_single_hud(M, A) hudatoms -= A /datum/atom_hud/proc/remove_from_single_hud(mob/M, atom/A) //unsafe, no sanity apart from client - if(!M.client) + if(!M || !M.client || !A) return for(var/i in hud_icons) M.client.images -= A.hud_list[i] /datum/atom_hud/proc/add_hud_to(mob/M) + if(!M) + return hudusers |= M for(var/atom/A in hudatoms) add_to_single_hud(M, A) /datum/atom_hud/proc/add_to_hud(atom/A) + if(!A) + return hudatoms |= A for(var/mob/M in hudusers) add_to_single_hud(M, A) /datum/atom_hud/proc/add_to_single_hud(mob/M, atom/A) //unsafe, no sanity apart from client - if(!M.client) + if(!M || !M.client || !A) return for(var/i in hud_icons) - M.client.images |= A.hud_list[i] + if(A.hud_list[i]) + M.client.images |= A.hud_list[i] //MOB PROCS /mob/proc/reload_huds() diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 69bd3770660..81a45534cc2 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -61,10 +61,10 @@ src.key = key -/datum/mind/proc/transfer_to(mob/living/new_character) - if(!istype(new_character)) - throw EXCEPTION("transfer_to(): new_character must be mob/living") - return +/datum/mind/proc/transfer_to(mob/new_character) + //if(!istype(new_character)) + // throw EXCEPTION("transfer_to(): new_character must be mob/living") + // return if(current) //remove ourself from our old body's mind variable current.mind = null @@ -285,7 +285,7 @@ else text += "head|loyal|EMPLOYEE|headrev|rev" - if(current && current.client && (BE_REV in current.client.prefs.be_special)) + if(current && current.client && (ROLE_REV in current.client.prefs.be_special)) text += "|Enabled in Prefs" else text += "|Disabled in Prefs" @@ -303,7 +303,7 @@ else text += "NONE" - if(current && current.client && (BE_GANG in current.client.prefs.be_special)) + if(current && current.client && (ROLE_GANG in current.client.prefs.be_special)) text += "|Enabled in Prefs
" else text += "|Disabled in Prefs
" @@ -350,7 +350,7 @@ else text += "loyal|EMPLOYEE|cultist" - if(current && current.client && (BE_CULTIST in current.client.prefs.be_special)) + if(current && current.client && (ROLE_CULTIST in current.client.prefs.be_special)) text += "|Enabled in Prefs" else text += "|Disabled in Prefs" @@ -370,7 +370,7 @@ else text += "yes|NO" - if(current && current.client && (BE_WIZARD in current.client.prefs.be_special)) + if(current && current.client && (ROLE_WIZARD in current.client.prefs.be_special)) text += "|Enabled in Prefs" else text += "|Disabled in Prefs" @@ -394,7 +394,7 @@ // if (istype(changeling) && changeling.changelingdeath) // text += "
All the changelings are dead! Restart in [round((changeling.TIME_TO_GET_REVIVED-(world.time-changeling.changelingdeathtime))/10)] seconds." - if(current && current.client && (BE_CHANGELING in current.client.prefs.be_special)) + if(current && current.client && (ROLE_CHANGELING in current.client.prefs.be_special)) text += "|Enabled in Prefs" else text += "|Disabled in Prefs" @@ -419,7 +419,7 @@ else text += "operative|NANOTRASEN" - if(current && current.client && (BE_OPERATIVE in current.client.prefs.be_special)) + if(current && current.client && (ROLE_OPERATIVE in current.client.prefs.be_special)) text += "|Enabled in Prefs" else text += "|Disabled in Prefs" @@ -438,7 +438,7 @@ else text += "traitor|LOYAL" - if(current && current.client && (BE_TRAITOR in current.client.prefs.be_special)) + if(current && current.client && (ROLE_TRAITOR in current.client.prefs.be_special)) text += "|Enabled in Prefs" else text += "|Disabled in Prefs" @@ -457,7 +457,7 @@ else text += "shadowling|thrall|HUMAN" - if(current && current.client && (BE_SHADOWLING in current.client.prefs.be_special)) + if(current && current.client && (ROLE_SHADOWLING in current.client.prefs.be_special)) text += "|Enabled in Prefs" else text += "|Disabled in Prefs" @@ -476,7 +476,7 @@ else text += "Abductor|human" - if(current && current.client && (BE_ABDUCTOR in current.client.prefs.be_special)) + if(current && current.client && (ROLE_ABDUCTOR in current.client.prefs.be_special)) text += "|Enabled in Prefs" else text += "|Disabled in Prefs" @@ -499,12 +499,12 @@ else text += "red prophet|red follower|EMPLOYEE|blue follower|blue prophet" - if(current && current.client && (BE_HOG_GOD in current.client.prefs.be_special)) + if(current && current.client && (ROLE_HOG_GOD in current.client.prefs.be_special)) text += "|HOG God Enabled in Prefs" else text += "|HOG God Disabled in Prefs" - if(current && current.client && (BE_HOG_CULTIST in current.client.prefs.be_special)) + if(current && current.client && (ROLE_HOG_CULTIST in current.client.prefs.be_special)) text += "|HOG Cultist Enabled in Prefs" else text += "|HOG Disabled in Prefs" @@ -532,7 +532,7 @@ else text += "healthy|infected|human|OTHER" - if(current && current.client && (BE_MONKEY in current.client.prefs.be_special)) + if(current && current.client && (ROLE_MONKEY in current.client.prefs.be_special)) text += "|Enabled in Prefs" else text += "|Disabled in Prefs" @@ -563,7 +563,7 @@ n_e_robots++ text += "
[n_e_robots] of [ai.connected_robots.len] slaved cyborgs are emagged. Unemag" - if(current && current.client && (BE_MALF in current.client.prefs.be_special)) + if(current && current.client && (ROLE_MALF in current.client.prefs.be_special)) text += "|Enabled in Prefs" else text += "|Disabled in Prefs" @@ -1536,6 +1536,8 @@ ticker.mode.blue_deity_followers -= src ticker.mode.blue_deity_prophets -= src + current.faction |= "red god" + current.faction -= "blue god" if(src in ticker.mode.red_deity_prophets) current << "You have lost the connection with your deity, but you still believe in their grand design, You are no longer a prophet!" @@ -1553,6 +1555,8 @@ ticker.mode.red_deity_followers -= src ticker.mode.red_deity_prophets -= src + current.faction -= "red god" + current.faction |= "blue god" if(src in ticker.mode.blue_deity_prophets) current << "You have lost the connection with your deity, but you still believe in their grand design, You are no longer a prophet!" @@ -1579,6 +1583,8 @@ if(src in ticker.mode.blue_deity_followers || src in ticker.mode.blue_deity_prophets) current << "You are no longer a member of the Blue cult!" + current.faction -= "blue god" + current.faction |= "red god" ticker.mode.blue_deity_followers -= src ticker.mode.blue_deity_prophets -= src @@ -1594,6 +1600,8 @@ if(src in ticker.mode.red_deity_followers || src in ticker.mode.red_deity_prophets) current << "You are no longer a member of the Red cult!" + current.faction -= "red god" + current.faction |= "blue god" ticker.mode.red_deity_followers -= src ticker.mode.red_deity_prophets -= src diff --git a/code/game/gamemodes/abduction/abduction.dm b/code/game/gamemodes/abduction/abduction.dm index 1151de4f55f..8b280473a33 100644 --- a/code/game/gamemodes/abduction/abduction.dm +++ b/code/game/gamemodes/abduction/abduction.dm @@ -6,7 +6,7 @@ /datum/game_mode/abduction name = "abduction" config_tag = "abduction" - antag_flag = BE_ABDUCTOR + antag_flag = ROLE_ABDUCTOR recommended_enemies = 2 required_players = 15 var/max_teams = 4 diff --git a/code/game/gamemodes/antag_hud.dm b/code/game/gamemodes/antag_hud.dm index f2294177272..267cafccd31 100644 --- a/code/game/gamemodes/antag_hud.dm +++ b/code/game/gamemodes/antag_hud.dm @@ -1,9 +1,9 @@ /datum/atom_hud/antag hud_icons = list(ANTAG_HUD) -/datum/atom_hud/antag/proc/join_hud(mob/living/M) +/datum/atom_hud/antag/proc/join_hud(mob/M) if(!istype(M)) - CRASH("join_hud(): [M] ([M.type]) is not a living mob!") + CRASH("join_hud(): [M] ([M.type]) is not a mob!") if(M.mind.antag_hud) var/datum/atom_hud/antag/oldhud = M.mind.antag_hud oldhud.leave_hud(M) @@ -11,9 +11,9 @@ add_hud_to(M) M.mind.antag_hud = src -/datum/atom_hud/antag/proc/leave_hud(mob/living/M) +/datum/atom_hud/antag/proc/leave_hud(mob/M) if(!istype(M)) - CRASH("leave_hud(): [M] ([M.type]) is not a living mob!") + CRASH("leave_hud(): [M] ([M.type]) is not a mob!") remove_from_hud(M) remove_hud_from(M) M.mind.antag_hud = null @@ -21,17 +21,18 @@ //GAME_MODE PROCS //called to set a mob's antag icon state -/datum/game_mode/proc/set_antag_hud(mob/living/M, new_icon_state) +/datum/game_mode/proc/set_antag_hud(mob/M, new_icon_state) if(!istype(M)) - CRASH("set_antag_hud(): [M] ([M.type]) is not a living mob!") + CRASH("set_antag_hud(): [M] ([M.type]) is not a mob!") var/image/holder = M.hud_list[ANTAG_HUD] - holder.icon_state = new_icon_state + if(holder) + holder.icon_state = new_icon_state M.mind.antag_hud_icon_state = new_icon_state //MIND PROCS //this is called by mind.transfer_to() -/datum/mind/proc/transfer_antag_huds(mob/living/M) +/datum/mind/proc/transfer_antag_huds(mob/M) for(var/datum/atom_hud/antag/hud in huds) if(M in hud.hudusers) hud.leave_hud(M) diff --git a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm index 99541008be4..066ecb1706e 100644 --- a/code/game/gamemodes/antag_spawner.dm +++ b/code/game/gamemodes/antag_spawner.dm @@ -53,7 +53,7 @@ if (used) H << "You already used this contract!" return - var/list/candidates = get_candidates(BE_WIZARD) + var/list/candidates = get_candidates(ROLE_WIZARD) if(candidates.len) src.used = 1 var/client/C = pick(candidates) @@ -135,7 +135,7 @@ borg_to_spawn = input("What type?", "Cyborg Type", type) as null|anything in possible_types if(!borg_to_spawn) return - var/list/borg_candicates = get_candidates(BE_OPERATIVE) + var/list/borg_candicates = get_candidates(ROLE_OPERATIVE) if(borg_candicates.len > 0) used = 1 var/client/C = pick(borg_candicates) @@ -171,7 +171,7 @@ /obj/item/weapon/antag_spawner/slaughter_demon/attack_self(mob/user) - var/list/demon_candidates = get_candidates(BE_ALIEN) + var/list/demon_candidates = get_candidates(ROLE_ALIEN) if(user.z != 1) user << "You should probably wait until you reach the station." return diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index 8f468a7abb9..adb43dff46a 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -9,7 +9,7 @@ var/list/blob_nodes = list() /datum/game_mode/blob name = "blob" config_tag = "blob" - antag_flag = BE_BLOB + antag_flag = ROLE_BLOB required_players = 30 required_enemies = 1 @@ -53,7 +53,7 @@ var/list/blob_nodes = list() /datum/game_mode/blob/proc/get_blob_candidates() var/list/candidates = list() for(var/mob/living/carbon/human/player in player_list) - if(!player.stat && player.mind && !player.mind.special_role && !jobban_isbanned(player, "Syndicate") && (BE_BLOB in player.client.prefs.be_special)) + if(!player.stat && player.mind && !player.mind.special_role && !jobban_isbanned(player, "Syndicate") && (ROLE_BLOB in player.client.prefs.be_special)) if(age_check(player.client)) candidates += player return candidates diff --git a/code/game/gamemodes/blob/blobs/core.dm b/code/game/gamemodes/blob/blobs/core.dm index b4abfdc9e57..e7647a048b0 100644 --- a/code/game/gamemodes/blob/blobs/core.dm +++ b/code/game/gamemodes/blob/blobs/core.dm @@ -98,7 +98,7 @@ var/list/candidates = list() if(!new_overmind) - candidates = get_candidates(BE_BLOB) + candidates = get_candidates(ROLE_BLOB) if(candidates.len) C = pick(candidates) else diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index 1f845c99e96..f1101aa26fb 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -15,7 +15,7 @@ var/list/slot2type = list("head" = /obj/item/clothing/head/changeling, "wear_mas /datum/game_mode/changeling name = "changeling" config_tag = "changeling" - antag_flag = BE_CHANGELING + antag_flag = ROLE_CHANGELING restricted_jobs = list("AI", "Cyborg") protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain") required_players = 15 @@ -105,8 +105,8 @@ var/list/slot2type = list("head" = /obj/item/clothing/head/changeling, "wear_mas if(ticker.mode.changelings.len >= changelingcap) //Caps number of latejoin antagonists return if(ticker.mode.changelings.len <= (changelingcap - 2) || prob(100 - (config.changeling_scaling_coeff*2))) - if(BE_CHANGELING in character.client.prefs.be_special) - if(!jobban_isbanned(character.client, "changeling") && !jobban_isbanned(character.client, "Syndicate")) + if(ROLE_CHANGELING in character.client.prefs.be_special) + if(!jobban_isbanned(character.client, ROLE_CHANGELING) && !jobban_isbanned(character.client, "Syndicate")) if(age_check(character.client)) if(!(character.job in restricted_jobs)) character.mind.make_Changling() diff --git a/code/game/gamemodes/changeling/traitor_chan.dm b/code/game/gamemodes/changeling/traitor_chan.dm index 99d4b8bef22..2d906e37ed0 100644 --- a/code/game/gamemodes/changeling/traitor_chan.dm +++ b/code/game/gamemodes/changeling/traitor_chan.dm @@ -18,7 +18,7 @@ /datum/game_mode/traitor/changeling/can_start() if(!..()) return 0 - possible_changelings = get_players_for_role(BE_CHANGELING) + possible_changelings = get_players_for_role(ROLE_CHANGELING) if(possible_changelings.len < required_enemies) return 0 return 1 @@ -30,7 +30,7 @@ if(config.protect_assistant_from_antagonist) restricted_jobs += "Assistant" - var/list/datum/mind/possible_changelings = get_players_for_role(BE_CHANGELING) + var/list/datum/mind/possible_changelings = get_players_for_role(ROLE_CHANGELING) var/num_changelings = 1 @@ -66,8 +66,8 @@ ..() return if(ticker.mode.changelings.len <= (changelingcap - 2) || prob(100 / (config.changeling_scaling_coeff * 4))) - if(BE_CHANGELING in character.client.prefs.be_special) - if(!jobban_isbanned(character.client, "changeling") && !jobban_isbanned(character.client, "Syndicate")) + if(ROLE_CHANGELING in character.client.prefs.be_special) + if(!jobban_isbanned(character.client, ROLE_CHANGELING) && !jobban_isbanned(character.client, "Syndicate")) if(age_check(character.client)) if(!(character.job in restricted_jobs)) character.mind.make_Changling() diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index eb56a644fb6..9d30823d8c0 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -50,7 +50,7 @@ /datum/game_mode/cult name = "cult" config_tag = "cult" - antag_flag = BE_CULTIST + antag_flag = ROLE_CULTIST restricted_jobs = list("Chaplain","AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel") protected_jobs = list() required_players = 20 diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 33da424db36..a6ebfca59f4 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -292,21 +292,6 @@ var/list/drafted = list() var/datum/mind/applicant = null - var/roletext - switch(role) - if(BE_CHANGELING) roletext="changeling" - if(BE_TRAITOR) roletext="traitor" - if(BE_OPERATIVE) roletext="operative" - if(BE_WIZARD) roletext="wizard" - if(BE_REV) roletext="revolutionary" - if(BE_GANG) roletext="gangster" - if(BE_CULTIST) roletext="cultist" - if(BE_MONKEY) roletext="monkey" - if(BE_ABDUCTOR) roletext="abductor" - if(BE_HOG_GOD) roletext="hand of god, god" - if(BE_HOG_CULTIST) roletext="hand of god, cultist" - - // Ultimate randomizing code right here for(var/mob/new_player/player in player_list) if(player.client && player.ready) @@ -319,7 +304,7 @@ for(var/mob/new_player/player in players) if(player.client && player.ready) if(role in player.client.prefs.be_special) - if(!jobban_isbanned(player, "Syndicate") && !jobban_isbanned(player, roletext)) //Nodrak/Carn: Antag Job-bans + if(!jobban_isbanned(player, "Syndicate") && !jobban_isbanned(player, role)) //Nodrak/Carn: Antag Job-bans if(age_check(player.client)) //Must be older than the minimum age candidates += player.mind // Get a list of all the people who want to be the antagonist for this round @@ -333,7 +318,7 @@ for(var/mob/new_player/player in players) if(player.client && player.ready) if(!(role in player.client.prefs.be_special)) // We don't have enough people who want to be antagonist, make a seperate list of people who don't want to be one - if(!jobban_isbanned(player, "Syndicate") && !jobban_isbanned(player, roletext)) //Nodrak/Carn: Antag Job-bans + if(!jobban_isbanned(player, "Syndicate") && !jobban_isbanned(player, role)) //Nodrak/Carn: Antag Job-bans drafted += player.mind if(restricted_jobs) diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm index c641b5f6392..ac06d76921c 100644 --- a/code/game/gamemodes/gang/gang.dm +++ b/code/game/gamemodes/gang/gang.dm @@ -12,7 +12,7 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple" /datum/game_mode/gang name = "gang war" config_tag = "gang" - antag_flag = BE_GANG + antag_flag = ROLE_GANG restricted_jobs = list("Security Officer", "Warden", "Detective", "AI", "Cyborg","Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer") required_players = 20 required_enemies = 2 diff --git a/code/game/gamemodes/handofgod/_handofgod.dm b/code/game/gamemodes/handofgod/_handofgod.dm index f80448f5586..b0d6609c268 100644 --- a/code/game/gamemodes/handofgod/_handofgod.dm +++ b/code/game/gamemodes/handofgod/_handofgod.dm @@ -1,7 +1,6 @@ var/global/list/global_handofgod_traptypes = list() var/global/list/global_handofgod_structuretypes = list() -var/global/list/global_handofgod_itemtypes = list() /datum/game_mode @@ -21,18 +20,12 @@ var/global/list/global_handofgod_itemtypes = list() /datum/game_mode/hand_of_god name = "hand of god" config_tag = "handofgod" - antag_flag = BE_HOG_CULTIST //Followers use BE_HOG_CULTIST, Gods are picked later on with BE_HOG_GOD - - required_players = 1 //20-25+ - required_enemies = 0 //This MUST be an even number to function properly. This number counts - //all enemy players involved, as in both teams combined. Recommended: 8 - //If you want to test something by yourself, set to zero. Note that you will produce one unavoidable - //runtime due to an empty list being pick()'d. - - recommended_enemies = 2 + antag_flag = ROLE_HOG_CULTIST //Followers use ROLE_HOG_CULTIST, Gods are picked later on with ROLE_HOG_GOD + required_players = 25 + required_enemies = 8 + recommended_enemies = 8 restricted_jobs = list("Chaplain","AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel") - var/finished = 0 /datum/game_mode/hand_of_god/announce() @@ -85,29 +78,32 @@ var/global/list/global_handofgod_itemtypes = list() /datum/game_mode/hand_of_god/post_setup() //Find viable red god - var/list/red_god_possibilities = get_players_for_role(BE_HOG_GOD) + var/list/red_god_possibilities = get_players_for_role(ROLE_HOG_GOD) red_god_possibilities &= red_deity_followers //followers only if(!red_god_possibilities.len) //No candidates? just pick any follower regardless of prefs red_god_possibilities = red_deity_followers //Make red god var/datum/mind/red_god = pick_n_take(red_god_possibilities) - red_god.current.become_god("red") - ticker.mode.forge_deity_objectives(red_god) - remove_hog_follower(red_god,0) - add_god(red_god,"red") + if(red_god) + red_god.current.become_god("red") + ticker.mode.forge_deity_objectives(red_god) + remove_hog_follower(red_god,0) + add_god(red_god,"red") //Find viable blue god - var/list/blue_god_possibilities = get_players_for_role(BE_HOG_GOD) + var/list/blue_god_possibilities = get_players_for_role(ROLE_HOG_GOD) blue_god_possibilities &= blue_deity_followers //followers only if(!blue_god_possibilities.len) //No candidates? just pick any follower regardless of prefs blue_god_possibilities = blue_deity_followers + //Make blue god var/datum/mind/blue_god = pick_n_take(blue_god_possibilities) - blue_god.current.become_god("blue") - ticker.mode.forge_deity_objectives(blue_god) - remove_hog_follower(blue_god,0) - add_god(blue_god,"blue") + if(blue_god) + blue_god.current.become_god("blue") + ticker.mode.forge_deity_objectives(blue_god) + remove_hog_follower(blue_god,0) + add_god(blue_god,"blue") /////////////////// @@ -145,7 +141,7 @@ var/global/list/global_handofgod_itemtypes = list() deity.objectives += build build.gen_amount_goal(8, 16) - var/datum/objective/sacrifice_prophet/sacrifice + var/datum/objective/sacrifice_prophet/sacrifice = new sacrifice.owner = deity deity.objectives += sacrifice @@ -194,6 +190,8 @@ var/global/list/global_handofgod_itemtypes = list() if(colour == "blue") blue_deity_followers += follower_mind + H.faction |= "[colour] god" + update_hog_icons_added(follower_mind, colour) follower_mind.special_role = "Hand of God: [capitalize(colour)] Follower" follower_mind.current.attack_log += "\[[time_stamp()]\] Has been converted to the [colour] follower cult!" @@ -218,6 +216,11 @@ var/global/list/global_handofgod_itemtypes = list() update_hog_icons_removed(follower_mind,"red") update_hog_icons_removed(follower_mind,"blue") + if(follower_mind.current) + var/mob/living/carbon/human/H = follower_mind.current + H.faction -= "red god" + H.faction -= "blue god" + if(announce) follower_mind.current.attack_log += "\[[time_stamp()]\] Has been deconverted from a deity's cult!" follower_mind.current << "Your mind has been cleared from the brainwashing the followers have done to you. Now you serve yourself and the crew." @@ -296,7 +299,6 @@ var/global/list/global_handofgod_itemtypes = list() var/mob/living/carbon/human/H = A if(!H.mind) return 0 - if(side == "red") if(H.mind in ticker.mode.red_deity_prophets) return 1 @@ -305,12 +307,13 @@ var/global/list/global_handofgod_itemtypes = list() return 1 + ////////////////////// //Roundend Reporting// ////////////////////// -/datum/game_mode/proc/declare_completion_handofgod() +/datum/game_mode/hand_of_god/declare_completion() if(red_deities.len) var/text = "
The red cult:" for(var/datum/mind/red_god in red_deities) @@ -422,15 +425,15 @@ var/global/list/global_handofgod_itemtypes = list() var/rank = 0 if(side == "red") hud_key = ANTAG_HUD_HOG_RED - if(is_handofgod_redprophet(hog_mind)) + if(is_handofgod_redprophet(hog_mind.current)) rank = 1 else if(side == "blue") hud_key = ANTAG_HUD_HOG_BLUE - if(is_handofgod_blueprophet(hog_mind)) + if(is_handofgod_blueprophet(hog_mind.current)) rank = 1 - if(is_handofgod_god(hog_mind)) + if(is_handofgod_god(hog_mind.current)) rank = 2 if(hud_key) diff --git a/code/game/gamemodes/handofgod/god.dm b/code/game/gamemodes/handofgod/god.dm index 31d39ea8bfe..c6505654a6e 100644 --- a/code/game/gamemodes/handofgod/god.dm +++ b/code/game/gamemodes/handofgod/god.dm @@ -8,25 +8,31 @@ see_in_dark = 0 sight = SEE_TURFS | SEE_MOBS | SEE_OBJS | SEE_SELF languages = HUMAN | MONKEY | ALIEN | ROBOT | SLIME | DRONE | SWARMER + hud_possible = list(ANTAG_HUD) - var/faith = 0 + var/faith = 100 //For initial prophet appointing/stupid purchase var/max_faith = 100 var/side = "neutral" //Red or Blue for the gamemode var/obj/structure/divine/nexus/god_nexus = null //The source of the god's power in this realm, kill it and the god is kill var/nexus_required = FALSE //If the god dies from losing it's nexus, defaults to off so that gods don't instantly die at roundstart var/followers_required = 0 //Same as above var/alive_followers = 0 - var/mob/living/carbon/human/prophet = null //The prophet of this god var/list/structures = list() var/prophets_sacrificed_in_name = 0 -/mob/camera/god/New(loc, newName, side = "neutral") +/mob/camera/god/New() ..() - real_name = newName - name = real_name - side = side update_icons() + build_hog_construction_lists() + + //Force nexuses after 2 minutes in hand of god mode + if(ticker && ticker.mode && ticker.mode.name == "hand of god") + spawn(1200) + if(src) + if(!god_nexus) + place_nexus() + src << "You failed to place your nexus, and it has been placed for you!" /mob/camera/god/update_icons() @@ -47,10 +53,10 @@ sync_mind() src << "You are a deity!" src << "You are a deity and are worshipped by a cult! You are rather weak right now, but that will change as you gain more followers." - src << "You will need to place an anchor to this world, a Nexus, in two minutes. If you don't, one will be placed for you randomly." - src << "Your Follower count determines how many people believe in you and are a part of your cult. If this drops to zero, you will die." - src << "Your Nexus Integrity tells you the condition of your nexus. If your nexus is destroyed, you die as well, but your powers are amplified when near it." - src << "Your Faith is used to interact with the world. This will regenerate on it's own, and it goes faster when you have more followers." + src << "You will need to place an anchor to this world, a Nexus, in two minutes. If you don't, one will be placed immediately below you." + src << "Your Follower count determines how many people believe in you and are a part of your cult." + src << "Your Nexus Integrity tells you the condition of your nexus. If your nexus is destroyed, you will die." + src << "Your Faith is used to interact with the world. This will regenerate on it's own, and it goes faster when you have more followers and power pylons." src << "The first thing you should do after placing your nexus is to appoint a prophet. Only prophets can hear you talk, unless you use an expensive power." update_health_hud() @@ -62,11 +68,26 @@ /mob/camera/god/proc/add_faith(faith_amt) if(faith_amt) - faith = Clamp(faith+faith_amt, 0, max_faith) + faith = round(Clamp(faith+faith_amt, 0, max_faith)) if(hud_used && hud_used.deity_power_display) hud_used.deity_power_display.maptext = "
[faith]
" + +/mob/camera/god/proc/place_nexus() + if(god_nexus) + return 0 + + var/obj/structure/divine/nexus/N = new(get_turf(src)) + N.assign_deity(src) + god_nexus = N + nexus_required = TRUE + verbs -= /mob/camera/god/verb/constructnexus + //verbs += /mob/camera/god/verb/movenexus //Translocators have no sprite + update_health_hud() + + + /mob/camera/god/proc/update_followers() alive_followers = 0 var/list/all_followers diff --git a/code/game/gamemodes/handofgod/items.dm b/code/game/gamemodes/handofgod/items.dm index 017e0486edd..d1a957f2058 100644 --- a/code/game/gamemodes/handofgod/items.dm +++ b/code/game/gamemodes/handofgod/items.dm @@ -6,6 +6,33 @@ icon_state = "banner" item_state = "banner" desc = "A banner with Nanotrasen's logo on it." + var/moralecooldown = 0 + var/moralewait = 600 + + +/obj/item/weapon/banner/attack_self(mob/living/carbon/human/user) + if(moralecooldown + moralewait > world.time) + return + var/side = "" + if(is_handofgod_redcultist(user)) + side = "red" + else if (is_handofgod_bluecultist(user)) + side = "blue" + + if(!side) + return + user << "You increase the morale of your fellows!" + moralecooldown = world.time + + for(var/mob/living/carbon/human/H in range(4,get_turf(src))) + if((side == "red") && is_handofgod_redcultist(H) || (side == "blue") && is_handofgod_bluecultist(H)) + H << "Your morale is increased by [user]'s banner!" + H.adjustBruteLoss(-15) + H.adjustFireLoss(-15) + H.AdjustStunned(-2) + H.AdjustWeakened(-2) + H.AdjustParalysis(-2) + /obj/item/weapon/banner/red name = "red banner" @@ -16,15 +43,15 @@ /obj/item/weapon/banner/red/examine() ..() if(is_handofgod_redcultist(usr)) - usr << "A banner representing our might against the heretics." + usr << "A banner representing our might against the heretics. We may use it to increase the morale of our fellow members!" else if(is_handofgod_bluecultist(usr)) usr << "A heretical banner that should be destroyed posthaste." /obj/item/weapon/banner/blue - name = "red banner" - icon_state = "banner-red" - item_state = "banner-red" + name = "blue banner" + icon_state = "banner-blue" + item_state = "banner-blue" desc = "A banner with the logo of the blue deity" /obj/item/weapon/banner/blue/examine() @@ -33,7 +60,7 @@ if(is_handofgod_redcultist(usr)) usr << "A heretical banner that should be destroyed posthaste." else if(is_handofgod_bluecultist(usr)) - usr << "A banner representing our might against the heretics." + usr << "A banner representing our might against the heretics. We may use it to increase the morale of our fellow members!" /obj/item/weapon/storage/backpack/bannerpack @@ -58,7 +85,7 @@ //this is all part of one item set /obj/item/clothing/suit/armor/plate/crusader - name = "Crusader's Armor" + name = "Crusader's Armour" icon_state = "crusader" w_class = 4 //bulky slowdown = 2.0 //gotta pretend we're balanced. @@ -73,9 +100,9 @@ /obj/item/clothing/suit/armor/plate/crusader/examine(mob/user) ..() if(!is_handofgod_cultist(user)) - usr << "Armor that's comprised of metal and cloth." + usr << "Armour that's comprised of metal and cloth." else - usr << "Armor that was used to protect from backstabs, gunshots, explosives, and lasers. The original wearers of this type of armor were trying to avoid being murdered. Since they're not around anymore, you're not sure if they were successful or not." + usr << "Armour that was used to protect from backstabs, gunshots, explosives, and lasers. The original wearers of this type of armour were trying to avoid being murdered. Since they're not around anymore, you're not sure if they were successful or not." /obj/item/clothing/head/helmet/plate/crusader @@ -154,8 +181,8 @@ /obj/item/weapon/storage/box/itemset/crusader - name = "Crusader's Armor Set" //i can't into ck2 references - desc = "This armor is said to be based on the armor of kings on another world thousands of years ago, who tended to assassinate, conspire, and plot against everyone who tried to do the same to them. Some things never change." + name = "Crusader's Armour Set" //i can't into ck2 references + desc = "This armour is said to be based on the armor of kings on another world thousands of years ago, who tended to assassinate, conspire, and plot against everyone who tried to do the same to them. Some things never change." /obj/item/weapon/storage/box/itemset/crusader/blue/New() diff --git a/code/game/gamemodes/handofgod/objectives.dm b/code/game/gamemodes/handofgod/objectives.dm index dc66cad6c44..2d5585ca372 100644 --- a/code/game/gamemodes/handofgod/objectives.dm +++ b/code/game/gamemodes/handofgod/objectives.dm @@ -29,9 +29,10 @@ martyr_compatible = 1 /datum/objective/deicide/check_completion() - if(target && target.current && target.current.stat == DEAD) - return 1 - return 0 + if(target) + if(target.current) //Gods are deleted when they lose + return 0 + return 1 /datum/objective/deicide/find_target() diff --git a/code/game/gamemodes/handofgod/powers.dm b/code/game/gamemodes/handofgod/powers.dm index ff32219d909..241b3094872 100644 --- a/code/game/gamemodes/handofgod/powers.dm +++ b/code/game/gamemodes/handofgod/powers.dm @@ -1,18 +1,43 @@ /mob/camera/god/proc/ability_cost(cost = 0,structures = 0, requires_conduit = 0) - if(cost && faith < cost) + if(faith < cost) + src << "You lack the faith!" return 0 - if(structures && !(isturf(loc) || istype(loc, /turf/space))) - src << "Your structure would just float away, you need stable ground!" - return 0 - if(structures && (locate(/obj/structure) in get_turf(src))) - src << "There is another structure here, Select an empty spot." + + if(structures) + if(!isturf(loc) || istype(loc, /turf/space)) + src << "Your structure would just float away, you need stable ground!" + return 0 + + var/turf/T = get_turf(src) + if(T) + if(T.density) + src << "There is something blocking your structure!" + return 0 + + for(var/atom/movable/AM in T) + if(AM == src) + continue + if(AM.density) + src << "There is something blocking your structure!" + return 0 if(requires_conduit) //Organised this way as there can be multiple conduits, so it's more likely to be a conduit check. - if(!locate(/obj/structure/divine/conduit) in range(src,15)) - if(!locate(/obj/structure/divine/nexus) in range(src, 15)) - return 0 + var/valid = 0 + for(var/obj/structure/divine/conduit/C in range(src,15)) + if(C.side == side) + valid++ + break + + if(!valid) + for(var/obj/structure/divine/nexus/N in range(src,15)) + if(N.side == side) + valid++ + break + if(!valid) + src << "You must be near your Nexus or a Conduit to do this!" + return 0 return 1 @@ -34,9 +59,9 @@ set desc = "Teleports you to one of your followers." var/list/following = list() if(side == "red") - following = ticker.mode.red_deity_followers + following = ticker.mode.red_deity_followers|ticker.mode.red_deity_prophets else if(side == "blue") - following = ticker.mode.blue_deity_followers + following = ticker.mode.blue_deity_followers|ticker.mode.blue_deity_prophets else src << "You are unaligned, and thus do not have followers" return @@ -54,16 +79,19 @@ var/list/following = list() if(!ability_cost(100)) - src << "You lack the faith to make a prophet." return if(side == "red") - if(ticker.mode.red_deity_prophets.len) + var/datum/mind/old_proph = locate() in ticker.mode.red_deity_prophets + if(old_proph && old_proph.current && old_proph.current.stat != DEAD) src << "You can only have one prophet alive at a time." + return else following = ticker.mode.red_deity_followers else if(side == "blue") - if(ticker.mode.blue_deity_prophets.len) + var/datum/mind/old_proph = locate() in ticker.mode.blue_deity_prophets + if(old_proph && old_proph.current && old_proph.current.stat != DEAD) src << "You can only have one prophet alive at a time." + return else following = ticker.mode.blue_deity_followers @@ -83,7 +111,6 @@ set name = "Talk to Anyone (20)" set desc = "Allows you to send a message to anyone, regardless of their faith." if(!ability_cost(20)) - src << "You lack the faith to convene with others." return var/mob/choice = input("Choose who you wish to talk to", "Talk to ANYONE") as null|anything in mob_list if(choice) @@ -100,7 +127,6 @@ set desc = "Hits anything under you with a moderate amount of damage." if(!ability_cost(40,0,1)) - src << "You lack the faith to smite others." return if(!range(7,god_nexus)) src << "You lack the strength to smite this far from your nexus." @@ -120,7 +146,6 @@ set desc = "Knocks out the mortal below you for a brief amount of time." if(!ability_cost(20,0,1)) - src << "You lack the faith to lull mortals to sleep." return for(var/mob/living/L in get_turf(src)) @@ -136,7 +161,6 @@ set desc = "Tug at the fibres of reality itself and bend it to your whims!" if(!ability_cost(300,0,1)) - src << "You lack the faith to bend reality." return var/event = pick(/datum/round_event/meteor_wave, /datum/round_event/communications_blackout, /datum/round_event/radiation_storm, /datum/round_event/carp_migration, @@ -151,15 +175,10 @@ set name = "Construct Nexus" set desc = "Instantly creates your nexus, You can only do this once, make sure you're happy with it!" - if(ability_cost(0,1,0)) - var/obj/structure/divine/nexus/N = new(get_turf(src)) - N.deity = src - N.side = side - god_nexus = N - nexus_required = TRUE - verbs -= /mob/camera/god/verb/constructnexus - //verbs += /mob/camera/god/verb/movenexus //Translocators have no sprite - update_health_hud() + if(!ability_cost(0,1,0) || z != 1) + return + + place_nexus() /* //Transolocators have no sprite @@ -195,21 +214,23 @@ set name = "Construct Structure (75)" set desc = "Create the foundation of a divine object." - if(ability_cost(75,1,1)) - var/construct = input("Choose what you wish to create.", "Divine Construction") as null|anything in global_handofgod_structuretypes - if(!construct || !global_handofgod_structuretypes[construct] || !ability_cost(75,1,1)) //check again, they might try to cheat the input window. - return - var/obj/structure/divine/construct_type = global_handofgod_structuretypes[construct] //it's a path but we need to initial() some vars - if(!construct_type) - return + if(!ability_cost(75,1,1)) + return - src << "You lay the foundations for \a [construct], your followers must finish the construction using metal and glass." - add_faith(-75) + var/construct = input("Choose what you wish to create.", "Divine Construction") as null|anything in global_handofgod_structuretypes + if(!construct || !global_handofgod_structuretypes[construct] || !ability_cost(75,1,1)) //check again, they might try to cheat the input window. + return - var/obj/structure/divine/construction_holder/CH = new(get_turf(src)) - CH.assign_deity(src) - CH.setup_construction(construct_type) - CH.visible_message("[src] has created a transparent, unfinished [construct]. It can be finished by adding materials.") + var/obj/structure/divine/construct_type = global_handofgod_structuretypes[construct] //it's a path but we need to initial() some vars + if(!construct_type) + return + + add_faith(-75) + + var/obj/structure/divine/construction_holder/CH = new(get_turf(src)) + CH.assign_deity(src) + CH.setup_construction(construct_type) + CH.visible_message("[src] has created a transparent, unfinished [construct]. It can be finished by adding materials.") /mob/camera/god/verb/construct_traps() @@ -217,16 +238,18 @@ set name = "Construct Trap (20)" set desc = "Creates a ward or trap." - if(ability_cost(20,1,1)) - var/trap = input("Choose what you wish to create.", "Divine Traps") as null|anything in global_handofgod_traptypes - if(!trap || !global_handofgod_traptypes[trap] || !ability_cost(20,1,1)) - return + if(!ability_cost(20,1,1)) + return - src << "You lay \a [trap]." - add_faith(-20) + var/trap = input("Choose what you wish to create.", "Divine Traps") as null|anything in global_handofgod_traptypes + if(!trap || !global_handofgod_traptypes[trap] || !ability_cost(20,1,1)) + return - var/traptype = global_handofgod_traptypes[trap] - new traptype (get_turf(src)) + src << "You lay \a [trap]." + add_faith(-20) + + var/traptype = global_handofgod_traptypes[trap] + new traptype (get_turf(src)) @@ -236,25 +259,27 @@ set name = "Construct Items (20)" set desc = "Construct some items for your followers" - if(ability_cost(20,1,1)) - var/list/item_types = list() - if(side == "red") - item_types["red banner"] = /obj/item/weapon/banner/red - item_types["red bannerbackpack"] = /obj/item/weapon/storage/backpack/bannerpack/red - item_types["red armour"] = /obj/item/weapon/storage/box/itemset/crusader/red + if(!ability_cost(20,1,1)) + return - else if(side == "blue") - item_types["blue banner"] = /obj/item/weapon/banner/blue - item_types["blue bannerbackpack"] = /obj/item/weapon/storage/backpack/bannerpack/blue - item_types["blue armour"] = /obj/item/weapon/storage/box/itemset/crusader/blue + var/list/item_types = list("claymore sword" = /obj/item/weapon/claymore) + if(side == "red") + item_types["red banner"] = /obj/item/weapon/banner/red + item_types["red bannerbackpack"] = /obj/item/weapon/storage/backpack/bannerpack/red + item_types["red armour"] = /obj/item/weapon/storage/box/itemset/crusader/red + + else if(side == "blue") + item_types["blue banner"] = /obj/item/weapon/banner/blue + item_types["blue bannerbackpack"] = /obj/item/weapon/storage/backpack/bannerpack/blue + item_types["blue armour"] = /obj/item/weapon/storage/box/itemset/crusader/blue - var/item = input("Choose what you wish to create.", "Divine Items") as null|anything in item_types - if(!item || !global_handofgod_itemtypes[item] || !ability_cost(20,1,1)) - return + var/item = input("Choose what you wish to create.", "Divine Items") as null|anything in item_types + if(!item || !item_types[item] || !ability_cost(20,1,1)) + return - src << "You produce \a [item]" - add_faith(-20) + src << "You produce \a [item]" + add_faith(-20) - var/itemtype = global_handofgod_itemtypes[item] - new itemtype (get_turf(src)) + var/itemtype = item_types[item] + new itemtype (get_turf(src)) diff --git a/code/game/gamemodes/handofgod/structures.dm b/code/game/gamemodes/handofgod/structures.dm index 7197b4a8082..4d435b55098 100644 --- a/code/game/gamemodes/handofgod/structures.dm +++ b/code/game/gamemodes/handofgod/structures.dm @@ -1,10 +1,24 @@ +/proc/build_hog_construction_lists() + if(global_handofgod_traptypes.len && global_handofgod_structuretypes.len) + return + + var/list/types = typesof(/obj/structure/divine) - /obj/structure/divine - /obj/structure/divine/trap + for(var/T in types) + var/obj/structure/divine/D = T + if(initial(D.constructable)) + if(initial(D.trap)) + global_handofgod_traptypes[initial(D.name)] = T + else + global_handofgod_structuretypes[initial(D.name)] = T + /obj/structure/divine name = "divine construction site" icon = 'icons/obj/hand_of_god_structures.dmi' desc = "An unfinished divine building" anchored = 1 density = 1 + var/constructable = TRUE var/trap = FALSE var/metal_cost = 0 var/glass_cost = 0 @@ -18,12 +32,6 @@ /obj/structure/divine/New() ..() - if(!trap) - if(!global_handofgod_structuretypes[name]) - global_handofgod_structuretypes[name] = type - else - if(!global_handofgod_traptypes[name]) - global_handofgod_traptypes[name] = type /obj/structure/divine/proc/update_icons() @@ -48,7 +56,7 @@ return 0 playsound(get_turf(src), I.hitsound, 50, 1) - visible_message("\The [src] has been attack with \the [I][(user ? " by [user]/" : ".")]!") + visible_message("\The [src] has been attack with \the [I][(user ? " by [user]" : ".")]!") health = max(0, health-I.force) healthcheck() @@ -77,20 +85,29 @@ /obj/structure/divine/proc/assign_deity(mob/camera/god/new_deity, alert_old_deity = TRUE) if(!new_deity) return 0 - if(deity && alert_old_deity) - deity << "Your [name] was captured by [new_deity]'s cult!" - deity.structures -= src + if(deity) + if(alert_old_deity) + deity << "Your [name] was captured by [new_deity]'s cult!" + deity.structures -= src deity = new_deity deity.structures |= src side = deity.side update_icons() + return 1 /obj/structure/divine/construction_holder alpha = 125 + constructable = FALSE var/obj/structure/divine/construction_result = /obj/structure/divine //a path, but typed to /obj/structure/divine for initial() + +/obj/structure/divine/construction_holder/assign_deity(mob/camera/god/new_deity, alert_old_deity = TRUE) + if(..()) + color = side + + /obj/structure/divine/construction_holder/proc/setup_construction(construct_type) if(ispath(construct_type)) construction_result = construct_type @@ -161,7 +178,8 @@ /obj/structure/divine/construction_holder/proc/check_completion() if(!metal_cost && !glass_cost && !lesser_gem_cost && !greater_gem_cost) visible_message("\The [initial(construction_result.name)] is complete!") - new construction_result (get_turf(src)) + var/obj/structure/divine/D = new construction_result (get_turf(src)) + D.assign_deity(deity) qdel(src) @@ -169,7 +187,7 @@ ..() if(metal_cost || glass_cost || lesser_gem_cost || greater_gem_cost) - user << "To finish construction it requires the following materials:
" + user << "To finish construction it requires the following materials:" if(metal_cost) user << "[metal_cost] metal " if(glass_cost) @@ -186,6 +204,7 @@ icon_state = "nexus" health = 500 maxhealth = 500 + constructable = FALSE var/faith_regen_rate = 1 var/list/powerpylons = list() @@ -199,7 +218,7 @@ deity.update_health_hud() if(!health) - if(deity && deity.nexus_required) + if(!qdeleted(deity) && deity.nexus_required) deity << "Your nexus was destroyed. You feel yourself fading..." qdel(deity) visible_message("\The [src] was destroyed!") @@ -214,6 +233,7 @@ if(deity) deity.update_followers() deity.add_faith(faith_regen_rate + (powerpylons.len / 5) + (deity.alive_followers / 3)) + deity.max_faith = initial(deity.max_faith) + (deity.alive_followers*10) //10 followers = 100 max faith, so disaster() at around 20 followers /obj/structure/divine/nexus/Destroy() @@ -231,6 +251,7 @@ glass_cost = 10 +/* //No good sprites, and not enough items to make it viable yet /obj/structure/divine/forge name = "forge" desc = "A forge fueled by divine might, it allows the creation of sacred and powerful artifacts. It requires common materials to craft objects." @@ -240,7 +261,7 @@ density = 0 maxhealth = 250 metal_cost = 40 - +*/ /obj/structure/divine/convertaltar name = "conversion taltar" @@ -248,9 +269,11 @@ icon_state = "convertaltar" density = 0 metal_cost = 20 + can_buckle = 1 /obj/structure/divine/convertaltar/attack_hand(mob/living/user) + ..() var/mob/living/carbon/human/H = locate() in get_turf(src) if(!is_handofgod_cultist(user)) user << "You try to use it, but unfortunately you don't know any rituals." @@ -274,9 +297,11 @@ icon_state = "sacrificealtar" density = 0 metal_cost = 30 + can_buckle = 1 /obj/structure/divine/sacrificealtar/attack_hand(mob/living/user) + ..() var/mob/living/L = locate() in get_turf(src) if(!is_handofgod_cultist(user)) user << "You try to use it, but unfortunately you don't know any rituals." @@ -329,7 +354,7 @@ /obj/structure/divine/healingfountain name = "healing fountain" desc = "A fountain containing the waters of life... or death, depending on where your allegiances lie" - icon_state = "puddle" + icon_state = "fountain" metal_cost = 15 glass_cost = 10 autocolours = FALSE @@ -349,13 +374,16 @@ user << "The water feels warm ans soothing as you touch it. The fountain immediately dries up shortly afterwards." user.reagents.add_reagent("doctorsdelight",20) update_icons() + spawn(time_between_uses) + if(src) + update_icons() /obj/structure/divine/healingfountain/update_icons() if(last_process + time_between_uses > world.time) icon_state = "fountain-dry" else - icon_state = "fountain" + icon_state = "fountain-[side]" /obj/structure/divine/powerpylon @@ -405,7 +433,7 @@ /obj/structure/divine/defensepylon/assign_deity(mob/camera/god/new_deity, alert_old_deity = TRUE) if(..() && pylon_gun) - pylon_gun.faction = side + pylon_gun.faction = "[side] god" pylon_gun.side = side diff --git a/code/game/gamemodes/handofgod/traps.dm b/code/game/gamemodes/handofgod/traps.dm index a2eef75831e..18022cf350e 100644 --- a/code/game/gamemodes/handofgod/traps.dm +++ b/code/game/gamemodes/handofgod/traps.dm @@ -22,9 +22,7 @@ last_trigger = world.time alpha = 200 trap_effect(L) - spawn(time_between_triggers) - if(src) - alpha = 30 + animate(src, alpha = 30, time = time_between_triggers) /obj/structure/divine/trap/examine(mob/user) @@ -33,9 +31,7 @@ return user << "You reveal a trap!" alpha = 200 - spawn(time_between_triggers) - if(src) - alpha = 30 + animate(src, alpha = 30, time = time_between_triggers) /obj/structure/divine/trap/proc/trap_effect(mob/living/L) @@ -99,7 +95,7 @@ /obj/structure/divine/trap/ward - name = "Divine Ward" + name = "divine ward" desc = "A divine barrier, It looks like you could destroy it with enough effort, or wait for it to dissipate..." icon_state = "ward" health = 150 diff --git a/code/game/gamemodes/malfunction/malfunction.dm b/code/game/gamemodes/malfunction/malfunction.dm index cdc1436890d..7185afec1eb 100644 --- a/code/game/gamemodes/malfunction/malfunction.dm +++ b/code/game/gamemodes/malfunction/malfunction.dm @@ -4,7 +4,7 @@ /datum/game_mode/malfunction name = "AI malfunction" config_tag = "malfunction" - antag_flag = BE_MALF + antag_flag = ROLE_MALF required_players = 25 required_enemies = 1 recommended_enemies = 1 @@ -29,11 +29,11 @@ required_players = max(required_enemies+1, required_players) //to prevent issues if players are set too low return ..() -/datum/game_mode/malfunction/get_players_for_role(role = BE_MALF) +/datum/game_mode/malfunction/get_players_for_role(role = ROLE_MALF) var/datum/job/ai/DummyAIjob = new for(var/mob/new_player/player in player_list) if(player.client && player.ready) - if(BE_MALF in player.client.prefs.be_special) + if(ROLE_MALF in player.client.prefs.be_special) if(!jobban_isbanned(player, "Syndicate") && !jobban_isbanned(player, "AI") && DummyAIjob.player_old_enough(player.client)) antag_candidates += player.mind antag_candidates = shuffle(antag_candidates) diff --git a/code/game/gamemodes/monkey/monkey.dm b/code/game/gamemodes/monkey/monkey.dm index 647230a4963..12f24f40b6e 100644 --- a/code/game/gamemodes/monkey/monkey.dm +++ b/code/game/gamemodes/monkey/monkey.dm @@ -4,7 +4,7 @@ /datum/game_mode/monkey name = "monkey" config_tag = "monkey" - antag_flag = BE_MONKEY + antag_flag = ROLE_MONKEY required_players = 20 required_enemies = 1 diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 939cce46b06..847470b9dd4 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -8,7 +8,7 @@ required_players = 20 // 20 players - 5 players to be the nuke ops = 15 players remaining required_enemies = 5 recommended_enemies = 5 - antag_flag = BE_OPERATIVE + antag_flag = ROLE_OPERATIVE enemy_minimum_age = 14 var/const/agents_possible = 5 //If we ever need more syndicate agents. diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 7b98750dd58..e74b03f8710 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -13,7 +13,7 @@ /datum/game_mode/revolution name = "revolution" config_tag = "revolution" - antag_flag = BE_REV + antag_flag = ROLE_REV restricted_jobs = list("Security Officer", "Warden", "Detective", "AI", "Cyborg","Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer") required_players = 20 required_enemies = 1 @@ -187,7 +187,7 @@ var/list/promotable_revs = list() for(var/datum/mind/khrushchev in revolutionaries) if(khrushchev.current && khrushchev.current.client && khrushchev.current.stat != DEAD) - if(BE_REV in khrushchev.current.client.prefs.be_special) + if(ROLE_REV in khrushchev.current.client.prefs.be_special) promotable_revs += khrushchev if(promotable_revs) var/datum/mind/stalin = pick(promotable_revs) diff --git a/code/game/gamemodes/shadowling/shadowling.dm b/code/game/gamemodes/shadowling/shadowling.dm index 39b72b87b2c..73e9b258dff 100644 --- a/code/game/gamemodes/shadowling/shadowling.dm +++ b/code/game/gamemodes/shadowling/shadowling.dm @@ -67,7 +67,7 @@ Made by Xhuis /datum/game_mode/shadowling name = "shadowling" config_tag = "shadowling" - antag_flag = BE_SHADOWLING + antag_flag = ROLE_SHADOWLING required_players = 30 required_enemies = 2 recommended_enemies = 2 diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index a9061a49969..0af84e59029 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -9,7 +9,7 @@ /datum/game_mode/traitor name = "traitor" config_tag = "traitor" - antag_flag = BE_TRAITOR + antag_flag = ROLE_TRAITOR restricted_jobs = list("Cyborg")//They are part of the AI if he is traitor so are they, they use to get double chances protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain")//AI", Currently out of the list as malf does not work for shit required_players = 0 @@ -74,8 +74,8 @@ if(ticker.mode.traitors.len >= traitorcap) //Upper cap for number of latejoin antagonists return if(ticker.mode.traitors.len <= (traitorcap - 2) || prob(100 / (config.traitor_scaling_coeff * 2))) - if(BE_TRAITOR in character.client.prefs.be_special) - if(!jobban_isbanned(character.client, "traitor") && !jobban_isbanned(character.client, "Syndicate")) + if(ROLE_TRAITOR in character.client.prefs.be_special) + if(!jobban_isbanned(character.client, ROLE_TRAITOR) && !jobban_isbanned(character.client, "Syndicate")) if(age_check(character.client)) if(!(character.job in restricted_jobs)) add_latejoin_traitor(character.mind) diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 97a531cfaa8..a1ab355b0b1 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -243,7 +243,7 @@ var/global/list/multiverse = list() usr.mind.special_role = "[usr.real_name] Prime" evil = FALSE else - var/list/candidates = get_candidates(BE_WIZARD) + var/list/candidates = get_candidates(ROLE_WIZARD) if(candidates.len) var/client/C = pick(candidates) spawn_copy(C, get_turf(user.loc), user) diff --git a/code/game/gamemodes/wizard/raginmages.dm b/code/game/gamemodes/wizard/raginmages.dm index 5e0190f3ead..24e7765ac94 100644 --- a/code/game/gamemodes/wizard/raginmages.dm +++ b/code/game/gamemodes/wizard/raginmages.dm @@ -78,8 +78,8 @@ spawn(rand(500, 700)) message_admins("SWF is still pissed, sending another wizard - [max_mages - mages_made] left.") for(var/mob/dead/observer/G in player_list) - if(G.client && !G.client.holder && !G.client.is_afk() && (BE_WIZARD in G.client.prefs.be_special)) - if(!jobban_isbanned(G, "wizard") && !jobban_isbanned(G, "Syndicate")) + if(G.client && !G.client.holder && !G.client.is_afk() && (ROLE_WIZARD in G.client.prefs.be_special)) + if(!jobban_isbanned(G, ROLE_WIZARD) && !jobban_isbanned(G, "Syndicate")) if(age_check(G.client)) candidates += G if(!candidates.len) diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index e19a6ae1100..635c98a2bba 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -243,7 +243,7 @@ /obj/item/device/soulstone/proc/getCultGhost(obj/item/device/soulstone/C, mob/living/carbon/human/T, mob/U) - var/list/candidates = get_candidates(BE_CULTIST) + var/list/candidates = get_candidates(ROLE_CULTIST) shuffle(candidates) diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index c500f390b6a..fba8f319a58 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -4,7 +4,7 @@ /datum/game_mode/wizard name = "wizard" config_tag = "wizard" - antag_flag = BE_WIZARD + antag_flag = ROLE_WIZARD required_players = 20 required_enemies = 1 recommended_enemies = 1 diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index ca5fb09823c..12b5328e579 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -170,6 +170,6 @@ /datum/outfit/job/proc/announce_head(var/mob/living/carbon/human/H, var/channels) //tells the given channel that the given mob is the new department head. See communications.dm for valid channels. spawn(4) //to allow some initialization - if(announcement_systems.len) + if(H && announcement_systems.len) var/obj/machinery/announcement_system/announcer = pick(announcement_systems) announcer.announce("NEWHEAD", H.real_name, H.job, channels) diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm index 48d5f9d9739..4cc40393fc7 100644 --- a/code/game/machinery/turrets.dm +++ b/code/game/machinery/turrets.dm @@ -363,10 +363,11 @@ /obj/machinery/gun_turret/New() ..() - take_damage(0) //check your health - icon_state = "[base_icon_state]" + "0" if(!base) base = src + take_damage(0) //check your health + icon_state = "[base_icon_state]" + "0" + /obj/machinery/gun_turret/ex_act(severity, target) switch(severity) @@ -400,8 +401,6 @@ die() return state = 2 - if(!base) - state = 2 update_icon() return diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index 6815d522d29..020dfc4267f 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -198,7 +198,7 @@ S.poison_per_bite = poison_per_bite S.poison_type = poison_type if(player_spiders) - var/list/candidates = get_candidates(BE_ALIEN, ALIEN_AFK_BRACKET) + var/list/candidates = get_candidates(ROLE_ALIEN, ALIEN_AFK_BRACKET) shuffle(candidates) diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 787d6dd9372..53a702938ba 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -65,11 +65,11 @@ var/mob/living/carbon/human/H = null for(var/mob/living/carbon/human/applicant in player_list) - if(BE_TRAITOR in applicant.client.prefs.be_special) + if(ROLE_TRAITOR in applicant.client.prefs.be_special) if(!applicant.stat) if(applicant.mind) if (!applicant.mind.special_role) - if(!jobban_isbanned(applicant, "traitor") && !jobban_isbanned(applicant, "Syndicate")) + if(!jobban_isbanned(applicant, ROLE_TRAITOR) && !jobban_isbanned(applicant, "Syndicate")) if(temp.age_check(applicant.client)) if(!(applicant.job in temp.restricted_jobs)) candidates += applicant @@ -101,11 +101,11 @@ var/mob/living/carbon/human/H = null for(var/mob/living/carbon/human/applicant in player_list) - if(BE_CHANGELING in applicant.client.prefs.be_special) + if(ROLE_CHANGELING in applicant.client.prefs.be_special) if(!applicant.stat) if(applicant.mind) if (!applicant.mind.special_role) - if(!jobban_isbanned(applicant, "changeling") && !jobban_isbanned(applicant, "Syndicate")) + if(!jobban_isbanned(applicant, ROLE_CHANGELING) && !jobban_isbanned(applicant, "Syndicate")) if(temp.age_check(applicant.client)) if(!(applicant.job in temp.restricted_jobs)) candidates += applicant @@ -135,11 +135,11 @@ var/mob/living/carbon/human/H = null for(var/mob/living/carbon/human/applicant in player_list) - if(BE_REV in applicant.client.prefs.be_special) + if(ROLE_REV in applicant.client.prefs.be_special) if(applicant.stat == CONSCIOUS) if(applicant.mind) if(!applicant.mind.special_role) - if(!jobban_isbanned(applicant, "revolutionary") && !jobban_isbanned(applicant, "Syndicate")) + if(!jobban_isbanned(applicant, ROLE_REV) && !jobban_isbanned(applicant, "Syndicate")) if(temp.age_check(applicant.client)) if(!(applicant.job in temp.restricted_jobs)) candidates += applicant @@ -206,11 +206,11 @@ var/mob/living/carbon/human/H = null for(var/mob/living/carbon/human/applicant in player_list) - if(BE_CULTIST in applicant.client.prefs.be_special) + if(ROLE_CULTIST in applicant.client.prefs.be_special) if(applicant.stat == CONSCIOUS) if(applicant.mind) if(!applicant.mind.special_role) - if(!jobban_isbanned(applicant, "cultist") && !jobban_isbanned(applicant, "Syndicate")) + if(!jobban_isbanned(applicant, ROLE_CULTIST) && !jobban_isbanned(applicant, "Syndicate")) if(temp.age_check(applicant.client)) if(!(applicant.job in temp.restricted_jobs)) candidates += applicant @@ -386,11 +386,11 @@ var/mob/living/carbon/human/H = null for(var/mob/living/carbon/human/applicant in player_list) - if(BE_GANG in applicant.client.prefs.be_special) + if(ROLE_GANG in applicant.client.prefs.be_special) if(!applicant.stat) if(applicant.mind) if(!applicant.mind.special_role) - if(!jobban_isbanned(applicant, "gangster") && !jobban_isbanned(applicant, "Syndicate")) + if(!jobban_isbanned(applicant, ROLE_GANG) && !jobban_isbanned(applicant, "Syndicate")) if(temp.age_check(applicant.client)) if(!(applicant.job in temp.restricted_jobs)) candidates += applicant @@ -584,7 +584,7 @@ var/list/mob/living/carbon/human/candidates = list() var/mob/living/carbon/human/H = null for(var/mob/living/carbon/human/applicant in player_list) - if(BE_SHADOWLING in applicant.client.prefs.be_special) + if(ROLE_SHADOWLING in applicant.client.prefs.be_special) if(!applicant.stat) if(applicant.mind) if(!applicant.mind.special_role) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 1b1fbc8f80c..5f9b1b83f15 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -198,7 +198,7 @@ var/list/candidates = list() for(var/mob/M in player_list) if(M.stat != DEAD) continue //we are not dead! - if(!(BE_ALIEN in M.client.prefs.be_special)) continue //we don't want to be an alium + if(!(ROLE_ALIEN in M.client.prefs.be_special)) continue //we don't want to be an alium if(M.client.is_afk()) continue //we are afk if(M.mind && M.mind.current && M.mind.current.stat != DEAD) continue //we have a live body we are tied to candidates += M.ckey diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 88ed2918201..e76b4d11a2f 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -2,26 +2,6 @@ var/list/preferences_datums = list() -var/global/list/special_roles = list( //keep synced with the defines BE_* in setup.dm -//some autodetection here. - "traitor" = /datum/game_mode/traitor, //0 - "operative" = /datum/game_mode/nuclear, //1 - "changeling" = /datum/game_mode/changeling, //2 - "wizard" = /datum/game_mode/wizard, //3 - "malf AI" = /datum/game_mode/malfunction, //4 - "revolutionary" = /datum/game_mode/revolution, //5 - "alien", //6 - "pAI/posibrain", //7 - "cultist" = /datum/game_mode/cult, //8 - "blob" = /datum/game_mode/blob, //9 - "ninja", //10 - "monkey" = /datum/game_mode/monkey, //11 - "gangster" = /datum/game_mode/gang, //12 - "shadowling" = /datum/game_mode/shadowling, //13 - "abductor" = /datum/game_mode/abduction, //14 - "hand of god, god" = /datum/game_mode/hand_of_god, //15 - "hand of god, culstist" = /datum/game_mode/hand_of_god, //16 -) /datum/preferences @@ -367,7 +347,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set dat += "" - dat += "

Antagonist Settings

" + dat += "

Special Role Settings

" if(jobban_isbanned(user, "Syndicate")) dat += "You are banned from antagonist roles." @@ -376,7 +356,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set for (var/i in special_roles) if(jobban_isbanned(user, i)) - dat += "Be [i]: BANNED
" + dat += "Be [capitalize(i)]: BANNED
" else var/days_remaining = null if(config.use_age_restriction_for_jobs && ispath(special_roles[i])) //If it's a game mode antag, check if the player meets the minimum age @@ -384,12 +364,10 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set var/datum/game_mode/temp_mode = new mode_path days_remaining = temp_mode.get_remaining_days(user.client) - var/antagkey = capitalize(i) - if(days_remaining) - dat += "Be [i]: \[IN [days_remaining] DAYS]
" + dat += "Be [capitalize(i)]: \[IN [days_remaining] DAYS]
" else - dat += "Be [i]: [(antagkey in be_special) ? "Yes" : "No"]
" + dat += "Be [capitalize(i)]: [(i in be_special) ? "Yes" : "No"]
" dat += "" @@ -1000,7 +978,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set toggles ^= ANNOUNCE_LOGIN if("be_special") - var/be_special_type = text2num(href_list["be_special_type"]) + var/be_special_type = href_list["be_special_type"] if(be_special_type in be_special) be_special -= be_special_type else diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 799317416d3..517214b0abd 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -52,14 +52,45 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car var/B_revenant = 32768 var/list/archived = list(B_traitor,B_operative,B_changeling,B_wizard,B_malf,B_rev,B_alien,B_pai,B_cultist,B_blob,B_ninja,B_monkey,B_gang,B_shadowling,B_abductor,B_revenant) - var/list/new_be_special = list() + + be_special = list() for(var/flag in archived) if(old_be_special & flag) - new_be_special += flag - - be_special = new_be_special.Copy() - + //this is shitty, but this proc should only be run once per player and then never again for the rest of eternity, + switch(flag) + if(1) //why aren't these the variables above? Good question, it's because byond complains the expression isn't constant, when it is. + be_special += ROLE_TRAITOR + if(2) + be_special += ROLE_OPERATIVE + if(4) + be_special += ROLE_CHANGELING + if(8) + be_special += ROLE_WIZARD + if(16) + be_special += ROLE_MALF + if(32) + be_special += ROLE_REV + if(64) + be_special += ROLE_ALIEN + if(128) + be_special += ROLE_PAI + if(256) + be_special += ROLE_CULTIST + if(512) + be_special += ROLE_BLOB + if(1024) + be_special += ROLE_NINJA + if(2048) + be_special += ROLE_MONKEY + if(4096) + be_special += ROLE_GANG + if(8192) + be_special += ROLE_SHADOWLING + if(16384) + be_special += ROLE_ABDUCTOR + if(32768) + be_special += ROLE_REVENANT /datum/preferences/proc/update_preferences(current_version) diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index 66705a05f59..6a1be869732 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -215,18 +215,33 @@ feedback_add_details("admin_verb", "SAmbi") //If you are copy-pasting this, I bet you read this comment expecting to see the same thing :^) //be special -/client/verb/toggle_be_special(role in be_special_flags) +/client/verb/toggle_be_special(/*role in be_special_flags*/) set name = "Toggle SpecialRole Candidacy" set category = "Preferences" set desc = "Toggles which special roles you would like to be a candidate for, during events." - var/role_flag = be_special_flags[role] - if(!role_flag) return + + var/list/options = list() + + for(var/role in special_roles) + var/key = capitalize(role) + if(role in prefs.be_special) + key += " (Enabled)" + else + key += " (Disabled)" + options[key] = role + + var/a_input = input(src,"Special role candicacy","Special roles") as null|anything in options + if(!a_input || !options[a_input]) + return + + var/role_flag = options[a_input] if(role_flag in prefs.be_special) prefs.be_special -= role_flag else prefs.be_special += role_flag + prefs.save_preferences() - src << "You will [(prefs.be_special & role_flag) ? "now" : "no longer"] be considered for [role] events (where possible)." + src << "You will [(role_flag in prefs.be_special) ? "now" : "no longer"] be considered for [capitalize(role_flag)] events (where possible)." feedback_add_details("admin_verb","TBeSpecial") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/verb/toggle_member_publicity() diff --git a/code/modules/events/alien_infestation.dm b/code/modules/events/alien_infestation.dm index d244d7a8626..f043ed095a9 100644 --- a/code/modules/events/alien_infestation.dm +++ b/code/modules/events/alien_infestation.dm @@ -35,7 +35,7 @@ if(temp_vent_parent.other_atmosmch.len > 20) //Stops Aliens getting stuck in small networks. See: Security, Virology vents += temp_vent - var/list/candidates = get_candidates(BE_ALIEN, ALIEN_AFK_BRACKET) + var/list/candidates = get_candidates(ROLE_ALIEN, ALIEN_AFK_BRACKET) while(spawncount > 0 && vents.len && candidates.len) var/obj/vent = pick_n_take(vents) diff --git a/code/modules/events/wizard/imposter.dm b/code/modules/events/wizard/imposter.dm index 9a155830455..f6f0d3bd4b9 100644 --- a/code/modules/events/wizard/imposter.dm +++ b/code/modules/events/wizard/imposter.dm @@ -10,7 +10,7 @@ for(var/datum/mind/M in ticker.mode.wizards) if(!ishuman(M.current)) continue var/mob/living/carbon/human/W = M.current - var/list/candidates = get_candidates(BE_WIZARD) + var/list/candidates = get_candidates(ROLE_WIZARD) if(!candidates) return //Sad Trombone var/client/C = pick(candidates) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index b6649aada21..4ec0ffb2304 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -362,3 +362,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp ManualFollow(target) if(href_list["reenter"]) reenter_corpse() + + +//We don't want to update the current var +//But we will still carry a mind. +/mob/dead/observer/mind_initialize() + return diff --git a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm index bb7abd6f7f9..049b5ceb22d 100644 --- a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm +++ b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm @@ -67,7 +67,7 @@ var/const/ALIEN_AFK_BRACKET = 450 // 45 seconds /obj/item/organ/internal/body_egg/alien_embryo/proc/AttemptGrow(gib_on_success = 1) if(!owner) return - var/list/candidates = get_candidates(BE_ALIEN, ALIEN_AFK_BRACKET) + var/list/candidates = get_candidates(ROLE_ALIEN, ALIEN_AFK_BRACKET) var/client/C = null // To stop clientless larva, we will check that our host has a client diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 0c4d370dca7..27bd2ccb751 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -42,7 +42,6 @@ var/metabolism_efficiency = 1 //more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature.. var/list/image/staticOverlays = list() var/has_limbs = 0 //does the mob have distinct limbs?(arms,legs, chest,head) - var/list/datum/action/actions = list() var/list/pipes_shown = list() var/last_played_vent diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 6940476fed3..9bc16167c99 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -526,7 +526,7 @@ return used = TRUE user << "[use_message]" - var/list/candidates = get_candidates(BE_ALIEN, ALIEN_AFK_BRACKET) + var/list/candidates = get_candidates(ROLE_ALIEN, ALIEN_AFK_BRACKET) shuffle(candidates) diff --git a/code/modules/mob/living/simple_animal/morph/morph.dm b/code/modules/mob/living/simple_animal/morph/morph.dm index c815f567578..9b5b8dc4892 100644 --- a/code/modules/mob/living/simple_animal/morph/morph.dm +++ b/code/modules/mob/living/simple_animal/morph/morph.dm @@ -195,7 +195,7 @@ /datum/round_event/morph/proc/get_morph(end_if_fail = 0) key_of_morph = null if(!key_of_morph) - var/list/candidates = get_candidates(BE_ALIEN) + var/list/candidates = get_candidates(ROLE_ALIEN) if(!candidates.len) if(end_if_fail) return 0 diff --git a/code/modules/mob/living/simple_animal/revenant/revenant.dm b/code/modules/mob/living/simple_animal/revenant/revenant.dm index c90283d76ba..09ac892b2e7 100644 --- a/code/modules/mob/living/simple_animal/revenant/revenant.dm +++ b/code/modules/mob/living/simple_animal/revenant/revenant.dm @@ -385,7 +385,7 @@ break message_admins("The new revenant's old client either could not be found or is in a new, living mob - grabbing a random candidate instead...") else - var/list/candidates = get_candidates(BE_REVENANT) + var/list/candidates = get_candidates(ROLE_REVENANT) if(!candidates.len) message_admins("No candidates were found for the new revenant. Oh well!") return 0 diff --git a/code/modules/mob/living/simple_animal/revenant/revenant_spawn_event.dm b/code/modules/mob/living/simple_animal/revenant/revenant_spawn_event.dm index 0cb19dab3da..d21e9c04b03 100644 --- a/code/modules/mob/living/simple_animal/revenant/revenant_spawn_event.dm +++ b/code/modules/mob/living/simple_animal/revenant/revenant_spawn_event.dm @@ -21,7 +21,7 @@ return key_of_revenant = null if(!key_of_revenant) - var/list/candidates = get_candidates(BE_REVENANT) + var/list/candidates = get_candidates(ROLE_REVENANT) if(!candidates.len) if(end_if_fail) return 0 diff --git a/code/modules/mob/living/simple_animal/slaughter/slaughterevent.dm b/code/modules/mob/living/simple_animal/slaughter/slaughterevent.dm index cbc845bc69d..557271fc79b 100644 --- a/code/modules/mob/living/simple_animal/slaughter/slaughterevent.dm +++ b/code/modules/mob/living/simple_animal/slaughter/slaughterevent.dm @@ -15,7 +15,7 @@ /datum/round_event/slaughter/proc/get_slaughter(end_if_fail = 0) key_of_slaughter = null if(!key_of_slaughter) - var/list/candidates = get_candidates(BE_ALIEN) + var/list/candidates = get_candidates(ROLE_ALIEN) if(!candidates.len) if(end_if_fail) return 0 diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index f262ddefc1f..11ecdcaae72 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -56,6 +56,8 @@ client.screen += client.void + sync_mind() + // Calling update_interface() in /mob/Login() causes the Cyborg to immediately be ghosted; because of winget(). // Calling it in the overriden Login, such as /mob/living/Login() doesn't cause this. /mob/proc/update_interface() diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 54262819d23..beb51711799 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -6,6 +6,7 @@ hud_possible = list(ANTAG_HUD) pressure_resistance = 8 var/datum/mind/mind + var/list/datum/action/actions = list() var/stat = 0 //Whether a mob is alive or dead. TODO: Move this to living - Nodrak diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index e186a902c8f..85afb664104 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -433,11 +433,9 @@ gib(src) -/mob/proc/become_god(var/side) - if(client) - src << sound(null, repeat = 0, wait = 0, wolume = 85, channel = 1) - - var/mob/camera/god/G = new(loc, side = side) +/mob/proc/become_god(var/side_colour) + var/mob/camera/god/G = new /mob/camera/god(loc) + G.side = side_colour G.invisibility = 40 if(mind) mind.transfer_to(G) @@ -446,6 +444,7 @@ G.job = "Deity" G.rename_self("deity", 0) + G.update_icons() . = G qdel(src) diff --git a/code/modules/ninja/ninja_event.dm b/code/modules/ninja/ninja_event.dm index 2e1e6528256..fda579af7ef 100644 --- a/code/modules/ninja/ninja_event.dm +++ b/code/modules/ninja/ninja_event.dm @@ -54,7 +54,7 @@ Contents: //selecting a candidate player if(!key) - var/list/candidates = get_candidates(BE_NINJA) + var/list/candidates = get_candidates(ROLE_NINJA) if(!candidates.len) return kill() var/client/C = pick(candidates) diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index bee67a1fcec..dcf15871879 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -176,7 +176,7 @@ user << "You offer the sentience potion to [M]..." being_used = 1 - var/list/candidates = get_candidates(BE_ALIEN, ALIEN_AFK_BRACKET) + var/list/candidates = get_candidates(ROLE_ALIEN, ALIEN_AFK_BRACKET) shuffle(candidates) diff --git a/data/mode.txt b/data/mode.txt index cf1ffd5c991..436f08da95e 100644 --- a/data/mode.txt +++ b/data/mode.txt @@ -1 +1 @@ -extended \ No newline at end of file +handofgod diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi index b10dcd929546c820bc2b30751c53b0a7358ae506..a1ede7661c1d6263b0bccff964076c02b21a95b5 100644 GIT binary patch delta 330 zcmV-Q0k!_;WaMO!Bmr-cB|v}geD9s!Qhn{e4=1%d9`Y+tbQn~rw(sjao1EoNmFi=Y zXC1h<BSCSYR;huCT~6>nN&HZS$-l-9uERD*nhCk)ueN4jK`fI>+)r<8cZi zMPTK5?njf1wc2CsKwk2!%_Yr_+G}%>DN5NCNrzUp?S>U1$2gLUEXRL1%uKbt^00I9V^w!8%Bie4w(b@i>KQAY|lufC`(ZJ(zXK zaX?n3DvGzw=i4ipr=B^#Qkh&}ptOpbkP^$RCD$}AB*OPHtt`pqVQ7rn0wsg1l-hs5 culi%D_NSfN9S`|0w*DGqYyyeZv!4OTFoEo+`~Uy| delta 333 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 delta 34771 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 OFw{G%n{&eE&i??$mqO$K diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 25622951cd22ed69daa2ce7b720bcda253b5051f..c0f65d7f7cf36fff65ce2c47d26eaece81a22eb5 100644 GIT binary patch delta 5960 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 delta 4294 zcmYjT1yodRw7qnP(k&nY(hX8dBaPCH#Lx`Vb*UMU5aAcWpOF?(K$<~GC8a~UB!@0x zs1e@a``=pcu65VCwa-0g?|shqWoJ;oPoRFqjf;=2;z8jvY?go6Ii1h+37Vguyd1y& z>OvA#N$yP?D^3tEPJn|wagpK#c!5i}Y=Ov6>v+5r;Pa*1$izP#0j!kq?MuG0lAJ-& zw)-2jLx{Sl$flZ2H}6O}U0;72;o`d=zK;ZaDXEXB+8%@6H4yq~6V%YzhK2k^;;U#8 zW@Xu#8N_4G%zivrkIj?Iyw~A5I=lLX{hs99MXmSIPZi>FO`^_x2DK*;MN;n=xf>ve z4ZuM9h~*dRQ_JlkM8*Y-r9f9y?X4tPV*4Rnb~GXFbdo#7ol`?`IAQf8j4=dM>`2qF zS<%X|f65X6qjI-Fw^W|H@+3@4w`Y zfFy`>I`*doUu9&k{%LFlL+xtXWLbTVJ+t5?Jh@zAVz-QRl+=gdZeO>OMzocX7Al`w z<8p#r03#ADUEQBT@Qx0(JNF-rvPYRk|E=Jr0Nh6dxHh$6LZqm&4ztC%)vD`80)Yca zS4PvNL_GiJH(cMU;0uK0B(SepB4Q6n5*{DSF=YVSO-898HKALhpigKmkq4{CzxbI1 zqD9wPEVlnE2J0Y!x*^@K-#-4N>W!1jGo_g;?_KrX*=XWd=*)D|wkYU*E=4RuEdfBd zFWW)h$0F@c%R;f1+Xw62533q1nbr zk9#8*&=QZ_6xyBD;$sh4DaHO%)>k(2_D@E8pke2V@fJ%F>RETuO20)PkJMFW&H=CR z#p}-~z1owB6Zpd6jRvgefvpdHRDGzJ?~SoAL_DrE`NI3%z3IJ)?jK1d!Nu4vE6dIo z8KcjwOwzp1bL+r;E7L8)DNk2K@6U0y1OIXAN=$2-DA)VF`@hR-#CBrO!05#JjHY= z+?+4eL<;cOe+4|GGMtR16G7$#Ty|IY%|nU&_8MOugu5{A1*S$U%oDwf2wsd>G*?X> z*dqaVnL<601~I2U1d18HE$~Jp&MSRH3MJP~^W*_?ucKDb6*27Ra=^d^oxq z9h03qD5-W|3r8r=CXjEcwpXY_Fz9vG)&87{{pXW8-c4w=}mlh^>?9RiLc zgO3Cy)36VwXA>E_gn+g0mpsHYv6f4H3^k}i%;|Knd_SsgITLwrvvdCp$~3hYpkv|6 z(YLB0=zq?jO+CC$eS)h+jXxEN4v;Jo5KJ5v2EV4K%c(}tSneFee5Lm^xHY`wK%-p7 zwkc<*VU>2ICEO9BPfX9`MQJ2fO6>jI|9;G!I}Q4AhBdbn1-W<>Z?To{4BGUy_WuU8 zbaY|``!1AnP&h!nCg~K)P5`X}5_#9*8ea1`nqH}ikj2ir|x#{?KuXyD(HUC)z)d?2X9^|d-hqq2)?JqF}c1% zW-Ls-V&l@d#_!N21h4qLO~=*~Wzgw1$A-}NQ$aac@?9JPA2MJI`bCzc=Jf3(S&m(y zZO|2z_dY^jQd-*4?{qQm3g;ISY>fjT=8U6O*_+JE#SuP6JY|n`6bkmZ-Lj3`n5|fZ zd^=$g!gAPm;3{^K9cdBQ)Irknfq1kfI42%^*~4W#`kdS@^=ax5SydQ#5sI!#Sp2|N zSRN`bNN>@~?xH|6yT0+X*2BB%m^Qx&NUj%`KOM$+1m{e)`n#+t9|hTaK3L0jxcco8 zc)#8W=g9|GuKYaWvDi$}5Scidew^!MluZs>@<;iu+nUU*h}VWEt7~W#NEJRzuZdf4w zKr`D{`VFjW0DyFZ4(zvMGY@ZMyVa05=3s`HN)aq+B z^{oX7=E$ zYNn&E;h^~~)r$2Ity4If@+cC@yx;uwrG@Umw!qQJ_QHZS70)w`sel_R5;N`Xc`)6b zUL=@aq^s8xfT!@q)Gf$Bp%iLHag($1BgPPeJoL==i3+WHLXrphCX6g)|E(3}AUJug z$BrtEclG|_a7e_Zy^y6?;PT3uDZRt{NT3(IZrME_3Pl=f5A=?cwMg*J0a05K@`g+P zjt(ON#H<1&mrUi1Is?7x6OFLbfIr+T9(QwzbxcSi>-SY}6j?yx0lw>Tv%_b2Z?9NR zQpJg^^|0a{Vth_($cX@mC+OL+ErNL+!iqIe9JMK-4S?cx!ilmy>%D3ji_AfnHgjpv ze(Q~W@#?O~J=1&8i6ezSaOGOwSE!JlYI2Vd_M3<4t5RhQ!je}HCD@Qb!4#>Bx&0Eb zN)urxc3yg`H5I2EekbPGBaT_5;&r!7K)!crf}+kGWX80+d;tt1z>=!ZfhGq?2-L9^ zjfCCFt{;bny=gE)nsglM+5BOP96qeuMN4ozM4Sr(_F*AX*nxoHn}&^Fer9A=9e{pC!?HnFr`^U$No0%vv$^z z-v;`t^gG=^8p=Tnw)$1|d{hzFCC`DW{NNHZJty~G*SXnG9K~jz5wzwu1%4FxB179c zyS>z2ooy!r8qXmbDX7tzx;~0249&)sjf;Ej+^eXZ>s~uzivNHTN+S?09dDMl&H<~J zuDr!}9g$LmX_Z`2W(6>JO(L$lSir7^4t!lL-L|92D342y&Vqp4XSjna@Pa!IuOCb~ zX+BE%x8muu72afHYC!a34f_fx9C|#YILy{ofox7@naA;*vve}YXbq0ZR2AkWkG*WP z-}iK;?dJ3mOkJzM!7k`37adbsXJrWKHAjLrVdF=-8_Tw_&M*eF+H4o&+hQLUvGQN^CUYp{;cH}j(i zr^Z{xYs(mB+v+$g?w|@dLe*JgyYaC=lyc-^3JJ^Sf)I+ad-gXlRa`i(8qE!rvx4rbph33u6Jg`<#8 z>wYu8TL8nIkCS2Hq>8+Bz(pklRqNapM05-u*9HXPy?7CU%yuVse0e@tcyTfTZ+-ld zhFX2(^};u-JrI0}uUL7b*Birz8!ghk4Zu_z?J9{U~fnJ!9#c*q_<16QIy^a3S{EBO(UE01%2lUXDe;fKHtvGTsC`I(==IN3auz}>j zl*QB*GU^k~m9!9muIgHRy?Cga-h|!l$MPjs&L83xmc!#;@cS{AX~SO4&-B&>6$$Xa z?Sqe}6r1ALg*8=LSxu)#7hzJTFdm)7g@R1hNn|gpnY0Fsk=a%BUS&B3HOqKQu;PiF z_Z*}VaPFGnrsCI6GUK-tUGIm3B-q9|(z`wR`W+FfZ2c_oR*+)m_cxCmM^{*)f7^|_ zBE~0RbPSVGzwMmazD}|!-$~jyX!yC@-JzYZGhzCSf z@#n4cUY6Fqpn<%G{Z(Cl_seQ0goyF=_5(Xf(wEh%mH9o~u)vn=?98|9R!MTBpXF{+ zXgOcDCDfL1NoE7>!h|0UB5)rH#pp;dh;EV`Rg}cqzfi(S?c`E*tlZIc!fe+|HUnfS z5!kFS>6vbr=ovBEeuW_H;XH){_FQo$%r=#zX#giA@uJxfI{9g+t$HVB-O_pk z0?p^1h=fiy>Z-ehZ_6Ds$w(Ov~JnF4ri`5Cic8gq0s*wZ`gt9sfC4n%8CGmZ-|G%DcV z!5IvtYwJT)2t+?*00P9z4C76`UBx9o4~%>yj(ITaUdAr_2)hg4a1y_j88~OI9$){? z1OpMIXNtM=FulnI_ES5ZA?8k&DaP>Xl3Dwl_wV@WAjbAy-Lj0F93BZtAOt3=jp2ydwx;*0baw}^hqk)D8vbV$`O;7n^Y-M459*xbd*j&DJos60)`?@r1zFk1f+|IbU{(7G?6ZZ4$=kb zCG_4xO&}!S!RNXEb?<%G_pWy>2s3lene5rKXV>2$Qb$Ye5*0fY2n4$H=%Mlx5D07z z{3=qA0V5%Oxqd+Blb^n^hqAT1m7BebhrP2C2;`HI`Jp*3MC7u{*dBAN)24F1Yp2cU z)S5wr&;10Ol+m9oT&tV5!A#&=fm+k%ZUaZhja6c{yHoKq!H&oE7@ps^bDnk>I`>G` z6}A}MvEqr%d0eQsJSjXHoOs7dToB128=Z6ill2w#g?weqyKQ$^rQ%ciq|UkoC3`22 z-~5s#ChfY{9BRsAD1~a~7AOx_KQ-as=y}-hEj70htNXMhf|s;8h|V9KzqqDeP%MXf znFE7aC*y5(<)aao3O7OhO86^>4>8J@ipg(Lw@2vrB>tW-y{V<4LPK@sx;;lryxzTq zpep9uTnfL7V?4B{zkZ2cpjs2vfJBZ3%<$nvd2bgj^cxJ-(SY2ZDphWcj zV?`qdGiJYmkqk#Vj;e{>1(;@hyKrBMZxRT^4SJ-kr06XX@d; zCfl#7CUctFx1pI**HF^Ge{epeG(4!~y(D^To~e4F>V_cszTEpz(e2h-84reYrE{lE zwVo)a&7D5daHU>WemwbQo-=*)(F2;u*jJD4?HjPqsHRPvomp*4KC7_VKAWwu-aJu= zzuLFu>3cFMe$X$AJU4N$Z)j*R7h$7OT~2s&M#4rzX7#D%NsxPO#wVFZ$EkbEuJvL? zjawpp=X(9aOy z(MUhc*D|L2nij)5ED8E4Jx>NOM?&?x1$CXMK{bUZ3{FoEqZahQ6SaMQ0^nFegbp$c~=6-cY!^G8vS%Wdx|)?iKnkd*WoKw4|Tv?I)^%wv7% z`*DH(;~Z#_j79J%i?lVmfCTwQs-twFQns_K3==2YecFgiGLks0C}g^a?79`LeG{Y7 zCJJXRospgl=GyZOs%fQnwfYo~9HMn;oHxCSNF~<#`ebr$jvHj|;xf3u%3NzAYr9z` z%%JIiZ1-SY0%XpgsXF{ozWd&i({@JjRHO3N#PFA|!w*0~9)1-5#}c=u-qu&TS2>;S z6H6aI`<2z~+7_7Ee=SZ#G2^XOsS=!wd^wKTH4ds#Myx>2P`%b0k#4@=+tvqLcc8Cc zGoB?Wa-oqaLHFR4IBUeHLo$jI&u-SZHa}Omvt*h%E!-SS?X?J}{I53c2HXIxCh6H4 zqK7k(%gVYRGWpfA_5e24?5-HBdl*xXp?%C2C`2z0-FA~n;$0ACL`wCu`(;lexI3F!9 zCZP^AYU1K(-|Qq0&d$aGta~oA~v9 z`_ajUvy&Xb^mcg|!7q{marD8&Wnc^$SM`eJWCyidi;~%M6cijJP(|F-+(vWhm+~NT9hi%5|tb zOa!0psk~s`#gjsVOW7D*~^Ffu8GJHqU$Numo&%$gguoeWCHb z7^(mJfK<#C*XNB-b6mi^u#Lv${d_Y_06XFSs`n|;UdsS&O0&6$<$c|tOq*i))3uyz zH*=vKfzD8Ja&q)qPW*?rHK`1%5)Rvuo|}rxO{UXEapZJghkYz(WV8c``zuCAi~Wi8 zX?xoPmwjAh^uJCo-4N_9v9-9i0S6SSfBGpo)Nj*+bzKjT zqXBhzSD!WsbFzzMO~2Qm&v-(*GBntAUWh3^^&(#IjuNgd?!+}?iW@;J-56FG&DyLXi^=PD4phQOF6G)ptIuC{RxTkMg<*wyPJd|a+h3wwf4X)CW1kj<=vvq z`|Ec)w|$u6#8@8wK07;8w`_jh+^lpsP)Ij&$tr=d+n65PZY*NKpDDCRXQg)O-~P4C ztG5^F+*xThhWkE<=+2Vbz*lVXdl*Mjsjg9Fi&qYpUpRagsk%!g=F1aR{DzID152uH zZ}(-(P4#sORwpu*|DOgWT>AR`-hg}()?(=TkQi#AZ+#2rIoaBZSLt+F?BmbFzE(_%)Z~nh0 zc;ohW0(|xzI%ASBMtz>!ok}l`svS02EVY$_OWMoPfHZ==7zzR13&(^xz zCVWFVMI{q09Lvqj%rpv7U8oOn0=BpGvbjK#cl~PW$gjF{FLQuv@D&&Z?&AY`8nV!4 z3i6-avZ2l9Z6pJmVCSi-J`9ww>JADrdS3hU&fOwLB^QCX$7sOt0frDN37WeO@hx9i zmjdmXpCB*B8i|?SLe=aOKPU-xR_fNkJo_;dd3Y*rCb z@$drlEsa$hmrYHMOCTS7x^RSF=EdZmaMZOo0FkEG=Na1b8Mzg718xh3xW>Vjn6r!+ z>1GL29o@^UmPg$Npr98#!7sjF{k1{HRu|`SJN88(yQk(+&C+K>i7JWtkHuMZ+w7vy zgDg7SM-ssHu_Svc-dEw*+L4HyR*^GixP^qtrp)lCwFFYCaJLd(k&^RBpva>moMZ679tFeJ6lON*s6R&E3pIEOADF3vqqov^6w2?;={vsPOpeS z8Y{WFgPpo&24Up|qA@Wmx=9*o&N^nDQxPb^s?x&8*@5;*@!qN*{*V;%9Ti8I^g@x=^ zdO2OO+M%=e>Pi;(=0Kw*jT9ge`MX3QHaY2M0ZboL*_3V@#I`7d>vr(uLp(5?oNDq0!e_2GvizO_CwsjCJ2yPW|@o@nqe|r{53?*Cv&1GKi1cBCn zgyR=&MfJLp53?SQBltv+-gqQ_tQwtqQrvU`nm!CRz+4T=bpF|nV_rZk?u23nvr0*J zCgVI2zroX$Tm+A)0n>xCS%y}Jr^e>^H4GnbM}h{gXd*{@LNJ)7K{6`mfvpR!jg5+w zi^*0^H${}G{{SoZ&Vb#wFJ3#~*tzjvcU09nboiGn*gR5MKZzP#vTM?CqVf%-(W|`z zTG1{~4FHpx2~#nEmiG19JHvkV;~4gd6_tdS&GFcQ-F4oKwX$y{E@#Kv&r+aB16-kx zNV_~>eE~N$4pk5bgPTbz>fOGp+3M{qA39CqvLdwy!xvu}7AMs=xCtgs`8E8frvlU~ z+xAPDsCK;~zo6j0*i*mZYfqPPR_g7jL7JF&P!`I}7vFf+4+7ERr5e$)W(3B#HqMBQ zjVaQmy)Fs9(>N$saxM}1 zQ-N4>>}~ozR6tL%gymd=uIZ1@%vOncWghnOya$O=?zur#*0F3ou~u#`h(IE-ax|=x zN^c1BRTeQBptNK#>vJl*U)}q=7>o;gd@|k;j&mv{*g|XA>)~z`pgjSoJQ1kIdS)`p zjF69+dH&BwQKJ{-EH2QU&~rXc2EvT%CD*Tba}ggi!eV$>x^bgBCJHRC33I~np8zRO ze0qQ#6b@>hNdIZYbmepB92a*85JFh4v!+7u^YFP=IS@TFc z@-d9Sj{!#he#CDXhXQmyLJv?wh1Gt6K-2!()#YA&&m?k(eYVb#%4UMl48f4>d2l&n}tZY~K+wf?8_e#J`Bu;6AZDSx-iOo_v6Y*(B8 zZ9B@pePxMMX6#A+;(D?znG{H&j4ut?N;Ym}mx6Z%95|onb?>95_SC;@1aH~T`J+HP z=hfZ&2S+feF;peUKT<%IftdMB|9qMyUZoFWGlOkH?8;Yju$FE$H4Sp(v+=AcY@#S1 zrt3|i5k{ZNMI%3b5;v~P2OkxX{Ta=5b?t1oGw}kec6eqeq<5}Y_{PL=q=>x~x%bt| z!;&mdmDhEiRM2?xNxU*oWWaMZv8VVCiP*dfMNL7S-|7q22xx(0g9-Cj~LCF*s>rFXKkrV^;JavO#0 zx@PiWX@$@94aS&lkJ!S4sgs42JUwGm8^se<#8MSM4H|Fx2e@$_t^2JF+i=wVvS^Qg zb`XnL$j4sGmx2bBiz{xbG?l|Zq&eSl0q3lvN8UG^JZ#NOX{H~$bOnZ8AvZvqe0qX& zjYI8FHwi-<3Wn5!wr+h=9De()kd%fvPxX6Km()808=ku7{N^uTvIoVz5Tkq`c{T`Q z6LCSS2n-JWpcocU1W|Pf%;LnL=5WwvdLO}cZ#Y6Y4h`&t@fh^|$RJyiT1uQrFYH^e z?-+*&7X|3XI|F0)b@m&Hk2JJb&DpRMPnF1CzI-R;dwPS$?15%%c!*PW-EB(EVG$`0 zB34h+H+3(Fc}3%Jul=MI6QKUxIC>hStkLsFa8M2IrMchBV@@rD4_T#zmOA{$3hu3i zXx$p*f z-B`3Kk)HUY7kt6!TbDdz?P)SajNWxqIx9%J?~lQ0YW9tS^Td-@^Xl=%tYAdVmw#Dm zOWq3t(QwL!$1w}+E$I-Q5WYZ+@P$~_Z_Z?mAvr2)%22wgF`@#$11)UZn{}48RTIC+ zr+ofYK2>P3pHm1L!FB!L_W3Jq$$L2v+c@Ir55z^YGtCO5(VZX*|x^OyGW-p`K_eX57Ijwjs_#kwKz~nB+`urt6tCy&lD_8s{?&ZO= zLGpJU_<4?Ahl4rU9ze`saz%K^*y9)5A1FaouWh9GW07kG-FwkX3ft9-)V=FsPs@~BbZd+_A#tr)#f04 z=-kDL=|39t^Y=GcwW6MIG-&zDyc7JaqiUm06RCQ#((sQ74|cA*cSrayQw>rlwp;yr zK{On81vsfMzEg#*r!Ghah*`{DyLu(PMWZq3bdrRZm%2-H6`efLVCM@5Trlc{EG`jZ zkdA>tSk-dRZ>WfloN5VQ0)1vsoWACzAB8t01i^tejA0X=+O{_P75yr$-`ivP*JN^S z_eE&tgtN}Vx08thH~jw6$#PKezSN7a(-2_O5h&JOkq?4Tp9E;3j>U%;Z;Jc8`$f{h z%lG!NK~8QiyLe(QF*mD=mj|Purf2)9ty&&BiBLO?#sNMYD?7B5w3*-X zI)l01fkyBNpxd_y|=ynz<23DhJC{!;o%LD#DP{3svwJ5?$oq2)dvr#B9)2i zoSH;D*6MUksqbcuq4Qv80@|ysxL)L2AO`bU?ayqd^G6_%$*$QsIXRe``ueG4ei6h^ z91Yp^XZ)n&-PVzim$Jr@VJ6-kIP|_aTTFM;iKY|~f|!#Kqh6=4uC1?6FsPZdT#uJq zsE_A%q;!pkI>{aCcU)Bg3YyYeuR z#+svp4rj!?>f-SL0jYZOL0j#+lJ!>%kpJ5~R+=Qr4SF^E6YB)M&-g`fK0)p31bSH* zanWc0J1eoG(OCZOn8-turps?7QPb|#kZY7fAKv~t+`E`xFyC7Zp`~wxsHmwPpnk@Yor>zF%~ZasD^8={PaJ(0h+@)H*&tD z5qpU@6|((NU2Wy!LSLX?Xz3U%4gRFywLN*X^g+<1N_FOgBGKbOx#MvwZH2?Z2PLNz zL-%4tUyH(Rw8UBi9iFGi`w5ea#r57f)_*r= zHBJg)V=LAm+d?6ZQJG$(BW@(YG@l`+x&}0^L-m^e=+lOmL*78fV%>88O*mwsH|J>;4 zsCane?$SY1VbupqH#fF7=~+M;s3k~@3>R_Yc$X@Sh{i19lRX-YIBo4)r{2*mS{ z-Kqblo5Th+hjcQVm6-Wn7B!z(o=8$-ApY=AckXcvq%3|hN@%QP`WBh#O3?1vf@4Sb zu~)B#c24c@3}X4zbX6tDg{JMu?GO=5Q!@~=r}|Q|xZS$j?`fQ*cs9f<@pXu;&pM&7 zR7F8j@B8{ku7wp_5w@7epL)TGAl^zKohLp>Z3PM{EPT1N&jdtgR)soYBLXryU90Gx z9JRfU8FKYgO#DCt-L|?WT25RvL|>EHjY&^R%!36{dvMc4l3o%S1Bm%}Ei5F7`uHN} zy0kT&)m2)!I(80r*Bb3VkHQuD!Ka0RlT4hOSm}-=5n$cwJZJ3sHBk#qfEf&wo)Iha zIc&pK;GXikJIVAX81V3~$-nb?b${e{ZGz#?Wn+%1g$FydiB7_<)=EZQE+A8FDX6f_6PxTl<^_;=kecL(t*QHNEY2i7bo( z1y44h9-1zW;PK&MQ+yC`ntawiMN}#5cU|AR4qRkhxC#Zq=0in*+pfnSItH$N62dUN z1$0zHLuzrVhA@u8?rqiUnohbV_tVs|s++W!lbuORQ?GS)4b6<^aweFGVZ@$zkHVQ2T~GT=zJKvBmPV&FEtsl5a)hq8dD*WIwUG~%^C@fs|%g~q0%F6r+i z&q>a1vKa1YFVSsaw#=8|DtPX=F+e{;bn0OtD4$XjV}Nte{KbmUq%&r0sMK>lKv5}f z!ztnWVLg^j;kGp2>ntRi>{!$aETId3u)oC%6 z)=n}eR0~>le|nL8Yesl3)7W)e=+5{@pyIYf8$sjH+ZkO-S^lO-@iyBH0b~1Tg zJ}s5o*+;KTm4nH_fgW>&!xyDrhVFRB+14BQhZr5DRKPQXDSxc|=A0}s)-x6J&+2#7oXrttfzXZBiAEFt9R~C*A1bc*`(?w8-RNO@cm|e zG@~+JmKPD+q0;n8GB}h#g!?tIhMnO~dTbvW8X9->x$E`#ck7-}vwAQ2^$*ZjCntjs z=o|yL$~#RDA~Go%0KFjo^-kthw{NT}yloffvSFjJgl}d)VjJ)0FK$vXabALL?SBmv z-hxt}+~tsY?pNre4v|(zLL2qsk}cRSjZN3)Ul6yq2YAW^lc*C{IVvAi8j) z&eAW%g0047ol)Otj5}4s(uOx0$WY$55F&W}_lS=7^J_@c_?7G_e`~phO}sY%rmkUNHgbnxLa|4KC^8)~ve%u6GUAU1_d! zy=Vhfs-_82wN&!04pP-r^39HmHYdOxTh=XEI^*7~zK>$g0hfS?>{i0JmNfOh%kh&T zZ|%y_8SMKCarl1<>>f%ZPWFp}*9#`xrI`O&CAcSOZ89EggulJ#VM9;c8TScc4vL89 zY(_Kjx!Sy5T)+zCsmWDrhS9J1y%n44FhHde2va$Zd}yk zn{hB-1Y-^4T*{r(_y?!)k;2>v!R0d6-n<4P?>f;4(<2ByH10%%S5gSUmjf z)uOdeHG%EfP{HS6gW_L0Er?u5#4O2&Zz5dS{~f!z=X8A(BOoy0wK52gX|9Xi)@P># zVJ7uZgCKEQlR?iH+NnIUKJ-2Z26KbRw3f8OEC-)0*4(+fLSicA+fVeqC70gofp9f) z4%~Yl{@$jfQyqvx{5Z80&iWWh-($gg#%Bo2@CQOa|KOmhq|anEY~k1u#lQp8pDFkG zAdO(-fNOjI#AEe~CsaUTqUEB_RrX|uPN#nEaSiN3eRi9<+?*CxS|$=$#)B%UOJ1K{ zxUSjLq-UPUpt&HXwD8xt76$&ZUYx_(S)y;*Qe$;~I^bUcx!uoo-LF31HTYCl$9{T? z3-jq|p9sxbUED_D?LT&lT^zm{{aQIPsme-YqW45YZ9f_bhhN`^wrA=Y{1+C$OCz*| z75Q_t6iFhtOq3=?`5j1 zX=+}0R);Mw(8gk^O&%6x;TGJf-|k!Z<*tb&Qo0v(C6wRlU82q})ik&K9yIN76@i_O z{;3#pr|@1QC}Rfj_8R158z_BPxS+(o2cvw3()NiJcWcTtz!Fh z=^H@B_BzT!Ui|9*Ok7e}czY|@9tj(iHIj=d6uw$5Oh+u z@B(wSg7Evb&f~%woZ|n;z)c6G>63QZ7;E(pm$MS5GE%P!rz(BW;1#(i9jsr-4#c1- zsS;fLwSyHoiFWpd0;5n_nb=a?KxP~fn~p*!fAAtxV) z^y$t#i}~xo-j4h(KMz0Y7gRMfBc`g03s8s$GGh+{1sNkrZ1#QGRKX&>953|rhVASg zUQ2kWIChCGoYqV-$^pG{AcH@2KrBDPEv#fYQ`A*C>UgtxIHIz5qyS1|vmK_$JR_9G zjxTM*0r|2&I!@{XBIWL@T8k^`&a{6zsfB+A?d&+gU_`wTC}C$tl57F>WBuj|Gy>~9 z-5^U(P*1-%v7ap1)z9A!+}nhsPC*RkCZ{042go1xdSA{fh;0BjHD#_w%4v18^enEK z#NK4U?U(<<7MK`#pysZL4_FjlQvKZvuh(C>!M;zOFpE11Sc8m^uAtrnL zWf(fNUj;n_J2^W?jM2Hht#X5mnVmdB;oy_q7gI`Mvqpo8#=Zp`F=SVH6MdZeaAe`L zd;Q@QwgY(;kDd8(>4%X&K>seqqHUEkUc*L>&4LVtbB#xeTfIh$M_*Ko76Euk+1eb) z9qB*uOP8x?(aSNDTV~u6@-FeKjA7^Yq|82`@SBwy2-79Fc2a(HxWv%4O@E=F=X#yU7>w^bnKMW z6NO`0c1v}*DDOxW02N$Q?-{<|V`D|XtU<4Omc>eOOXlZ$MU&yuaJLDsRaOt2>vM!# zGt_UDYuY~h3*xu+Hu3vqZz7*(w-36tX@?3C{8C$!;oZ>9Tie~C`=t>_N1k=~!YZ+G zusDF}(J0G&qomc}f6nmDG#heaw3Oxf-D{`%HB5IP{!H*MPu8E-3WsE>AD(U_g!TaZ z$M}eBa;Nk1&ZxSlpjjE+$!a)3tDq#4I_@&*u5b&j;s&N3Av%5J`QZHnM@g*j;@4+2J5VTsMNK{oXOd77Omry(nX?FfO zd>0vZCOA(w=fiaYBndm?!Nf{_bijQ-yGi1i;e=h}M0N)ijn|tp)XiD z&oF{OtoD-i)he7)x6WJ=2*|?zVrg_^Ve4>8hI(_869KO17SeiGmA- z&se;8L1?JpUXsPJ@#R!{6*#NBY69go7(&*k0lyV=1;|730&J8N66uyRmK2iemYW;z zbe<2%@j@EnK2ygH0rh>ai(%jvsSUJ%nM>P_(TY*s9L0?D6{P0CU$3hfUIKOQ_N5Jd zEh&_LpCP8ZxleoHA;T|^h%i#^YZS7qY)5xQnr8pHEGguR)vgx011)LVxZA9pM|Y$W zp#5l*+OmAx=182jK=E3 z0Yo(3A6HRP0n+ac6eZvm_*ji^opj>n5B^KLPJxMYsYyZvWv-I^n0@ed#yJ7HgC6LY zEIq6SumsS9h*rqM3r2>{L*kf3LrON7|8S9+joitXjSIwqjXbF~XfKM)P?>)q33;M* z{@(QPpMOvYZ*TAF(&#e4B3S)tCz7hd$$FD5#{1%GGY*I(ynN=vGRY3I>T%@a!D|56 zKmr1XF0-t}Gr(d~vaFf_Y8aR}hX+I2 z6kCjwK4KS_vj#3wiNA-3nNIQkG~Qh=WV~O9Wd@uRHyH-W%8G~Q$}ew*a$YEXIv~(t z5WGX0qR`|pYI>;@vc&DUtU$9UbfMAvCGj;SNRGC3MSnj(uU8Y_tv4@H1VZ|(oO#53 zz@&%A$Bx_E+f#KqW-fn~dfH89J6=;;+m1KG7NY-TKH1(A-I2+!Mm0WJ|B@d!;#yy& zMbC8u^fl3Aq1pk!U6np{zYD@N;td^J6}7bo;`-7hQ4PKaEA;}~ioecR+@!Aqh#uEk z^Mz6gVRM;555Iw#^}~<Q@tt z*fh4!Kq5h};JvD~ZWgh59V`{e__HbFtj}f&D2*S|f1fDf^Y=gFfz+=7$q0G>G>O~M zr<|Z+;0Ptnk*-WT0|t|O+;8sRV>hnVMxU9HbjCAYtApHeP&oKUIU9ABhHSwplU$l_ zp9t(5b(2n^)qYXGuZP{gX<7#OY`7%1W-pxXKG8CuHOEM&v{ZIBH%Dl$TVb#u@(XPo z3S{M!ssHL>)@xBdivdf?Gs4%XItv!!9dL$#rus@<<&NY*{1F{kLMm*2kt8v7$!6P=-3_4M{dv&LZAQ{Es>)aE2t6E* zO+|b{*R#y+%kDy6TiA)v6!W*}_Wyi`Rhj?VnKW1J_BYp23Vbi?8!w#J4l4*ih%y*F zF9Q|}@1~|rhm?5(v|OIPxb%JEo^lfF))G82Yd@rQ1;}>*G?7*(o{-F1C=ZJi8l@*(?=z~9n= zjtsiB=q;JO08c*#gJ(*uVCGFg;ZFdaJ@OS97ZH-9?rPXMqH{T1k4vOS;5N3 z@x{^Dib4hs%pPpS$NEK3M`3#+I`Puby>Frd1H0kmU&{@)fL71T@c;2_$X(o&;n_fFE4 z_zzhb84&V|Rc*XzkQwK8RB4k2Qv1KKt}Xy!U$sVyLjPsxO2#+Vlg-NF#W*%4qYF3#k&nKXIOLc=WbXy`o}H4P|>V1yWc#-p#BVLCUs5) zCwxcDm5=P3v8xKo)40@LC1Q}D|JcV0T(DD%ClJ!m3ZFqlFOcoD8RWe{CR4OolGQ+q>_s$#N%+>dlJ@t&TQEC_z#lYj1VeMHHuTv8gfT_tG^%P0b#Y`5tWCPI!%# z?1Vn2M<7L+87qAm8U_}mGuTF?U+o(V*_dMU!x`16qwq)f@CvhxxVwFP;I+t?mjhM9 zG;%9^N*WphKV=k|Wi^tda0&~G{jRo+XNjQZg+n8UVzAVF&5SdApl{C`WGt5NpTB{O zRJ_~_hm9D@*^vKxsn3SVQ0PxQMpwS5$_ZoO*ly+J!l?8+5Gd-@-@JH;;`V7}TM8O>HfguqKFx5( zrE26^+%*4wb~!=oWX-VLxL#p#Y4r|8$IsTrz%z*?t4bzl6Ah`3QwfFef-N}`_x$(R zR8awEQ6>g#!=J7DyFVH;(JYKK0z3oz+nq1@;6YcYvZtqqyms2hXyMrHxko_;JFF=t z9yPmZ4poLc!sAiUm(NuLTo|GEjd`R{n9R0#`VSQSl5jrsbqqtZ6c$jPEArpkb_YK_ zIQ{e>!UOB0!|;B_jqL*Fo`m7j$U6#M_qc-i?}J~5<^5!4^g1B=udS;&$&g9J-hk@e zN!Gc=y440@7S8$3-R!n0XZ?nUO&QlRcS6i~r@CJ+oIgaVO_&A_O{w=?>G$oXR}p!L zxkdw*t=Sm2r>rWQ>@|X`%IyijUuW~MNg`qB>m=qvYQ9^BzmQ-Py6ETb&q(VUghE9jVEzJbMW68kN4fLidfAy#qNQZLnH;TF!Bo!^1s4YKyrIG%?AD*8`e z8w~3U+-fPb|7;OiMv*5W!gw!F20pd{xDmH5#k}q-h(lHS0qlNEeBHvmaM8PX_VJ!< zM^LCnp%kQA;7MfZ47$vsvM?!Yqy*RW(%=@fNK<;gH&s0CWp1ho2?G+_1RVv=i%nXs z3OzcV4%g7&aCbyQyqbciF=?TidG11um9Gxqw{|XCN^$!Ds2(se$s*!6Egp_a3fah4DLfj{XbiKGE)I7`&2-6E49B+%UBj=3MC}GFdv7X-{^zgrS8NgxA{aMiOwWz}0^ExG z89wtP7me1^l<=D^@OFti495bwO3LFe&!6)#{9uF@9fdWt09wY_x=JcCI|=i&Sa^#W zj%{eUUD5G~q_}P1WuQgrUXL^R0F&qo)@Qd)ILHA7acNRvErQqXEZccfWcF}#tW^cTM$kRlM0L(6g;@M_74sB^*%Hl( zqw=M9VjOIoeg1zA&d&bNJ8RRc8hI^Wp&HGmfH%9Y^-BS}&7Thc#*$iiZiwK}J>X=kn#I=ZF%>#i@94*>s; zU;eor4(Ot5yPaj3eE~pDM{K<}anLHM(|^2`wVj<~&k)x=#IgWP^x3m#AW(rmP?6Rf zlqg=pc6CwU{@A)o+ygAJ!cW6AW_DB$C|zF2+ielII65=;t`<)4WP}yLp9WnyxSE+7L%69+{G*a6(#3iAnPvdz zJvtpY{xiiQ@HjoBs7-PUU0PW?Z)3E=x{pO+FYlBU7TpFC;g`6$e9G#l${2f@`}(Xc z{Wn+oI-*u=tPy|4$fEt9+-agwYZDBD26BI_3OdDEH#3`+ryoD(&O&Z^^_Z4F@Gqqw zfO*t8`1@CerpCC6B#J7}C(XDRFS2Gjp(bZ-cLS)rvKjs-I#_rLj6=VYv+fO zqE_bOV$h%Y(D;&PVaF>r0UjfT-{JXqVD#bG$gMNJy^k(5CWGm0r8Zs}btPlNU(x^| z#3hcPXy_$QGMB;-NATuBax1OjwKv&|Mwy7+$wpgo?HS7HqeJo3yd4R;XRorZd0!y|f5v7YPF z)FQ1cu2kISRe1!p)7xV#Wl)4P$$Vu4hjAt}QiQSuGp^}ht&<7FTaSX4SG~3y6crG| zq_&EmC>YJrwJG5%o;bu$_dHdhyRy=h*`~@_s7m#m6sO^(8!tCD_Davs0Zs~O#$8Gb zZfPE{o}XiJeam$h%DW1RfNjS7oj*Du;Rc;hX5$8O^}hA=(-Fb!$<1USnE=2kCv zXOO{sWLc+h_?0ELGEJYBVa%f&!=9c#4n8&fpMkxxRB?9~{kf-#fDUf% zz?zTqJ4i;d)PK0INyssTQ&9;lIjPfWZZVX54> zv!pQzq51Nwyne%*Bm35Lrd+`-IYhC}k8lkv0YsV7UN z+V7oJcA1&{MkNXQJeUQA%G2rS)gD6p@*KKvXD?VgYI54_f+`lxg7=Q&O0U0y2mqZnroO-3Kuy6XRK^uH znvbx_NSyTrLeF|zzZ2!V%4O=S^c{n1s_z7k!$=YctZE&uW)BLUB5@lx;P{;TPi05Y zMx6&W9tNS#c*(dgIwLM-k9_wxdUP?r2YMz8;#NCh?coN}D4a#BAVISNHUq}=*@2q&3{xU)JW1qidb+h;8=-GI*`FpJ+2 zsDiR$g=eJ0U>;*cpxnmleB+%%Y|(j=_}i&0bsW#tt(|*a%)*|nua%EX zGeOIuFpvIBN15szzcc8-{G zI*$Q^E{Wf5=R~15*1xZU_NEU|UNhdJB%)cfI9DXb6^U)_sO5#b9(0}qasoM7bykSl z?Os+dbE~~lmp$QHxGIn=d@HJwLm%w!olf`DpEKVioLZ;`1fW~n9}hqYa!w6Lqu)CU z7k3*@u8Q~)klM}>;Px-qj`1#^W{Mi93 zIg(3Rw769L6aKsYqgq^mrI^vH)ecHlq>b{4E?~x=*t@utZKce({{F?~b0Vb`uW2#2 z^z;Yp2UTadmVmZ0?zqT4U+9*<^BtI1?>@#(h@QZq7PJvQB)Z%=DxQw@fT&Pbl4VgW|KUWCiMPMm`LyZPXZ? zYxofv&n&We4FuvGx%j^TP-_!mKm6W&EOh5TI~2NTx6JDm1KJbJkS6 zGDiU%beg16LnU%BAN7df*$f4>Ue7((wsX1bk^qgNWL3f>7;_3E-t4tQ4mKgO7Zmp5 zToL$%Ir5dZlfyN(B|@HBXFz5|A@u3%Xj&=V;WyDThVz3>l%CF4%l!JzK%m`Yi0e!^ zCZ4cw_YDUEHFZL0i=8+0rVcd$3Z*;2)a29Ua%TI8qbTc-c$4|@L3>>3$7D|T#Sfl$ z1h7clyQGhJ@@3dm!W}H3QJr1xoUR+fJiY&~++UD4orQdSP})#)sbeSIe5;YtLD=bm zkTRMyXu1<3w8+g*T2nY_x+?aR85bwf9F4i-0oSC4ZZGTwPiATs;s7*G zEMC(;V_!u?Qw7pJ63#HK56=fZ%E^U(4!_&&w$fgloBw1P$lylsU@Cbb`ce2*t>`<_ zrWyDF@Wv+a?VZiSS}Dd=Ukbj&n3g9#VCiWG(E1rtcc1+P^R0jnax;MPkSMh)3#VWe zaf78bNP8@SI7s&Bnl(v93PxLD)x2f%9ru}F=e3;(Qn$EmfjIcjA^ z?7NAi^F2ceNfX9lg~v`!7kBj{bua)N6E)K~1Jaq^y~;ncoY+OCs>)430PdTmJbTk$ zA1gI-1lj1AZY4wU&nvw5=Y?IHlxachbuy;EC!Y^;6 z_kBK}_xJl}KA*X+>zw<(&vl>gS?+V4fcUcz=xKf2uLH1 zjmz2}o0zMGm4EIZB{M{!Rnn;L^~y_L?E$vn zw|ztX2fjK){uFMw=mtNdokY&wk61`JdY>=h6&YjAp71*WtF>m+zu%!R37WQkUAPqZ z>!CF$3jO1WsV@rz%47&V-a#C2a@~gyAGo%0N7vunJ`)tM39`K1M(Udb@Fa7Zejpsa zp|sa}(w)>D{{4H@M_b?i1x{YVFC2RlCw|AE#{2rWYAfn#bh8t4`MGsF@HBv zp({g}csGuAwxhs5ETJ107zl!J%y)fqvma)tErp=Pozjy$rI}^zC+5pgZGk~(RZ`UT zG#5BE2*JKnd4_hBPOt520mog}6DMWI@(nGKA(Md=^eyK0wYZ5zq4wFJ=&h{jgYC25 z@;@Ju}ROOtWuc`xpN<+r% zr-7schYq=}5WTg0J%N*$4e6=`%4Te-1mTNODR|E};F1yfrS5KF8f~%4*qcMbOk%So z)O_+2fiul-ONCD-k%Fjt@6RX)-6{G6{nU!srfR+0$qD~>G%w`)8QvX;ii@o69gW@1 zMDw>5;rOkZIUwYCa{u_ODTl%8+#wpUADcQ-syoUr`c3IT+b=kn+QcBetx?l`Ao7e- zF9VY$MT%3@;hJ2JjdN#$)f1vW8%9_64@juYLz$-Dpkr-ybb*mJB?St5crDgDONZ0D z*|$q!zf~V=Td~&LU)+ko3#10CA`f5HXWLhz`!pr`*|vbcAh5GOV9R3y0WR5mv=1tU z%E@?lUL*OsfQQ`pryLdOb>}c6_xS}{7Ad1GqY!3e;ED!9iP9HtaWZBp+ zeUCjUNsqcmsc<5Osz=COaky83VE|FSW4%-8eD`m$9XcD4AOr$}x%#5Ix~FP~g`MhH zR|W^kpV1KaXv=&3yA$lcFf3ejJx9x>gxpOFa6gWp^h)a^`Ovqjf*Pz@E1S1CKqEyH z`V@`oQ-82-ElfKIV2TS6zExcJRzNbu(<0NA@)_4RK*i6AECVx>gCC9_SFD}}e~JEH zE2z7#@^iNHbQusNfXDR+(7UFx6a1ndwA7xVBh^u$`- z>qYIYL^1#ezr&+zBClV*bIKJ&3;qDGr2|pAvTW(sJ$Co42Nz+*`l@GBQNt0lx;pa4 zJ#nMiy(Z9osN|{h$3d2Etp` z@y>^G`J~~wr6=a=lWi?>emfAQ5H;|J(RN}{_P%leRFdkE*v(&Q3d~w!7o9Bs7c|Rh zlAit@mf@)GUmQ8fCSWqw;f$L++*2N2Xlgh4=JO8N`cB^QV>P=r`z<;yP>ksKdWm~W zsiC&v?JZd*ecx*unQ1!&9omy)xE8h*jv$I157$H5UubScpSedchWoEv;1KA&Z*k7= z!u0~RQIt$eaLq2z)yE9j_A}6(hulL8szpnYWX;qe(36@XwNNJN8EP(f<$G$&yHArI zk5h$nZ&dh8lv?m2tiy}t+r~{p+mg=3IA@9t4}ozALiI4~ zh`%%hVWE0>uQr5nT-r=*QvIwu6oAZnb^Xd>0Jf1j_<)J%Kri07+5_D5+o&g!>J!z8 zS`M$Wx&>7hSff*>SudqbE0j3{$N45$;Ifc;hyu`yE33QvmX*7r9sX01JCh4?D*=I2 zVhD^1*7rB;_8Od@>Rc$;!=4K|vb*lU;vz{-m>ATK8C1HZlMev6SgLWvWSHn+5Ow}6 zaAA1JZi203mrZ5lV?iRaoc8RQ@u@v)ZwMpWs5u0<3RBvcG`&LJ75Pl=_$Y0cEUcG6 z4n6EB9UrAz@KE+Na&-scWyBY{wb!xSyE~qHg}4i3^*()0de*VgvG$ey2qVE^BRQ(D zo-PP#;0km#5z7P5I?nFdxN+%m6&_Q{T<=>DDZD$NkiBPSH7ZYl_ZFH;fShbop!2my zOS0tny9;ZX#p{m|9AdPok9^dSTu`na>%Je!nsSzf?4?)KpL&{{t!D+jb)Jk1*U|-t zhHY4+#GK>E<=5rld$*c#atYrd7yz$Gk`PiE-f{; zCb;6=;IspnFq(bi1J(fX=H)KnO)A_u&&D7g7fHBrflnAi?c5Zh$lg^*d5MCaM1ENc zJ4)dFncx#|ub4y;fKERiq48?k%mj_>?rBXMZKTdI>PJ~2U0v%kC4*HcM->%`8A+_KPg8|*L4wdz&=%n8oK90(#o6Sxl7I^O1o#> z-Pfoza+cM-MHK}-y4-`NWsWW2Iqrs8mI5FU*sOni8d4^W6|c`{?fFCfy!q!2TXZQ! z$;a;_!09a-0<_s(w<92%tM_wDV>kqKBU)Wow~XR~#bUEZ52uD0-8Sh8-k4w~PhRU% z3C7~aUVek(^?Uacy!I-}Qi2EMRNr9*lQE&nfmaWPLIvf&)@)!;OYZf*4ERY-L}0Ha zB@}qPK^$qrF)efvs@Fz5sY7d-KY2SyxiyWA#lK8Wc6}a{LO{%&lMG+zSIPk)uQYnRk?`9u%f0$4(uZ=7%w-sHTs2~0uw&Px|kf9P6di&%h|1+A! zLxI87zKTJ1a4*SDAW;|>Gc)5F?Wn|3DbrZ=3S~JeD#~OzTePyi`wp($vz@+{SM6PSXbV_>*sSL-wL;;J+wkcW(DNZFUt{2r2~)v4)f!dFvzIDbXT< zeu0P7gF=jD-&f^0nW+0@xh+!@j>nVODiD3ZRqCD6(o)SJ<>nU{FvT8 z%zgM-qs=4%l?dm{cnMwr5uQ3Eb{sgIQDKFYU5EJhg}w#mxy0%}B-OyHBH1_C@% zpgbbKvQw2zJKE20u<*w~aBs2>ggLq$98p82FFwd;WCt;?2wCpQP8SS9b27!UfUa#Y zn)1t|s?d3kw|2Ad{nPl?LRXhDd@=$404OOFjp(%HyO_nmx1{ZEZ0R)2f{DrhpCfYl zTV>=vu~NTQ*l#7KENHn?u31$Xz99sQH-r*8^uS@y4cq=Q6TOBK7$?K?EBRev?8`F3OgQX|N-);+@K|GWD}=Xz>#C zr3+E*hyB>>BwN6&=i^;jFZmF=tR>!m<$p&0JDQRx4vKx|?S_W)Z@lkT8i%)Gd zL7Qr~!%9f}V|jlOL!O~7$ZtK46Y%G-7MgnPPXmhHXK=us66It5yZW5wgc?AO2Y@IJ zh)!h#R01xyDjBGZ5I zKgpYu|Kl0ZATPya)rL(U6d}_RamvYz=)Qm~70OMVOULsXa)LyFhLz^FR&m-lCzY}o zZuvU;;b6@4ARyiJX3o`sfMeOqL5ofk2nS=mHua3=o0C326ZMInMhTZAeD) zE+x3b$dR4zJ-@$Toep1#Q_Yb>DY2B(f|N;FWO4`zg7yk(0R!F^oY`NP2KtNH7mX2aigd|3($hMF(6Y-`RSw#Lwbou!{%m5G5L~b35vEY zGsRc9>6NFd!qie20f~!r`5P_B&Qnlga;Ko95(gVYuGPiGu&ETwow8L~u;sBI-a$** zzZ%rRoRqj4ui`Y^fYK%u^`M4qPxeN^KiHRxiW(*@qJ|&?JG@3V{w?T>eEwTQp6o0~ zV5YYI6|kX7nHNP{kaBK)%{6Oxn#}+W52A}DF|$o*H$TO7TGf@NEAzjNeSGgcXeMCb zUxU8Ui`J_AlACvM5-?)(Qf#7)_M^2|A$hg|rbCQWz-;~J*zqqbqt>p>&PjLMI3GQ* zeEi_Z!lzK;SLay*nuQmA-`Bjt_U4)-74v_Z3S7KSt8Qlev@Nm>0}kdkOqwu(^_>s3 zE6&RaXY@B;)#Lp8)YKvw3e(kU^gRJpl`e)gt?W}q?gmPU-F~q7^**Y^uV+E^N-iX&)%58ltiLM7Bo)6Q* zHR?=xZ9v9ztzbE6`8WmZQg2yH&-=1vpvG z>rb^cz>7R=Ww_eU-r3~rqNqqo@Oo@&k})#G^zwC$AX|fyCg)Ztor>aQsi}z^wCoNi zsA@w)zz+%+nct>2aIELP6QR3GqX8q9r%8K-X%v1Jw!E3VDmTP04d3uQ-F&~L1h02!58Pr`Y8AbZ(m1fl8 zeT)6N%uVdjSdH|*llO_T0|3XTe%;9#qj2|v7BPtlqpseNKYBTP_UWN3Iqy9CMY+sX zp0vrbo58QuWj@ndjDAb18~2Nku^PBuWo(!+VXxqR!uZ$7L|^jZpJtnE@wE2j4Q` zph`S7tC}Guqfyov;=vomIq`lwzX97!Tl(T@;rp?wFZ1^y%mz2Fz553Eo2Y?zlGG)S$naWWYSlty)rhI26EA@la3fz= zryTr?H+fvYq!vpsJcD^=1xi`C7n7@XNg?YuE5FX-1W`Z9cZV~tKC(6~e?9c6bb#kf zc8Tt{7LDg8E54jKWfg)_-ac=Y9(h@%&R8d-MAeF7SFlMbZ*%qr?969V(uwvr!e$ql zjEQe#S4<1~OgG#@`nD_)m0kUpR0X)ovWsgcw&`UKIrO|FZA&d{%v;CuEC)7&`a1YF zZ-q3o;FGl>qKtSarHIX{Sc;=Fq8;vL4!O_K)IR=OP!fRhO=5uH7=s=MT`^1so-GEBnfp*Vu zExqOwCFDu;0j^p3AVw51Ryy8l_2F%SjbRNpj8!duVh|(c z+9Mc<)>zNP)dBhJ<(S-mVr?H!`%c1AWQX1iA}#iy7ki6t@#Pfx&&3#3Ta(uMM(#mI zGK?1F6^$0VSQ25SebZSb;+SIT#36e})azt!KH}vpf}F*98#4>O{F-{6XM)o5sAsa_ zwgo9=4+`W@UGqI*419X&VCbv^a4X}4^}*^1Z}KA3?072})60X79b3_$_%rx=yF`s% zWgRtG4irQ-M%HU6w|T0@dWr_(+0RVrISS@Jx{`Fh!m!;7HzQ4h)-i*Y(sSL`0T6Dj zCV8XMs4%PKl+rI~DW70_)Mdt<;-kl`Mj>V&*I)2FONTZBOEW1b79r>CB5VCW3G)Ka cQTOOpo`;T?ohU*8&FVoHjm*zh7`R0J3+0W(k^lez literal 23657 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 diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 3e7f29d78c249e82872cf1ebc19c7675d8bb2337..48dbbbc1d465ea792c777302af927dcfa1fa0227 100644 GIT binary patch delta 9826 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 delta 10656 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 delta 15011 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 VEO2Jw=)a-@8jrPA%9Sj`{tr*AaO?m8 diff --git a/tgstation.dme b/tgstation.dme index 0a04b559eef..281a61551fe 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -33,6 +33,7 @@ #include "code\__DEFINES\pipe_construction.dm" #include "code\__DEFINES\preferences.dm" #include "code\__DEFINES\qdel.dm" +#include "code\__DEFINES\role_preferences.dm" #include "code\__DEFINES\say.dm" #include "code\__DEFINES\sight.dm" #include "code\__DEFINES\stat.dm"