From f2268831ffc5b21932080e5396e77976fd2138d0 Mon Sep 17 00:00:00 2001 From: Iajret Creature <122297233+AnArgonianLizardThatStealsPRs@users.noreply.github.com> Date: Sun, 22 Oct 2023 02:36:01 +0300 Subject: [PATCH] [MIRROR] Mafia can be played on your PDA [MDB IGNORE] (#199) * Mafia can be played on your PDA (#78576) --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> --- _maps/map_files/Mafia/mafia_ayylmao.dmm | 34 +-- _maps/map_files/Mafia/mafia_ball.dmm | 40 ++-- _maps/map_files/Mafia/mafia_gothic.dmm | 44 ++-- _maps/map_files/Mafia/mafia_lavaland.dmm | 60 ++--- _maps/map_files/Mafia/mafia_snow.dmm | 66 +++--- _maps/map_files/Mafia/mafia_spiderclan.dmm | 40 ++-- _maps/map_files/Mafia/mafia_syndie.dmm | 41 ++-- code/datums/saymode.dm | 14 -- code/game/area/areas/centcom.dm | 12 + code/modules/antagonists/obsessed/obsessed.dm | 1 + .../antagonists/traitor/datum_traitor.dm | 1 + code/modules/asset_cache/assets/headers.dm | 1 + code/modules/mafia/_defines.dm | 4 + code/modules/mafia/abilities/abilities.dm | 26 ++- .../abilities/investigative/investigate.dm | 2 +- .../mafia/abilities/investigative/pray.dm | 2 +- .../mafia/abilities/investigative/reveal.dm | 2 +- .../abilities/investigative/thoughtfeed.dm | 4 +- code/modules/mafia/abilities/killing/alert.dm | 4 +- .../abilities/killing/flicker_rampage.dm | 6 +- code/modules/mafia/abilities/killing/kill.dm | 8 +- .../mafia/abilities/protective/heal.dm | 10 +- .../mafia/abilities/protective/vest.dm | 2 +- .../mafia/abilities/voting/changeling_kill.dm | 22 +- code/modules/mafia/controller.dm | 198 +++++++++++----- code/modules/mafia/map_pieces.dm | 11 - .../mafia/roles/changelings/changeling.dm | 2 +- code/modules/mafia/roles/roles.dm | 49 ++++ .../computers/item/computer.dm | 7 +- .../modular_computers/file_system/program.dm | 2 +- .../file_system/programs/antagonist/dos.dm | 6 +- .../file_system/programs/frontier.dm | 5 +- .../file_system/programs/mafia_ntos.dm | 72 ++++++ .../file_system/programs/ntdownloader.dm | 28 +-- .../file_system/programs/techweb.dm | 2 +- icons/obj/machines/modular_console.dmi | Bin 91003 -> 91830 bytes icons/obj/modular_laptop.dmi | Bin 32233 -> 31920 bytes icons/obj/modular_pda.dmi | Bin 18310 -> 18549 bytes icons/program_icons/mafia.gif | Bin 0 -> 193 bytes tgstation.dme | 1 + tgui/packages/tgui/interfaces/MafiaPanel.tsx | 220 ++++++++++++------ .../tgui/interfaces/NtosMafiaPanel.tsx | 12 + tgui/packages/tgui/layouts/NtosWindow.js | 3 +- 43 files changed, 683 insertions(+), 381 deletions(-) create mode 100644 code/modules/modular_computers/file_system/programs/mafia_ntos.dm create mode 100644 icons/program_icons/mafia.gif create mode 100644 tgui/packages/tgui/interfaces/NtosMafiaPanel.tsx diff --git a/_maps/map_files/Mafia/mafia_ayylmao.dmm b/_maps/map_files/Mafia/mafia_ayylmao.dmm index 0f0a9c0e433..b9d8582f3b0 100644 --- a/_maps/map_files/Mafia/mafia_ayylmao.dmm +++ b/_maps/map_files/Mafia/mafia_ayylmao.dmm @@ -5,6 +5,10 @@ "b" = ( /turf/closed/indestructible/alien, /area/centcom/mafia) +"d" = ( +/obj/effect/landmark/mafia, +/turf/open/floor/plating/abductor, +/area/centcom/mafia) "g" = ( /obj/mafia_game_board, /obj/effect/mapping_helpers/broken_floor, @@ -32,12 +36,10 @@ /turf/open/floor/plating/abductor, /area/centcom/mafia) "m" = ( -/obj/effect/landmark/mafia, /obj/structure/bed/abductor, /turf/open/floor/plating/abductor, /area/centcom/mafia) "n" = ( -/obj/effect/landmark/mafia, /obj/structure/bed/abductor, /turf/open/floor/plating/abductor2, /area/centcom/mafia) @@ -146,6 +148,10 @@ icon_state = "alien21" }, /area/centcom/mafia) +"O" = ( +/obj/effect/landmark/mafia, +/turf/open/floor/plating/abductor2, +/area/centcom/mafia) "P" = ( /turf/closed/indestructible/abductor, /area/centcom/mafia) @@ -394,13 +400,13 @@ W G x r -r +O x -q +d x -r +O x -q +d q x E @@ -444,13 +450,13 @@ j m q q -q +d x t t t x -r +O r r n @@ -494,13 +500,13 @@ j n r r -r +O x t t t x -q +d q q m @@ -544,13 +550,13 @@ I J x q -q +d x -r +O x -q +d x -r +O r x Y diff --git a/_maps/map_files/Mafia/mafia_ball.dmm b/_maps/map_files/Mafia/mafia_ball.dmm index 2991fb8d78f..fb4dc490d36 100644 --- a/_maps/map_files/Mafia/mafia_ball.dmm +++ b/_maps/map_files/Mafia/mafia_ball.dmm @@ -252,11 +252,11 @@ b o r p -m +q q p r -n +r p q l @@ -274,7 +274,7 @@ c d d b -n +r r b b @@ -284,7 +284,7 @@ r b b q -m +q b d d @@ -301,13 +301,13 @@ b b p r -r +n p -q +m p -r +n p -q +m q p b @@ -348,19 +348,19 @@ b c d j -m q q q +m p s t s p +n r r r -n j i c @@ -398,19 +398,19 @@ b c d j -n r r r +n p s t s p +m q q q -m j d c @@ -451,13 +451,13 @@ b b p q -q +m p -r +n p -q +m p -r +n r p b @@ -474,7 +474,7 @@ c f d b -m +q q b b @@ -484,7 +484,7 @@ q b b r -n +r b d d @@ -502,11 +502,11 @@ b l q p -n +r r p q -m +q p r o diff --git a/_maps/map_files/Mafia/mafia_gothic.dmm b/_maps/map_files/Mafia/mafia_gothic.dmm index 4dd3c89f22a..817e145d111 100644 --- a/_maps/map_files/Mafia/mafia_gothic.dmm +++ b/_maps/map_files/Mafia/mafia_gothic.dmm @@ -297,11 +297,11 @@ b J r p -m +q q p E -N +O p q l @@ -319,7 +319,7 @@ c d d b -D +E O b b @@ -329,7 +329,7 @@ r b b q -m +q b d d @@ -346,13 +346,13 @@ b b p X -r +M p -q +m p -O +N p -q +m q p b @@ -393,19 +393,19 @@ b c d j -m q q q +m p t t t p -X +n r E -N +O j i c @@ -443,19 +443,19 @@ b c d j -n +X r E -O +N p t t t p +m q q q -m j d c @@ -496,13 +496,13 @@ b b p q -q +m p -X +n p -q +m p -E +D O p b @@ -519,7 +519,7 @@ c f d b -m +q q b b @@ -529,7 +529,7 @@ q b b X -M +r b d d @@ -547,11 +547,11 @@ b l q p -n +X r p q -m +q p E P diff --git a/_maps/map_files/Mafia/mafia_lavaland.dmm b/_maps/map_files/Mafia/mafia_lavaland.dmm index a3729fe8a6e..96ddef90b5c 100644 --- a/_maps/map_files/Mafia/mafia_lavaland.dmm +++ b/_maps/map_files/Mafia/mafia_lavaland.dmm @@ -60,7 +60,6 @@ /turf/open/floor/fakebasalt, /area/centcom/mafia) "an" = ( -/obj/effect/landmark/mafia, /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 9 }, @@ -126,6 +125,7 @@ /obj/effect/turf_decal/trimline/brown/filled/end{ dir = 4 }, +/obj/effect/landmark/mafia, /turf/open/floor/iron, /area/centcom/mafia) "az" = ( @@ -137,17 +137,11 @@ /obj/structure/closet/secure_closet/miner/unlocked, /turf/open/floor/iron, /area/centcom/mafia) -"aA" = ( -/obj/effect/landmark/mafia, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 6 - }, -/turf/open/floor/iron, -/area/centcom/mafia) "aB" = ( /obj/effect/turf_decal/trimline/brown/filled/end{ dir = 1 }, +/obj/effect/landmark/mafia, /turf/open/floor/iron, /area/centcom/mafia) "aC" = ( @@ -183,13 +177,6 @@ }, /turf/open/floor/iron, /area/centcom/mafia) -"aG" = ( -/obj/effect/landmark/mafia, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 10 - }, -/turf/open/floor/iron, -/area/centcom/mafia) "aH" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 10 @@ -209,7 +196,6 @@ /turf/open/floor/iron, /area/centcom/mafia) "aJ" = ( -/obj/effect/landmark/mafia, /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 6 }, @@ -227,13 +213,6 @@ /obj/structure/closet/secure_closet/miner/unlocked, /turf/open/floor/iron, /area/centcom/mafia) -"aL" = ( -/obj/effect/landmark/mafia, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/turf/open/floor/iron, -/area/centcom/mafia) "aM" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 10 @@ -258,13 +237,7 @@ /area/centcom/mafia) "aP" = ( /obj/effect/turf_decal/trimline/brown/filled/end, -/turf/open/floor/iron, -/area/centcom/mafia) -"aQ" = ( /obj/effect/landmark/mafia, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, /turf/open/floor/iron, /area/centcom/mafia) "aR" = ( @@ -277,6 +250,7 @@ /obj/effect/turf_decal/trimline/brown/filled/end{ dir = 8 }, +/obj/effect/landmark/mafia, /turf/open/floor/iron, /area/centcom/mafia) "aT" = ( @@ -473,11 +447,11 @@ aY ar aM ap -am +aq aq ap aw -aA +aV ap aq al @@ -495,7 +469,7 @@ ac ad ad aY -aL +aF aN aY aY @@ -505,7 +479,7 @@ ax aY aY aq -am +aq aY ad ad @@ -524,11 +498,11 @@ ap aO aP ap -aq +am ap ay ap -aq +am aq ap aY @@ -569,10 +543,10 @@ aY ac ad aj -am aq aq aq +am ap aq aZ @@ -628,10 +602,10 @@ aq ab aq ap +am aq aq aq -am aj ad ac @@ -672,11 +646,11 @@ aY aY ap aq -aq +am ap aS ap -aq +am ap aB aD @@ -695,7 +669,7 @@ ac af ad aY -am +aq aq aY aY @@ -705,7 +679,7 @@ aq aY aY aE -aG +aM aY ad ad @@ -723,11 +697,11 @@ aY al aq ap -aQ +as aU ap aq -am +aq ap aF aI diff --git a/_maps/map_files/Mafia/mafia_snow.dmm b/_maps/map_files/Mafia/mafia_snow.dmm index 0a4001a6b0f..b8fbc0650b4 100644 --- a/_maps/map_files/Mafia/mafia_snow.dmm +++ b/_maps/map_files/Mafia/mafia_snow.dmm @@ -8,6 +8,10 @@ "d" = ( /turf/open/floor/plating, /area/centcom/mafia) +"e" = ( +/obj/effect/landmark/mafia, +/turf/open/floor/iron/dark, +/area/centcom/mafia) "f" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, @@ -46,10 +50,6 @@ }, /turf/open/floor/holofloor/wood, /area/centcom/mafia) -"m" = ( -/obj/effect/landmark/mafia, -/turf/open/floor/holofloor/wood, -/area/centcom/mafia) "n" = ( /obj/item/bedsheet/green, /obj/structure/bed, @@ -133,11 +133,6 @@ }, /turf/open/floor/iron, /area/centcom/mafia) -"B" = ( -/obj/effect/landmark/mafia, -/obj/structure/lattice/catwalk, -/turf/open/lava/plasma/mafia, -/area/centcom/mafia) "C" = ( /obj/mafia_game_board, /turf/open/floor/holofloor/snow, @@ -181,6 +176,15 @@ "K" = ( /turf/closed/indestructible/rock/snow, /area/centcom/mafia) +"R" = ( +/obj/effect/landmark/mafia, +/turf/open/floor/iron, +/area/centcom/mafia) +"W" = ( +/obj/structure/lattice/catwalk, +/obj/effect/landmark/mafia, +/turf/open/lava/plasma/mafia, +/area/centcom/mafia) (1,1,1) = {" a @@ -342,11 +346,11 @@ s o F p -m +F q p t -y +t p z E @@ -364,7 +368,7 @@ s d d s -m +F r s s @@ -374,7 +378,7 @@ t p p z -B +z p w w @@ -391,13 +395,13 @@ s s p r -r +R p -q +e p -t +y p -z +W z p p @@ -438,19 +442,19 @@ b s d j -m +F F q -q +e x J t t p +y t t t -y p w t @@ -488,19 +492,19 @@ b s d j -m +F F r -r +R A J t t p +y t t t -y p w w @@ -541,13 +545,13 @@ s s p q -q +e p -r +R p -t +y p -z +W z p p @@ -564,7 +568,7 @@ s f d s -m +F q s s @@ -574,7 +578,7 @@ t p p z -B +z p w w @@ -592,11 +596,11 @@ s G F p -m +F r p t -y +t p z E diff --git a/_maps/map_files/Mafia/mafia_spiderclan.dmm b/_maps/map_files/Mafia/mafia_spiderclan.dmm index 090f2d27efb..ff83f8de3ec 100644 --- a/_maps/map_files/Mafia/mafia_spiderclan.dmm +++ b/_maps/map_files/Mafia/mafia_spiderclan.dmm @@ -258,11 +258,11 @@ S b r p -m +q q p r -n +r p q o @@ -280,7 +280,7 @@ c d d S -n +r r S S @@ -290,7 +290,7 @@ r S S q -m +q S d d @@ -307,13 +307,13 @@ S S p r -r +n p -q +m p -r +n p -q +m q p S @@ -354,19 +354,19 @@ S c d j -m q q q +m p t t t p +n r r r -n j i c @@ -404,19 +404,19 @@ S c d j -n r r r +n p t t t p +m q q q -m j d c @@ -457,13 +457,13 @@ S S p q -q +m p -r +n p -q +m p -r +n r p S @@ -480,7 +480,7 @@ c f d S -m +q q S S @@ -490,7 +490,7 @@ q S S r -n +r S d d @@ -508,11 +508,11 @@ S o q p -n +r r p q -m +q p r b diff --git a/_maps/map_files/Mafia/mafia_syndie.dmm b/_maps/map_files/Mafia/mafia_syndie.dmm index e8e49e65c10..12287245828 100644 --- a/_maps/map_files/Mafia/mafia_syndie.dmm +++ b/_maps/map_files/Mafia/mafia_syndie.dmm @@ -45,10 +45,6 @@ /obj/mafia_game_board, /turf/open/floor/plating, /area/centcom/mafia) -"n" = ( -/obj/effect/landmark/mafia, -/turf/open/floor/mineral/plastitanium, -/area/centcom/mafia) "o" = ( /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, @@ -68,6 +64,7 @@ name = "tactical swivel chair" }, /obj/effect/turf_decal/tile/red/fourcorners, +/obj/effect/landmark/mafia, /turf/open/floor/iron/dark, /area/centcom/mafia) "r" = ( @@ -93,12 +90,14 @@ name = "tactical swivel chair" }, /obj/effect/turf_decal/tile/red/fourcorners, +/obj/effect/landmark/mafia, /turf/open/floor/iron/dark, /area/centcom/mafia) "y" = ( /obj/structure/chair/office{ name = "tactical swivel chair" }, +/obj/effect/landmark/mafia, /turf/open/floor/mineral/plastitanium, /area/centcom/mafia) "z" = ( @@ -106,6 +105,7 @@ name = "tactical swivel chair" }, /obj/effect/turf_decal/tile/red/fourcorners, +/obj/effect/landmark/mafia, /turf/open/floor/iron/dark, /area/centcom/mafia) "A" = ( @@ -113,6 +113,7 @@ dir = 8; name = "tactical swivel chair" }, +/obj/effect/landmark/mafia, /turf/open/floor/mineral/plastitanium, /area/centcom/mafia) "B" = ( @@ -120,6 +121,7 @@ dir = 4; name = "tactical swivel chair" }, +/obj/effect/landmark/mafia, /turf/open/floor/mineral/plastitanium, /area/centcom/mafia) "C" = ( @@ -128,6 +130,7 @@ name = "tactical swivel chair" }, /obj/effect/turf_decal/tile/red/fourcorners, +/obj/effect/landmark/mafia, /turf/open/floor/iron/dark, /area/centcom/mafia) "E" = ( @@ -135,6 +138,7 @@ dir = 1; name = "tactical swivel chair" }, +/obj/effect/landmark/mafia, /turf/open/floor/mineral/plastitanium, /area/centcom/mafia) "G" = ( @@ -146,11 +150,6 @@ /obj/effect/spawner/random/clothing/syndie, /turf/open/floor/iron/dark, /area/centcom/mafia) -"H" = ( -/obj/effect/landmark/mafia, -/obj/effect/turf_decal/tile/red/fourcorners, -/turf/open/floor/iron/dark, -/area/centcom/mafia) "Q" = ( /turf/open/floor/circuit/red, /area/centcom/mafia) @@ -318,11 +317,11 @@ w G o p -n +r r p o -H +o p r b @@ -340,7 +339,7 @@ c d d w -H +o o w w @@ -350,7 +349,7 @@ o w w r -n +r w d d @@ -414,7 +413,7 @@ w c d j -n +r r r y @@ -426,7 +425,7 @@ p q o o -H +o j i c @@ -464,7 +463,7 @@ w c d j -H +o o o z @@ -476,7 +475,7 @@ p E r r -n +r j d c @@ -540,7 +539,7 @@ c f d w -n +r r w w @@ -550,7 +549,7 @@ r w w o -H +o w d d @@ -568,11 +567,11 @@ w b r p -H +o o p r -n +r p o G diff --git a/code/datums/saymode.dm b/code/datums/saymode.dm index 78ec5e6af38..52e22aeaef8 100644 --- a/code/datums/saymode.dm +++ b/code/datums/saymode.dm @@ -96,17 +96,3 @@ AI.holopad_talk(message, language) return FALSE return TRUE - -/datum/saymode/mafia - key = "j" - mode = MODE_MAFIA - -/datum/saymode/mafia/handle_message(mob/living/user, message, datum/language/language) - var/datum/mafia_controller/MF = GLOB.mafia_game - if (!MF) - return TRUE - var/datum/mafia_role/R = MF.player_role_lookup[user] - if(!R || R.team != "mafia") - return TRUE - MF.send_message(span_changeling("[R.body.real_name]: [message]"), "mafia") - return FALSE diff --git a/code/game/area/areas/centcom.dm b/code/game/area/areas/centcom.dm index 1c40347e481..f5ac4fac78e 100644 --- a/code/game/area/areas/centcom.dm +++ b/code/game/area/areas/centcom.dm @@ -213,6 +213,18 @@ name = "Syndicate Elite Squad" icon_state = "syndie-elite" +//MAFIA +/area/centcom/mafia + name = "Mafia Minigame" + icon_state = "mafia" + static_lighting = FALSE + + base_lighting_alpha = 255 + requires_power = FALSE + has_gravity = STANDARD_GRAVITY + flags_1 = NONE + area_flags = BLOCK_SUICIDE | UNIQUE_AREA + //CAPTURE THE FLAG /area/centcom/ctf name = "Capture the Flag" diff --git a/code/modules/antagonists/obsessed/obsessed.dm b/code/modules/antagonists/obsessed/obsessed.dm index 7c921fdd228..92b3140d47b 100644 --- a/code/modules/antagonists/obsessed/obsessed.dm +++ b/code/modules/antagonists/obsessed/obsessed.dm @@ -62,6 +62,7 @@ mask = /obj/item/clothing/mask/surgical neck = /obj/item/camera suit = /obj/item/clothing/suit/apron + shoes = /obj/item/clothing/shoes/sneakers/black /datum/outfit/obsessed/post_equip(mob/living/carbon/human/H) for(var/obj/item/carried_item in H.get_equipped_items(include_pockets = TRUE, include_accessories = TRUE)) diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 20ded165fc0..f453fba3a16 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -382,6 +382,7 @@ mask = /obj/item/clothing/mask/gas l_hand = /obj/item/melee/energy/sword r_hand = /obj/item/gun/energy/recharge/ebow + shoes = /obj/item/clothing/shoes/magboots/advance /datum/outfit/traitor/post_equip(mob/living/carbon/human/H, visualsOnly) var/obj/item/melee/energy/sword/sword = locate() in H.held_items diff --git a/code/modules/asset_cache/assets/headers.dm b/code/modules/asset_cache/assets/headers.dm index e8f34dfd3f9..62c7fc532e6 100644 --- a/code/modules/asset_cache/assets/headers.dm +++ b/code/modules/asset_cache/assets/headers.dm @@ -27,4 +27,5 @@ "smmon_6.gif" = 'icons/program_icons/smmon_6.gif', "borg_mon.gif" = 'icons/program_icons/borg_mon.gif', "robotact.gif" = 'icons/program_icons/robotact.gif', + "mafia.gif" = 'icons/program_icons/mafia.gif', ) diff --git a/code/modules/mafia/_defines.dm b/code/modules/mafia/_defines.dm index 835aff9d63d..ef24645bb05 100644 --- a/code/modules/mafia/_defines.dm +++ b/code/modules/mafia/_defines.dm @@ -100,6 +100,8 @@ /// now clearing refs to prepare for the next day. Do not do any actions here, it's just for ref clearing. #define COMSIG_MAFIA_NIGHT_END "night_end" +/// signal sent to roles when the game is confirmed starting +#define COMSIG_MAFIA_GAME_START "game_start" /// signal sent to roles when the game is confirmed ending #define COMSIG_MAFIA_GAME_END "game_end" @@ -107,6 +109,8 @@ GLOBAL_LIST_EMPTY(mafia_signup) /// list of ghosts who want to play mafia that have since disconnected. They are kept in the lobby, but not counted for starting a game. GLOBAL_LIST_EMPTY(mafia_bad_signup) +/// list of PDAs who want to play mafia, every time someone enters the list it checks to see if enough are in +GLOBAL_LIST_EMPTY(pda_mafia_signup) /// the current global mafia game running. GLOBAL_VAR(mafia_game) /// list of ghosts in mafia_signup who have voted to start early diff --git a/code/modules/mafia/abilities/abilities.dm b/code/modules/mafia/abilities/abilities.dm index 59ee7570c32..3c8e643a427 100644 --- a/code/modules/mafia/abilities/abilities.dm +++ b/code/modules/mafia/abilities/abilities.dm @@ -29,6 +29,11 @@ target_role = null return ..() +///Handles special messagese sent by ability-specific stuff (such as changeling chat). +/datum/mafia_ability/proc/handle_speech(datum/source, list/speech_args) + SIGNAL_HANDLER + return FALSE + /** * Called when refs need to be cleared, when the target is no longer set. */ @@ -52,21 +57,28 @@ if(game.phase != valid_use_period) return FALSE if(host_role.role_flags & ROLE_ROLEBLOCKED) - to_chat(host_role.body, span_warning("You were roleblocked!")) + host_role.send_message_to_player(span_warning("You were roleblocked!")) + return FALSE + if(host_role.game_status == MAFIA_DEAD) return FALSE if(potential_target) - if((use_flags & CAN_USE_ON_DEAD) && (potential_target.game_status != MAFIA_DEAD)) + if(use_flags & CAN_USE_ON_DEAD) + if(potential_target.game_status != MAFIA_DEAD) + if(!silent) + host_role.send_message_to_player(span_notice("This can only be used on dead players.")) + return FALSE + else if(potential_target.game_status == MAFIA_DEAD) if(!silent) - to_chat(host_role.body, span_notice("This can only be used on dead players.")) + host_role.send_message_to_player(span_notice("This can only be used on living players.")) return FALSE if(!(use_flags & CAN_USE_ON_SELF) && (potential_target == host_role)) if(!silent) - to_chat(host_role.body, span_notice("This can only be used on others.")) + host_role.send_message_to_player(span_notice("This can only be used on others.")) return FALSE if(!(use_flags & CAN_USE_ON_OTHERS) && (potential_target != host_role)) if(!silent) - to_chat(host_role.body, span_notice("This can only be used on yourself.")) + host_role.send_message_to_player(span_notice("This can only be used on yourself.")) return FALSE return TRUE @@ -90,7 +102,7 @@ if(target_role) if(SEND_SIGNAL(target_role, COMSIG_MAFIA_ON_VISIT, game, host_role) & MAFIA_VISIT_INTERRUPTED) //visited a warden. something that prevents you by visiting that person - to_chat(host_role.body, span_danger("Your [name] was interrupted!")) + host_role.send_message_to_player(span_danger("Your [name] was interrupted!")) return FALSE return TRUE @@ -121,5 +133,5 @@ target_role = new_target feedback_text = replacetext(feedback_text, "%WILL_PERFORM%", "now") - to_chat(host_role.body, span_notice(feedback_text)) + host_role.send_message_to_player(span_notice(feedback_text)) return TRUE diff --git a/code/modules/mafia/abilities/investigative/investigate.dm b/code/modules/mafia/abilities/investigative/investigate.dm index 0af1ed674b8..d23b51f9813 100644 --- a/code/modules/mafia/abilities/investigative/investigate.dm +++ b/code/modules/mafia/abilities/investigative/investigate.dm @@ -20,5 +20,5 @@ if(MAFIA_TEAM_SOLO) fluff = "rogue, with their own objectives..." - to_chat(host_role.body, span_warning("Your investigations reveal that [target_role.body.real_name] is [fluff]")) + host_role.send_message_to_player(span_warning("Your investigations reveal that [target_role.body.real_name] is [fluff]")) return TRUE diff --git a/code/modules/mafia/abilities/investigative/pray.dm b/code/modules/mafia/abilities/investigative/pray.dm index b5bd6ee7e88..cbf8459f9f2 100644 --- a/code/modules/mafia/abilities/investigative/pray.dm +++ b/code/modules/mafia/abilities/investigative/pray.dm @@ -14,5 +14,5 @@ if(!.) return FALSE - to_chat(host_role.body, span_warning("You invoke spirit of [target_role.body.real_name] and learn their role was [target_role.name].")) + host_role.send_message_to_player(span_warning("You invoke spirit of [target_role.body.real_name] and learn their role was [target_role.name].")) return TRUE diff --git a/code/modules/mafia/abilities/investigative/reveal.dm b/code/modules/mafia/abilities/investigative/reveal.dm index db48b552b62..5e38d3c9faf 100644 --- a/code/modules/mafia/abilities/investigative/reveal.dm +++ b/code/modules/mafia/abilities/investigative/reveal.dm @@ -13,7 +13,7 @@ if(!.) return FALSE - to_chat(host_role.body, span_warning("You have revealed the true nature of the [target_role]!")) + host_role.send_message_to_player(span_warning("You have revealed the true nature of the [target_role]!")) target_role.reveal_role(game, verbose = TRUE) return TRUE diff --git a/code/modules/mafia/abilities/investigative/thoughtfeed.dm b/code/modules/mafia/abilities/investigative/thoughtfeed.dm index 48d465173cd..f0eb49f2b4d 100644 --- a/code/modules/mafia/abilities/investigative/thoughtfeed.dm +++ b/code/modules/mafia/abilities/investigative/thoughtfeed.dm @@ -13,7 +13,7 @@ return FALSE if((target_role.role_flags & ROLE_UNDETECTABLE)) - to_chat(host_role.body,span_warning("[target_role.body.real_name]'s memories reveal that they are the [pick(game.all_roles - target_role)].")) + host_role.send_message_to_player(span_warning("[target_role.body.real_name]'s memories reveal that they are the [pick(game.all_roles - target_role)].")) else - to_chat(host_role.body,span_warning("[target_role.body.real_name]'s memories reveal that they are the [target_role.name].")) + host_role.send_message_to_player(span_warning("[target_role.body.real_name]'s memories reveal that they are the [target_role.name].")) return TRUE diff --git a/code/modules/mafia/abilities/killing/alert.dm b/code/modules/mafia/abilities/killing/alert.dm index 7af38f9befa..74710087137 100644 --- a/code/modules/mafia/abilities/killing/alert.dm +++ b/code/modules/mafia/abilities/killing/alert.dm @@ -22,8 +22,8 @@ SIGNAL_HANDLER if(attacker == host_role) return - to_chat(host_role.body, span_userdanger("You have shot a visitor!")) - to_chat(attacker.body, span_userdanger("You have visited the warden!")) + host_role.send_message_to_player(span_userdanger("You have shot a visitor!")) + attacker.send_message_to_player(span_userdanger("You have visited the warden!")) attacker.kill(game, host_role, lynch = FALSE) return MAFIA_VISIT_INTERRUPTED diff --git a/code/modules/mafia/abilities/killing/flicker_rampage.dm b/code/modules/mafia/abilities/killing/flicker_rampage.dm index 08a18e78778..10331d47986 100644 --- a/code/modules/mafia/abilities/killing/flicker_rampage.dm +++ b/code/modules/mafia/abilities/killing/flicker_rampage.dm @@ -22,11 +22,11 @@ return FALSE if(!(target_role in darkened_players)) - to_chat(target_role.body, span_userdanger("The lights begin to flicker and dim. You're in danger.")) + target_role.send_message_to_player(span_userdanger("The lights begin to flicker and dim. You're in danger.")) darkened_players += target_role else for(var/datum/mafia_role/dead_players as anything in darkened_players) - to_chat(dead_players.body, span_userdanger("A shadowy figure appears out of the darkness!")) + dead_players.send_message_to_player(span_userdanger("A shadowy figure appears out of the darkness!")) dead_players.kill(game, host_role, FALSE) darkened_players -= dead_players return TRUE @@ -37,6 +37,6 @@ return //no chance man, that's a town lynch if(attacker in darkened_players) - to_chat(host_role.body, span_userdanger("You were attacked by someone in a flickering room. You have danced in the shadows, evading them.")) + host_role.send_message_to_player(span_userdanger("You were attacked by someone in a flickering room. You have danced in the shadows, evading them.")) return MAFIA_PREVENT_KILL diff --git a/code/modules/mafia/abilities/killing/kill.dm b/code/modules/mafia/abilities/killing/kill.dm index 2c09c7525eb..d02fd6c287d 100644 --- a/code/modules/mafia/abilities/killing/kill.dm +++ b/code/modules/mafia/abilities/killing/kill.dm @@ -18,17 +18,17 @@ return FALSE if(!target_role.kill(game, host_role, FALSE)) - to_chat(host_role.body, span_danger("Your attempt at killing [target_role.body.real_name] was prevented!")) + host_role.send_message_to_player(span_danger("Your attempt at killing [target_role.body.real_name] was prevented!")) else - to_chat(target_role.body, span_userdanger("You have been [attack_action] \a [host_role.name]!")) + target_role.send_message_to_player(span_userdanger("You have been [attack_action] \a [host_role.name]!")) if(honorable && (target_role.team != MAFIA_TEAM_TOWN)) - to_chat(host_role.body, span_userdanger("You have killed an innocent crewmember. You will die tomorrow night.")) + host_role.send_message_to_player(span_userdanger("You have killed an innocent crewmember. You will die tomorrow night.")) RegisterSignal(game, COMSIG_MAFIA_SUNDOWN, PROC_REF(internal_affairs)) return TRUE /datum/mafia_ability/attack_player/proc/internal_affairs(datum/mafia_controller/game) SIGNAL_HANDLER - to_chat(host_role.body, span_userdanger("You have been killed by Nanotrasen Internal Affairs!")) + host_role.send_message_to_player(span_userdanger("You have been killed by Nanotrasen Internal Affairs!")) host_role.reveal_role(game, verbose = TRUE) host_role.kill(game, host_role, FALSE) //you technically kill yourself but that shouldn't matter diff --git a/code/modules/mafia/abilities/protective/heal.dm b/code/modules/mafia/abilities/protective/heal.dm index 65cd26ad0a1..4c47d1c85ab 100644 --- a/code/modules/mafia/abilities/protective/heal.dm +++ b/code/modules/mafia/abilities/protective/heal.dm @@ -18,7 +18,7 @@ if(!.) return FALSE if(new_target.role_flags & ROLE_VULNERABLE) - to_chat(host_role.body, span_notice("[new_target] can't be protected.")) + host_role.send_message_to_player(span_notice("[new_target] can't be protected.")) return FALSE /datum/mafia_ability/heal/perform_action_target(datum/mafia_controller/game, datum/mafia_role/day_target) @@ -39,10 +39,10 @@ /datum/mafia_ability/heal/proc/prevent_kill(datum/source, datum/mafia_controller/game, datum/mafia_role/attacker, lynch) SIGNAL_HANDLER if(host_role == target_role) - to_chat(host_role.body, span_warning("You were attacked last night!")) + host_role.send_message_to_player(span_warning("You were attacked last night!")) return MAFIA_PREVENT_KILL - to_chat(host_role.body, span_warning("The person you protected tonight was attacked!")) - to_chat(target_role.body, span_greentext("You were attacked last night, but [saving_message]!")) + host_role.send_message_to_player(span_warning("The person you protected tonight was attacked!")) + target_role.send_message_to_player(span_greentext("You were attacked last night, but [saving_message]!")) return MAFIA_PREVENT_KILL /** @@ -60,6 +60,6 @@ return FALSE if(attacker.kill(game, host_role, FALSE)) //you attack the attacker - to_chat(attacker.body, span_userdanger("You have been ambushed by Security!")) + attacker.send_message_to_player(span_userdanger("You have been ambushed by Security!")) host_role.kill(game, attacker, FALSE) //the attacker attacks you, they were able to attack the target so they can attack you. return FALSE diff --git a/code/modules/mafia/abilities/protective/vest.dm b/code/modules/mafia/abilities/protective/vest.dm index 2c65202dd43..b65a8cb73ba 100644 --- a/code/modules/mafia/abilities/protective/vest.dm +++ b/code/modules/mafia/abilities/protective/vest.dm @@ -33,7 +33,7 @@ /datum/mafia_ability/vest/proc/self_defense(datum/source, datum/mafia_controller/game, datum/mafia_role/attacker, lynch) SIGNAL_HANDLER - to_chat(host_role.body, span_greentext("Your vest saved you!")) + host_role.send_message_to_player(span_greentext("Your vest saved you!")) return MAFIA_PREVENT_KILL /datum/mafia_ability/vest/proc/end_protection(datum/mafia_controller/game) diff --git a/code/modules/mafia/abilities/voting/changeling_kill.dm b/code/modules/mafia/abilities/voting/changeling_kill.dm index 0e851d78a95..bb1b1e76c81 100644 --- a/code/modules/mafia/abilities/voting/changeling_kill.dm +++ b/code/modules/mafia/abilities/voting/changeling_kill.dm @@ -30,12 +30,32 @@ ling_sent = TRUE if(target_role.kill(game, host_role, FALSE)) - to_chat(target_role.body, span_userdanger("You have been killed by a Changeling!")) + target_role.send_message_to_player(span_userdanger("You have been killed by a Changeling!")) game.send_message(span_danger("[host_role.body.real_name] was selected to attack [target_role.body.real_name] tonight!"), MAFIA_TEAM_MAFIA) return TRUE /datum/mafia_ability/changeling_kill/set_target(datum/mafia_controller/game, datum/mafia_role/new_target) + if(new_target.team == MAFIA_TEAM_MAFIA) + return FALSE if(!validate_action_target(game, new_target)) return FALSE using_ability = TRUE game.vote_for(host_role, new_target, "Mafia", MAFIA_TEAM_MAFIA) + +/** + * handle_message + * + * During the night, Changelings talking will instead redirect it to Changeling chat. + */ +/datum/mafia_ability/changeling_kill/handle_speech(datum/source, list/speech_args) + . = ..() + var/datum/mafia_controller/mafia_game = GLOB.mafia_game + if(!mafia_game) + return FALSE + if (mafia_game.phase != MAFIA_PHASE_NIGHT) + return FALSE + + var/phrase = html_decode(speech_args[SPEECH_MESSAGE]) + mafia_game.send_message(span_changeling("[host_role.body.real_name]: [phrase]"), MAFIA_TEAM_MAFIA) + speech_args[SPEECH_MESSAGE] = "" + return TRUE diff --git a/code/modules/mafia/controller.dm b/code/modules/mafia/controller.dm index f8d9db13106..967ae9b39a3 100644 --- a/code/modules/mafia/controller.dm +++ b/code/modules/mafia/controller.dm @@ -2,6 +2,9 @@ GLOBAL_LIST_INIT(mafia_roles_by_name, setup_mafia_roles_by_name()) GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) +///How many votes are needed to unlock the 'Universally Hated' achievement. +#define UNIVERSALLY_HATED_REQUIREMENT 12 + /** * The mafia controller handles the mafia minigame in progress. * It is first created when the first ghost signs up to play. @@ -11,7 +14,8 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) var/list/datum/mafia_role/all_roles = list() ///all living roles in the game, removed on death. var/list/datum/mafia_role/living_roles = list() - ///exists to speed up role retrieval, it's a dict. `player_role_lookup[player ckey]` will give you the role they play + ///exists to speed up role retrieval, it's a dict. + /// `player_role_lookup[player ckey/PDA]` will give you the role they play var/list/player_role_lookup = list() ///what part of the game you're playing in. day phases, night phases, judgement phases, etc. var/phase = MAFIA_PHASE_SETUP @@ -105,10 +109,10 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) /datum/mafia_controller/Destroy(force, ...) . = ..() - if(GLOB.mafia_game == src) - GLOB.mafia_game = null end_game() QDEL_NULL(map_deleter) + if(GLOB.mafia_game == src) + GLOB.mafia_game = null /** * Triggers at beginning of the game when there is a confirmed list of valid, ready players. @@ -122,9 +126,10 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) * * Puts players in each role randomly * Arguments: * * setup_list: list of all the datum setups (fancy list of roles) that would work for the game - * * ready_players: list of filtered, sane players (so not playing or disconnected) for the game to put into roles + * * ready_ghosts: list of filtered, sane players (so not playing or disconnected) for the game to put into roles + * * ready_pdas: list of PDAs wanting to play the Mafia game. */ -/datum/mafia_controller/proc/prepare_game(setup_list, ready_players) +/datum/mafia_controller/proc/prepare_game(setup_list, ready_ghosts, ready_pdas) var/static/list/possible_maps = subtypesof(/datum/map_template/mafia) var/turf/spawn_area = get_turf(locate(/obj/effect/landmark/mafia_game_area) in GLOB.landmarks_list) @@ -156,16 +161,32 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) var/list/spawnpoints = landmarks.Copy() for(var/datum/mafia_role/role as anything in all_roles) role.assigned_landmark = pick_n_take(spawnpoints) + var/selected_player if(!debug) - role.player_key = pick_n_take(ready_players) + if(length(ready_pdas)) + selected_player = pick(ready_pdas) + else + selected_player = pick(ready_ghosts) else - role.player_key = pop(ready_players) + if(length(ready_pdas)) + selected_player = peek(ready_pdas) + else + selected_player = peek(ready_ghosts) + if(selected_player in ready_pdas) + role.player_pda = selected_player + ready_pdas -= selected_player + else + role.player_key = selected_player + ready_ghosts -= selected_player -/datum/mafia_controller/proc/send_message(msg, team) +///Sends a global message to all players, or just 'team' if set. +/datum/mafia_controller/proc/send_message(msg, team, log_only = FALSE) for(var/datum/mafia_role/role as anything in all_roles) if(team && role.team != team) continue - to_chat(role.body, msg) + role.role_messages += msg + if(!log_only) + to_chat(role.body, msg) /** * The game by this point is now all set up, and so we can put people in their bodies and start the first phase. @@ -176,10 +197,16 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) */ /datum/mafia_controller/proc/start_game() create_bodies() + SEND_GLOBAL_SIGNAL(COMSIG_MAFIA_GAME_START, src) start_day(can_vote = FALSE) - send_message(span_notice("The selected map is [current_map.name]!
[current_map.description]")) + send_message(span_notice("The selected map is [current_map.name]!
[current_map.description]")) send_message("Day [turn] started! There is no voting on the first day. Say hello to everybody!") next_phase_timer = addtimer(CALLBACK(src, PROC_REF(check_trial), FALSE), (FIRST_DAY_PERIOD_LENGTH / time_speedup), TIMER_STOPPABLE) //no voting period = no votes = instant night + for(var/datum/mafia_role/roles as anything in all_roles) + var/obj/item/modular_computer/modpc = roles.player_pda + if(!modpc) + continue + modpc.update_static_data_for_all_viewers() /** * How every day starts. @@ -229,7 +256,7 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) var/datum/mafia_role/loser = get_vote_winner("Day")//, majority_of_town = TRUE) var/loser_votes = get_vote_count(loser, "Day") if(loser) - if(loser_votes > 12) + if(loser_votes > UNIVERSALLY_HATED_REQUIREMENT) award_role(/datum/award/achievement/mafia/universally_hated, loser) //refresh the lists judgement_abstain_votes = list() @@ -369,8 +396,11 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) * * role: mafia_role datum to reward. */ /datum/mafia_controller/proc/award_role(award, datum/mafia_role/rewarded) - var/client/role_client = rewarded.body.client - role_client?.give_award(award, rewarded.body) + rewarded.body?.client?.give_award(award, rewarded.body) + if(!rewarded.player_pda) + return + for(var/datum/tgui/window as anything in rewarded.player_pda.open_uis) + window.user?.client?.give_award(award, rewarded.body) /** * The end of the game is in two procs, because we want a bit of time for players to see eachothers roles. @@ -584,21 +614,28 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) RegisterSignal(H, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(display_votes)) var/datum/action/innate/mafia_panel/mafia_panel = new(null,src) mafia_panel.Grant(H) + var/obj/item/modular_computer/modpc = role.player_pda + role.register_body(H) + if(modpc) + player_role_lookup[modpc] = role + else + player_role_lookup[H] = role var/client/player_client = GLOB.directory[role.player_key] if(player_client) - player_client.prefs.safe_transfer_prefs_to(H, is_antag = TRUE) - role.body = H - player_role_lookup[H] = role - role.put_player_in_body(player_client) + role.put_player_in_body(player_client) role.greet() -/datum/mafia_controller/ui_static_data(mob/user) +/datum/mafia_controller/ui_static_data(atom/user) var/list/data = list() - if(user.client?.holder) + if(usr.client?.holder) data["admin_controls"] = TRUE //show admin buttons to start/setup/stop + data["is_observer"] = isobserver(user) data["all_roles"] = current_setup_text + if(phase == MAFIA_PHASE_SETUP) + return data + var/datum/mafia_role/user_role = player_role_lookup[user] if(user_role) data["roleinfo"] = list( @@ -610,7 +647,7 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) return data -/datum/mafia_controller/ui_data(mob/user) +/datum/mafia_controller/ui_data(atom/user) var/list/data = list() data["phase"] = phase @@ -619,18 +656,25 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) if(phase == MAFIA_PHASE_SETUP) data["lobbydata"] = list() - for(var/key in GLOB.mafia_signup + GLOB.mafia_bad_signup) + for(var/key in GLOB.mafia_signup + GLOB.mafia_bad_signup + GLOB.pda_mafia_signup) var/list/lobby_member = list() lobby_member["name"] = key lobby_member["status"] = (key in GLOB.mafia_bad_signup) ? "Disconnected" : "Ready" data["lobbydata"] += list(lobby_member) return data - data["timeleft"] = next_phase_timer ? timeleft(next_phase_timer) : 0 //the tgui menu counts this down. + data["timeleft"] = next_phase_timer ? timeleft(next_phase_timer) : 0 var/datum/mafia_role/user_role = player_role_lookup[user] if(user_role) data["user_notes"] = user_role.written_notes + data["messages"] = list() + var/list/ui_messages = list() + for(var/i = user_role.role_messages.len to 1 step -1) + ui_messages.Add(list(list( + "msg" = user_role.role_messages[i], + ))) + data["messages"] = ui_messages data["players"] = list() for(var/datum/mafia_role/role as anything in all_roles) @@ -659,8 +703,13 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) if(.) return var/datum/mafia_role/user_role = player_role_lookup[usr] + var/obj/item/modular_computer/modpc = ui.src_object + if(istype(modpc)) + user_role = player_role_lookup[modpc] + else + modpc = null //Admin actions - if(usr.client?.holder) + if(ui.user.client.holder) switch(action) if("new_game") if(phase == MAFIA_PHASE_SETUP) @@ -686,9 +735,8 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) player.body.forceMove(get_turf(player.assigned_landmark)) if(failed.len) to_chat(usr, "List of players who no longer had a body (if you see this, the game is runtiming anyway so just hit \"New Game\" to end it)") - for(var/i in failed) - var/datum/mafia_role/fail = i - to_chat(usr, fail.player_key) + for(var/datum/mafia_role/fail as anything in failed) + to_chat(usr, fail.player_key || fail.player_pda) if("debug_setup") var/list/debug_setup = list() var/list/rolelist_dict = list("CANCEL", "FINISH") + GLOB.mafia_roles_by_name @@ -732,38 +780,61 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) if(!user_role)//just the dead switch(action) if("mf_signup") - var/client/C = ui.user.client + var/client/ghost_client = ui.user.client if(!SSticker.HasRoundStarted()) to_chat(usr, span_warning("Wait for the round to start.")) return - if(GLOB.mafia_signup[C.ckey]) - GLOB.mafia_signup -= C.ckey - GLOB.mafia_early_votes -= C.ckey //Remove their early start vote as well - to_chat(usr, span_notice("You unregister from Mafia.")) - return TRUE + if(isnull(modpc)) + if(GLOB.mafia_signup[ghost_client.ckey]) + GLOB.mafia_signup -= ghost_client.ckey + GLOB.mafia_early_votes -= ghost_client.ckey //Remove their early start vote as well + to_chat(usr, span_notice("You unregister from Mafia.")) + return TRUE + else + GLOB.mafia_signup[ghost_client.ckey] = TRUE + to_chat(usr, span_notice("You sign up for Mafia.")) else - GLOB.mafia_signup[C.ckey] = TRUE - to_chat(usr, span_notice("You sign up for Mafia.")) + if(GLOB.pda_mafia_signup[modpc]) + GLOB.pda_mafia_signup -= modpc + GLOB.mafia_early_votes -= modpc //Remove their early start vote as well + to_chat(usr, span_notice("You unregister from Mafia.")) + return TRUE + else + GLOB.pda_mafia_signup[modpc] = TRUE + to_chat(usr, span_notice("You sign up for Mafia.")) if(phase == MAFIA_PHASE_SETUP) check_signups() try_autostart() return TRUE if("vote_to_start") - var/client/C = ui.user.client + var/client/ghost_client = ui.user.client if(phase != MAFIA_PHASE_SETUP) to_chat(usr, span_notice("You cannot vote to start while a game is underway!")) return - if(!GLOB.mafia_signup[C.ckey]) - to_chat(usr, span_notice("You must be signed up for this game to vote!")) - return - if(GLOB.mafia_early_votes[C.ckey]) - GLOB.mafia_early_votes -= C.ckey - to_chat(usr, span_notice("You are no longer voting to start the game early.")) + if(isnull(modpc)) + if(!GLOB.mafia_signup[ghost_client.ckey]) + to_chat(usr, span_notice("You must be signed up for this game to vote!")) + return + if(GLOB.mafia_early_votes[ghost_client.ckey]) + GLOB.mafia_early_votes -= ghost_client.ckey + to_chat(usr, span_notice("You are no longer voting to start the game early.")) + else + GLOB.mafia_early_votes[ghost_client.ckey] = ghost_client + to_chat(usr, span_notice("You vote to start the game early ([length(GLOB.mafia_early_votes)] out of [max(round(length(GLOB.mafia_signup) / 2), round(MAFIA_MIN_PLAYER_COUNT / 2))]).")) + if(check_start_votes()) //See if we have enough votes to start + forced_setup() else - GLOB.mafia_early_votes[C.ckey] = C - to_chat(usr, span_notice("You vote to start the game early ([length(GLOB.mafia_early_votes)] out of [max(round(length(GLOB.mafia_signup) / 2), round(MAFIA_MIN_PLAYER_COUNT / 2))]).")) - if(check_start_votes()) //See if we have enough votes to start - forced_setup() + if(!GLOB.pda_mafia_signup[modpc]) + to_chat(usr, span_notice("You must be signed up for this game to vote!")) + return + if(GLOB.mafia_early_votes[modpc]) + GLOB.mafia_early_votes -= modpc + to_chat(usr, span_notice("You are no longer voting to start the game early.")) + else + GLOB.mafia_early_votes[modpc] = modpc + to_chat(usr, span_notice("You vote to start the game early ([length(GLOB.mafia_early_votes)] out of [max(round(length(GLOB.mafia_signup) / 2), round(MAFIA_MIN_PLAYER_COUNT / 2))]).")) + if(check_start_votes()) //See if we have enough votes to start + forced_setup() return TRUE if(user_role && user_role.game_status == MAFIA_DEAD) @@ -774,8 +845,14 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) if("change_notes") if(user_role.game_status == MAFIA_DEAD) return TRUE - user_role.written_notes = params["new_notes"] - user_role.body.balloon_alert(user_role.body, "notes saved") + user_role.written_notes = sanitize_text(params["new_notes"]) + user_role.send_message_to_player("notes saved", balloon_alert = TRUE) + return TRUE + if("send_message_to_chat") + if(user_role.game_status == MAFIA_DEAD) + return TRUE + var/message_said = sanitize_text(params["message"]) + user_role.body.say(message_said, forced = "mafia chat (sent by [ui.user.client])") return TRUE if("send_notes_to_chat") if(user_role.game_status == MAFIA_DEAD || !user_role.written_notes) @@ -807,21 +884,21 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) if("vote_abstain") if(phase != MAFIA_PHASE_JUDGEMENT || (user_role in judgement_abstain_votes)) return - to_chat(user_role.body,"You have decided to abstain.") + user_role.send_message_to_player("You have decided to abstain.") judgement_innocent_votes -= user_role judgement_guilty_votes -= user_role judgement_abstain_votes += user_role if("vote_innocent") if(phase != MAFIA_PHASE_JUDGEMENT || (user_role in judgement_innocent_votes)) return - to_chat(user_role.body,"Your vote on [on_trial.body.real_name] submitted as INNOCENT!") + user_role.send_message_to_player("Your vote on [on_trial.body.real_name] submitted as INNOCENT!") judgement_abstain_votes -= user_role//no fakers, and... judgement_guilty_votes -= user_role//no radical centrism judgement_innocent_votes += user_role if("vote_guilty") if(phase != MAFIA_PHASE_JUDGEMENT || (user_role in judgement_guilty_votes)) return - to_chat(user_role.body,"Your vote on [on_trial.body.real_name] submitted as GUILTY!") + user_role.send_message_to_player("Your vote on [on_trial.body.real_name] submitted as GUILTY!") judgement_abstain_votes -= user_role//no fakers, and... judgement_innocent_votes -= user_role//no radical centrism judgement_guilty_votes += user_role @@ -886,12 +963,15 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) if(setup.len) req_players = assoc_value_sum(setup) + var/list/filtered_pdas = GLOB.pda_mafia_signup + if(!isnull(filtered_pdas)) //pdas get priority + req_players -= length(GLOB.pda_mafia_signup) var/list/filtered_keys = filter_players(req_players) - var/needed_players = length(filtered_keys) + var/needed_players = length(filtered_keys) + length(filtered_pdas) if(!setup.len) //don't actually have one yet, so generate a max player random setup. it's good to do this here instead of above so it doesn't generate one every time a game could possibly start. setup = generate_standard_setup(needed_players) - prepare_game(setup, filtered_keys) + prepare_game(setup, filtered_keys, filtered_pdas) start_game() /** @@ -902,8 +982,9 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) /datum/mafia_controller/proc/forced_setup() check_signups() //Refresh the signup list, so our numbers are accurate and we only take active players into consideration. + var/list/filtered_pdas = GLOB.pda_mafia_signup var/list/filtered_keys = filter_players(length(GLOB.mafia_signup)) - var/req_players = length(filtered_keys) + var/req_players = length(filtered_keys) + length(filtered_pdas) if(!req_players) //If we have nobody signed up, we give up on starting log_admin("Attempted to force a mafia game to start with nobody signed up!") @@ -911,7 +992,7 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) var/list/setup = generate_standard_setup(req_players) - prepare_game(setup, filtered_keys) + prepare_game(setup, filtered_keys, filtered_pdas) early_start = TRUE start_game() @@ -983,7 +1064,7 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) /datum/mafia_controller/proc/try_autostart() if(phase != MAFIA_PHASE_SETUP || !(GLOB.ghost_role_flags & GHOSTROLE_MINIGAME)) return - if(GLOB.mafia_signup.len >= MAFIA_MAX_PLAYER_COUNT || custom_setup)//enough people to try and make something (or debug mode) + if((GLOB.mafia_signup.len + GLOB.pda_mafia_signup.len) >= MAFIA_MAX_PLAYER_COUNT || custom_setup)//enough people to try and make something (or debug mode) basic_setup() /** @@ -1034,7 +1115,7 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) maptext_height = 480 maptext_width = 480 ///The client that owns the popup. - var/datum/mafia_role/mafia/owner + var/datum/mafia_role/owner /atom/movable/screen/mafia_popup/Initialize(mapload, datum/mafia_role/mafia) . = ..() @@ -1045,6 +1126,9 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) return ..() /atom/movable/screen/mafia_popup/proc/update_text(text) + owner.role_messages += text + if(!owner.body.client) + return maptext = MAPTEXT(" [text]") maptext_width = view_to_pixels(owner.body.client?.view_size.getView())[1] owner.body.client?.screen += src @@ -1063,3 +1147,5 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) QDEL_NULL(GLOB.mafia_game) var/datum/mafia_controller/new_controller = new() return new_controller + +#undef UNIVERSALLY_HATED_REQUIREMENT diff --git a/code/modules/mafia/map_pieces.dm b/code/modules/mafia/map_pieces.dm index 342f4a9045a..0d27d6cd1b5 100644 --- a/code/modules/mafia/map_pieces.dm +++ b/code/modules/mafia/map_pieces.dm @@ -26,17 +26,6 @@ MF = create_mafia_game() MF.ui_interact(user) -/area/centcom/mafia - name = "Mafia Minigame" - icon_state = "mafia" - static_lighting = FALSE - - base_lighting_alpha = 255 - requires_power = FALSE - has_gravity = STANDARD_GRAVITY - flags_1 = NONE - area_flags = BLOCK_SUICIDE | UNIQUE_AREA - /datum/map_template/mafia should_place_on_top = FALSE ///A brief background tidbit diff --git a/code/modules/mafia/roles/changelings/changeling.dm b/code/modules/mafia/roles/changelings/changeling.dm index 2415e39f8ee..8e650515ffb 100644 --- a/code/modules/mafia/roles/changelings/changeling.dm +++ b/code/modules/mafia/roles/changelings/changeling.dm @@ -1,6 +1,6 @@ /datum/mafia_role/mafia name = "Changeling" - desc = "You're a member of the changeling hive. Use ':j' talk prefix to talk to your fellow lings." + desc = "You're a member of the changeling hive. You may speak with your fellow Changelings at night." team = MAFIA_TEAM_MAFIA role_type = MAFIA_REGULAR role_flags = ROLE_CAN_KILL diff --git a/code/modules/mafia/roles/roles.dm b/code/modules/mafia/roles/roles.dm index e8b5f8a63ab..efe0d25c5b9 100644 --- a/code/modules/mafia/roles/roles.dm +++ b/code/modules/mafia/roles/roles.dm @@ -15,7 +15,15 @@ ///The player's written notes, that they can send to chat at any time. var/written_notes + ///The ckey of the person playing as this Mafia role, CAN BE NULL IN FAVOR OF player_pda. var/player_key + ///The PDA of the person playing as this Mafia role, CAN BE NULL IN FAVOR OF player_key. + var/obj/item/modular_computer/player_pda + + ///List of all messages this role got throughout the game. + var/list/role_messages = list() + + var/mob/living/carbon/human/body var/obj/effect/landmark/mafia/assigned_landmark @@ -46,11 +54,52 @@ role_unique_actions -= abilities /datum/mafia_role/Destroy(force, ...) + UnregisterSignal(body, COMSIG_MOB_SAY) QDEL_NULL(mafia_alert) QDEL_NULL(body) QDEL_LIST(role_unique_actions) + role_messages = null return ..() +/datum/mafia_role/proc/register_body(mob/living/carbon/human/new_body) + body = new_body + RegisterSignal(new_body, COMSIG_MOB_SAY, PROC_REF(handle_speech)) + +/** + * send_message_to_player + * + * Sends a message to a player, checking if they are playing through a PDA or not. + * Args: + * * message - The message to send to the person + * * balloon_alert - Whether it should be as a balloon alert, only if it's to a non-PDA user. + */ +/datum/mafia_role/proc/send_message_to_player(message, balloon_alert = FALSE) + if(player_pda) + role_messages += message + return + if(balloon_alert) + body.balloon_alert(body, message) + return + to_chat(body, message) + +/** + * handle_speech + * + * Handles Mafia roles talking in chat. + * First it will go through their abilities for Ability-specific speech, + * if none affects it, we will go to day chat. + */ +/datum/mafia_role/proc/handle_speech(datum/source, list/speech_args) + SIGNAL_HANDLER + for(var/datum/mafia_ability/abilities as anything in role_unique_actions) + if(abilities.handle_speech(source, speech_args)) + return + var/datum/mafia_controller/mafia_game = GLOB.mafia_game + if(!mafia_game || mafia_game.phase == MAFIA_PHASE_NIGHT) + return + var/message = "[source]: [html_decode(speech_args[SPEECH_MESSAGE])]" + mafia_game.send_message(message, log_only = TRUE) + /** * Puts the player in their body and keeps track of their previous one to put them back in later. * Adds the playing_mafia trait so people examining them will know why they're currently lacking a soul. diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 0de25b903ab..89e6eca3293 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -500,7 +500,7 @@ if(!caller || !caller.alert_able || caller.alert_silenced || !alerttext) //Yeah, we're checking alert_able. No, you don't get to make alerts that the user can't silence. return FALSE playsound(src, sound, 50, TRUE) - loc.visible_message(span_notice("[icon2html(src)] [span_notice("The [src] displays a [caller.filedesc] notification: [alerttext]")]")) + physical.loc.visible_message(span_notice("[icon2html(physical, viewers(physical.loc))] \The [src] displays a [caller.filedesc] notification: [alerttext]")) /obj/item/modular_computer/proc/ring(ringtone) // bring bring if(HAS_TRAIT(SSstation, STATION_TRAIT_PDA_GLITCHED)) @@ -517,7 +517,6 @@ var/list/data = list() data["PC_device_theme"] = device_theme - data["PC_showbatteryicon"] = !!internal_cell if(internal_cell) switch(internal_cell.percent()) @@ -535,8 +534,8 @@ data["PC_batteryicon"] = "batt_5.gif" data["PC_batterypercent"] = "[round(internal_cell.percent())]%" else - data["PC_batteryicon"] = "batt_5.gif" - data["PC_batterypercent"] = "N/C" + data["PC_batteryicon"] = null + data["PC_batterypercent"] = null switch(get_ntnet_status()) if(NTNET_NO_SIGNAL) diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm index 6f693b5bf99..8cb741d376e 100644 --- a/code/modules/modular_computers/file_system/program.dm +++ b/code/modules/modular_computers/file_system/program.dm @@ -132,7 +132,7 @@ if(isAdminGhostAI(user)) return TRUE - if(!transfer && computer && (computer.obj_flags & EMAGGED)) //emags can bypass the execution locks but not the download ones. + if(computer && (computer.obj_flags & EMAGGED) && (available_on_syndinet || !transfer)) //emagged can run anything on syndinet, and can bypass execution locks, but not download. return TRUE // Defaults to required_access diff --git a/code/modules/modular_computers/file_system/programs/antagonist/dos.dm b/code/modules/modular_computers/file_system/programs/antagonist/dos.dm index 339dd3175eb..856cc9b6b02 100644 --- a/code/modules/modular_computers/file_system/programs/antagonist/dos.dm +++ b/code/modules/modular_computers/file_system/programs/antagonist/dos.dm @@ -19,11 +19,11 @@ /datum/computer_file/program/ntnet_dos/process_tick(seconds_per_tick) dos_speed = 0 switch(ntnet_status) - if(1) + if(NTNET_LOW_SIGNAL) dos_speed = NTNETSPEED_LOWSIGNAL * 10 - if(2) + if(NTNET_GOOD_SIGNAL) dos_speed = NTNETSPEED_HIGHSIGNAL * 10 - if(3) + if(NTNET_ETHERNET_SIGNAL) dos_speed = NTNETSPEED_ETHERNET * 10 if(target && executed) target.dos_overload += dos_speed diff --git a/code/modules/modular_computers/file_system/programs/frontier.dm b/code/modules/modular_computers/file_system/programs/frontier.dm index b724892da7e..9c6e33bcde9 100644 --- a/code/modules/modular_computers/file_system/programs/frontier.dm +++ b/code/modules/modular_computers/file_system/programs/frontier.dm @@ -18,12 +18,9 @@ /// The file under consideration. var/datum/computer_file/data/ordnance/selected_file -/datum/computer_file/program/scipaper_program/New() +/datum/computer_file/program/scipaper_program/on_install(datum/computer_file/source, obj/item/modular_computer/computer_installing) . = ..() paper_to_be = new - -/datum/computer_file/program/scipaper_program/on_start(mob/living/user) - . = ..() if(!CONFIG_GET(flag/no_default_techweb_link) && !linked_techweb) CONNECT_TO_RND_SERVER_ROUNDSTART(linked_techweb, computer) diff --git a/code/modules/modular_computers/file_system/programs/mafia_ntos.dm b/code/modules/modular_computers/file_system/programs/mafia_ntos.dm new file mode 100644 index 00000000000..7bd5b81a240 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/mafia_ntos.dm @@ -0,0 +1,72 @@ +/datum/computer_file/program/mafia + filename = "mafia" + filedesc = "Mafia" + program_icon_state = "mafia" + extended_desc = "A program that allows you to play the infamous Mafia game, straight from your Modular PC." + requires_ntnet = FALSE + size = 6 + tgui_id = "NtosMafiaPanel" + program_icon = "user-secret" + alert_able = TRUE + +/datum/computer_file/program/mafia/on_install(datum/computer_file/source, obj/item/modular_computer/computer_installing) + . = ..() + RegisterSignal(SSdcs, COMSIG_MAFIA_GAME_START, PROC_REF(on_game_start)) + +/datum/computer_file/program/mafia/Destroy(force) + var/datum/mafia_controller/game = GLOB.mafia_game + if(!game) + return + UnregisterSignal(game, COMSIG_MAFIA_GAME_END) + var/datum/mafia_role/pda_role = game.player_role_lookup[computer] + if(!pda_role) + return + game.send_message(span_notice("[pda_role.body] has deleted the game from their PDA, and therefore has left the game.")) + pda_role.kill(game) + return ..() + +/datum/computer_file/program/mafia/ui_static_data(mob/user) + var/list/data = list() + var/datum/mafia_controller/game = GLOB.mafia_game + if(!game) + game = create_mafia_game() + data += game.ui_static_data(computer) + return data + +/datum/computer_file/program/mafia/ui_data(mob/user) + var/list/data = list() + var/datum/mafia_controller/game = GLOB.mafia_game + if(!game) + game = create_mafia_game() + data += game.ui_data(computer) + return data + +/datum/computer_file/program/mafia/ui_assets(mob/user) + var/list/data = list() + var/datum/mafia_controller/game = GLOB.mafia_game + if(!game) + game = create_mafia_game() + data += game.ui_assets(user) + return data + +/datum/computer_file/program/mafia/ui_act(mob/user, params, datum/tgui/ui, datum/ui_state/state) + var/datum/mafia_controller/game = GLOB.mafia_game + if(!game) + game = create_mafia_game() + return game.ui_act(user, params, ui, state) + +///Called when a game of Mafia starts, sets the ui header to the proper one. +/datum/computer_file/program/mafia/proc/on_game_start(datum/controller/subsystem/processing/dcs/source, datum/mafia_controller/game) + SIGNAL_HANDLER + RegisterSignal(game, COMSIG_MAFIA_GAME_END, PROC_REF(on_game_end)) + ui_header = "mafia.gif" + if(game.player_role_lookup[computer]) + alert_pending = TRUE + computer.alert_call(src, "Mafia game started!") + +///Called when a game of Mafia ends, deletes its ui header. +/datum/computer_file/program/mafia/proc/on_game_end(datum/mafia_controller/game) + SIGNAL_HANDLER + UnregisterSignal(game, COMSIG_MAFIA_GAME_END) + ui_header = null + update_static_data_for_all_viewers() diff --git a/code/modules/modular_computers/file_system/programs/ntdownloader.dm b/code/modules/modular_computers/file_system/programs/ntdownloader.dm index efa61b2630c..c9723d905b5 100644 --- a/code/modules/modular_computers/file_system/programs/ntdownloader.dm +++ b/code/modules/modular_computers/file_system/programs/ntdownloader.dm @@ -7,19 +7,16 @@ size = 4 requires_ntnet = TRUE available_on_ntnet = FALSE - ui_header = "downloader_finished.gif" tgui_id = "NtosNetDownloader" program_icon = "download" - var/datum/computer_file/program/downloaded_file = null + var/datum/computer_file/program/downloaded_file var/hacked_download = FALSE var/download_completion = FALSE //GQ of downloaded data. var/download_netspeed = 0 var/downloaderror = "" - var/list/main_repo - var/list/antag_repo - var/list/show_categories = list( + var/static/list/show_categories = list( PROGRAM_CATEGORY_CREW, PROGRAM_CATEGORY_ENGI, PROGRAM_CATEGORY_SCI, @@ -27,10 +24,9 @@ PROGRAM_CATEGORY_MISC, ) -/datum/computer_file/program/ntnetdownload/on_start() +/datum/computer_file/program/ntnetdownload/kill_program(mob/user) . = ..() - main_repo = SSmodular_computers.available_station_software - antag_repo = SSmodular_computers.available_antag_software + ui_header = null /datum/computer_file/program/ntnetdownload/proc/begin_file_download(filename) if(downloaded_file) @@ -50,10 +46,10 @@ ui_header = "downloader_running.gif" - if(PRG in main_repo) + if(PRG in SSmodular_computers.available_station_software) generate_network_log("Began downloading file [PRG.filename].[PRG.filetype] from NTNet Software Repository.") hacked_download = FALSE - else if(PRG in antag_repo) + else if(PRG in SSmodular_computers.available_antag_software) generate_network_log("Began downloading file **ENCRYPTED**.[PRG.filetype] from unspecified server.") hacked_download = TRUE else @@ -68,7 +64,7 @@ generate_network_log("Aborted download of file [hacked_download ? "**ENCRYPTED**" : "[downloaded_file.filename].[downloaded_file.filetype]"].") downloaded_file = null download_completion = FALSE - ui_header = "downloader_finished.gif" + ui_header = null /datum/computer_file/program/ntnetdownload/proc/complete_file_download() if(!downloaded_file) @@ -90,11 +86,11 @@ download_netspeed = 0 // Speed defines are found in misc.dm switch(ntnet_status) - if(1) + if(NTNET_LOW_SIGNAL) download_netspeed = NTNETSPEED_LOWSIGNAL - if(2) + if(NTNET_GOOD_SIGNAL) download_netspeed = NTNETSPEED_HIGHSIGNAL - if(3) + if(NTNET_ETHERNET_SIGNAL) download_netspeed = NTNETSPEED_ETHERNET download_completion += download_netspeed @@ -132,7 +128,7 @@ data["disk_used"] = computer.used_capacity data["emagged"] = (computer.obj_flags & EMAGGED) - var/list/repo = antag_repo | main_repo + var/list/repo = SSmodular_computers.available_antag_software | SSmodular_computers.available_station_software var/list/program_categories = list() for(var/datum/computer_file/program/programs as anything in repo) @@ -147,7 +143,7 @@ "installed" = !!computer.find_file_by_name(programs.filename), "compatible" = check_compatibility(programs), "size" = programs.size, - "access" = (computer.obj_flags & EMAGGED) && programs.available_on_syndinet ? TRUE : programs.can_run(user, transfer = TRUE, access = access), + "access" = programs.can_run(user, transfer = TRUE, access = access), "verifiedsource" = programs.available_on_ntnet, )) diff --git a/code/modules/modular_computers/file_system/programs/techweb.dm b/code/modules/modular_computers/file_system/programs/techweb.dm index dc9538cf358..77d0a0900e4 100644 --- a/code/modules/modular_computers/file_system/programs/techweb.dm +++ b/code/modules/modular_computers/file_system/programs/techweb.dm @@ -21,7 +21,7 @@ /// Sequence var for the id cache var/id_cache_seq = 1 -/datum/computer_file/program/science/on_start(mob/living/user) +/datum/computer_file/program/science/on_install(datum/computer_file/source, obj/item/modular_computer/computer_installing) . = ..() if(!CONFIG_GET(flag/no_default_techweb_link) && !stored_research) CONNECT_TO_RND_SERVER_ROUNDSTART(stored_research, computer) diff --git a/icons/obj/machines/modular_console.dmi b/icons/obj/machines/modular_console.dmi index 86e3d7139579da94c276f9fc05e966af95b4a99a..2677dbb71220a8141638f7cf6c51ee5536f9b0c6 100644 GIT binary patch delta 48311 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

pq_ZZ=yq}(vNbI2F=v&Dt5w)uCMZA8Zmps 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 UpWhnP^ zAp}sV(t8cP1qhvlBr9*l?LPOM-#ho+_q*@DKa#bw=3HyeHRt%o_{NxH=9#{(2G71@ z`ydbq58~E!0|W30?{5u8M;|cEto5-t)e0>t*BV;O_0<<_dxMCx0?-b{#tR z$0al56>;P8eEKQR)wCz!Cr`y_!9(x8c5*uKI!AW?D3vBEtXz2iX<^_>P4!PtW!i`3 zp0;|Vo}A-4-LNukw>7rck?L|+oA-gu$6m+ta*{lqdC%(MC$3&EzU%iirAvlfYjM6n z{7SBok#@;0-f+{Lfb#|YwK&rpN25Gh|0uN^@ucn_Qa&cK&9>(cTzXaNnESa+nJ40w zjGZ1_H8?`_$xj~xIpyp1SA@21mocDm?H|6+>;A#mJlCx7Y5KEy$l+Vd?6f012l=+IrduVCbOGYyL&=8%TG0ntt{r1_PHSx#M8u`c7J*@}KueqirL`1Opcv!0x75RxZW=w~QmB;VaQIG3ul!@5A z*_pDkEF<{mGtpbM^%ny_M3-#x-~UpY3HivQe&gs=AzMVusfF(5seW0-@F{_WF``Dvp6SZEDYQwN^gS=U5_@Ted8M<^QvB77MF0>~Z0b`%1sX4`EAmT>)5&@Sd&!+pde z`B~xkkkp8|0A7W%%Jmf(QaDMC7#X@}gzBTA>*&+z5&qA^ZgRN&1P*gF zK$+Z*;H}=|;mV$U3@mgMS;V|KW`P+AwXf3X+8XvOewuep9Q|;`IF4|?|D1@LXSyXZ z|B93EQfK-#-bORR!*86MOGCyQr7~!BOT5?b2GU<^Kt=LabYO_KdK{PI2zh6{-mM-Q zuwPlRqDrk{X9nM#^IBAANYS$ag6M2G!S0Dv54_;gmaEXbGL+_Kks>ML`R5Ur{#Rxt zU;{cTQ-5scMi%#FpJc=}T;o1s_$f!hyxTT9!*JQ?;pivTz38_U{cH70QQaIerxT_F ziFiY=KXhN_^}W++iFp&U9kSXWW40rT(pqeI5Mf;@n3bqRa-JB3gRSQdbPH3Mu;8_o z;aQt-Yqomaazk5i-DkqrYWpGLfV>&XE6h!BM2!5Hj44IfFUNPNrGHu;F4?{^jJYxe zS#0yoxi}U$K+9FzXXp1#iZ4MNUoqBWZX)tF8J^`_OvS%_(e)tBP9=MP_b1}+{!}JB zsm3@aL;JmO89j}Id#yJ&VEV8ViXgow2_^Sr!Md3!U!gJP9T5=8mVc+zR>f-w*!72_ zdKe*n|2>1zQZnx(VeeQQB*vW&bLo=6gYbBc+~^^>(`^D5n6)xYryjRGg91tngA#7# zQ`|cH`T%Pt`ayLgMb*r%nXgBqQP90$UVOz4Qc^F%gO&9!epszYa^XmA-Q^Z!u^22S z!|$$|S4w+X22R2I!Lr*1@*`DoQ*v8OdsTMMQt^%-FW@HV0l|DYMDp;Tv8`o1k`3?X zQ#VW4UlE-YNKppS;>r$l?cY=4rnc=W5KLwV$5ILRpjCxRtT1guKJESoafkU@30-TH&e`r2;bV4@@=0m~9=jmO2 zwI6`k&%`!qThP)x_r$(r=l?iG3uVZCl|6lC8nE#q=LAT++!i%gAlG8LL#m$|_kL*% z>e)3KVzFp@h`2L%(h?NG9X)mMS^g$X~&`S>t7PR&ATrK}-E1X{6}@a4P}Iara)QVx*D z#Hv%NtCnwKuZx7qURLnQUs4*W9HqJAEo$vX@7`P-lq*K>-4}>fOdE~3Dj+6t_;FYm zGUhSred8HOEb@fe;sUv@!hoWQ9=gX4~zG4RXhuCLS0Ega3m`1i^`t zGjZl&f;ja~Xx;da2YAFN-_j4X*$bUo%lppK>^@5gYYHP*2l90)1>Z+*wUJ0h5_9-Exv-x z8_2!J%e`=uj>-CHVj7ccGvsOjljJjmG<*01iGFY`%kwrpjolq==v})P=G7-YeW$rI z-aP1jH0sXQd2WCmE>QSoWwIVB1>&Ick}sD4SD;Q+N$~-X-Q0=K-{4^b8F$8h|*%wfIN~lHzicw|W#Z z%ja7Xj+CI_uavZVD^9949(k8%_YghX)$;<@a2Px%X!*MM7j;2!PTxM3yUv#d%usa# zGa7cdM2Y+XNfNfzoNm1i@lvnZaBC52jfPI=@_K#QF89?usKN7H6q6GxNn~g?*_K&W zCSt{1f{g0I{^;g#%X$K_AYstCrSL57{;|*8DhNWt z=(WPxVT&Z71A&P2$rtv<^EbI`H3sv%-jxrdoxO=&_H~u>T}p8LI@F>iXQY%5Y;a{JvxShPRcWl`Ycar;Zo#l7e>*)r4egGIeV$Sm%v zyLpeXU~~Ec?gqvula^=}cIw&3@lIXvWbZ4uCX~x<15Wd1eo|P@R&4ZjTBJ{nanMQ} zg&yg{CUuc>5yShg^ks7a(J}1{Ei}A$pspC|C{QtG(FZxhAz)KIqa==o75SMMH^0(q z3bo);NdQvw>P+WRu@8TZP;PN2LzcsDQ<8d3_)1VY8%;K$f?5ciWX%qiJCQas)<+^kBL z=`z}r!X`HiL>*h;YX_hH*?8Mkq)_|o7w~9W#t_kYUj8AEQ3{-OhUz2OUTq83CDS z3G>P|2?V(cf4+3FD}u){$&tt6nE_)|#h>(=r+alr`Wbb7R%1u$2v?V+R%XhvDtd49 zG z@M4v+y4^$`p%}MGX*nNr-;F;PJ;^v3b<}hSqSI1i`>Rwbz z>88fMY6GR_{Y}B!@P}EWAweH^X63C^j}rQpK7BoI!Nb20SR(R564CQ|3D>bV_M)&u$Y{qO z4+uZPuxN|q$~6P`Bgy=uZezE5$LohzFg%zaQfhsL)|; z;*h-Cb_C_8M=Eyz)}4KaWY_jS<@I2ALHSsd-I!v3tGnvQewaJ+0*c2Qy3bcYag^|<8<3f`u-LR zWgazbhq)z5LFg3e8gk(N!8qdXO6x1Fc1q6QkOrKKpL1Z&Pc3o^{MpI&@$nVnzec~ z2Lie(e$Z`Yba|2>2b(`zW{ysWEHV%5Cl^JI&9+s=(oc>(Z>>nO;20N|M>2Dvqi#Tu z$Vi)m*e*S?%r3jJTRfW)pPr72>J)O1 z-8rq9%@Chr*l&+w=1y|o>I54{%akG)-m>A2F<*WI!Rm%~xt~?fRz=-;T2jxZdnWhh z4SGjY9SOTzMTk^<@rdyBf$;Ssw=#njEeXs6_E(He-`NfcREf~)p)&`Z5IYX=CBJ#T z+6*}DPr_C`TVTBj!zOQirgW}IVQ~llW)kbpziT@{!_ivQv z@s0IRXwZf#s07uQUJ$?UIGfTb7CQpWxro>FOyZgXosv_Bt{3qG^&J|ZQm*|0^19BV z>>57tt=JHM5BgX=xf8w_%D5Vr#B5apYqv518ad)j9~KFxpV%uBnyE8#Ei?JpmR7ZB zpr8Gm%2+*e70BjV%#_=j7p$O1`EOEIRX3wWRPRdP{j$eG$+Z&Lu6l!v2AFCk*G!Ut zbGF|Oo@PhgkJ~7}eH%Dwxq{o)qWYZk(fr^F;(wWb3KpV`!LQH6Lg1(b)HQpyb|tKZ zm`H#REy!51^Txd^Qp#Qi7syIAtz5lH)YvpO6Ohls*=I=+YJZ)=5eqs`xd*ihN4zUrUd1FBt51`unR7CRQJ>Ni=B z^Z@_{O)CbFb?7G9JN1ljYsH|X9SoU(%Ek(2qJ zT1k~7m)(lqz$?00a#5H~?}Fpsbvr1dRMVkHeT_`Afl(elC&Vj34N~^!Vl^3!;iX&)b0@@cCDWSfmIfY5ifeI~7 zJl6uJbdg!TMNMba8AlP)Gfz+zj=Rmg_CE3$oG${&<6;7;&&AJ(3;Px9gLa9T^RWuf z*9umrl}RhDxTesUwJuaCaMcGm#NMrARaw>8O@q7W6ZZsu+JbNdF3 zVQEfrAea#n#OZ)WWdQcVrd}J`K1ny)7`bu43&^pIT@lJ8T1YREzkq?2Z|Zv+-l&1$ ztJR3qyn=#)ZWS=FcKO*G?*m6b+`r-a-(ze4g$ws@qH+InM;eCfk_~9k-tfRc+s2B_ zN%s)E>pE`%dtV;1-ej)sNS&k-e1DtCTpkxsj!&SS_;6c2g2@lV0DOlE*;VUx}Z<-XuKO z^+ol02%CS={2@kj!gkRDhCVBa=nRY15J)b$p;ciNJ?#BLe7-pWpQYidauZp#_@l5y z@H7NoWOXIWM*}sZ@To6rHvt_G1Eks_sN73@W+*x0{CZ&qa@);qo=<^e2Vw;`AT#R%R%8bDwi3{M}j9 z2zj^hqrO*$V=_|;>!Z{7=n?6H{ePefQQ>>TB##D#dmdyPU`mX2WaxR<&8Zz?%3D>u z`{t{Yprxe(6u8Kb$uo-Iu|X?#^mcIerW)c2Y+M{w;)Q&DKss(LRx{IX3Wi{^^y$-uXaLisqZbnN@i%r7s`jjr6(Q^_w23`55qVS z5*)s^HuoZ2<*zXXUWrpCC(6sKXSaj;BpyX>Md0=gissdaM%q@Cd>u1X`Iv!xpV~o0 zEA=BESe&qK42`Wi)+ZEP%PApr)Hud+(z9pTIh66CXp|uNP_RF>{oVtEM`O{EvyOvb z)-RCja1y6sDc4tMgY#Y7CBzcqZi+RH$tqqEh$^}pq4_fu>aue^=Aa;#>=7#$`x+S+ z!TbQZyOL)mUb5*WUb^T;?|{1n?e8XWztgqeU!pG}j$4A|9VaYpX?04pS$+t@RvHtl zmWN{Az+@0`weif}Vaqcvm(HF3**Llz{;kMlR-%`K%u|&i+hvy`CE|o8Y^eKUE34h; zcB2`@q7KqVo&s$K8#wr!@O2TkH*A-4r%iP%bGUo_^X&Dy(4jD=&$nL5l*s-WQ<2IL zOo)`7yXuoDA5a)8J0?Cv<|!NXu}hR;KFWkF6TDZqX4LRw&@DE9V45?sblkZ1X#U=+(VWyng6yuiJvse9?%kH_K9kKo zNF148s6S<1VNp{43jRzbgjV6^*AR&J4=<3Z+-AOWP{8bdB3q%kQz8zLLp*2z=L;|H zLwkLq=UrpauhHYMa@(3FA1T&(rTWmK(WbppiMOL2(IP)k57p4mjE&LJ+!OjFeLPWN)QGy>s7gGgxbIp=6^Dj8{ zOfr1YY4^7?$r zc=--nA^S+jQrQZ2FoRoJECr0;M0vR;`VFcwyGt}S6;lj+fK#@s#tG>0rn`zS=0*GQ zi^vjp+nlO%XYYm#iE-kbDET2pi#=oV8KO$`nFHZ1W=TEWSlzWts||#ob(4EY2J78H zOGWLrpHSmXN=i!cw`D+kcbi%a5a!7cU@2zv{LXN{-RjM`z_uawnaRa&UmxW=@j9UKuZz3I}H z`;6`eihE0do>nv%6fs@bIL7XZD0S@E6f2tBIZ!?y@9h+kAoIJ}aaCg>OgHnBoW+{8 z>!@nV?%&TWrigJ^B@t!+e##o?cxM}?bJtjN{c`aqu}9EFkmT08Rs$mSTzOD5u(0OD z4+cc){)uKFLy|TWaXpGaQoby1jfYUEsjL`p{p&+XgUR#1^0xw?o97J#$b%a zYJ(xPu}#>>#m^x(EK+VVNuRGXEZ;2)$CVM4*B8dK7{!Zis=Pgbo?|mcW5@%Oqs8;< zA%*aXqwbPq{5?UTw=Oijz;au{Pw@#pPw{!!5}#+eBRY2{nvo!>#?0w>wu5)2#`g>Y zVC+MhrnL~JM3!R&z7Ti#?q}?K%7*=`%j7x@so6kwLq}Dpe7Z!deNOBeanPkB$V}@f z(~W4#a?@hLtHx74uCW$q$)No&zze)Juq@XCnySZGeKh=%gvH}&=!>n^A>mV4Lv$Lr zk|tob{F&h-RIj=H;NU7@gLGcSvF`Z?Tj!l{VU3o1X~lb~(eDbb?(;a?zlKu>R{t8& z;ddjH!McKgX0P>aTTfeOs}h&dXyu>)-zW9+waijly)E|xc}*QY-u(qsg(Z`G(w30t z5;o^fQ+H!LA$JLEuA~&68r4frQD#jY{OoJg-sbDu*D_^E`K@QQ7KCoKH^(70OBj|3 zq^;R7EcS&CVccyy+G~^*xS5pefl^O?skswB-x5)$#b>wX%5EyJH)bt1AcIkr>ydl|qi+#WKJx zi}v}VjZa#ZKU;z_S^gty=s`fGL!8%#{;sA4++tIXd+vSW-XbVqtdZ%Nh&~e9HL&mO z-;}}v^|B&{NiUIZAvct*(yEakf%PG>|4}Rpa`PbK{H8Fk99hGS{P0hRL$6trCQ@VQ zIwKmzSY?9l$F7{@VnQ}8>pP<^(K!0p4qf^O#!vV&L;QX-cKJPrOMOV5tYVo}WzC;| z=K?T6QK^S|>{pK6w*2yf=gbc>e7;z&xy%8*{eY3dxRPf|p-VTSohuM+w!}2NH@t4LX=U*#Qf9U(>ll1A+nR@h@<$8siBpNAZOt%TYXi zJy7@rh|cfq|34hX;3Y+}Mqnq^$ap&^(o%#467WToz;(BL@t4WIF``v7Ut`k0=Ap{1 z$`#k&KQA=-U1f%~G?!6-p*UU1sq?VhlQYt42P+Q#x*dwnrHZ{|D@`{m292SqH{;J? zZ>@^rZ_P)37lVe+=SpT*XM$|Nc^ElGch~P{n$p2_r4~1V-_>NOVjN?JXF8u)6@>pD zm`J!OMAu$Ae=!Q2plCSShpJc$9fX(I#)v!o5RFWxFvhStpe~fi9=c&{vROJB=;Asm zy#3U4gh|2W{Rckn+4}^{1h^bXVF79ke|!o$^uNK)}1et-OT5W*mbis$#+D$|MqdtJ^JDguY$oK)CPR zEdHs}*qee=W{fWDdQIpBGL4&7jZXvJ1k1D#a;2s8*1hxt^O8Bh?DoC%0-4xB_4O#1 zTvp#mJ6aVWYqlzCd9;k~vym3tF87EI{B$aIAX`FgA)!vSHf&v$)eZL)= zPspz%Lc%OZ<(0DdnL`S{%w^7#Ev|rAXF}g}1w)du18NMRE!yVG)*%+L>SVl@t37tf zHgPogVer@vXftmRA0}+dH4%8`YD__QP++M|1z+aC{7~rua<011#K?=w`+uR4sK@~6 zg3n4~+jZ*K{;W&PPXhrGcm6_SLSTjrie1mX2<3>A&Yo-~C7kg96*zbcDAN{>?*p+Z zM=HK_W4l#ARI?<{i2N&H`_Ys|O!vK(t!1sz`~SZ!QT-DzwNxN5u$4rp$}y!D*4&U}*T zlI1blYP`1uq7Qo$4Mx!8y>md*dNnc+`Z@_@x4!-ZyTGU>psi)fKHJh;9q`qwD>2?X zLV#sjBTj&Vts)aLA0yzkJ~}U69Zmd%%yn>iAAH-jSM?=p5O0I=MHf2|+{P7z%~*cc zUG+E9A<3*Lz*%1~W~-?(1y9XQqJg9eX#_lEQ%+H1ll|Kci`aU-t^pqkj|EqHu0e6q z?u@#ws)UsOuS#@wQPEQfM|G#jLj)+jcpg@tCZ1bK%DKz1soF-C2Y3w&X*!^%Aj2EY zhc4{U+Boy%N@RIgCfz`G9K%0Xuw<2%o=y>Ro`? zl~RoU$uvm@sWQI1a~63TMfP~u)V~pQz8;_UW=lhuy>$vNAZ^1=rvkIHFJi<+RK4O3 zp$kC8QQvC*3B1(g{R0YXrs;F`Pz^M@bl96MqcgEOq4WjMN~!95jDn_Et4rsfUP&ADJ4Kqs=b(O6g_uFv=jHdG8===t%shYba%~#drAzvxJD6>z(HB(LmPZ26 z(*=a8n6CLP%vq!4$7C1b8%fPRbFhRyXBwVX6D(LT@8*Kr^HDKnUvL1ZZQ$#%=S6xG zZ4nfUQg}ns0~%fyDm9#4q%rP+nDO6Z9W>^cI7OCD5G64wBV)wFSY{xtTJB z?uAuWP@5LYr@o%3t2xN_3sysN9(a!_W9eGv)2QaWvXhBBhNiSt`$iG281YELllQJY z3da8Cdqw;#35EeQg7DSQ*Ix$o5-^Y*n6YpwDloc5sCiJ-#p#`s|oLktZfy zX4c#?f4Ipn{`$aKmIeT!?ggfWmZb%mni-sSN%VEdD%5+Lx9fLV5R2v~#ust6Cgna_ zx0}sSkeTO|Gy4y+-p!HQTco5{bqWS1n(Y3~BQ!xC;ZBmuE_^Z_`X9uBGnvf7h`EYmzlMd2|ZFKdGUyLrj+KE z26y$m_h=BPQL4cyou<^wv;t$*Yh6;33ovy8x?di)1l!+#QJ>UxNR@7p%)*_%n`1JR`eCcMri?_eM`#{@U%^I62==OKy`jI4Rx^DGM2o-^GGaHwL2r|nu z-@oqmJ%7&;M5q@=ru=Nb4~-{-!S2i3z0*C*Kp)N_7KIESLT?s<-g7)XMdjpHw z#n+eWABh*6Zo(CsNSeOz{(fc}`%101pQ3PqqW6Hhgz;Y1q=SQp`jxXcU(DhIG5MQ0 zi7bM!`+qKv+Zsv|R zqqfGJO8W7Oxlo*1!R73KHSz66pct`Uz^M)DuwS_=hGokY-A5OPy)z_6#%;NO!w96~ z6{$V%dS@C1rtR=u&;G{JGq?f7l_73ak}v!li zs=O_}a#Ki;X6b9)cFOGKOhS5E^vK~dQC2Tv*D&wiNg@I(>o2jehI>!=vfsbD^^xg- zd!Q?7E_VCjq(IxtqQ)%18f4I`lX|u2Q8fCES+JwyyJetrv~}>;@84j9CcsTO7fI~M z)wnz2pH$)pqzpt((ioepR|eAQqhn6WWCFZ%axXP}5R*ii)IpUNqf*b;w1|Dlq|i!8ws0us?JfO1FjA(G0Qf_YdKFJS9B=%%cwsN>aH z06+}62=l&R?x#r%&vh`S1v=6bD;lIQU0YZc{mr4n{K0tJFIFWMKOcb|IkxIYn)`AC ztuN>V=q5)+5fYm#=2sun6`1cjl2>zYG(Y~74l%#T3}p$KBJ-y$^-A?mDW6?RWUrfC zWx^DDrKJ<6gUa|aA0OMe=PH|@&)i$s7f9y z2mcWvzWtAl4Y(Iz;+X5)``&m%O|uM(W1kme({g@;MaJ5pf_uJw|vo*b0G zU#6XF@$LVBL}U^QQ4UGq_U4H9IgC!1eOR1P9I$qy+=T3X@|Pt91~;UWTr@?(Ez+jr zbkiZjJBX&cYQM3myLVq<26tJ`0U37P2s*@hWcaV)b?QPsxxTMD(a`rnz?_ZWvAG3lOIq|V}j zdv%YX2&ApdPE+_!(y@|7 zV2bXt+qS~uJT2}+6kEhVBLZM&jX!~%xigvZu-}Uh5z`BWNqC?$Z4a&`F(?uCIE^S!U6R6;@R7cjLnhB*4N^UopRb*yq^TR zhz76l zkEQ30|FgGCca#E++y6{f=B;S4-K9S%-!^)t=^>MSv!c-i?~Jyx%CpSjI-wQz%e=eX z1=705?zpzsU_Nz^9Wrju_JLnkJg5Re=Fd%l2@OQ``57=}{q)bSbu@n?^GSB8;Y)NK zGy~gv&8Pmx&d1YLxB;i|{G;zj9v(g9 z+7LM2)cbiOA#Cp@58JTY&!qPxJa0_4pz4fy#OL0X4h$KAW=BMDI&<(Fn98-3;S{!=$hAmTRxfSSWe_uX7 z{B&>^79Ei6j56-*im4h)GzPp;$6pZ1BdAWmz+EKNoMwTdz8a2xRI!DluN{CzS_bQp zH7hn@=ooQ}?G)@Sg9zL3Yj%zlTs)BzWZ$y5O&wZuaN+pJHAkb+D>SX0o2W6NB6N_| zhHU8!-@W)Z1b%a_<9E0kbhq3u?Jj$;0BdeHct7M?F zWZQel=rF=Q2CBlR+44~Lpy^Ji#uRiSi`hE%fvhB0M7S^~wA59;of)!zgaOQ7CC5E( zhD?D%9jBGIjBarU@O#bDZs1Rw=g6#M5oqwI_sm;{ zXLH*|x7cZdAJjk7h4xaqf!KYwPDzroJc>8N`H^L%_h{_ooEyNlXqV~xCK^J{P7&#} z2lP++dmr`ra4uJH560mRF8r}Ab8l3;53@I@KHOy$7dOOu^agl*E~^!$5b{Xb0afam z6swfPuy8gpPSf(a!eyJ9L~P-#7B94!T+q*yD{E_Ib7XVNAhkWlPu3{)SNYN0q$%u| z^#z3hYc{frwZF3Z6!c2Pen(^t>?Najq<%pLoI*@-<%3 zYz`+&AB!7Vp4tLM^S-i~+$vj<`OXu3{^46>O5xIW6r0o%SiMrfl1g;pLV7)MX;=PY zVn;h;MPH^{R2ZqDM%iAt9Y^onrLmDSqyt!?^DP3#}3S*w?@<_B@!EM&- zOnoc{RKtrIFgMOB5SMouew#{Ed8 zSLVcg!JU*wME6&|av^#_A)oEXaN;2#>J}&WNc}MDSQG;)W@li|GL~E1-##~k18_Fj z3wP{ll($TUuCK*K=tffe&|v z;i%grRH$S62DISu^=Ak5o#|_Lz@pv!LN%Ga3`ox&!C%Sy4gcp|qkpY1hBEB^Ku-6j z@r9s*{QV|HC8gehJS}rDu$gl=x9P<(#m~(b_Cr2L%(L4)m{G#17L581xg>JSRko+0 zb!Te1?RyugeswPd6K~JbO+)wwwZO%*Xz}@S0pFRpfz_@0@1HGF$290){PolWYFr`G}hC?O7-ZB}?^dQ76rW~$Yzee50oKu@c+hls*!z>2b zZv=U`ngIB~&F9k(n5$gS6|_F5(j+p|qWzGR?$7 z*jVV%f{psyq%Zw^rzpK%!v&q&8gi3@B-A{Hx-|&F;BA8%#2L4FFYKq76EP zRnxDWJPR!z_jb+Dy(r@m8auc?B--MBE8HkZ=wOY&L~1wWn4;CS+5LhC^Q2Xp*gICQ z-E&@Ke&(r$=&S7)l)ui-#rvI4H@}!kl{g!E(%ij;0YUkNicGgGuV@@$+}+Ov`eh5G&hu2(5_K*7@0tjStGvnK$832%-=2@d@Rjf zk;?YG`l$PKXRetN`k{+U@xpmyWsOyIS&(02Rf*YC6`nV@2U+si{lf=&{=u_JiWoa* zsH{e*>qz%kd%exY0R_L4ML&vm7$<2OuDrr$>74BPtlL^pa^9JswEvo-2ax_GcRw^Yss9DII0!{B@g#larI|`m6L2 zoS&Hp7r1pWo$glI`vrGoF*ivT>o*Z$H8IQtb!ofAd5h4vIk*QA8;56nixO@>L3z5V z)oBZJ?i0c)CRp(8k&K#*hV0jWYzk#pM=y8&Oi|^H9F9`;6OO-#UN(?kg4wup4%wta z37F@L=-~C*LOiRbX4n4F`vLu1MDGB6oY_0a6y<0*I9jP6C{1KQO`yzgp^2BIBak}3 zCEd$0H`0q~r88{=kNi0iT^q*1=eRcI=GdM(8l%l=UcoFBDj@~M!kb!H!f@oQzrKK_ z^4GALO!vAPRIFQS4|zwPXVY@a&42P40HQ!S0-HgFvegMQHCov%zz;Fe1^@f&jSl8?C% zumT#SIvFo(p#@Lg}GY9hiKuc;c_o6S$66<&c9~B_X%-iZCmZU8!(F= zNXIa3?{vsNDLMS)2j815TnAaS4?>wz9iw4c8Dz&L-#WO6ddd2lV2E8Q`UDKEJF0*g9#w9PM0w&ne#(yIlT?c z=^MxNv@r|K?L|A(u-fh6lcsRTo?gBWXekwjnN-ed#Y*(sp(2Oay5!9enURAgM&3zE zO*aQ-WOATCU2xC_jEk-ol)XB~~VW7j`Hie+Ac;AWX_l}K8ZA15dZBv&%O?&0F z?wY|^pJ5ExV|p;m zOX9NxBTXCr&C~!}rQkxN=p~d1u#~GZ+j|Ssn9&0!zSc#F@NsFo9zQ9D+^}n)QabfqCCmNsF}^9zIrnj2g>LDDxk42G&G zbjOtS-k}QeSonppG3V0d2pivdvk}q;%@!|?XmL}VZ3>EOkQ`@azSVk-e6m07x>eJ zC?`!?+8=uuMh;eRXN0PU=i1_|q<|ayz-0WnkI_dMO73-n_ABG;p@;7x-O(NEZL6gi zmrc3?`dZruAUk5QWPz~oIp_Hf7QbcMN;vXN6}Z6*+5_1{b*q~tU=59^xe|s6+zp1YdCXJMrzl9EfS5HCf{)q`*&SYavvxJ(X>%{kGiC6Vn zK>C;E^KZyv3cx>|XMtM)<>_F+H?8=yBJzfJzrNAk_v3=^(uXM68Gf6_gT+h)VAukOZtqQxOm;p(sU=CcPze z0jZH*LT@32PDp)sJm=hdZW(v{?)#4K`vZ2y&gy$T&wS=wb0_SE$wlsi#}0x(AnwbT z&ffxoSSEo#%zk#@&Qt&D3=oJl;^}R3@AD2`_MVU3y&t=|f#a&j2mI2EslG=Jw5_WH-2_}dZGIu4E~=Z|T5VnK?EDk41b)xT;(w4!HzH^b}_-4y)ek`6Qt<|JN!k`Nz|AScM%^7v-hv}x99apPBQ{oP01 zdX5YGB%eL>%BJnAk-VZ0W9E?7Y@xGYuT{KschdZ55G9r`!^G7;Ioc#A3%oJt0gVtn zytfE>_l{%ohpU~MY}Ik0s<0K8eL1>c4Bq6isk5~DUkd#kL|9* z@#Q@>#P%lQozoB9h(qv??$c74MlS5yF?m`W8Zo)t8CS&nd^|7eovSr&MQghpetya4 z;?(9L-CoDmr?);P5-!{LVx(SNmX;~};Xax;(s3@t?o%vIG#gx1AM$s=zu^Hpv&hCZu=(@Y6CwW?oVbgT=j20K(ZXJ%;@D)vN_Db zejgAtX=f1Qly3BJbE~D8`^aHgn4gHzg|BQWV#kR5V zOP!dou&|QrB29ApQ!;P~zKOi7Lx-V@N^m3cX4H6tc`%QOTd{qSw^RW}6JzYE&W;2EfF~1E% znU`hPiOsO{oFBZDT5H0#q;TH)USaAftKq_%@iWWmVP;hUiLL^0s88=4@5r}bY}^v> z=GuwMUqqf~oNO=ha0G*za8@v#LmhDl6SO3c=6af-Cin=}F4@GH@@ktH8L2I-!(hCO z5PwgiEJ~PS-VJioM+QsC-`VuW>CPSAd(8*x0?xnsEKnC{Ej2vWc~T41L8$a0K1*e= zx3df-6XHBEv6@pcGkp*J3|n|vKtUyw8RzdM*>w@`l>MSApO`s(FZ-ifY{!%YJ^4|ETw)p`X8)mR3 z6q>~)sNYvk{ICuKSEzslR*%oTIu)8Xs9dmZKw&wxS2K@8tRPCsY}S->S>mt#SOOi= zG7AaaTZ~q&p$O=xvK9Q+)7c~z$4_b@Ni2(EeutUEj9@X#8$5z6W}7IhTHL$vNq#aj ze~=Pc;dCmr+;0VBlQ~-cmYP6kcspX69v?RZnjaRY4G7u}FWut6zd{)Vlt$GeEx6N2UaSE0Xn_*W7yr;lr zx;)MejOLuqN9rfwLQhX%FU`=VJG#MWF6$jfIg3zuh@c+lOtMp4D?of_klxMwo+E~IPY9I_<$nU>FHf^TT9Bkn4RNas05yA09uA$%%vy^43yeOf-yEZKd(x}o1P1hJnq?1w^^=V$^4%-I?yH#GvRNupRMjFd@Z&jdMFu7XEM{N9Tr1zD%rvAH12Df!3g&_Bc{<&6s{T z)&0loyun#okMioMo%i(aL3=BqY!~R;q@~P`mp&&P{nh044_2cAG&O0q;Nx?=QHVv} z0irf2SI2G%({Me+ds(B6%VjELl(2T1j;jqn&CEUH}&^VJ4q?2x)+^~(X%L!G6?#!D8U?ITzK6`C-?Q%M6 z3GENVTM+niYHT32`~KDz_Bz^#alO5obY?df{OW2SV!)+wt*xw#1B-fkUjc-X8r5sg z$=beB;|6!mIEskJ%7Z~A&^i^6gzw6wz7li4$(a}TsdLYAgJVtCDLk0|IVpSNEP>!S zJt4We+#4crG=rMHfdLU?XNjevuX%MQ^9qa^8*ohz9I~tB4O+jHoVE zw9-OX2Z4Z(9O^shcv`*!M3TD7~u-B)c z#*FsD=VS}5^w^!Az+Tn?32Nb%F*$CqyQdM7`J!}rtE;`Xj zhQzPlo_J^?RH)yj)$A!CR49kW#Te(X&)jl>9RKXkch7woQ*>FVsA~nHf1)w=oeB&z zRK#mOGKokGaKLQTgspt%qgq?Jhblf`v9?+ZRou5&$e=Y&zzgJULcYmAih(B-)7QOR zXSxs%q;raRK0V7fuHsUU|7n(b7&*71B9J_audD@dyx*}r(O9s0+@XQK%Ns~>@uQ6F zaJG|CANJR5l<=3=r^?K9Az_wPST9R+yrAM+z0oaUiOuFRXkH=bgfI7{j~PJ2c`_UV(KuW%?m_alhFt(DW5X&4?5U31l3JJ>LfFThKV=IhgD{>rb zy;)VHxnpr=)P-}c>CuXfd-hWh8;zekrl8uM(`)c9))_0wSJb~3E=sRMG{r!S* ztLjJsFumH5V{xl~nCjfYSzZtSN@G7LxNW!~$Jl(IS%HMpnYA~ZMZPQH(G1o$XiwTx zBkwMI%&P3KU}(O)Go?99Dq`FXG%CKc6D}d#vg()mEphn5u1e29r*k!Bn0=MY+_?I? zofWi+Wgp^r+$~VomRIyf)!emA=ekvNG08Nu-I{Nmo{-Po)&&6u-Cm>vF8rgE53&SY(@ zP1|ii4s9-U`z_<~9t+8S7sfiIOp>xslLjMp&0Hr~MSW9is^SYgHyRt4vQYHCwLxQ@ zF0;yj&BX8)fGp#A^DmfIhg|M>x^oN!8rofoYAP;BnJD-9+U$4QbGyUmEuNqES3Q|C zY;SWxCRms=^wTDyodus3sX`kU?!-XxV zn4as15QxIdq0_iCKKf&3_=Jnp)I+?Q&a zsF_e)nsvAcwRqGj`j*iHbV6uBpw-);iZ*RdwHH)wO9xTrCc|}{j9bco=E9&jjaskH zN%l;cwIj#xWhI3@Y`^lXNe1s*t^K&*g{Y)Sl3;?WQyjR2&EBIvwhJTElRWkCBv##h z_bkv(71UHw)(EZLxOMQk)^{6GdJTYjq4m|yCr55HTXATfJo;fnuyB8gfRstZPZSiV z)VnSF_B%|#zRq>b{)RQK#wP^?%!`j&)|%?FXN2iEJnQ|iQHu)DN?FxY+QXqQpIC5y zxZti~M^y5Ur$&5g?`W(!^#k4)R_LwQ{Z2f(PuHYvVPSS~zsakR{W$ZlMg`5{KkoD> z8=|+pRz`|%IeZTxhxBzKwf$Bj$Yk<|z+j&Vij2J%6{4upbpd$1kWAb!^McFhjXOOr zkbxrRvI6$?K(AoTyOS3WVbdvlpJPmv4?U+ntf_|f&g_nEJDdThqTuAtJz7-3r*`DC zwFMvkI7p_ep=Wo;@2Z@$@{ce-X0U%@%xoIrBm)rZf6K*!e2LrD<%ik*ieS)ils1~8eI0J zt}D$Y`CJ;N!JgYP;~X_atZ0~iyz71SRSVSY+!wJR6)R^|1U=~DSo#C7z)a(+(jU8W z5^Am4#-w3*8BSL`bBA+wGHEggJZCk;sF)r{HS!VIxm?rW? z#QhrW@aZ1kL+=^Ga})uW2P~2_XXvQ-{0=xrsPNl5PJ&toUJHqake`Z7=F4q=iw29t zTSO|8`rFy@3j2y9x0gjY?*=qY*05o|m~r6!pwmC`SFRSV03r~~*rWtBeYy-C?cN#P z3QWU_Bbs2NGoU$-ySpFpHG7>EL3!3_V?FvM7Z(?}>PeAMBiglgxWAN1~mOZgXf8TrQ2xmaRW9_)kikV!6xwn@8_=p?W)m2omp!{Ko||?6lb6buAVF09jq1nedyWv}t)~=J7;R8~fw0q0n6>&*gm{rgQBd%>c}c$VH1DA= zpcTE!1U;5Mm^mCfv@_bJ!(;~1n~R{cVJq^!p6y7L zd&pCFAZ48uH0c03GG0AXqGF9HlN)sM=%BA!7afnHz+hhy~QH+6xiVtiJQ7T%PeKoyiJ-s?}SsB6b|cRw=(V z-UgOK7=B1^RwB{$zLe+NYwF*geecrZ1oeD(>?Tp`2KH=qmDueI-Eev!%zS5J=N_e` zGjWF#rbkaoc{$sKoc-D8ee^tY50tgeIg?$=$M1?haIAWq{MuO^dsdnUc(fR8{M!W= z2mMT{GujGKRrPVLT18CQs=yi^V^XkJSOW9^ehuGrmpw^tQ($w8B9#SN=|Z|hGKM$4 z)23VyRY)flzQj{21YW1L(@)n#ku%Z$PJtpxNe&e%QGogO2*B(bRnwH!n9ZXj4xlOg zZX2%RrKt-g8Oq1pxvv+Z671bioeY7Qcg+S^d+rLZBZm{Sy&`GB?G=4 z-}{rAR?m%?ULN(ojimkUoc#;x=0Aqu{!_&|6o*a#z_<>Lr2(#Y}Gt@CHa zO|>O&Fi;O`(qyi=d^ug?bRJJ&#yC< zzwBkZ2$pGUVGn_gEri(q;VYg6~^IUYYM02-P3u1|1*BlZ#fw0@;(Rte9n4$tPw zuHC;$idCNUt|_)*k&F-*Z^~Shw<*^q(NnKdEhdRP2;H2Y6Q=`92fwV0MP1&EBnIb< zKOQCeW;$rnzASQ_N0wg9Q~-tJqo!c_TGolxnggMO4^zOPisgK6f0ubp=5-`Ul6r-O z6wAgL^i7yrS}e=06t{1P`Z6YMF8>YC&P6$!dGi@LB}Pf-g2 z1RcmE-lOt+5fF0w2>W)JYMqcOji{3S^&D!-p4UNq*x!;&x|rNjK)F|V#Gfsb)lCca zF+M&%d9>G@{Sx{fT7RDbf5cp>^9hM+^gh{q?UzL-qXt)9qn3m$%9b42ld_l@Cd$Mmn;9M#->96ulcU?Fge>C%F2>i-R((kYzOGGFDKSy*>I>0GGzG za1KoDb?#kD=+ot=F0NK^UxS4yUJJ+;@Nm|z%q4=5Zv>!hb!YMq(hj3USW~n}CnWRg z&WBq}s;-`4MTJc|jw+a{&@%m#ZKPDZ5iCmesJNfk_UVQiG7s$r=gZ<){*qzBwEHz0a?kie+@-fy^#r>=P$l85FtJX865sMPz=AU!) z*RoD~-Bh7T{tSG;13Hy?Z66w#yR-|%hhl{6E@3cA9>|le6wNI}4=RDJE&aGaCDCB@ z@`tI@x~2(s>kDVub!@4m&+8X=YgUzR3@@m<*m0>@iGpeg5P1dk>JAtqieJTe?drWE zLbrlJmp-v0Q7DF&i)+F;VcxSZG={?`rLq&?F-7wJnxr>Xzl_lbG|U)qY3*|RTaysD zQUO+B7No^9i?fDrJ4)mqF*0#c`#@Z@sZU8XO&^15 z6?tK+o~31FTdKbd;Q5X!a99Q;n`d?)+GDdOD+5trWK(tE{oP>9aK4TjKgf9x%LXel z-p4X-#xlCoVbZPqso-4KFL*MkQy#B6@zTwQt77{^wlTzTspf`EGAzYxd*K%wVRf}+ z+y1cHxY}q^ms`3C4zWm)zE=<-65(?k$B@Zvt~t7eYKRk=V-9E_S$FA&|#d)B4E;>o_e{k~&y3#I1a(5_Wv++QGqoXfwy z+k8WkRllmp%oK9sMJ?^bW-M;J!`ohElC@CGy|zlr#}Coxh9e%a^dnxi&Q}4o8w@5B zb_fag<5M3;X)dbUo-V6B+rHWF)^LRYu{{74X`9i|q{LRIVj}~ecH$dydDO<2=C2LZ zKMy3nul46?1HAnro8%cZH*Dox>orFk$~zJ^j@>5;x@C~!MzS+&BhRh6?jAu)x*Db9 z@}U-m{o`yj1vAlTT+O_0m&|geD%h3VHOspC9O`^CZ2W1FmDu*WC=ynO&nKDs2F1~K zn!+^A-q0I1-Rh4fg{TCv4ap6KPArOMGXOI7xEWnUnzb>sOVE+)M%N;g>LRaR?JBqx zNAKHEu*8Ngza!`>6nZLHRAjP2xDMXNkzd#E2r4h0&!hgRj>vw+gE*zd>yYRa6wg+5 zE~BELQHm;IK{&BRGspvfu< z^pb_^OilS6HD-JQ3%JB-n}C@yd3EgUML+v7-Nc|+HtS8R13+bF3%rT2$6OTvvm2?r zwCjyX3tO5uzuJBk^1CMBs-1yY&YwmCH0 z9VyXQk0?^TbJx?iE3W@K{rt}c#tSsqMW8H|*Pn(tpnVTHcuSNK<`kD8gk8_!CkS)e z0{yD!1f_F-27H)%u(*(bV6LSf!o;e_5K+MnDqJc*8M9z33Fap@pd=0%l$6SkP;dEV zX{__cCP|K>a*RJxfr657Sq+|a^?{{r?R9&bMc%>B`(OoCY^&YVOqVmf6@@i2U#))> zV7;IppasaU#SO>%uDP^CCz%jO(UbIRXwk6mk_BDn7qW029s{%eL(V@Czy%p?ZxD~$ zS!aebIA+W^F>)q-l!U>8HwBM8ZnZB;Bs1I;BHlpUMb1kFaJ@q zH%j*2vly+bEGzy-6Z82s|L0Ja6pkV!gbJ%8`YwPs04g|LCiLf}Q=D**7fZmYAxb>Z zlR&c#j|I$*?Lwy4FEV#e!LnK1{#@Mi*rDzAN8Q^r$-LXRM||{n5oZ;Gn@_v>W5!jJ zz6x(IV;svz&ybLq8s0n_?f26U?_o}!iPt&%5Cg<9#CEj{_LIUnjXS~%mh>Eov+pUYqN{It9FjK$YfqnJW)1~4a>|Ae&K<3m+Wu6MQL2QuEo>4bNy>a^iE&sz>MC_c)nEt zGYSvU(}IODTPZmaJWXZeQnh6cQT&KE8MXJ&kI?ZQS15)nQ1!d7cB8~?yA;?ay`uYB z+;0Ka$kBs&GC^<4;k;ktrsZ)8WV6_-D$PWxT#ze6(h%-P5ipLFIA$?JH!pQYBsu4^I2=D(V_|nMOexrCO z*3*K3v%Gr%qcn~4p1zdSU!i3$lnhsBy%(8VH2fAiv9r<|Dvu`201f=6FNo6e2g#ty6Ml$|qiFiD5B#bDj0N=4+D;9?fte;Sag48LPM6 zzhzy;`Jt7_{19j`%rW`q_b%{KtJZn`E5)-)7ht{sklwdB$r0QH{UX=?uIS zBoc0BGiTbUI~bi(rN=mSg{veY{<+L$|TB7TFCg zWa6ruDbxNkfWO6hXzE)kA%%L+F2G?^qr{k!Q@T?gxZ&7BYmgSmL?hBjb2B$S^e)90 zj2v#QmH3T-&2^b57VXQ#g!aYM8`RYp>(OGPyCb;XLRbl|Z8U(DVwwe1@&A9+rY*Dd-zf=yU5A8QWq>TU%UtdanF0Tb4`6IBi${Gl{LG^iI>!V=Xjb z-7CpnRr_VIHYHsl8{Y5$y$HHDkoD1BGIp0z-4!5+IdPI6ladl*s6L)t6k&pnpXs^g z2kuT>ZyimcnfJ_<2UCFucLP}7vFTH_j%PB!MFdh?S!CIs(FN*sFoQR%JRh)=AGdZ% zgp;6YNORI~@%>zcj}!YTic2X>Vgxp=>iB20BHxRlL=BtG;Arp zaMlfEtx(A%HE42>86cd0{!*7nBOEKA#>*v+=xS=^*Hf{?oEW65P>pSt6EnGl84{P*ZZsC^x6EtEReobpLKI5t@2 zhW77X*5F^1Cg;sLk9G>a0TiudW}>~Ew1QQSxGNefVu%X(-s3ot*HnTPxf<|i^Uq*8 zoLWc0`4#qtcGf9sEVQYejMFd2XWXv+Y{&kFa`QZ3b+x_=1CQxKN6{a@yJ;iEvbvxB z>V4dN5@;G~r^jIN9=H50nZ#3Ja-h~}smXuy=wmyj0j)?gIhzu~>rWHv-qx09+zgr~ zxsw9XBOIU}_i-^9xcb&BtU{C_$b9o>|9#p?#1j0Rrh}93J{%*cTx2ms^k_VIor5ep6ykrk1nUByv z#8~5t*$v?ZJBeH2JAwTtxe$zV8wK>{FWEJ7+)OQf-n8RzFWqce4r2AT_v6eS;Cceg zMeNMS^a$e>w_3Dn)T>W;6XHi*+KEkeVSWYimMzcG8*%D40y>0SXt`p!4PRTo9_pA2 z5GFvj;HA;N=&|v~P7FxvWztT!2#sJ%tJJ))}rA4}U_J z%N$;KP_Gu;`7VEU9;S+K2z5f_!%LMWk4i1+nhJ>?e$V)MId{FhG8TkXk@}{#+I_d> z18jw(h}WAOEIKP`g7mA4DKY=4F1R6Oa-J9Q-N#6_G{S(9U2O(>RQt#L)Pegn?m@!k z2lZv63VZ}2?TNT^G#pFI(Wj*oGFF2wK0#j;Ro(lpwP-eSN@Y@qnicGK#Duc?wWka= z!8_gY+5~YGZzL#Jl)Z3OJ_C!Mc06f15au9BEgL1ysSd-39ja+3NL7HW;=C|k+whdK z)ZJYW#D5okK&A*E+na)?Tr~sl-G(?ci{b=)>O)a4d{2W9pg4yn52^k5b+e!Jq*buq_Q;WYSC&KQ?v&&K*z|}N zX*qPwtvO)*$nM9S>uIGZx<=Rx2$Z^B-eWIk?h!q!>^;^7PhHzVC;{mI&vF9Q&|n^T z8&x^zH!L4A^4lMHwtMl3lap7$5kTyp^E@|L@bD0zElz>|C-V7!6&_64&kKE8kWoA( zUk*Kdvj8}UU^4pFt43xf59UWqZqLHrD;7|oYlXH;r7B9!l*w3s7U=?tn3YG{UO)Rr zSJjVvhLTA<^S87hF{Oox7gz9n=Q)6R4q;8aWdD=sKYQP9NS8j)l&9me?=QKczz@VX zT{Vw(T72aFhm_#bnE%dNL?CtJt`?qgS7H-@d@X z?01xseR^G(Zf14Q;gx+$l>{i!nj4bSi8=1jBD?r+`X4~;;lda78v&ZUm$ij zl7$d81idIWaYYa?qIY{hNs~T1CAZ~$NgDiCTb%<(d|BVFML!K>Lk@)7r3;jhjs8{? z%=P{UrYHRW4byLa7I@eDUd2mzUzJ^E(jjm_wZw5ZLMWlwM3&Q#QdjXILmXV}T67)*v-Hm8m~nL8s_tm0hy@=;?(szwIMXZ;8T8QK=k!!<6}&X?Qc0-zh5p z_ZfEof)Zg0idW*bgExoW<448c{LY;IO%RP!yP`-IoBt{na-4xf+}}kE7l0zU{}cyU zzaxL^^dLYV*kozG)Z2WR)?ITi>~WT6+(zHuQLOkkfEqX^r?eu5aI(9bqQ?3c%;R6f zq(S8(;q!7oIsS&}5n%s|Y~EwBQdj?brNRJJP$=NS0^<6InfH(V#!MUB%B3iT4}d^% zz8@W%i7)By+X$)B1^^VrGKQco9I}BopqbSclC#$kw{~3hnoMj~9-qCCF8I#Pg zfq7qGrm_}uOL4YB=aNa$;LbY5_kat)6!|iQ5|}&C_jmgcI>_|Re-!!Mb&8?VL=E#1 zTd}g%e6x|v`w;K5aa3j)09a`{>qhxipO?MFI~Nk6;n==)bq5D+S=Cw8M%1(63=8GB z-lbj7pJLppCga^8V_lW)xs*CzWwdU!icciO+{5GsGqUYdH9r_rd2miuZW^te6qlMkg?s&`JoPrK!U>l<| z^8`8?df*BLZ95(EqXbC(pcODb#V@NGctZCeklA?gll_p|?6D+zuek1@o3JPMRwR;1 z8!x6|2M1mBg&X?e315)wJDgb&kvko&A%A3G6;4KJ8z_k(-au@dDdXk;4zVc`%GIjw z$irpRM}#bB7uHj#lb+SBm-JEH2e5+@Lo~ozC`6QA+)fA#jwihLiv4R_qPKo0x{f*h zJ_1eZ+0IR1iuShug#`cKTfsG&&SYcsMDAAJ+<&lpFXmBYi@v8Bz$*)X$v+cc0N^~GnLKa)Z(-=sb?~Kq73Wj0 ze$P8h>lMBBdiBwjPjT^Kb7%hWG5B}6e&J8=92X_N?ksSL+jl80{!rM;fGR=WE04~} z7`>gN-%*r(WgP>YyaN!!$y*!T^=64z=75*W0Qsol)iW5PZ`zDm&9m>2CqnK&7g$p9 z^OAo8oo|1qgE#x3--I9rV zAkjk%`nEE>@?F8q}Q-x}cO{4qPv#~6&qu=V2WK1sovh{nPjczT4#wp26w^qoy6msj?yTI>!&JC@!!09e(0_q4Yw*6msGV(! z1KCnOZAOZ-8WV-;5ZOT(HwHPVZ{yasV-=gU*{@Y_RC6mFz_OO3t=^vs&aIXA6h{S) zz8%m#_hqGf$57;J`SCp-45vNeX7Ic<&Y_x=|Cfb$u>vhzGc9dhkCeHFz;1N+uFE9r z;8-TjX^<itLlN?BC9{Y<1pZ`qaQuX%%gbu z_3PK9(A8pxj$%F0TT33#Z5=nnrM`79Y?coG6g5Gt8h;A%v!+*;@?x*=U%z(ePAsl-sWYqMRC>jB)EpgPP>mOJ%1D_(G4{&c|7}-aNwyhfy2MG;u7X@x5~CFH;cX zAXz8!x6o^hS*XeVXtNUw(!q~HH_bFj#`Kxb+m-AYLDW6}XKNj!KT5@7ByqKRp~+X^ z95lum4%FosqBY7%vAq=)t-c>!6B)Ezw7B~C3Ij1C23PK3FovOM(>CZ_)V;0vw}|!+ z(pTui-yJ!oVdbu(pw#sAbB_b7{fNFzjw)#%Sj?ig{5l63ROQYj${j<>U~S5oT{w-Oe6`f}d+X@~?Fg|$V9?40#}*;1>1>ahc$TgnXLjg|>F!tO_9M#*`+>u0;JW|o zct5ROY5s#rT?Ys42nlG^-oJdN=uzWBn8Qrh5)VkMgUWUgI0#~Pv9*MiS|f~HkOoiG z@?xq%@^9zg=_HHne`dr}qeiW?(FP6gj8ZpPhQz_8gz~+)laG$NkVGgT9eOns3=$*P zmxCl6?m1>dB>SEV#8C^pUo_WZdoXbJTD5;t{?J+_#fYw zDp4JB=Rg%_4I`(qa5E+{dvuiLq)Ax1tJ|pb18U*%p}n>iiL*kLrQ1z7l@4X{RV?fZ z@On|WP5i1AhqYCAx=FQe@y0p*eG*D8Be4B2kh3F34Qz8fh-H7D0_)0a)AY;44K1q( z?X2no`JQc#=w4VTT%9n|TyWsYW9cL(`0bnI(|L8eA$7RNi6%8@{HMX^H7@1d&!J|{ z>=JvNNI7SU3%fq^L+I8Zf$;Xn({U{Ay6DjlEiu=G^;(zor%N9t z7|d}F7wCM`28%s4@!Jv}2K#`>kt^@E4t2aNd+4A=qg~j+l%5Pc6$g{)Z~Oq8;Mgc} zMY{*=;qP}WUf74r%#=KfHXCG8K0V*HlH;0s@!L z4?;gM2SNPyF^;(E&pvAuRf-4Uhgg{3ZgC>lK2V6ra~I~lNbPZop2INYe#*TY#k0vQ z#0dy5QnJ{7>PillZRfk!xdvp?Qk9DBc>ONsfD8J?BoD~i!JDMQR*NebcKeBNaXJeB z_8~HHBQSWK&%itj*3;Mb{zs6Jq-EX=CcpuBSt>?o&F|oD+{tsV^?Xa&#WnZ0ZH6g- za($MD%g0?aHI3nqHo0QQ^^q@K+@tqSS-fkXgH0xoa|4TD;d~RoWxjXjQNlRo7EG&% zAa!b`!VUT!*UBqw_s#m0&TIL_xVX5_OLnIUxGLPbf5n@O*<&(k&!3C#m7UzBghq-# z_6e79u5GbxRt6F#ux{N7CppIKxa;&&>@n6tSvwRY`dI{&TrXk#TJJ*AAtQ$AE8F^( z=tE}u)i|H`-mzZzBju6>L7BLG^sgUybhB^acVH0CO|1dYE5?Df_=eqRokvysU&E{E zx0-el##DX;L11$`P$jIy z-6%!i{NAaW$0%f3L5qzBK5V<2OHViLf$H-!8SepMq_nFU0*h#AX}JUtWGsI2O)J7+CRj`YP!{KA3byCjPitFCnyhzllY7uL^Z7L3P1N|LlpwABnY1XEwKK6 z8R*?bd~Tx88A!YkB|pZaJ8573@%}{5!^RiP`1}1vJ&O z#o2#lsOSpxW#{jAN=f>vn1>k}2>lp97)pEo#}}F=1%a2I-sTyn=nM}MGyrccBq}D3 z*&uLlS$8;L)P~qZZW6ezp^gjsZp3h2m`}`lu2#q_pHneazBrP5vWs#70>Z#>(4^b* zJy|fxc6QO{z`*d?V-o^rtEeMYsZz=11S_ji$>)NSaM$L~tMplShnP*<%0>6N4@;nF1M~TIX{-_v0|#M%fhs8}dI`r!F)rl< zxe!#2J>j?ROWy3`|Fw5feMGF~#+w8;L7)$>E+`{tZZ+xa*E5deRX&fLoqx)JOcK>P zm&Php!~$mdzYvU3dgGd&v-?wmHZHSI>IiOPX-AyUuD8i!y)517^dW0m#=Yp8 z9R}GTCP^t6iSO3Cx#Xn~ zS{~7A%kz4(TgWjfZL3nwqD@od2V6`?A2Ay7&?xV}6yFxEC zeM3Q&ALl<;-1n!EeFe9Baci7GJuQ2y#~2uVf?jad#+|p=tm}T6*AkDmTU^**=+$YV z8SJ{ddckpbwFMI`Y&CkinOnu?+$96Ac81PZYQi&)UGN)-TgObD1=RJ1@56H=`Hkz7 z(`iLTO2y8@%5&X&qACwTl5E_qNX~d)!nEikIXSuey3+?8k1%>OGn0b9m2)|C-n}!z zn0t5fUFxcgq=&I6LdzC%_W1dK+O6sH+2Nly#Mhq-GBZu#2)kFmByZ`s%lzJ&SlEwo@5rv`a+)z0fHq+wSDNLD|Fo# zICt)u8GBMBTi0=J)#InkHQ0?09*bguhymjZ`w0ep`t+$Js@CP%R{W?(_ig|T(fg)yID;652^QSV%!61V(}9#mNNUYDD2&43 zP?k-dHnXh{jaP(I{d&vYgph75oopb`zGUX_0&EEt!qD2_39<+HsI311b)3#=V%19_ zD+EGV5fl^p(jN10Z-B@cmxeA?G}ZX8tct#(A9y7CCU`0jeL8uqX=^*N+u6!fvPVwu zv>V<64ZIBXLt;f$bl)^2w=a@~vK`*-LaSieqaPedp~Ok*;TGyUbavBF%3nge(CEtm z6-(Qs2yJpn-qm|nnb@ClzpQ2>@gsuoQHvlB<-q|6)I)6$bE4m)SR4(zkPuma>8T$M7JjZS zfg-bGm0n)*h6lr^S2U#3j<48b)E@1npI(2z2Os2&nMdr!CzIx2z7J(%TrJMX1}K%| ze7asFx}_XyQ@vF6t`+%gX!W^iUBX$M&xWDNU>mPyLi^i>mqLoi*^DVUKv})6PVM)nOlYYDZXs#&yeWyTxLFi@ttFUG(baXtQvuec^*2IIRO; zW(VO1zBO97&7mrFfZY9emMvc50kiKe<=J?!C2X=y;-kTTmUnG0)+RkOw^{FRux3)q2X^ zV6qlvvP!i60=Vj9_;9g9c3vLW3N<6~lFPS|p+k=|0%sm@fb&ar=ntLdJyD}AEb8hB54IPj{ff-P~@$Oeoh;qXWrGm|9*qbTf3^$3xr@I-v z_L`W;jR6L^&4sDrQTyAPi_oIcvmbgFgoD@+LpW_IM1H-Qg#3?oh-kgK@n>zELxx}% zlqrT_%#s=c?H49*{G>o$SCtW;n;pZma@M$>SF4%ths|hbM4wWIDd_@RY$100q2YsO z?pJ;R`NZ)rs50mH5{JfDJOPX@KS0KWpTNi30zc6~dPpmQC_g;eh^n#1x4FTCvm)qW z;KUL#v6@&HLFW(;Dtu%@Z~ige9Imp;D6(%o+D~@`>iwaVv-^NUyz(dy%e>l0(Kp9G z4^6pTdd{b6LOL@a$2coJWTG|YXcRD~eq7C#{r7KxOfpzHk}##dvyC4p;9SDW*kE m&J#5*UI>^Vlbx}GnVCVwT(WGMjF=kGItEWyKbLh*2~7Y|RXx`L literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index 1e73952b6fd..aba28f0fd3a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4975,6 +4975,7 @@ #include "code\modules\modular_computers\file_system\programs\file_browser.dm" #include "code\modules\modular_computers\file_system\programs\frontier.dm" #include "code\modules\modular_computers\file_system\programs\jobmanagement.dm" +#include "code\modules\modular_computers\file_system\programs\mafia_ntos.dm" #include "code\modules\modular_computers\file_system\programs\newscasterapp.dm" #include "code\modules\modular_computers\file_system\programs\notepad.dm" #include "code\modules\modular_computers\file_system\programs\nt_pay.dm" diff --git a/tgui/packages/tgui/interfaces/MafiaPanel.tsx b/tgui/packages/tgui/interfaces/MafiaPanel.tsx index 2820822eaf4..528f6260b8d 100644 --- a/tgui/packages/tgui/interfaces/MafiaPanel.tsx +++ b/tgui/packages/tgui/interfaces/MafiaPanel.tsx @@ -1,4 +1,5 @@ import { classes } from 'common/react'; +import { decodeHtmlEntities } from 'common/string'; import { multiline } from 'common/string'; import { useBackend, useLocalState } from '../backend'; import { Box, Button, Collapsible, Flex, NoticeBox, Section, Stack, Tabs, TextArea } from '../components'; @@ -31,39 +32,58 @@ type LobbyData = { status: string; }; +type MessageData = { + msg: string; +}; + type MafiaData = { players: PlayerInfo[]; lobbydata: LobbyData[]; + messages: MessageData[]; user_notes: string; roleinfo: RoleInfo; phase: string; turn: number; timeleft: number; + is_observer: boolean; all_roles: string[]; admin_controls: boolean; }; -export const MafiaPanel = (props, context) => { +export const MafiaPanelData = (props, context) => { const { act, data } = useBackend(context); - const { phase, roleinfo, admin_controls } = data; + const { phase, roleinfo, admin_controls, messages } = data; const [mafia_tab, setMafiaMode] = useLocalState( context, 'mafia_tab', 'Role list' ); + + if (phase === 'No Game') { + return ( + + + + + + + {!!admin_controls && } + + + + + ); + } + return ( - - + + {!!roleinfo && ( + + + + )} + - {!roleinfo && ( - - - - )} {!!roleinfo && ( <> @@ -76,65 +96,125 @@ export const MafiaPanel = (props, context) => { )} )} - {!!admin_controls && } + + {!!admin_controls && } + {phase !== 'No Game' && ( - - - <> - - - - - - - setMafiaMode('Role list')}> - Role list -