From d52b8e062276d2d4be5ee002ff4971a323fa49a2 Mon Sep 17 00:00:00 2001 From: wonderinghost <88801435+wonderinghost@users.noreply.github.com> Date: Mon, 7 Oct 2024 08:35:31 -0400 Subject: [PATCH 001/141] [WAWA] updates medbay with a few more lights (#87010) ## About The Pull Request brightens up wawa med with a few more lights in the central area and minor shifts in device placement ## Why It's Good For The Game you cant look at this and say that this dark spot is good (before) ![image](https://github.com/user-attachments/assets/76ff44cf-2148-4966-b3fd-3c480209203f) (after) ![image](https://github.com/user-attachments/assets/e30c39bb-a7a4-4047-8c31-b97b74403329) ## Changelog :cl: add: Adds a few lights fix: removes the darkspot in wawa med /:cl: --- _maps/map_files/wawastation/wawastation.dmm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/_maps/map_files/wawastation/wawastation.dmm b/_maps/map_files/wawastation/wawastation.dmm index ded3dcd76d24e..2dfbf9a55ad48 100644 --- a/_maps/map_files/wawastation/wawastation.dmm +++ b/_maps/map_files/wawastation/wawastation.dmm @@ -17542,10 +17542,8 @@ /area/space/nearstation) "gkj" = ( /obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/camera/autoname/directional/north{ - network = list("ss13","medbay") - }, /obj/machinery/iv_drip, +/obj/machinery/light/cold/dim/directional/north, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "gkt" = ( @@ -22068,6 +22066,7 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /obj/machinery/light_switch/directional/west, /obj/item/wrench/medical, +/obj/machinery/light/cold/dim/directional/west, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "hPs" = ( @@ -65510,10 +65509,12 @@ /turf/open/floor/iron/dark, /area/station/command/bridge) "xcC" = ( -/obj/machinery/light/cold/dim/directional/north, /obj/item/radio/intercom/directional/east, /obj/machinery/vending/drugs, /obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/camera/autoname/directional/north{ + network = list("ss13","medbay") + }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "xdf" = ( From 9198384775750871782e659d9c0f7fce3ad94b93 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 12:38:51 +0000 Subject: [PATCH 002/141] Automatic changelog for PR #87053 [ci skip] --- html/changelogs/AutoChangeLog-pr-87053.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-87053.yml diff --git a/html/changelogs/AutoChangeLog-pr-87053.yml b/html/changelogs/AutoChangeLog-pr-87053.yml new file mode 100644 index 0000000000000..b46461670d05d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-87053.yml @@ -0,0 +1,4 @@ +author: "grungussuss" +delete-after: True +changes: + - sound: "ballistics have new handling sounds" \ No newline at end of file From 216c6d0b777c1ad6133bd8f9fb3b0747ca1e750c Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 12:39:15 +0000 Subject: [PATCH 003/141] Automatic changelog for PR #87010 [ci skip] --- html/changelogs/AutoChangeLog-pr-87010.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-87010.yml diff --git a/html/changelogs/AutoChangeLog-pr-87010.yml b/html/changelogs/AutoChangeLog-pr-87010.yml new file mode 100644 index 0000000000000..7a48ec709413a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-87010.yml @@ -0,0 +1,5 @@ +author: "wonderinghost" +delete-after: True +changes: + - rscadd: "Adds a few lights" + - bugfix: "removes the darkspot in wawa med" \ No newline at end of file From c7b9e995f5567903da6e0c14975935a92104d568 Mon Sep 17 00:00:00 2001 From: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Date: Mon, 7 Oct 2024 14:42:03 +0200 Subject: [PATCH 004/141] Blocks patients from viewing operating computer UI (#87056) ## About The Pull Request You can no longer view operating computer UI while lying down as to prevent patients from peeking at the computer. ## Why It's Good For The Game Currently its very hard to pull off a surprise brainwashing surgery on someone as the patient can always peek at the computer to see what exactly is going on. With this change players will have to trust their doctors unless they want to be a victim of surgery related shenanigans. ## Changelog :cl: balance: You can no longer view operating computer UI while lying down /:cl: --- code/__DEFINES/interaction_flags.dm | 2 ++ code/_globalvars/bitfields.dm | 1 + code/game/machinery/_machinery.dm | 5 +++++ .../machinery/computer/operating_computer.dm | 3 ++- code/modules/tgui/states/standing.dm | 17 +++++++++++++++++ tgstation.dme | 1 + 6 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 code/modules/tgui/states/standing.dm diff --git a/code/__DEFINES/interaction_flags.dm b/code/__DEFINES/interaction_flags.dm index fd66cee5bb93e..b031292b0242e 100644 --- a/code/__DEFINES/interaction_flags.dm +++ b/code/__DEFINES/interaction_flags.dm @@ -48,3 +48,5 @@ #define INTERACT_MACHINE_REQUIRES_SIGHT (1<<6) /// the user must be able to read to interact #define INTERACT_MACHINE_REQUIRES_LITERACY (1<<7) +/// user must be standing up in order to interact +#define INTERACT_MACHINE_REQUIRES_STANDING (1<<8) diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 0865867196c92..9cf233867e717 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -163,6 +163,7 @@ DEFINE_BITFIELD(interaction_flags_machine, list( "INTERACT_MACHINE_REQUIRES_SILICON" = INTERACT_MACHINE_REQUIRES_SILICON, "INTERACT_MACHINE_REQUIRES_SIGHT" = INTERACT_MACHINE_REQUIRES_SIGHT, "INTERACT_MACHINE_REQUIRES_LITERACY" = INTERACT_MACHINE_REQUIRES_LITERACY, + "INTERACT_MACHINE_REQUIRES_STANDING" = INTERACT_MACHINE_REQUIRES_STANDING, )) DEFINE_BITFIELD(interaction_flags_item, list( diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 34b8612c2d4be..282e7f6a34ae2 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -648,6 +648,11 @@ if(interaction_flags_machine & INTERACT_MACHINE_REQUIRES_SILICON) //if the user was a silicon, we'd have returned out earlier, so the user must not be a silicon return FALSE + if(interaction_flags_machine & INTERACT_MACHINE_REQUIRES_STANDING) + var/mob/living/living_user = user + if(!(living_user.mobility_flags & MOBILITY_MOVE)) + return FALSE + return TRUE // If we passed all of those checks, woohoo! We can interact with this machine. /obj/machinery/proc/check_nap_violations() diff --git a/code/game/machinery/computer/operating_computer.dm b/code/game/machinery/computer/operating_computer.dm index 0354806d85ebd..83a2a08d986c3 100644 --- a/code/game/machinery/computer/operating_computer.dm +++ b/code/game/machinery/computer/operating_computer.dm @@ -7,6 +7,7 @@ icon_screen = "crew" icon_keyboard = "med_key" circuit = /obj/item/circuitboard/computer/operating + interaction_flags_machine = parent_type::interaction_flags_machine | INTERACT_MACHINE_REQUIRES_STANDING var/obj/structure/table/optable/table var/list/advanced_surgeries = list() @@ -77,7 +78,7 @@ break /obj/machinery/computer/operating/ui_state(mob/user) - return GLOB.not_incapacitated_state + return GLOB.standing_state /obj/machinery/computer/operating/ui_interact(mob/user, datum/tgui/ui) . = ..() diff --git a/code/modules/tgui/states/standing.dm b/code/modules/tgui/states/standing.dm new file mode 100644 index 0000000000000..5d6a49c401e9d --- /dev/null +++ b/code/modules/tgui/states/standing.dm @@ -0,0 +1,17 @@ +/** + * tgui state: standing_state + * + * Checks that the user isn't incapacitated and is standing upright + */ + +GLOBAL_DATUM_INIT(standing_state, /datum/ui_state/not_incapacitated_state/standing, new) + +/datum/ui_state/not_incapacitated_state/standing + +/datum/ui_state/not_incapacitated_state/standing/can_use_topic(src_object, mob/user) + if (!isliving(user)) + return ..() + var/mob/living/living_user = user + if (living_user.body_position) + return UI_DISABLED + return ..() diff --git a/tgstation.dme b/tgstation.dme index 72e24c6c77471..f7f1ba6df14f0 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6249,6 +6249,7 @@ #include "code\modules\tgui\states\physical.dm" #include "code\modules\tgui\states\reverse_contained.dm" #include "code\modules\tgui\states\self.dm" +#include "code\modules\tgui\states\standing.dm" #include "code\modules\tgui\states\zlevel.dm" #include "code\modules\tgui_input\alert.dm" #include "code\modules\tgui_input\checkboxes.dm" From fe3efe2b470eed7ef71289437a5f850c699b88c1 Mon Sep 17 00:00:00 2001 From: "tgstation-ci[bot]" <179393467+tgstation-ci[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 12:42:26 +0000 Subject: [PATCH 005/141] Automatic changelog for PR #87056 [ci skip] --- html/changelogs/AutoChangeLog-pr-87056.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-87056.yml diff --git a/html/changelogs/AutoChangeLog-pr-87056.yml b/html/changelogs/AutoChangeLog-pr-87056.yml new file mode 100644 index 0000000000000..a1d93eae95e45 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-87056.yml @@ -0,0 +1,4 @@ +author: "SmArtKar" +delete-after: True +changes: + - balance: "You can no longer view operating computer UI while lying down" \ No newline at end of file From f380bd4c6e06fa34a70b24a7447fc0f6ee4fe3c8 Mon Sep 17 00:00:00 2001 From: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Date: Mon, 7 Oct 2024 23:57:19 +0300 Subject: [PATCH 006/141] Bring your pet to work day! (#86879) ## About The Pull Request Adds a new neutral station trait where people are able to bring their personal pets to show off to the rest of the crew (or to donate to the chef). Before joining, players will be able to customize their pets https://github.com/user-attachments/assets/5a5cda18-e551-4f87-b649-67a6940ffc6a u can set their name, gender, pet carrier color, and teach them give them a unique dance sequence trick. if players dont wish to opt in, they also have the choice not to ## Why It's Good For The Game adds a new station trait which people can RP around, whether its by competitively comparing pets, or resolving conflicts around pets being killed/kidnapped. Ive also GAGsified pet carriers, so people can now have the option to recolor those too ## Changelog :cl: add: adds a new station trait, "bring your pet to work" day /:cl: --- code/__DEFINES/basic_mobs.dm | 3 + .../greyscale_configs/greyscale_items.dm | 15 + .../json_configs/bandanaskull_inhands.json | 1 + .../greyscale/json_configs/pet_carrier.json | 87 ++++ .../json_configs/pet_carrier_inhands.json | 15 + code/datums/station_traits/neutral_traits.dm | 44 ++ code/game/objects/items/pet_carrier.dm | 16 +- code/modules/mob/living/basic/pets/cat/cat.dm | 15 + .../mob/living/basic/pets/cat/cat_ai.dm | 2 + .../mob/living/basic/pets/cat/kitten_ai.dm | 2 + .../modules/mob/living/basic/pets/dog/_dog.dm | 1 + code/modules/mob/living/basic/pets/fox.dm | 12 + .../mob/living/basic/pets/parrot/_parrot.dm | 9 +- .../parrot/parrot_ai/_parrot_controller.dm | 4 +- .../mob/living/basic/pets/pet_designer.dm | 205 +++++++++ .../spider/giant_spider/giant_spider_ai.dm | 2 + .../living/basic/space_fauna/spider/spider.dm | 8 + .../basic/vermin/mothroach/mothroach.dm | 8 + .../basic/vermin/mothroach/mothroach_ai.dm | 2 + code/modules/mob/living/basic/vermin/mouse.dm | 12 +- icons/hud/lobby/signup_button.dmi | Bin 2564 -> 2723 bytes icons/mob/inhands/items_lefthand.dmi | Bin 30977 -> 32386 bytes icons/mob/inhands/items_righthand.dmi | Bin 31053 -> 35108 bytes icons/obj/pet_carrier.dmi | Bin 2986 -> 3464 bytes tgstation.dme | 1 + .../tgui/interfaces/LootPanel/IconDisplay.tsx | 11 +- .../tgui/interfaces/LootPanel/LootBox.tsx | 2 +- tgui/packages/tgui/interfaces/PetBuilder.tsx | 431 ++++++++++++++++++ 28 files changed, 894 insertions(+), 14 deletions(-) create mode 100644 code/datums/greyscale/json_configs/pet_carrier.json create mode 100644 code/datums/greyscale/json_configs/pet_carrier_inhands.json create mode 100644 code/modules/mob/living/basic/pets/pet_designer.dm create mode 100644 tgui/packages/tgui/interfaces/PetBuilder.tsx diff --git a/code/__DEFINES/basic_mobs.dm b/code/__DEFINES/basic_mobs.dm index e519fb25240be..6696da857c8e3 100644 --- a/code/__DEFINES/basic_mobs.dm +++ b/code/__DEFINES/basic_mobs.dm @@ -33,6 +33,9 @@ ///keeps track of how many gutlunches are born GLOBAL_VAR_INIT(gutlunch_count, 0) +///Pet customization settings saved for every client +GLOBAL_LIST_EMPTY(customized_pets) + //raptor defines #define RAPTOR_RED "Red" diff --git a/code/datums/greyscale/config_types/greyscale_configs/greyscale_items.dm b/code/datums/greyscale/config_types/greyscale_configs/greyscale_items.dm index 2137aea08f3b4..62f30855abb1f 100644 --- a/code/datums/greyscale/config_types/greyscale_configs/greyscale_items.dm +++ b/code/datums/greyscale/config_types/greyscale_configs/greyscale_items.dm @@ -229,6 +229,21 @@ icon_file = 'icons/obj/toys/plushes.dmi' json_config = 'code/datums/greyscale/json_configs/plushie_carp.json' +/datum/greyscale_config/pet_carrier + name = "Pet Carrier" + icon_file = 'icons/obj/pet_carrier.dmi' + json_config = 'code/datums/greyscale/json_configs/pet_carrier.json' + +/datum/greyscale_config/pet_carrier_inhands_left + name = "Pet Carrier Left" + icon_file = 'icons/mob/inhands/items_lefthand.dmi' + json_config = 'code/datums/greyscale/json_configs/pet_carrier_inhands.json' + +/datum/greyscale_config/pet_carrier_inhands_right + name = "Pet Carrier Right" + icon_file = 'icons/mob/inhands/items_righthand.dmi' + json_config = 'code/datums/greyscale/json_configs/pet_carrier_inhands.json' + /datum/greyscale_config/plush_lizard name = "Plushie Lizard" icon_file = 'icons/obj/toys/plushes.dmi' diff --git a/code/datums/greyscale/json_configs/bandanaskull_inhands.json b/code/datums/greyscale/json_configs/bandanaskull_inhands.json index b7067cf3c2e71..40fade079736c 100644 --- a/code/datums/greyscale/json_configs/bandanaskull_inhands.json +++ b/code/datums/greyscale/json_configs/bandanaskull_inhands.json @@ -14,3 +14,4 @@ } ] } + diff --git a/code/datums/greyscale/json_configs/pet_carrier.json b/code/datums/greyscale/json_configs/pet_carrier.json new file mode 100644 index 0000000000000..1674765268ff2 --- /dev/null +++ b/code/datums/greyscale/json_configs/pet_carrier.json @@ -0,0 +1,87 @@ +{ + "pet_carrier_open": [ + { + "type": "icon_state", + "icon_state": "pet_carrier_open", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_gags", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ], + "pet_carrier_closed_unlocked": [ + { + "type": "icon_state", + "icon_state": "pet_carrier_unlocked", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_closed", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_gags", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ], + "pet_carrier_closed_locked": [ + { + "type": "icon_state", + "icon_state": "pet_carrier_locked", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_closed", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_gags", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ], + "pet_carrier_occupied_unlocked": [ + { + "type": "icon_state", + "icon_state": "pet_carrier_unlocked", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_occupied", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_gags", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ], + "pet_carrier_occupied_locked": [ + { + "type": "icon_state", + "icon_state": "pet_carrier_locked", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_occupied", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_gags", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ] +} diff --git a/code/datums/greyscale/json_configs/pet_carrier_inhands.json b/code/datums/greyscale/json_configs/pet_carrier_inhands.json new file mode 100644 index 0000000000000..05978e3c8292b --- /dev/null +++ b/code/datums/greyscale/json_configs/pet_carrier_inhands.json @@ -0,0 +1,15 @@ +{ + "pet_carrier": [ + { + "type": "icon_state", + "icon_state": "pet_carrier", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_gags", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ] +} diff --git a/code/datums/station_traits/neutral_traits.dm b/code/datums/station_traits/neutral_traits.dm index 74a8e5424003f..2fb7072f55ddb 100644 --- a/code/datums/station_traits/neutral_traits.dm +++ b/code/datums/station_traits/neutral_traits.dm @@ -544,3 +544,47 @@ dynamic_category = RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS threat_reduction = 15 dynamic_threat_id = "Background Checks" + + +/datum/station_trait/pet_day + name = "Bring Your Pet To Work Day" + trait_type = STATION_TRAIT_NEUTRAL + show_in_report = FALSE + weight = 2 + sign_up_button = TRUE + +/datum/station_trait/pet_day/New() + . = ..() + RegisterSignal(SSdcs, COMSIG_GLOB_JOB_AFTER_SPAWN, PROC_REF(on_job_after_spawn)) + +/datum/station_trait/pet_day/setup_lobby_button(atom/movable/screen/lobby/button/sign_up/lobby_button) + lobby_button.desc = "Want to bring your innocent pet to a giant metal deathtrap? Click here to customize it!" + RegisterSignal(lobby_button, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_lobby_button_update_overlays)) + return ..() + +/datum/station_trait/pet_day/can_display_lobby_button(client/player) + return sign_up_button + +/datum/station_trait/pet_day/on_round_start() + return + +/datum/station_trait/pet_day/on_lobby_button_click(atom/movable/screen/lobby/button/sign_up/lobby_button, updates) + var/mob/our_player = lobby_button.get_mob() + var/client/player_client = our_player.client + if(isnull(player_client)) + return + var/datum/pet_customization/customization = GLOB.customized_pets[REF(player_client)] + if(isnull(customization)) + customization = new(player_client) + INVOKE_ASYNC(customization, TYPE_PROC_REF(/datum, ui_interact), our_player) + +/datum/station_trait/pet_day/proc/on_job_after_spawn(datum/source, datum/job/job, mob/living/spawned, client/player_client) + SIGNAL_HANDLER + + var/datum/pet_customization/customization = GLOB.customized_pets[REF(player_client)] + if(isnull(customization)) + return + INVOKE_ASYNC(customization, TYPE_PROC_REF(/datum/pet_customization, create_pet), spawned, player_client) + +/datum/station_trait/pet_day/proc/on_lobby_button_update_overlays(atom/movable/screen/lobby/button/sign_up/lobby_button, list/overlays) + overlays += "select_pet" diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 8be08a876d70d..336d177f2a2dd 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -11,6 +11,10 @@ inhand_icon_state = "pet_carrier" lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' + greyscale_config = /datum/greyscale_config/pet_carrier + greyscale_config_inhand_left = /datum/greyscale_config/pet_carrier_inhands_left + greyscale_config_inhand_right = /datum/greyscale_config/pet_carrier_inhands_right + greyscale_colors = COLOR_BLUE force = 5 attack_verb_continuous = list("bashes", "carries") attack_verb_simple = list("bash", "carry") @@ -19,7 +23,6 @@ throw_range = 3 custom_materials = list(/datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT * 7.5, /datum/material/glass = SMALL_MATERIAL_AMOUNT) interaction_flags_mouse_drop = NEED_DEXTERITY - var/open = TRUE var/locked = FALSE var/list/occupants = list() @@ -147,14 +150,9 @@ if(open) icon_state = initial(icon_state) return ..() - icon_state = "[base_icon_state]_[!occupants.len ? "closed" : "occupied"]" + icon_state = "[base_icon_state]_[!occupants.len ? "closed" : "occupied"]_[locked ? "locked" : "unlocked"]" return ..() -/obj/item/pet_carrier/update_overlays() - . = ..() - if(!open) - . += "[base_icon_state]_[locked ? "" : "un"]locked" - /obj/item/pet_carrier/mouse_drop_dragged(atom/over_atom, mob/user, src_location, over_location, params) if(isopenturf(over_atom) && open && occupants.len) user.visible_message(span_notice("[user] unloads [src]."), \ @@ -202,5 +200,9 @@ base_icon_state = "biopod" icon_state = "biopod_open" inhand_icon_state = "biopod" + greyscale_config = null + greyscale_config_inhand_left = null + greyscale_config_inhand_right = null + greyscale_colors = null #undef pet_carrier_full diff --git a/code/modules/mob/living/basic/pets/cat/cat.dm b/code/modules/mob/living/basic/pets/cat/cat.dm index 7394d1fd5c5d8..c911fa64c20f0 100644 --- a/code/modules/mob/living/basic/pets/cat/cat.dm +++ b/code/modules/mob/living/basic/pets/cat/cat.dm @@ -45,6 +45,14 @@ /obj/item/food/deadmouse, /obj/item/food/fishmeat, ) + ///list of pet commands we follow + var/static/list/pet_commands = list( + /datum/pet_command/idle, + /datum/pet_command/free, + /datum/pet_command/follow, + /datum/pet_command/perform_trick_sequence, + ) + ///item we are currently holding var/obj/item/held_food ///mutable appearance for held item @@ -74,6 +82,7 @@ /mob/living/basic/pet/cat/Initialize(mapload) . = ..() + AddComponent(/datum/component/obeys_commands, pet_commands) AddElement(/datum/element/cultist_pet, pet_cult_icon_state = cult_icon_state) AddElement(/datum/element/wears_collar, collar_icon_state = collar_icon_state, collar_resting_icon_state = TRUE) AddElement(/datum/element/ai_retaliate) @@ -224,3 +233,9 @@ name = "Jerry" desc = "Tom is VERY amused." gender = MALE + +/mob/living/basic/pet/cat/tabby + icon_state = "cat" + icon_living = "cat" + icon_dead = "cat_dead" + held_state = "cat" diff --git a/code/modules/mob/living/basic/pets/cat/cat_ai.dm b/code/modules/mob/living/basic/pets/cat/cat_ai.dm index 8dde10495681d..2a2d3204bad5f 100644 --- a/code/modules/mob/living/basic/pets/cat/cat_ai.dm +++ b/code/modules/mob/living/basic/pets/cat/cat_ai.dm @@ -1,6 +1,7 @@ /datum/ai_controller/basic_controller/cat blackboard = list( BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_HOSTILE_MEOWS = list("Mawwww", "Mrewwww", "mhhhhng..."), BB_BABIES_PARTNER_TYPES = list(/mob/living/basic/pet/cat), BB_BABIES_CHILD_TYPES = list(/mob/living/basic/pet/cat/kitten), @@ -9,6 +10,7 @@ ai_movement = /datum/ai_movement/basic_avoidance idle_behavior = /datum/idle_behavior/idle_random_walk planning_subtrees = list( + /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/reside_in_home, /datum/ai_planning_subtree/flee_target/from_flee_key/cat_struggle, /datum/ai_planning_subtree/find_and_hunt_target/hunt_mice, diff --git a/code/modules/mob/living/basic/pets/cat/kitten_ai.dm b/code/modules/mob/living/basic/pets/cat/kitten_ai.dm index b694235a39ebc..4136aa0aa0151 100644 --- a/code/modules/mob/living/basic/pets/cat/kitten_ai.dm +++ b/code/modules/mob/living/basic/pets/cat/kitten_ai.dm @@ -3,10 +3,12 @@ blackboard = list( BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, BB_HUNGRY_MEOW = list("mrrp...", "mraw..."), + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_MAX_DISTANCE_TO_FOOD = 2, ) planning_subtrees = list( + /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/target_retaliate, /datum/ai_planning_subtree/flee_target, /datum/ai_planning_subtree/beg_human, diff --git a/code/modules/mob/living/basic/pets/dog/_dog.dm b/code/modules/mob/living/basic/pets/dog/_dog.dm index 1ff991941d327..35996d4d77cd7 100644 --- a/code/modules/mob/living/basic/pets/dog/_dog.dm +++ b/code/modules/mob/living/basic/pets/dog/_dog.dm @@ -40,6 +40,7 @@ /datum/pet_command/free, /datum/pet_command/good_boy/dog, /datum/pet_command/follow/dog, + /datum/pet_command/perform_trick_sequence, /datum/pet_command/point_targeting/attack/dog, /datum/pet_command/point_targeting/fetch, /datum/pet_command/play_dead, diff --git a/code/modules/mob/living/basic/pets/fox.dm b/code/modules/mob/living/basic/pets/fox.dm index a442f60715851..c45ff27bbc30f 100644 --- a/code/modules/mob/living/basic/pets/fox.dm +++ b/code/modules/mob/living/basic/pets/fox.dm @@ -28,9 +28,19 @@ attack_sound = 'sound/items/weapons/bite.ogg' attack_vis_effect = ATTACK_EFFECT_BITE ai_controller = /datum/ai_controller/basic_controller/fox + ///list of our pet commands we follow + var/static/list/pet_commands = list( + /datum/pet_command/idle, + /datum/pet_command/free, + /datum/pet_command/follow, + /datum/pet_command/point_targeting/attack, + /datum/pet_command/perform_trick_sequence, + ) + /mob/living/basic/pet/fox/Initialize(mapload) . = ..() + AddComponent(/datum/component/obeys_commands, pet_commands) AddElement(/datum/element/cultist_pet) AddElement(/datum/element/wears_collar) AddElement(/datum/element/pet_bonus, "pants and yaps happily!") @@ -42,12 +52,14 @@ blackboard = list( BB_ALWAYS_IGNORE_FACTION = TRUE, BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/of_size/ours_or_smaller, + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_FLEE_TARGETING_STRATEGY = /datum/targeting_strategy/basic, ) ai_movement = /datum/ai_movement/basic_avoidance idle_behavior = /datum/idle_behavior/idle_random_walk planning_subtrees = list( + /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/target_retaliate/to_flee, /datum/ai_planning_subtree/flee_target/from_flee_key, /datum/ai_planning_subtree/simple_find_target/not_while_observed, diff --git a/code/modules/mob/living/basic/pets/parrot/_parrot.dm b/code/modules/mob/living/basic/pets/parrot/_parrot.dm index e61b052217909..e22948848eb1c 100644 --- a/code/modules/mob/living/basic/pets/parrot/_parrot.dm +++ b/code/modules/mob/living/basic/pets/parrot/_parrot.dm @@ -76,6 +76,13 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( var/static/list/edibles = list( /obj/item/food/cracker, ) + ///list of commands we follow + var/static/list/pet_commands = list( + /datum/pet_command/idle, + /datum/pet_command/free, + /datum/pet_command/follow, + /datum/pet_command/perform_trick_sequence, + ) /// Tracks the times when we send a phrase through either being pet or attack to ensure it's not abused to flood COOLDOWN_DECLARE(forced_speech_cooldown) @@ -92,7 +99,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( AddElement(/datum/element/simple_flying) AddComponent(/datum/component/listen_and_repeat, desired_phrases = get_static_list_of_phrases(), blackboard_key = BB_PARROT_REPEAT_STRING) AddComponent(/datum/component/tameable, food_types = edibles, tame_chance = 100, bonus_tame_chance = 0) - + AddComponent(/datum/component/obeys_commands, pet_commands) RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attacking)) RegisterSignal(src, COMSIG_MOB_CLICKON, PROC_REF(on_click)) RegisterSignal(src, COMSIG_ATOM_ATTACKBY_SECONDARY, PROC_REF(on_attacked)) // this means we could have a peaceful interaction, like getting a cracker diff --git a/code/modules/mob/living/basic/pets/parrot/parrot_ai/_parrot_controller.dm b/code/modules/mob/living/basic/pets/parrot/parrot_ai/_parrot_controller.dm index 8a0fe5e157d93..2d6bccbc7036e 100644 --- a/code/modules/mob/living/basic/pets/parrot/parrot_ai/_parrot_controller.dm +++ b/code/modules/mob/living/basic/pets/parrot/parrot_ai/_parrot_controller.dm @@ -1,6 +1,7 @@ /datum/ai_controller/basic_controller/parrot blackboard = list( BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items, + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_HOARD_LOCATION_RANGE = 9, ) @@ -9,11 +10,12 @@ idle_behavior = /datum/idle_behavior/idle_random_walk/parrot planning_subtrees = list( + /datum/ai_planning_subtree/parrot_as_in_repeat, // always get a witty oneliner in when you can + /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/target_retaliate, /datum/ai_planning_subtree/perch_on_target, /datum/ai_planning_subtree/basic_melee_attack_subtree, /datum/ai_planning_subtree/hoard_items, - /datum/ai_planning_subtree/parrot_as_in_repeat, // always get a witty oneliner in when you can ) /datum/idle_behavior/idle_random_walk/parrot diff --git a/code/modules/mob/living/basic/pets/pet_designer.dm b/code/modules/mob/living/basic/pets/pet_designer.dm new file mode 100644 index 0000000000000..a0cc7ca4018d9 --- /dev/null +++ b/code/modules/mob/living/basic/pets/pet_designer.dm @@ -0,0 +1,205 @@ +#define PET_OPTION_DOG "Dog" +#define PET_OPTION_CAT "Cat" +#define PET_OPTION_FOX "Fox" +#define PET_OPTION_VERMIN "Vermin" +#define PET_OPTION_BIRD "Bird" + +GLOBAL_LIST_INIT(pet_options, list( + PET_OPTION_DOG = list( + /mob/living/basic/pet/dog/corgi, + /mob/living/basic/pet/dog/pug, + /mob/living/basic/pet/dog/bullterrier, + /mob/living/basic/pet/dog/corgi/puppy, + /mob/living/basic/pet/dog/corgi/exoticcorgi, + ), + PET_OPTION_CAT = list( + /mob/living/basic/pet/cat/tabby, + /mob/living/basic/pet/cat, + /mob/living/basic/pet/cat/kitten, + ), + PET_OPTION_FOX = list( + /mob/living/basic/pet/fox, + ), + PET_OPTION_VERMIN = list( + /mob/living/basic/mothroach, + /mob/living/basic/spider/maintenance, + /mob/living/basic/mouse, + ), + PET_OPTION_BIRD = list( + /mob/living/basic/parrot, + ), +)) + +/datum/pet_customization + ///our selected path type + var/mob/living/basic/selected_path = /mob/living/basic/pet/dog/corgi + ///current selected specie + var/pet_specie = PET_OPTION_DOG + ///custom name to apply to our pet + var/custom_name + ///type of pet carrier to give our pet + var/pet_carrier_path + ///pet collar color to give our pet + var/pet_collar_type + ///our pet's gender + var/pet_gender = MALE + ///trick name of our pet! + var/pet_trick_name = "Trick" + ///our pet's trick moves + var/list/pet_trick_moves + ///our selected carrier + var/pet_carrier + ///our cached pet carrier icons + var/static/list/custom_pet_carriers + ///possible emotes our pet can run + var/static/list/pet_possible_emotes = list( + /datum/emote/flip, + /datum/emote/jump, + /datum/emote/spin, + ) + ///list of carrier colors we can pick from + var/static/list/possible_colors = list( + "Blue" = COLOR_BLUE, + "Red" = COLOR_RED, + "Yellow" = COLOR_YELLOW, + "Green" = COLOR_GREEN, + ) + +/datum/pet_customization/New(client/player_client) + . = ..() + if(isnull(custom_pet_carriers)) + custom_pet_carriers = setup_pet_carriers() + pet_carrier = possible_colors[1] + GLOB.customized_pets[REF(player_client)] = src + +/datum/pet_customization/proc/setup_pet_carriers() + var/list/list_to_return = list() + + var/obj/item/pet_carrier/demo_carrier = new() + demo_carrier.open = FALSE + demo_carrier.update_appearance() + + for(var/color in possible_colors) + demo_carrier.set_greyscale(possible_colors[color]) + list_to_return[color] = icon2base64(getFlatIcon(demo_carrier)) + qdel(demo_carrier) + return list_to_return + +/datum/pet_customization/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "PetBuilder") + ui.open() + +/datum/pet_customization/ui_data(mob/user) + var/list/data = list() + data["pet_name"] = custom_name + data["pet_path"] = selected_path + data["pet_gender"] = pet_gender + data["pet_trick_name"] = pet_trick_name + data["pet_specie"] = pet_specie + data["pet_types"] = list() + data["pet_options"] = list() + for(var/pet_option in GLOB.pet_options) + data["pet_types"] += pet_option + data["pet_options"] += retrieve_pet_options(pet_option, GLOB.pet_options[pet_option]) + data["pet_carrier"] = pet_carrier + + data["carrier_options"] = list() + for(var/carrier_option in custom_pet_carriers) + data["carrier_options"] += list(list( + "carrier_color" = carrier_option, + "carrier_icon" = custom_pet_carriers[carrier_option], + )) + + data["pet_possible_emotes"] = list() + for(var/datum/emote/emote as anything in pet_possible_emotes) + data["pet_possible_emotes"] += emote.key + + return data + +/datum/pet_customization/ui_state(mob/user) + return GLOB.always_state + +/datum/pet_customization/proc/retrieve_pet_options(pet_specie, list/input_list) + var/list/pet_options = list() + for(var/mob/living/pet_type as anything in input_list) + pet_options += list(list( + "pet_specie" = pet_specie, + "pet_name" = pet_type::name, + "pet_icon" = pet_type:icon, + "pet_path" = pet_type, + "pet_icon_state" = pet_type::icon_state, + )) + return pet_options + +/datum/pet_customization/ui_act(action, params, datum/tgui/ui) + . = ..() + switch(action) + if("finalize_pet") + + var/pet_type = text2path(params["selected_path"]) + for(var/pet_category in GLOB.pet_options) + var/list/pet_list = GLOB.pet_options[pet_category] + if(pet_list.Find(pet_type)) + selected_path = pet_type + break + + var/trick_name = params["selected_trick_name"] + if(trick_name && sanitize_name(trick_name)) + pet_trick_name = trick_name + + var/pet_name = params["selected_pet_name"] + if(pet_name && sanitize_name(pet_name)) + custom_name = pet_name + + switch(params["selected_gender"]) + if("male") + pet_gender = MALE + if("female") + pet_gender = FEMALE + if("neuter") + pet_gender = NEUTER + + var/list/trick_moves = params["selected_trick_moves"] + if(length(trick_moves)) + pet_trick_moves = trick_moves + + var/selected_color = params["selected_carrier"] + if(!isnull(selected_color)) + pet_carrier = selected_color + + var/selected_specie = params["selected_specie"] + if(!isnull(selected_specie)) + pet_specie = selected_specie + ui.close() + + return TRUE + +/datum/pet_customization/proc/create_pet(mob/living/spawned, client/player_client) + var/obj/item/pet_carrier/carrier = new(get_turf(spawned)) + carrier.open = FALSE + carrier.update_appearance() + var/final_color = possible_colors[pet_carrier] || COLOR_BLUE + carrier.set_greyscale(final_color) + var/mob/living/our_pet = new selected_path(get_turf(spawned)) //spawning these in nullspace leads to runtimes + our_pet.gender = pet_gender + + if(custom_name) + our_pet.fully_replace_character_name(our_pet.name, custom_name) + + if(pet_trick_name) + our_pet.ai_controller.set_blackboard_key(BB_TRICK_NAME, pet_trick_name) + if(pet_trick_moves) + our_pet.ai_controller.override_blackboard_key(BB_TRICK_SEQUENCE, pet_trick_moves) + our_pet.befriend(spawned) + carrier.add_occupant(our_pet) + spawned.put_in_hands(carrier, forced = TRUE) + GLOB.customized_pets -= REF(player_client) + qdel(src) + +#undef PET_OPTION_DOG +#undef PET_OPTION_CAT +#undef PET_OPTION_FOX +#undef PET_OPTION_VERMIN +#undef PET_OPTION_BIRD diff --git a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_ai.dm b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_ai.dm index ae971fd2558e5..18ae6fc3e7523 100644 --- a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_ai.dm +++ b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_ai.dm @@ -44,11 +44,13 @@ /datum/ai_controller/basic_controller/giant_spider/pest blackboard = list( BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/of_size/ours_or_smaller, // Hunt mobs our size + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_FLEE_TARGETING_STRATEGY = /datum/targeting_strategy/basic/of_size/larger, // Run away from mobs bigger than we are ) idle_behavior = /datum/idle_behavior/idle_random_walk planning_subtrees = list( + /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/target_retaliate/to_flee, /datum/ai_planning_subtree/flee_target/from_flee_key, /datum/ai_planning_subtree/simple_find_target, diff --git a/code/modules/mob/living/basic/space_fauna/spider/spider.dm b/code/modules/mob/living/basic/space_fauna/spider/spider.dm index 118487f038392..9f94d839a7613 100644 --- a/code/modules/mob/living/basic/space_fauna/spider/spider.dm +++ b/code/modules/mob/living/basic/space_fauna/spider/spider.dm @@ -171,10 +171,18 @@ response_harm_simple = "splat" ai_controller = /datum/ai_controller/basic_controller/giant_spider/pest apply_spider_antag = FALSE + ///list of pet commands we follow + var/static/list/pet_commands = list( + /datum/pet_command/idle, + /datum/pet_command/free, + /datum/pet_command/follow, + /datum/pet_command/perform_trick_sequence, + ) /mob/living/basic/spider/maintenance/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT) AddElement(/datum/element/web_walker, /datum/movespeed_modifier/average_web) AddElement(/datum/element/ai_retaliate) + AddComponent(/datum/component/obeys_commands, pet_commands) AddElement(/datum/element/tiny_mob_hunter) diff --git a/code/modules/mob/living/basic/vermin/mothroach/mothroach.dm b/code/modules/mob/living/basic/vermin/mothroach/mothroach.dm index 9659408b8b1aa..d0605d4dc93eb 100644 --- a/code/modules/mob/living/basic/vermin/mothroach/mothroach.dm +++ b/code/modules/mob/living/basic/vermin/mothroach/mothroach.dm @@ -33,11 +33,19 @@ faction = list(FACTION_NEUTRAL) ai_controller = /datum/ai_controller/basic_controller/mothroach + ///list of pet commands we follow + var/static/list/pet_commands = list( + /datum/pet_command/idle, + /datum/pet_command/free, + /datum/pet_command/follow, + /datum/pet_command/perform_trick_sequence, + ) /mob/living/basic/mothroach/Initialize(mapload) . = ..() var/static/list/food_types = list(/obj/item/clothing) AddElement(/datum/element/basic_eating, food_types = food_types) + AddComponent(/datum/component/obeys_commands, pet_commands) ai_controller.set_blackboard_key(BB_BASIC_FOODS, typecacheof(food_types)) AddElement(/datum/element/ai_retaliate) AddElement(/datum/element/pet_bonus, "squeaks happily!") diff --git a/code/modules/mob/living/basic/vermin/mothroach/mothroach_ai.dm b/code/modules/mob/living/basic/vermin/mothroach/mothroach_ai.dm index 5801d18321594..bed72a982399a 100644 --- a/code/modules/mob/living/basic/vermin/mothroach/mothroach_ai.dm +++ b/code/modules/mob/living/basic/vermin/mothroach/mothroach_ai.dm @@ -3,6 +3,7 @@ /datum/ai_controller/basic_controller/mothroach blackboard = list( BB_FLEE_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items, ) @@ -10,6 +11,7 @@ ai_movement = /datum/ai_movement/basic_avoidance idle_behavior = /datum/idle_behavior/idle_random_walk planning_subtrees = list( + /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/find_food/mothroach, /datum/ai_planning_subtree/target_retaliate/to_flee, /datum/ai_planning_subtree/flee_target/from_flee_key, diff --git a/code/modules/mob/living/basic/vermin/mouse.dm b/code/modules/mob/living/basic/vermin/mouse.dm index cb62ad956f95c..aba7c00d4c7ce 100644 --- a/code/modules/mob/living/basic/vermin/mouse.dm +++ b/code/modules/mob/living/basic/vermin/mouse.dm @@ -36,6 +36,13 @@ var/contributes_to_ratcap = TRUE /// Probability that, if we successfully bite a shocked cable, that we will die to it. var/cable_zap_prob = 85 + ///list of pet commands we follow + var/static/list/pet_commands = list( + /datum/pet_command/idle, + /datum/pet_command/free, + /datum/pet_command/follow, + /datum/pet_command/perform_trick_sequence, + ) /mob/living/basic/mouse/Initialize(mapload, tame = FALSE, new_body_color) . = ..() @@ -55,6 +62,7 @@ var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) + AddComponent(/datum/component/obeys_commands, pet_commands) AddElement(/datum/element/connect_loc, loc_connections) make_tameable() AddComponent(/datum/component/swarming, 16, 16) //max_x, max_y @@ -383,9 +391,8 @@ /// The mouse AI controller /datum/ai_controller/basic_controller/mouse blackboard = list( // Always cowardly - BB_CURRENT_HUNTING_TARGET = null, // cheese - BB_LOW_PRIORITY_HUNTING_TARGET = null, // cable BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, // Use this to find people to run away from + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_BASIC_MOB_FLEE_DISTANCE = 3, ) @@ -393,6 +400,7 @@ ai_movement = /datum/ai_movement/basic_avoidance idle_behavior = /datum/idle_behavior/idle_random_walk planning_subtrees = list( + /datum/ai_planning_subtree/pet_planning, // Top priority is to look for and execute hunts for cheese even if someone is looking at us /datum/ai_planning_subtree/find_and_hunt_target/look_for_cheese, // Next priority is see if anyone is looking at us diff --git a/icons/hud/lobby/signup_button.dmi b/icons/hud/lobby/signup_button.dmi index e015fa71948a3248d4dfe901369b5d41677e22a2..26d32e9af83846b05c8e43ce9e69dd9c6e072230 100644 GIT binary patch literal 2723 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 a75@WsHFbBc>&N{70000J+d diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index ebcfea59675966fad949d6904be1d9432a9b5493..f38ce00161941c3b36fb24d4a39d60e9340a7708 100644 GIT binary patch literal 32386 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 CN}H!|`_(Dh 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 literal 30977 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

LJGVDJ!bMO-w?}54qROXpuq?q3 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 LT`#%n@a$gzCBAo- diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index b8fd65ec0720660f2ba934bd391fedb05a8f28b9..4639b290fe3713a3c86cc6e2286b9c1b38be3593 100644 GIT binary patch literal 35108 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 Z-Fot^!282@=fh?fqGNQk;;%=q{u@KfLFoVh literal 31053 zcmdSBcT`l*w7d6eR~G zLzAP>K$Dt=hVGt&-`~A&=Dt~P-FY)_-kQ~a)ZtX^eX91Uv-hq~eTt7dS}F{5Y;*ts zFsP|Mcme>F;3XwMOAQv$uYfS{k48WJXC4o%-7VehT|DfaVF2I*iG9}VhL&WKSJ%!| zD|O?K+Cave$+(J1iV+mJltBs zpr%%un_=k@Q4B%&_RYpr*LwuTjZAKPG7sNG zCSOnrU%8^AJH=d3yKH7oUi89v7@w!fWEnuUs~?Vt_hoKfh-g{Of9r z>$&27YAeetKj^~S=`24!%)X+dmBsv)9K+A)=2iJwm@3lVQOh22dF}C9aZk~?KIS;g zOVbO`nA11JE0>b)-d6do)Gygqe*LF;t$ya4SB}Fk;DO7JC4?@aX1_m;ywHY>TrkS4 zk&k(s_~zQ?x|7EEQ~ea~7N(nvd8Xe~i~Xc&!_>*%41FbaKDu~`*Q?@h9@an7Vdjgz zvq^oFKoePwnkM0RzUSM84qbGQyCIP+w!B?~9h`3FD}QdLX=h|&-rzFjv&SVyU3;48 zo?*rrlr=@pr^!;0*`-SdKi4?!NmZHhNPpvVL|!?Ub(7D2wO8;)_~l+lYHs|XSiMy0 z^Hfhxjt}3Lh)lv+x0fa|)>`h2T@1KZLth%l@}$zlwPCV$z;_m?zogI^M?`Qvu=`P5 zBNtI3a3~$I`c!uRidR{6JWY3m-kAj}-vcPTW@@HyE~Vqgf<5NV4MtUAGckSBTXodd ziB%)F!hg0t>&%ROC$Fxvsc&krtX3K#7*>h!e@@T9<|6p;b>ryLbE%#<#o^ssIf5R+o_F zUu})E+P|ZXzMOx3L9@=|L!XC*TI&5+MKbDsb%W02hx_+AyDXKSKd#uawmOAWT|FZ1 z^&lPDUq-sSEd3ex7JkD%ToBO8@7h8caHA8<;c6?y&iq5o9N2eH-_N)6j&(0$of^;+9W?g zR$J1O?q1EDZ)bqd?n{e7(@&)BAoy%_?~0#t#{Ids%s-F4LUBR05;ymzyw4*U@}gCH zm5(P(U(Q)0Ep~P>D^3g|G=-DFuWowx6{bFuQSR0HK`Bts^-ILBPar|UJ8)7i;OJiC zeFDp|sCgKt!;RAb;Hj?mKuO~Ca z*0mIG8#R0R(bV#Do51A@637p1pDQfNSuWOGqPqAnWN*5t#dqaQkIl3FeQ7cG{o|(e z1fiCm#NG9&K$70RP0SMt&~>yhu$~maEaN`~)Blb_=hOwD=QHAAn z7HNokh`XE)0_0zvI+k)WSAW_!!Sfctf9AqDOAv^scSe$(PirFlOY7zhA3Gp3Nn!IV z+(#<6wmBCV?L3eNlm2&I$o?Dl5L_+z1Z~4X%;CrA;hQ zz@hAW?5hmxBZ*S36jSqZ0#wsZIc@=u4a#w0mY9__kRA|OE9Hlk>r{m;U)!h zyVjh!o1b^)vX9B4<%s*sm$mj*3pa$7h}H`xcPebBbL2?J$1CX z&4lpu+SPc`AVSm-4KQel{71K0-ESem^EZSqVfvhTrI%KPI(k5|k^`ri!(d3^C-%QUrG-NBI-azh=vtFRjCfxvA!8}^kPaVlUvgNbb_ zAN4JVK8QZ^cc=^%mH(xc-jvw~yX0;DbhYNDBO~;mM~w`*;kU9s_V&VC^l4pAK{8yH zPlTQFBKF;qX(8g|{oCg#=!lc^_w7iU&`*Xo&SFZzaM^TA0N2}{78+vS1AsYi`uul1 zF1{o}+x54mA|_1kuxZn6s2LQQJ0iRaIo&jMJ)U8P!pf~jvhSbgEb5sYIQ*()-nqdT zAi;ynBLQ0qR44Pgh4;T-AhPKr)b{Jd*R+Wc0AWlEsIefZBM5qM0AS*yP#idw0m%ku zBmn&Q07Q5|>;Q1u&;Y=lE5KD#fKBnQnBwRE!^IrWaNTAE!)_N`T!<2Fj>qVr`>=epA{OA{W zjT(X6kSVBjx3MuC%7vxPqvPu3_At9Miy!^CNTsaYtlL$AC(XF*4jYh#Dhuimdy7huh`;wqmrp`fxL_#|e-X(9=6i~ak>B`8a zt5#s)9B>;(tntThMoKP!Gf6N52hIcNGeHo*>|@{;N>U2x>ZHuuqbIMl;HwjwR0(fo z+xgw4xkJhgeM*IxyraSiXb39^dD61=6YXG~6m;N6iK!ogaJ|&`aiQhCh zV>RWT?+#;V&NLFDsPZ;lIPLHmoF-{w>frNo&wj>!p@cG37w`zqkGG zc{ewAb%R$QJ+OEMe1KO3dNH?gJk+rP*$duM25&9? zJcsz6zyfqU1pjd2cQ+Fuzj-mXMV9lP{#Al^}12ce~-V~m(< zghw9D{?i8~-cQ(pmzT?+yA;4RUQh*684&pF3qeFN0fiP@v)>#RJ0cra^E$lsN)78h zjsm}p{)pYMGK(75qEPI_{O;cEC!#FOfQ+lw)IgGn+VJsJgR{nLMZqwc`<$L@q?dlh zesV06TQ**tW-7B}o`Oul0o<}NY_qO_O#aN~8n-r4^=6xZ!JXmQ@wtNQH$|OR`obQ> zF{!;P0n{#ZPleTt&;#~{4nPM~5=uw;?b*@Z>X(VH_R)dzUEA#yVKo@tCw!KeG=oMt zT`B7q-7KL`HA$X}BQ#ZwzV*`c)LY(Waud)-XE#~8Y7$;k*2r{V$-r`9WOo2JWxN

|N02Z6!^tp?E>GNtQGZIAJh0{^*-5@*pNLmZkt}h<-cB`Q7#wCF4adG zw}c-lL^}9eXPJa|dS2BHpL{Q7cN{f_F!%Z8h5+dO8)9{GyF(c)MiBd&N+&`lru*AZ)c7% zxLe${kF(PF8pFy$E_FJqG{=>YhfdFYf>t9MMUxwZGat1jjT&<-R714{!EY*YpUJ|n zN3HK;0nQ0dWzikKwr+mRd*pJsvlLa|E^YVVTF&dn?Qb=>h0UpYm5Brz_ZNPgYD0XR z?*}i!WhMR5FI=#`%MDP-7uChyshOD8v+|Q29PgA9KSrFpB%YE4lYv6-w)WP3l-o^W zR442svZ{BA*u2?`$ovY&MypI;Fx!67V)mqSpWNYx>bMSba#973R`GVwa`wDOYa-}= zXn<%-EjO+2m@v0M*))o;CI5HtWQkGD;Bu8rxo+L6u|3l6@a#w4%9;J;g4jgs;6~iE z@!E&7@Y_hv+Sl)Qr#|j39W(epN4u;sZK+m$+()aa033@eer99R4|tHQ}X11ss>@R>j<9HeD2 zAvz^`s}8TQrT7M-ShFPsoiA0HWXMw+Z``AA*tl%JES_H^1Tfv$`b6&_sUXwb3sHPLXdE07i&@x`Zs+_sd(l((Z(Rkqqy5a2`AoOo{= zh9zp6aWK?9#i=1EGXh1aSm#Q`W9oh$a}H3v8PmoZtK51TfOW~OOvRme)a9!ySD&HA z9l@^~050D8-?5MZA2j=)UNP+uijQQfv5PXS>}}F3!KqfLETKwtl>{FpGbeI%*?QQoliR@CTWB7 zcs{Mr=f}lFTu<&;draHmhpsIR5efZJlvn-y<>n3dm~a@upHx*5Fy{O5R!VXt+q64F zp>t%A<63TztU@X3X=4>K*CfZ`z>?^J@?6^}kXR%m*Y)Qr$e9yo*UC$it(u*Yo7>HN zRcf3@-d~C*Of)5Z!;O);ZY_H@qI3M+q3>V0$c5xS^xu00AVf|5#+lcq{WmL@HT(8_ zpvmDo1HJ2={OPy)703;LjD>0xUjCqUM0$5b@CwdI{y`Ulao(4Z+3v`mv~QHO^4;*=q)OXT4l#{$2#Oa z4nOMaIa}!7J6!4GPB~sS@+c9n%wWIB3CXVymQv7@Jc8%7zZQDZ9298jexX!li1#yK z@iCH5rSRJu8rh2YbDaW0z}UcI(gZaHf+gTnxWS-}mip2(Z0fW3>e$0gAwOwkMUJoh zmBZ&D6_H_2QZ#Ez-1W~-ImwUahj|p&>NZX2s3&>oKEWUL4*YWT3x5_*a-W$guF_g{ z)z+&bwo^J*$LO+Odb$?F6WFD_g{>A&^r}=TVW=FSS9X-ukGCEaB`qYfJ9gc;Il_7x zQj0tA{E_z}mJRr>nb%b2JUIQ9dg06ix#{d>E3{vgXY}QHUD|3Y zS)2+t?0Wp1FV@t{V9oW5!=-UT*9G8vxE?ofuWQjKIw`t_QZZQ)Iy719UIJGZYvg<< zs!jS-_;z=h5=jMIK#-8{l6d2ZsvcEEIXI8_S#ciCV8l6mgN;=RvPb3Oyi@j< zi?(_&3`gv!L1NBYL>ta(VvX5t?yQhrbKu#{uR220`le4iAB|s8crcKHS*}l7zsiuE zD_&Odyl%+(DpuH>&pSW2qCdD)B?fa1(ARlPfiRbaT=@ZJENRJI1OB5p=o6NSI71hu zQX99j2BBSD0~1P}8h8D3ge&@ij;*NaKNU$$JW{K*AKcha1I!Nq#mp3^5)c+&VF9DpARY8ymLN|d$`Syn``@N@ixIpbE z)o*81{r!IvM^VsGz~_A`%b)~ssqb9IwnPT#UH%s)asR{00`k&>>ih_+d16l7yEK4+ z6Sziy{%+#O#Mto#0ffg<(8xU;9xl%(W#V;1A#Z3#2CQ$&n7j40ZE(*k(L|mXP^(={ z^B?YqyCr$p%}f-Inx|-v8*_*0VZ(i!c_;y#$T8sp09c&@V;CiMJ~@mFN(?qC=geiZ zkM0&3QlyssL%o$jqUoHY*+Z^Xvl!|jSDRXgN|M8b#u~{(&083A8=&K2w-;QAShB#Ac0`>x@umVUQ$$L76P zFez7vuOrzy)hgGSRs0HpruZ4E{BwJ~s^16|C>butK(|4QDCrJ&McJ8GDw|e-PvyG6xr<4P>+(EMEri&ii}mtSH8>S~c7?&J=BfNIuEK$jO0H+mDjoLi}3u3>DD z+aK$FXcAzo<^9n=r8I?_D&zLHkYdLtKqtXnkJ+99M4kXZ{|p2G<0PFstWa=61u#K_ z+Z}>$07L`0a+8+QRRxm-LnI4;D7*sjh)^iL=wkpUJt%T&<_mYZ5V%GIK{QGLPz3J+ z0LT6RpNsq~tZlCzoV+6D)@mJZlfbZc_T=|>MNsqKOm!*L-Iy_>5>I7Wy%(#j2m5^S5<$PvgylYH{D%_PoaAwf`c02WcA<2F&R$ zuVF4FP*`J|2{RF6?zT2mz{(!aO#{jSK&2BSIE9u@mX$z@mj`WmMW=)uh$mfRft=iO zq5XeVwCFlF;^JhEw_3%%ZM;2wLBBsut_p>O8E$$l!fZ2pA3j9IpQxYBpKPnpp;Yum zb}!fF{}}_5VE_nAl6KEs8>_I)%{GqzZz|ZtY(5)RzkKJhI$@BjnJTElz;^ZK)8ZPx zoyATR9y>EL0c460^RbuWEOl9`$LAsaAo@87FiU$;q3?oCV_2cvFGUc|hw`MNx_51Qp)J;-D4*s@Gc zCKtk@OWbuMT|uV~06bVLhXUncY79GB;AD^j{r?zotM0qZ za|ECx;I4FXrC7@Z&{+!q1u+CzK&Q}i>f}}H|AbFpYSum2ei5~1(-G&I%Ld7~z5Mz_ zLhzGnU-32H{ScP-t>0N*U7QvG(hL_KWbxh*az6pvea&ul!OnmQM_)G zzU*k-&T1A0KN=Z1S{UB%#>8$fTccB`Fg--6Idlk^yuy>6iET{4dV089SnYR62GL$Z z|91pTbmxa!L1M%=kdS#(A6h_OGr$!M)tVyN7(nWL!z0e!}qpl?Au@a zKy=5zAWiQD9klrH^#e8kS#=pYCPv1&C4EWYhaZ(9A224%&3xJM9Yssd&-OxlvAi5N zXB4ch-edg={!$|cdTihxx9&6fm21N_8`~qW;ib;$RzD?iW4$#Ym3mo{@pc&$ps#J_v0F5y8 zh;P9M@0mbDPPY!;5$EL94S^WnEE23=&)%e-_Oi>v+A!cxBZeSZKo9M{S;J!}R%nn*&A;qI?e0;bH7H$+;__#KzwfA z=fO@oYqg;vwr>lnedf!!wb^7QJ2npI*tJSDQmwyUy;ON_Mh*Q)!n!XcwBj8gN8Q*L z+$Qun;AB4{I9RUX;CQ#snJZ`$gI&(o6*+cabuO*>n)vKW*9o|FI07~L<+HvOK*z3h z;bho@x5;zhRyvTy<~)E-UnI1Kt}JNZ;~zC~<<->szzD>XmSqlC6oOe(B5t7I+oI zGqpn3+(?j;rE-<)NoRrfbeDj}g`j}rooFqYibo*&k20P^Ei@V2B#D~Ir`&efO>kDQ z-&^l08&ReEbEkQ)EPf~KTFA)&a!SzR6u=2M?gjWPep6YRr0Yfi^Y|NUjsZGOpN1-r*3I$npnvLDcgf$n{^w@^}=PN8OWhX!)&upV#L_e!`wGU zS<~^pD7Zk;bee#6sUI$_JuWDyHoGV3p>}?LJBaQqmex)q%^CC5a8U?LTsi=S1$U4k+$(b4^7eI4N3IZBsH~b;~yP!tswa zabft+Q9{Or-Gtsi>)&w-U6s<^R#VPoA#GuQ(*_$UPv-}Y*Cn6mhD&!!ccM1^HI#-uE$C-O&CrS?Al)4z>a+_)kilxv?&?m z(Q9mLwr@-tDA%ff)_lrtsZOZUqxaG3+NoFjp$?ttZM{+#fcG3z+0#n?)kgC9=G|-( zjwKPPUK0WeLu1BIM;e}3eTrhhNOj3_H`E@!Ic>=v>oEt7vT3M8g`5D!YHFBGkFhEa z$OrpkVeF~*XeXz8_HnNY>EV>U>KEcW3W!Esc33Y|94 zh9Lr~Elf9@4V}iA+9fw8@}HK-84W+@4iYZ(71?%F44!IOnZFQjH*_od`L!a4>8lt? z?^sXAkuFE)P$R!7A*t+rM@5#vnr2an6L8aeD%C%=;~e60dzZ*-3ZUl7F@yN7VQKt6 zgF|P~2BuSuXxw$)Iec$eL?ha;$uzF8Kl_NrQ{SG;d?JSMsimQ@Uy3VeHd3m1{A;*= zS#5N~ZYPbDuYZlR#x8XtmwS}^c{99qbNzc3NdWj@(&U^`pj%(}nHUt>V_cy-ePENw zCS_|-EgtH-{?ormJX{1SxR;Co6DXaroj}UoIHAW5BOR*I1PSY&ud$+jgb@9W4;)5A zPjY+%?EmK4ici&M6x}=0G?(6;{K zKns%{oRyF5R6Cjc`ECLuXq8x!ZJkpd?+Xkm=9^C^0{_ae9e;@q6d zInzzUm2Z}+pb&M3Ce$amFV%V}>e`bsUA{yy$G8X8$5A7-@G6^u&LijEiE7b5sopPB zkFK&!7alBdlkSEZcZJep!#~t#bW~aGvg0!M2tnW z;SH*nN~cw65f{qHlPgg^QyAADwbR*b)A4NGIz zhKstp-Ip)Z18N)))xx<@BYhQMFJQg0TbQ(usr}`@Q2p~0i+a7+hE-3(oi+-DnR9oX zkTeCts+?wQst(+&Fzr*wsBRE<{g^UQmh*WZ=I!`gdu_B#_-wOW{3wKufSaid(v)sA zr?(%?Mw&>@%bx!3l2UfW^HxC|_M#ZV^YOiugDyA3Zeb(T93#=3sPQPSG4$*3ZjZPgqu>R7iaU7I%1aRQ-s$+NyaUx0p>5vhJ)Ca>LON zF2*{?=QxyNxrcO3j|m!Zjgz>a0}VhnF}kIzWBSL0RFHb3L~pO_m%Xjq3&5W$IzG%;6$#zki!}~tX3PCRd8r38k3~=F1fy4dshd;PS zWmPzHY^_(3n{|2?FbL5{O=h;V2=qvXMHN>1p!? zi^oqGoDCTMA)*X$k5-SG6>RsA)e(E6fc;pnR2*=dz>zf_kf2#^m(?l<_A^<1(l}Vg?KuA$s~*MdVpn@8UZ( z^~Db1&}{8^>L*{kJXw#3Y>6w4muCKhXA@{&A^a9WdjWrd%MTTY=eGBw>wNr8i#q8o zFLmWrjdTIwr6tP2ZY5Z$7%Fsx; z7QeF=Ly&7w6~w$zv)RhLgc;>*V27u@nTi88CQ`^aW~ewa^17J-ml!nXb6V3C0~|N# zo*zmyeNCZ=vLZs!5GDg){oj+Wjp2IjV82Rxq7ADoH1^ngf==4L-$vA}D{9OkLgX#J zmQ253E|;j^YCP;3%&kIX&hXQE?Q(9^Wc?)2L4+pCq^eC1ua0j$^_-k**M*<5bCJZV3`@E^_ zA!noAQ!rfnT+p+Ka_||H=dbM#^<7OL8ENhTEEc3&bVEfL{9i>)P+lxPvA1p-#XR9$ zh6V9vV|q@GqvT^lti-RTNbk#a|3omsaDbGH?-LB!&RM+}aWx#6KvME_0Y3jR?;4~3 zM%lo0?Y9}Aa!a6YkHF~DP-n0Pe`>DsMLMhh|d!&gOj(I*% zBZB=qSsW&>c^M&iqB@AtWdI!6G^G`qYc_u$a46-5xIIq-&ACIH0hI+b0!}~JbT=1z z#)9D`2k@qd+y!(DKrVz~KZLPg=|pt$uc!bXs0*U%u>RW-0vZWItUB^bgiAbVc|dq= z^wC4<`g>rtud%n9+<8C$_Ys-_mETYzB8(TudUIB zWRd_x{&q6rm1y=VEz>u&9LUaNlK8K(0fDySAn#abkfpTUD5G#sXYPPQ9I-)nb2k7v8*Mx_11sa$zI!I1Av0D5&t`SWR5=o45R6(s97O5%Y7cc&?ttx{jA$M3=%JJ- zpVvFY{xL2)TzZ!+&GsG`yMa0!4Q;+8PDXN``XCFu)lLn08I)zlrE{JF5d4A0OjT&M zPhBcDuObBJ5^10|k7$(@ldSqKNO&ZCz$>ujiGqW8)24v0fT}?Dp!P~UYryTL#+Tzc ztIMhsE#B%y>ZmuLXo1@y07B3mcjei4rUq$SDxVKhFrv*(l%z5TPs- zj@G7UOojm_80m|{nC7hu9l-$Nv9ZiD?(^t@jk#g~JEJ>*xAKER8-@=S**7&RM)52k z&v0u20^yZ?#8D?GiE_@I`qJB10(cUQKSmQw!5tD6<*5Mu5c!R3HRh<5SAD_2cP5hz zd}YxKV|GV)cs(l5G~_|s*$b<~H#vD{?>S#?#gQ4*VYhVOW!?R5pr!&5M<>HKdc^wm z9Y>0{v3L`y8%F^{d1MzV00~+)VDD!MVR9eJQfm{tm!eFo?DA@6>ntwm_mxg6d^-yf z+wY%aSLS~=|3_`9fN~^^)EdETzF>lz8l8SJcP%z+^ua?(eo;s zfZNjd)6KrHlgxe^a|dIOIPPJmtpvKx;FtaF?4J9T20JrA>MngF<|D7+(Y9Zc8nq&V zxr4?glG5O$LxBqs( z#o@7q{-}5G7sYR0|C7xfsE&~gp z{$?6)uW$m{cI}4}(xY?ObcLlDJ^hV|>LoBSE+_1z<1nM_3;@`>WRK`>Y7m`xydqI! zW|_Xtb|h3+p|D=wI)nyu+ihpEm$~OSfxbM&=iIsXq|swXyJUo%<(!3jdI>;k9EsSYavIvT_*k7D`y zWcdpjV9f7g%ic8kF2(yac%Y*j=aTEV@o*JZ8PCxqU0rrcuCJzzWd($OL;U1GJSsb> zPr%e??wtd+5g(VS9Q>$>!QTs8I`I`IRKL+wzb!q0-tHYW@1FGCwHjFLtQh8-Y{6WY z!uL1kqTV~nZakzxY@ueIj_{!k@aFq;2+WHQ%L=v9YORy_wQ8J4%sh0ZhQ-!T&Bd>d z5%~G7;6|7!rG@B49GkF1zEr0lEEq?asq|++v)z8rfNOoVeTdu^P~_;XT}7NrBVScc zfXQpi?zOEi*iP5pspie_>Bbu9R%66mOKyfqpYDebp`X44R0~%>KjvVlGgC2fzpzs0 zwn~kHqLG!D(t1L;tmoR*5~J!US!{z|FoIyVP=Eax|EBE6Uea`_*`TZe9q_`=k?-+t zdQZw#IlL0^tNDeYRQ5wO+rZ1qr-wO zq9$p#2KjL2x-?k?DldNIyHBde=1Bs7T-&6ZEX*`Y^=J@p7^OR!;Q=`B`O|<=l&0-P zCvLdWA~gVR`Gd?_4XGxH#^B`dnq?%T9-QM-Oyg{IW3IO;Z~wbbFKA(OY-U9B-^kr3 zudf?o3*<%Su+!QO@*3~6z#L6vMxm~J1EbWQH|s6Za*LB9iqQh!Q#RLpX+`^K0R!Oo z*)>cgO!_y(VrA2qC2+hid7d6{F)kmKwexfDO%&tj01ACWVf*(DIVqO=j&qGN11~VW zpcTecZ?Nc{s;>)%)q9p4&cNi)yt_iI&T4%Rl?zox!w%7;FNZ278mYltxXTM1<|gjv zk0b!a7J7=|zD7K^toRPe7faw6>hpIV-^V-nX>PXNKR)&BEicbS;J%6Tea-h-JXCf{ zOc8V2{q>rokOX=>?=v!nh&l!lzdxlZh|4r zhQPuaIDIskI792-0^$(s;K_~H#WcEwp@KXA)|}~FUMrXglv6_h=KFf|pbn}3DrNW| zU~m2BafFES8*pgu1jqK<0CJnQb^mUhwMOYD0O96qzne)zjSnv)_0g2}t4z9|FaA_Z zgZRGRb+hasbo@>`hviqu1M%w&j#)Asxa^+5U5(ZK?rR2xmWb))m}*5i{=d^ zdguUda#JKI=Lrj#a(mJL?C=kNLgQ_GUDmT%m(8Pe!cnmwi*oeq?y#MSYHx!*mIwZv zO~=m!l8Lk1O2Hf+Iz|c~g#C-^LM#JZ`_z0)PyE{mcTL7`+z8y?&bVwJCa;Qi;d{b8>~miM}I5*vh*pzQ4@E~>uXE7LR1gN z*Dr-s9S!Nc(UvpuDv=T%81&K@1(R;3fP)mTKcV9*X}&9MLz0l6#zAE^MN*dbz=U;} z&&*!RVjmpzPnKtaYeNd2ygd0I4dGub>66@?O;O1y(Js5(J#db)4Y!f>bT~~A>6J;{ z4e6CMG81rr_eG_ex-sqT;q@ovgLv~zK44mNzqRj3@iCNgHq_v!MAKG7f|0FV8In9^ z9CSqmXduJ-3*ds32rjeRO?SbKx80X7wZ21m@|*c1`GD{J@PgeZ`3hvkXKZ-Y`rF+0 ziQa4G&v0eGB!C%VLJPS(S>bsO5>jIu#K1gyFrN^e0U4`38ksOh?&glc4_-eSLXV)8 z(MerE2IkynkubmlB!hz5$)!S!_XG+siU)_`aIJx@U2Y$&vu%O-l<}<#{94%%7p7kG z%H7DlV?FZsBKSKBMHeo?6`);~UoD+7W#!)9kU6D=Uw~_`8e1vk!)~>i!SQjj7;eeD zsP@y-)4VNm;&5=!oh6MfkRhL8=E1p9RLc)JezpFE}Y?Y*6wghT|1aTG}-2D#x^9dK0xzuQ-NH6ReA>Na&!A2kql;A+} z-}^HMw<9eLWIbEq*=*U48C`EGug~5o5>Wq=+!Eb%Nt$o|k*O3}%4he*%W-=v$EqU? zjCGi7QuZkRq3kBM-FnDWf%#6wdiKd0z<1TgP^xaOkxU>J4SGj2mNoFcQ6cghaKEiP zbe^iKo&;g3HZ46mik4rQ%GT+GpA~O`sbhFkovLut!ThsjSv!*RPLe5l-zV8&Nb}Su z@ygn9hS%N9+94i)IH5$W|95j63G53c@jeg{RQ%|sjDV5O`gwnb!<` zrtj|#sEhm*O*_Iin=?BAzk0($d*M8^kQ9{JA;EZZ-KGJkT8a`YfG1vf2zEN=n%#ZR z-7s-0u2Ly$XQT$>^4{l7DAxpB?1o*&KYu<@blz z^V=zws}mQ&o$|2|uwDS=LfavCp2?Qh=Xkq)__=LrtdE|PDAliH%G>Ww>ZJlTTZEvp zYMYUW8cIadEWWU)^zqj_jKZ`dyDtQRKZ8Z$L3j#;zzGb?9K}u%b@x=q9{xDqn`^Ix z^e7`goPx@q9DJ60Q{g%Y8=pVHgKyNS4WsOjWPa5o-eveO2nP}#fWrS@&}@RIyyuG6 zqG-bVZeRH44CCGP_k$`Rf+YEv_dUP~`yT!V`dM)ALF4gO^G$n@V0a32|998FQa&o2 zk{OBTp;}Lt)(Fg_=zE{(cQV6`7w7?DAi3@)xy_{g_(+XI`FhXv|9h)v|KEF|Sh?1kC z()8g$Nt11s9ekHtza@SZQjq$*y7HQd$xPd5#bjog>s$VMWW=O(PPH$iL#eWn+Kb!A zDFwb~`2sTT(E{f_*1h1KIDl2x;Fx#j4MVt%=u4u63Sa4e@ltKfsFm@2Mq-p6&|p$HwG{@I~PeJ(54(Uo>=_Y!-C)^F|Zd`FO=c;Mc%q;5D_F-D^w%Yh<{q zW^S}-#bmy@qf)2`LLOrnuYU1G)jf=sU_c8jmJUEoc_mNyV;je1Io;;DSce0qO+^C^ zmlE^i9o=d3o%ozQDTzd=!}2a(y0jvb_Qii!LkCr`f^X8$sFZ= zkv{NC)Bg8ak*;bz?b&zNmXkdkl@*!U<`VIn#WHCD6{^9G#S@!EKay(d)Q)nk&)(w& z@Ca5|gz&YE-jOT^yXb6o^}r$&-`#381(sp2hqcGEGw#aAEojem-j!IBIrEOa zZ-4}Q7?)l@`So-ghYjIkU3M$Yy5SsPam2Nn|5Jh++3SBXbc;yIR@i=tizi*nr#ESX z^!v_A;i#GKRpfS3+L!drr0p4=wBxw+!vObaq;Ek_!sEJxYSCU}kO7z0nz!`8H}K8J zrC@U4W;LsQLjR;I74O4t2ElLXtJ{w4sa_@UKxJW0MKZCcgcO*pr9>}9`nGCB@U*yM z_tfgvJC}0`Jw-Y|1{h4`os!7;Y;!g24(y33Usj!){xmCj$j?7;h_HnXNQ%UA>Z!3* zPXyg@xgDgJ7m;8VR6bdQiEs{7dc!LI=hdu!P5|#UTGekegPN61X}tFgzj3Y4vW3iI zA5}E!_8V{RxN(EzFkPD7t#g@*cTK2N)Up`46V30H49#ev*5q2+?(mChgY*q?GQzmd z8{0IM+`8BqeR$ZPnEbU@&7h6BDWNJtm`$9>ASx-M@XYHV*@}zYJw<}rLwHcD+8ERx zmF39F51Q8-B^^F*4u88xmlcGs6_;$Q(>lL3dF}d@gs<2M#%Mea|ghVsQ)O{qpBl4Z)|vr zRA>CCaZ46^d!F@om~2A0b2 z)>~wqv-95Spjue%9~m;~=Gn>fNA`+pWixFRt9*cca?#z`eN9oxTimNr`j@q2-hyN@ z<6iK@VEu|0Z1B-UwPXCmXd{<<(@K%(a#Y;&D1nvsANz}fcK{#%y5Um(PYHI}nqtHG z$#j?AEk@9^7v!`3x*KO~=dN({-uw|;OqBfawUWGvY)>aYjncHjoa9|kJ(7^~&DaXp zLq#^KUh)xlkU%J#WDN67Ljp<;KXJ1fBrW*%78>}Hi_P9p$FjLMSx+CeD|F>F6QTQ( zGj*E{yIQ`puV@72R9H+sBJ02tMLF3UzcE~r0X|nH1nvNT^z29Otw{YEZU{!E@-LR~U=vDiamzuNS&4L1e)lS#$TtFpmmJ8S%i^TJq?B(!iq($MwpttuS4P(xxRH~wt4 zQq3WJw^wTE#|5nj7Ba4EeIvB_$aL*5nwBBT%i~>ZEkXX~r$LRdn3~!jYjpyn4$sEk z>iKJ?DfX>9ufG0TNe-87F48#I>0VDGZ*3^iaPTy8rwQ5<-gC+=mx;`vhMKF6rqT_3 zdSrmF8lK|jKG9qAEli~4k49T@ z?$zN+dduF_Aipj8MHMP%HqeX_s<`n7gOz4$={*Nv(i;qvm(1C15T(j=-M#GL1?mm}o!o6o|nC#_;_GF1XQ%Ix(6R%x|D9z-y@#gV6MZUlxanayg3f0LZo) z!l+d;&Us?mC7T%MC#a(_YK4sNcDO7s{Xvrp+TDHyaM1;t+0ygjz!oH8-7hL%*(bF( z9V_xlo68bBEL+Q&I})wWncs{)IffV1!-%jN(WCVQB4F3JAQ=!21MhhD-$Y2qJ0bS@J(pDLr8YXi?z(I{~Pey!5p_xggcme&wK~8P> z6`t%-%rE3=_ba#7NW$Co(JhuyuLL7)@XYC|KA3DeIRoN@+yL0e0vQ)79!`wf&vO7< z%a4)h5Kdrdrj`)An(I!cbnH^$cDk6H++Txi9rB~gVN@+UuMO#HqNSg`a$E0Tj{*t0 znI}A5+2`c-x`sCQm8Xu@q}O#LG>E(ZE)~^uN|oTrR`KU^s+imFc79Yj&KSY<2Y;NE zw|w)^r!C?VL0ZqhPoo&@4;8okv>*RP9b)LFv_wT(_8Q1&Zq|X@Vz|dpffsT{{l{x^ zMkLeld$2+eQ~BiTTb39qaJ6rfW?xh1={7tZ>TPwg2e( z%ZyGZe9FmJ(5X95skk-I7Z@iT)_4Xq*$L73FR_^At|9zllPD#yTIJ!oZfzmL^e-YZ z`7SDyP;UxWKKVyB8d%hKU+a2I-{VUvKzVx_9N;l~vf zZ2{ncr}4JK!v5G{G85OGc!(`eD@!Ycsjw50g|!k>naG0d2m^9tj<)+of%RfdFuSj6nP}I z)9DMP*&%HS?=aRZf3m=Y6F>-CdZtotw3eRot7 zUAylD5U?OBDlZ^{4J;HzAoK(k#R8#-AT9a=(g__2ghWwMX(~#Wpa`KOHPS^9loon~ z0Ff@C69OcVOGO@ z!3w|hi;?0*&RsIxl@#N&@k_Io=FWz;N!kb-RZqBo0trHgkul^c|nQ3g%$FGRg zAmdH1d(}B>%3GCWdLQq+=Q{jWkAq1J*=&5DCk@ga~_H|)C4c7 zcMuMN)8Xg{S=i7lDHgHs9Ig_*{PT^6Gv%@%WUd$6IRxE$DE0J13B$oL)j;p4VB?%v zYZb=~Ig6@+ibRw)mb>?fiy|gxBCwU8>r?IsOB>;lpS4aCNCPTSiKX%TA8}~G(u`i zJ3&l7i4|FR1FMbh~RiYkyh%0%$^IcNy4Kl~l7R&Y)BsDTr`bXKbu;Rt)KH8azKI@Kra448Pdd(AEVl-T0v&n*Xo{^;QNPg!Cpb&Bmmv z6;@)gP4y&)mZnA%9|N4u>|}bJ?NbM>RVudD`xxLYgBT`Rg&cpi?xp47w zaB*>XtG%E;Xp8Ef7t}Xp8$1LOv76x@qeHAj97l*0J8%Tz1+K4k^JeBYuYL;HdFsAT z5jKUu@wVydvwL%b$$U;;TX5kD75dr>A93dVv6xZZP z7H@U7J?pLJ-X3=4DN#c}u2`|tbhdpQ!p2_&+j9QrIMwky0(Y!4GP}l)N#v~*2b2dh zX;yJq&C?J-_3*!0vHx}b{?GYOI!7(WSnrC%cby5a++(i-4^U>BX^9Qcc0Oy zGrIDc0)7|nsL%m5qdeQ{{@PlXo|De)srQ1{hQqQ#v=4fIgm5O!K;WN4cc!se%=FfY zqfrb9{AJS)K&$}LK?KvV)dN^A+nc1ls_*4hI76g{v{iLr!1B%P%uIcS${D5dwUO}j z^Ic@QUAw+I0auZTH&7f}!nG&+Se@%F@NP=CKRvjP zvcv0OUgm#!BqR}0b0cVFCd-AK|2nUFYEytKJAmOwT@yzDv}Sg{a-1)pbbf|)0l}hR zb&6oO)mC>@y#(O-=s6f4Ue4dYycDz3UKw}H=MAKr!Cgp;e&<6l?0l=Y{S=K_?&GL} zY1pBDi_5ml;=a`j|J}hQe%x=J@&Qw^K9~Jf0-hF8!4f7qCt`>LrT=941b|~qpH;Cb^2P@B)d`JHToeJMA-mBw?e>nS$p3H z(kC3GD4yHm^TTW0LCZ#tfZK8{S21|o!C@ZwOMgM2T!=9AnXQ*+>D`l@P;_h2dwK}B zL0?_f?4!J&dagW`mk7NPP%?WwC@5^5v3rkv)A+oRbiqL>tv)^4%$ZNZe|m+TrsQvZ z&rIejzlF%%JRo$-h&K@q9Z$Ir1?fF3XxMMZ;xfTCS5YJ+7xkIcCmo;}AG5@ymECZO zcHM9PDVpKFrY=DYRqwMM0udf+BsGRTH&7x8TTQf`&qA*D>{4GKbRBkW_Y-U912^T4w@ef zV3VpgUHt3NDs-|;gBv~h`b!Tts}h@GDk`Lxl}AyTBwfj{Ifbl7YW4`tk2JdG+-l*l z6-p0_6@&a}iIO0Tmyl!k{avY4ErVb`!qoUQJa$Zv{Dq?6+v~O!q#JXk1b+;{82PR(^&Yv$K)UnL6VrtddJ;7= z#!#yRdAGA9#ckvnt@%TzP`6rc zkS?Dn1KDAm)C|s4yUWB%k;xIUkB$KTB!L;nQNKUllfQ@}a}9N--c_~E(G{ywu~N^> zAkt5NHwUeBw5et2W_Co8CG@oa4Xp2+=XRow~T^ZW&itz-BhaUhu zeu(2fCB{76W*G3z-PgTb@Oyo{drC~_rtyqZ+=zshyRGftyaXIlmr7LCR+S1>>jm*( zI-+~?7)ZMZes0zU450dozF@8MELFIwvyu4+iCJeT8nUl;2RCB!OQ03Z2FdYx$a}B9 zUGQIDy1Oa%ztj(BzKfN&Vnud;dbs^;#FpC1y8*TQP%76?MyUD3WnF%p52^N|_R@m; zmempL!ti9z!%2LLunI$fA#lsW*!X#(itCLPFAr16jllJlS#~2Uq%)Fu(A2VFB-;lu zJw{IT3-5pBG2};wp*ql8W7FngODz%C=BQieCfDgjFExShOK-%ce>U@E-|UA$Mp=gPDmFT>Ji4H2=}LmCyQL}+3}*E9_!%`xUUhCJUpo5s zz}5B#w2L>Wu{~=t2J^dx8!TTnm)s45Ofnu)bhbg0LwlVePjb} z4I%$IDJ3rslS}M#0=`zyE5%LJl|CX4_;gZ|Vh*#NEb0Vs=iKk+SaL_+4i8<0@3RLo ztq8H#oIG<6SdMDD@_g)cIJL3vN_IcJ2XIS@Y1+mEpKN>0HnnzBdwn7LCUm@ufQXg@ z_$V-s0kx^YO5%e!d=TG9U*LG&{<;*b2t+zy-p6ukk)O~UzYR!l)q6il1-;c(YzdvW zk38l|S8Vbqeh#E|tW~zAKN3Agu5A~$byFOe*_qUNB}(n5G!O2JkIBtpV3!W#SgUVw zE~4j&2JmxM*zogKMVKJK(f}|=r9ljsiTr(F*SLisU^NaF29oY7qhcf-fp!9iui!G~ z|GXFSu~R)uj_2cwLBN_N?iTa>qaEK=2NJ)z0!`U^p1R&I?G6EM zW}x!ZVP6U#5eMWg?s%e2cLDc(xS$D-JGmWN3Be3i%0r|-6clVZy?b+HvIUU>x2^)2 zG$wc0Vcb?=mkt*RGW8{H&Bege1tlpCG~+yp^BB+Ha(;67@+V_NtE$bO)^ zOE6ZlW@l>AB-a&mOyD=xBv9Uc3-a*ano(~pXu-XlA5Nup9eyh)S6(Y1y(@UWc0YL@ zay(~$Mu@ELUZk^_XqTPPIr!yfVXW1&{fv2tAfKJ!Sym9(Zx6wmQ62MsiNWB}sHIil zyPE9jXewXC=@60A;8|SvzYSS{2mjAv9I2_-f@%#`whWG^mT#Q&{Y`HmEdT+I6)mM#mm}e_5dfdScB)^Nabxih4<#fa5+(8~rJd2RVIUWq+m5%2_yE3cjZkQgB z<}eFckdbR!Y#ghAR18b0=>Pg5CSIbtO>O$0NDOp%7p#B<}3S-i4{;=S4_L9Y@M{Z7%D6;PZq5 z9g$|ks)NL3lbng*Q>;kkRH~6dRYIaT_vJTa;`*-dsxZri+jhPl=NJoQM*Fs66|fh- zSPkayu!kdB$nw#vNv%Pmh?m+qq~~?Bh?iE5!H0u_`}Gz2D!;Qt`!UG9S*6u7-&*8n zH)fMc%JZ!ItHQXBgZm>|uKV>NXNl+XXS>ZWwxQ3wa6mY#sP&;A47v5<=}s$C{n06Q zJz=;Zk-Z@Y#y^BQgiU5P(?!LD?0Tn@{Fg#G?CR(>XE&+8$%9}^X2X(Sh*`ReGSXg8 zd|S0D`}$Famo1C5U{!3~VeH8=&q?V~EUS$|8_bqDLd!?qh>S1R`Y+)nO5I-iX5KKc zU4K)$gQ8V>g+jdZS)4&&wT`{Z2t91I64+BIV;=2};&kmSzZ6v&{B+>1o=9Io&?WV` z84_^_)nQUm6_j8m#Urzl$k%Lx9l(!w>1`ixsEqwqD@AGio10jF-Bc9appun* zdbKAeUb9TO?hIiRnGoaXQH>3N((tC-1<+k&P2=mrKs9p!)1(OM6M@6ewRuvL%m+Pb z+N3mut27?A{Bl|Sha1!7lZ7kNGiZ4xtsy$diq@N`z%F2C&0rc`um$LL3-fV7obAeY zVW}95g4%h0t>Pxorfa!v7Av_~J#-MMwf?oYE4oS;U}uzh(6pE?qZhd~a+Z_a*VPDZ z@>6pC%P!ZfzEi4KDle*}Q@SJ$OZuEfbiR$^Ld06kYUv8mzS>g4l~z4d{r$BCNpLV8 z555;+MAzs<6}7qdA9;G z&Cpm1-VEg2%TS76;nEhuYMZE{r8JRCyAl{uZ>Pi#i|h;}Bq~*Y77OvoLy)tYcH>s> zAWYGHyjYk)@9NO;O7o-%Si$OmxkDdI5dMPE9wf1xr@=Y=t!f#*!UPEyh8_$BF5U6_ ziNK07@6uaizG=hjDpqb*NBli#E|7iH$2HQD6P^>qpmDNJRWLW0FaA^?kC4dS34nF? zvcl?Cb0O#tpcdV=08bn0EbMpVk_wo&F|T+(`XC06Vo^87plnw6>u*U=bLT$d>~+mW z^iOEA6?db=nod2#l^{Q7kM|?-DJ&>=02*8^Zya4tQK-zEd_*0i3X@{8pp&F&sIjh4 z$~rlxu!q|dNByc3uv~b_n7fB2b;+Q_)KJax%S~(ur`a6*8qCMOVQ+kv>??o>iIXm2 zi^68gigIen*7LeVbs*PL<)&FqpRuptTE_5o=DMWf8kyHgipmOnRd!VX_jZ3?QM1k@ z9?2w`AG`kG*v;r4ygwXyD;)6ajXzJ^2nK#aCr?l@aa&=%#No-e7MIp|rQ->9iW_Oq z%LAEp)a+D#W!zK__KhlTVAd!cAVZE_YLMzZeHWIa_>T6%lo6W-Bq{q zX^Y#%nDf(P9`l^>A#7-LrJne;jU;Zs+u*Y*DxCM|Nbzrp`%WE}2zVcby_PgVB0c6| zjmr(Qgf(5fR+#i5CqwqtOl|_UrXD-w%j@LAJl2E9bC)*1mLp+pEYVI9Y@o;nP+Q$V zo*FzVKzvyAT!z@(>oA!{{cZ{3m%}Go=`cWt)g@NsF{qJcN{E`_CJ{D-aX(01tV5nZ z--O*kwo9nGJxkv%D$WFx77JrB2o}8<#O3a-CvE#H=~6U#S&nbrVCnG&wv>tK%e!-VWzyDn5Li#OFdCw~d=%4&*6tzU>$h^JwJ z3+y}MrR)_7LdEU7(T#lT6QwRaOZYA+9!s!rL?Xy$ii98-zTTDr`TP28%f32-2J}C# zIJVInPP?t284Jq))GQ=`vu0_nVkGk7jFE~lF+ozdTDSjTdP!y9tAsu$-RO?mNDho? zHnj9~I$I^Gj}_!Yaq8%nmM~yRlBajlRUrv#@Rp_ec;U9UHcTXpdo;HE=b2^v74n~R zSIOcxrT${QfllM2Jwh0H1|X#!mlJ4VM?Vk0 zW1yhv%#zrfSTc8*u%o&Tt5s_(oJFpQ&P`Cc;ct7U1FJv-6(!?mhh3QHGQL3LSmz=? z-FIR9$OiMtv`~5LBJre6_&$7%y*=i)cKXGcY|(yU@(SHqMc1P5cFQZLA9N3_@rJHG zbWN!wqE>l8!u;5IcoqcSB~)P0irpkTHf%ayTh3-hO%_E{h_155cSvnIQLI*F7uK$Y zM}E`qz?x8wooQH3XkaIu-VYKwD@nn`mG!4A<8vYZ=y-uc60%_U)v%rw{(z;NNfpCG z{5-sjDV0JOpd?N%sm>)(1Dl=An~;ys@U69Cjlw$l{IV_x9zP3w)UH#HvOEB4_h_5w zGr>AJPtJf~rx(+|Yz8pFH*d=(x^ghO*bnZ0Cw4%NsdDdadw>Jec^$p8(XJFW(4L)) z4TL~|-QO^2mq%LjPudAL9MEbM0REDWhSY!od_kPBC@M!dY_;j&R(&&|-A+MaRB_)c zR7)Rlx^k>G%|ixA#f{elCWf4iG@+Ea_av+PD6wu}^(Y{wVPkT-Cr6Zt3XKRd9I=%B ztL0T1${n~{8d2-(yM+fX_NNfA4-NvD^KKS5V0BAS)FCcsQf=s3T6c-FX{qm2XGD!q zO4n! z2VztN7_f=H${)(0n>aAAVQjt+*@LwrzoISs-@} z<(L^#d$*|{zpmDRT0gLv7u9T!1?7k$gnHd$W?>3vW(F1ztYdtAr)n$;+k`9QShwJ4%p<6#H1?S0F7?fHtu z0Y^OM-HklU5PDX52%q#5reFclIPGF#Yf$vg)$AuEQmHDitX3X*ZG&Tywh5Ty3FQ4q z!g72{(G1$mD6P4MfpT}cE3h(~aS@~RMQRkJy15=BV*qj-u$ES9x!NzhgvFFDOfm2J zFHa`?@OtwIcUGZ%W|S~jNkGnF;x_3%>Z@yP_13e*ibeGa{(1Jni-b1*!Rm@tbNYU) zB7;U=k|HImw&KI1Y%11JDSrOhvXP0UFZW&D-$XX8QPx0I22ifPDvg?ur)2lGYJQE2 zX}pe>tC(`@D|!+k&UmupfU^F@YEH$D1K-Kpd74cmflonAVadVwpQ5XV;b-i>DqcT8 ze_<8A`v_?GBSWhS>?gD8-y`p%)sIFhJPP1w`L?X$inpk7FjybXo@aYC==byGD)U;r` z^KZ9GP8@eO?$L)Pv4yp-)090XV7A2IClP^@l9zo1Pit>7I8@E~?3|UlD#R}tluPR^ zufCR`bJZ5hbT}0q*?)cCA>xNve$B-E@+y@{2NABC9{ zZ%byG5wgHYM;7ubUB~?EDd_LF8)+yYuywKwEW=nQ-&bw3>{tdZBgcoV)=Bkda>Hd5l9_Iq6P%{ zTEuMZPgNsJI3AHqS4;A?nmqmt3RwHjk-FbbA?Ml$Xm={~CacHpUE5 zrP>jyl+xIq1gOu8;M4xz*%P;?|A3J$?B==u$cL<5u^wH^b}3SUeC+ zh|gj{_qtupvryK&JhpS0tzrLPRXu2YZs~L1( zElOgdYEon>jLEAE@8)&XeLp^~s@xyQy`X-IB-FTfmXyj_X^^lAvt;1snWTfLJ@glq zhWTG`&R!{3MAFp|&4u854?bCDGdUb&J974%DO?)wLNwbF@CvLri%HwsCQYD&W@t!E(Q1ya;nQ;2zq4yi`fWVJh3K?+B1S`#Rcw-LlLK zZNoI=?RSqGG>f_6enbcu^rwD?agj)Y)8o?xCe*ttbC?H8+CxVtjs?6PZK%Es;Eb*L ztUvhd-GtX&G{J9sm&7#`5?|AW<1dPA+_Z%L{4g42YKp|#RO}Q#%JN@ohQ4w?2}0 z*8p)`9FPR+CHy?MJ>zs%W%J_(T!BPomoch>RpH?vZ4fy~KAL;8S~nXl1edP5H2A2x z%_|c6B(N}V|9i@4G%Q~uU``GU2gMb)X*7fU+{wSzp5X09TgDGU+7CJRG%GgK!$k>) zfeT`7zFlG=Zq0fhWj0q6zUi_zJC7d#3!-r!8j|X(7Bt0x3!C_L5Y7GIzwFOP;?I%@ zm&J&t_n5g>BV25@rR&#ndN!{l6rD&hAOT8t2TsQR)SX4V|7c@4ykjf^*%tv^P7cFwM?eVyTAk7hoa*#+#>UN&O1Y0mE**#2?Z ze_wr7q{g*xw*#JZ&)D2W0TPWT0@t@azlU;kvkb|VYU+kznxl(P{Gw4LxG<}@l~!D} zb2o>M0Io`}uWPHM-LmBab8^c|qdP^rVS3Go9|j4(J-T$b5!bg>lz~97>HN5)MEmRW zfH#sA^{Fp7Tr-e+Kg6KMu z53M`h;A;FIMm&ut``-ByT-tB2E5#|e$uaQH4 zOVb5A3-0#P3+939h`^?G@!y6WwI&gIPfuqtI6|2MX}Fud*N2)Y7Bp@RM7d|;1(BTYIm8K zMaayX2o}ME`CuD>+e*RnDAP_K3mZIUQXDXh`QdheFgAPY0)Nfx!aGc_FeMtkX1uZQ zr74y;Eev>G9C8JE?KQH{E*I;9f5ZYD#-SEpYbL zB|+(}t-^l5t#dl)125akIcc z1Sm@goNuFTK%*JF@U#Za=78|lo@3S^u_rF`B}*mM3-jSk@JPPErjbn@WVu!_-MTX( zbK^D1PB9YW7K|b9%}SZTt-Wz8X{S#UE=3=78L5Ag-wPYa%<$g{CUP?>e5dx1*Rr)_ z!8#=X#~9fGC=})`M%Yz(k)DLM)_Po{d!Skj{LLC9mC0hf%~AH?UK;?;M5UnPN?-f+ zBpsozv4M|Yc<3TYtCHqx*7G$$TzaRPXp?J$gVk9NaFx@L-3;bF z8POuvWc!BZqYU_guE`C;<#ylx&fvs@s27kQ?FwStQg&O(Cz!ks<)Hgu_Z1IQ*Sg)f zTLXKx@n$89fZzb&yJ5ShOZfDhbL(#0gsUubw1;R6ZPx9=UpO1`?Tt|PlHZj(a+anG zhv4(Ay~K)+o>dAFH4lSgqc&4jpC7hMBckON%?$_43-;+1kQYR_|vpY z%p4G$xcFr)&l(1MpT(M47wY`bV95g<*8P2p=e9Lj`7@L^vERFWA0e!^UC^Fe7}#Kk zrZ2XB8;j6bZoE^r6&xXOXme-O=eUb=R^7f0`+)o9&*x6AgyY<^wt)MUfS;lfr+4m> z&`7myzqmaAgZ{+-)5{;LKvJ2qczc104=8HHzR){{p#0C2z&&ev&)%^YQ0J~3E28(b z+S?Kg4WU&Jb!5ZlO5@Oz&5EI6svdFuWs)QAml{5e%er(P6f2!HZ(^~6D2Imp?d7aP ziWpKqd$89b-Plxfym5E!Cq`|54tI8o5jUrrHDJg-Wz8j2v+%Y61KXcNn&O{Eei;X8 zEyU$4O9rLQOPz){hCC)VeWq97MmFH*zmgsNKmG2V62ShH+;`*jKCcX)XX&7Se!gn< ztHpTstqz? zBlu!zaMb3w{`b*jhyLB-UUmoKl~1QB;Hwy%oZ{;;uR`U%bj+UR)DI2X*prMqqG6RA ztf8gaB2-9|(v(X92jNkT0yl-C^-TKHki#t4Y!A1ICzJcy7Gnstz@BeL419{|>CjWO zKyuB)5qq4O!3|~OvXOYMeH{KSo4KJ#UCLQwl74}a|5y9FZA$;|KDVp#n#|{;z}C$^ zP%Vp1d=W(mA4Z7 zyX0r}xHl~uF`xa4{qNdBTkBN&RHe|bh1oS_xmIeIpTef)c)9bD7Lz(4I@O88>nsex zu$GPO8lzNH8_ubTgKFr-XYl!E?eVxfU;R@vtIHcv3#nedXOlf}jiLs+(np}cM!Ws_ z8N$JFRnF}xHyp_n!wQy>N#fqJ9T^A_nf}`Y(BC)MPP3|pY7>X6>57DAR{A_)?l|tC z&uoUkw^y}jbl92c>Saqa9=HkpxgxNa{qunHAgiVR+{b$JO8w|Gf&*912BeZvacaL7 z$o8WXu1p=-;Y!Yr+(eL)^Q@ptM&JYAeCW@>t=?t>=_%ibTQ5UXoOO6^{R#3%hV2Aa zwf)1o6aCVHPrKw{w;7qxQRf9uWBN%eZKm4j;6JQ@c(p}feh9?D8cBn1o5``@rtqQl zsyFP&5MFd0V>(Z5%W)dW^a>8(>W-juI;@`{_n%|b0nE=y4*hZ~wr1C}YQKd~Kfs#w z`2O{RzrDWi3_Y(HlA4$30+*^Oxv0mcc9;yhZ9J#vXx$@(Y=GCDTmBLDQ)T zRJ8i(FBH&zeqipku?`cIBZ@-KLAjQDL?M%-_!lpH_~5R6Md?+HUaP_gMIi{Bj?hGh zI6mLWjS7~NNy0|{o&(aaeCdI+Ck);>QKvxZr+u2osu2z86?Ui9C*Dn*FMxi)XD~@@ zf9b&u*MCBNo`@F?CG!MhlV9x2J4OR5QT{gHvR?I0oCWbeYEm*=K(lQE8NPa-TGY6Q zkp<6K<$#IsU$YWdx)ZkH$vrREHUV=7NATok-Sh9sNasrGTVG9{eUQC*=(3*Sh5U23 G?*9)kejdgE diff --git a/icons/obj/pet_carrier.dmi b/icons/obj/pet_carrier.dmi index 0a2b4f6c430e907d5e1abe8d2437c5b32b33f3bf..366fddd414412bce304c1778ef63f0536c69c5fd 100644 GIT binary patch delta 3461 zcmV;04SMpb7l<2>B!97bR9JLGWpiV4X>fFDZ*Bkpc$}S(y$ZrG5P;|8DUNm*|JE$h zA|2XSC^0$P!0;JXq|^||SwY8&~$n8-U&aNKOAc#_Q{C^+n; z7?FlCFH6cgBPb{W=HBQS31dII$(tM6LJCVUfr6bB*QoEf%zs}crg9-4yzR~86QA}0 z9h)^~4#dCBj(zigyoMROR#?R!0yldt4SGnwgc9nmf~sxg3tC>bJvZpP{{R3Cl1W5C zRCt{2Tu*EhS04Tb;y5YPiMCy_l%$2&BJ~0b#IBq}wQ)I=Zna&h;<6w(Y}IuxR9lHV zPO^tRaVnRX(0>a8twgq4s@1M`4_(8yYG^!@6q0zOO+rb^2`VL4fCS@td$8YlJf8m^ zd+hjqQk3VJ_ue;p@ArPc_h-K0lF1|(nit#LegFn{(c<<4Gzy~gQDP;3vNy>!0zdNr zCJ>#E67T?c0HMO49HGKJ`qx1G%mD0wHgcly#{-C!W`BuZi<0OyYopc;eij1kA^~6& zRT=TM|zwaAo8)ef%#boP=Tq@ z$0OefG~J;5%m6BZTPpwu`I!M&1zmRo#SsYP-EoyXLN)oB0q8+(#|3kjGovs3`6H5P(=Hg;*$6jKNNA+-UI+mSzhL7OvUg=hzD& z<%nL3l9CfP8A7Q-=gY2#WDTAOhf52@tRD^Q@_!qYEerbw{44|*A%u0U)`4%Isr1ik;EuC;+S{llJ*FMxa)^YF&@cM~ST$ zL>w|AJ^rfA0Ybd;gu1riL-zQ~cHv^kkEl`A>?R(hzWLcCP!IBTxBRkNAeLXFd-P82 z1Akbp#{z%VLcoRIQykW-Rl6~IFC@8&=;>OT{#RV4M!?JN^K=3jlVx_8->8UHe&zub zNS;!Ol{`u&U?uIUvPLh@uFe?f@w} zM0uY!zEcVzdHou@QT$-IG`|Ucb{3$6l1&*K2RxN_z8ZfhR(=*CEkhHf=MZN2nSTK^ zAkGc!BqiRUfD1R*EgKvQ0gVcUN3zrT05gDwgx$_o16u_&IZS&1xApN1)qyDkko4(* z`ay$oyV4~s-B!lI0|yAlao{-PaYYCLAp|qCvxb@N%>m^4bRcgOF_ahqUBX!11Ysyg zTWc%fI1Zbeo6@z%>+A4!c1pi9tADH5v2&;N+w1kBt+kbGJbR|w{`Mzh6#7$iy~Fyk$%J_&SNW!vcRdOT!LceiS1rqgL|M|(R727_g7%yAs{ba%t+ z@!0=9fZO_b26LmhlJc4!fQ?-D@$|_P&CzcL)C)X)@wFH z39Qn0@feCYe?E@k;bGN#d%C-^qrIK%Xm3{?u*1W{IDcN0sr~>Yy3Bz1^~Ps4CTM^ zyT^k_Bmw|f%Vco$$Pv|aBoaX~nZ&@rFR^=%z85H41(Y1#&=H(KvGb`uKEVSC9(9^l+eFg@DY+f*#m(8Ei3>4rlzMcH9f7Ho=c~t{P~kXZ4To(fSNu% zQ98V-5rkrej85v~>wgHz3;DreWCS!{r67bLJvWE(@o{+D+ANiA^?EUO`BR)YaRRUG z-mRHW-vD&<@u|TC!Uc&EO*^iSuTwbH!A1~85rh!*_xA(Pcl+}6&x1iJJv%ptpY7VE z$)P<7q|o?6MOda!3+rjsET~%bJnhmRhC<2d;Jet*f$_w@8=rsvXWY;0_x z@90sfo)>*SRSx}~KrMZIOr=NV*PPPFH#uJP`M8eGPU#IFD6k#r(^`m3byD3 z5Xg6YEmr{muz$9?iuw6@a2$vI`}czv1bDq(ba!`SW_A_;%F=gdX0Wlbfj5+2EK`B; zB+yNLd>x`z6F`c$jveE!UcE}TZOcb%kH;g0gI146$|nyIG-S-B(|GT__bPlR&~1G@ z1Nvo~KfgG1NJ{VDzh6opI(Seuj}gr615mi3k7s~C5P#sVT)9FH95?`BY6{*~54yTv z#q8`10Fjk5a#a_Vg7!@3TX`upxXNMdgs@JFn^!) z^}fdS^}g1yUdGS>s;y72_wrjEx&}}SeR@6fH-7_k4WJhK^m^uR2Iv|d-w7{^?6E5npE~wr$&n_O>=G7W8Ij;12}wbYlaeC?d1Eiibb`XnB;l$=^RPKqhY9 zbboAQYt`rWVUX#q;KhXnTpAlQU9nkxx)uIv=;NCm1_n?XTB$Ud%8=CXOtxLCRgZb- z>*K$joCJ{X^lv98@#dRvTB^r7vwhU%3=k%_f*-6br#O1#NQo3l4RRr( zkv`olKh?W`a`7TQxp+}GZABm7>@YBZygvQ&8(+Zh_X9x52MLTk!KJawNYBk#7B(vR zFO6L`_ymeN|JdbEZS&_Wm#A%hPC<7LK=tWBzQcQZdZc^Q6X?Oy+6qDlMA6(k>VI1N za(z5?`Fd$9`gkooxAnxetIsLudVuAX72LXY3x2;}G6Xv6^(KNq(RE+HejUpzE4ChP zd1VFPeDe)>L4YtdCGnaG0m9T2I($BK_v|0C~C+5K%-fo2}^G`DYs& zbvyb2lOf>k%tK7HB| ztM>;2oZP)rExgk0E3fzU^;N|G{yS0b#%JRYUwGM;C5tb-Om2KOUVpcvAFv<{SzKHM zkY5o1c|H1_J9p6G^I?_wLDZ5o|uo;^fJbj$3^-^zml!mw$Xo zj=%eB>?BW2*SXHUKz{!D_rKx9ua4=KX_(_+0C@E9Ar2qT?*L9uPhnq=ANQ6P%ks5) zs-rorhCbd5vRQlkcy`Ox5|+OYAP52hfWE#yP7nlAX`F2o{P~N2S)K>{_BU@EwvF2! nz}5#Ms~na}%u-(TN#eb4p$ci-1@-Oqj9_XF8tsfWs7ahSt}Aajpf?l-*y zg1r5S01%p+k@8vWodQO&1Og{LJ8!*Y{zcfE{_`?m9WA_BTEHqhZqxGAon~iG^e+uRR@jvk=GV6#Vt3HLg3^mJim)1bb0t z4F!-sTZNMP< zvEeAx7cfu((`-V|pKl~xzO7XEltpw9g%lKL%7QcRP`m2`gj!yyHZn)P?7uEaoUWD4 z-lM=?Nqzt9;q!yBTFho9+k3aSw?;#oj;L6y>Bk73N=MTj_j(m3!v*OTM)o;3pAoW3 zgH!gB7aXY$15|jGlpj6J;!}EvAy`J)2l#}75urm4tyPzfpk_P;P9~>;>;6dPer94S zS0^SW28(2%^4hw~neU$=^|4em3UyWac%uC+UB;NC=r3sP%HWP{cXC%|EGDI0f+{B# zt)m|*b1SM)g4#YAc;~Gw6aN>q(@P}^_NBq^&x8V`M zRA2%QqyEP^`~2%urQHCC<-X`u2VAcPo~|D99llvMz{mD~eFH}W-{t=>qu@txaT1+8 z+IYSX;%!>Gb^oSZRg_73Zn#?*2#S3lKkIck-dr(qI_tI#ap{hy9GI2;&QmWTy451? zgvjdnrJN@f=`J0D6zwY?+NHEldN<71$`(Tvl0O13-wxSMH|Ant!?VKx4$I*2? zf3$t)V@Jnz^k^4t#rZnY=>u0$xaw(IiQ~`Vfs$S5$ef@fu32V1bQ&Q7ydmXZW!(2$PkZHI-UyhMfnL8j6!n(15c7MX9NzJ5J# zjd1XC5;CE%>-|UT&q>f9ZG@TPtJj<%<>MUbK``J}>6zmLm;j=WY?7_*7g;S!JR&u0 z=1tL!vszqczaHS4H{IJeilT5^aCiSW91-maS2cefPwy8rge=bOzf!OvNuCn#OCxy5 zk%5m5Wr!}QjudnmL(wZZb0RVy13jK)?(FQGs%F0oU5-^jH9wi-POZtJAa|aOQ|0=> zLC6F0=Ok2VSy|*&>8je=D1xdu0*2WhT~XC23V6)6+t>^Z54RLqnU~t==%b}3IYm}5 zG-nzD7>|w)ee$fVYE1kQAWfsuj`sFOo>CP8K2F`l+&AS*!uDzdY5an5 zB&mQMp*kKkD5Q+vQ>sQS4__E{*F!#*(<6S$&JIeR2$rc-|i4FlCW@%gB4KNRU9N4VugE6KO47UNJTvZIE0~GVK!r z@T?4PQ&JEX6x~E8O&ro(xZ^Xs5+X+Cady3egX_iT>A9N;*9pBhSEaWsHHzS34xC7t zNVwj8?TyGyD$CVxeY$38F=iv!tUb5_c*t+e5ue-zdGS=W5MOwDK&gB4bAnXp<_3Q| zdtw5byvMhdRyg|?lf;6sCH7CVjMo<|EYJXO*HLhFDAN`#=sfi6te_V?1_3Vp;TwX9 zq$M$}yMoKMyrkxnB*SMmfSu`~EM=glukWlBYCdQtOzETb(w@fZrQ_(3V@8m=-M4o_ z>y9vb@cRReu6n;7D&gNAhtwTOCc~SBTwC*Zmxd+@j7X!ek&yIAnPXalP)gA6oQ4kZ zAFnE}Oj-)+MIav1a2;Xiu-qK(-+iEvH2FqTK+2Ngh>(@Oi_D4A`t6banseAF6f9`yjjeKQHIvem32y(BrWQRYX3t;%^Cj2uva3{p;YzniB z&yXa4iI=j!z*RpI1Vm>XIzL|D?jk&mhT3H6&r(hh)$K2cyok{}kQK)F00VO2_POhi zWey2f%r^#oR60|qr^S(XRKKpWi64KM*)ZYs)A<^mW=u93JN?4m&j_i|#!zZwNV!qY zA=P~NLaoC?ke`>zxCg3Osnq*{`p3>xy;l*^B&n+6x;sVpq?pGeKP38p_E~mRca{t; z;}ou?NNH76zPr4uniaU00*W5QIz3%$d}Jw(lTt@S5+7YSDC0Omg*EWn6Er!k?$!ul z?hPaawOjvdbD#vBFbGR&{3c7j)_5N6KpULt!aDIiT~%<^Ac;}|v+DDlueAk?N*32w z&!m^#YklZgbx~v2eDtq(^1Bi=UL`FXhGW$8e|Hiz-#~cB>Me=jfDzNnSZ}4v{Vj}l zOo(5T1W8U&m6ppdEQw-x%(5Q!Ilvm{4G3`j!Hb>=JWYwp9GAavZ6_=9k4NaP88U>F zk2^?LF0044SOjZ)O6}6U*xp@I=SIb=f5rbL4a+Ovq4rKhqd0&A?ZyD-YU4Rw*GJ_@e$~rDso(@Z_@`MU>*Yo=6G>5b!XB(_ zIdfxD^Czuxxe4JdV{oNW%pXn{pBWFS0&?SR=w1pIWB3m<^qRRJeZT&QKcU$OdxqsS{2V4>(09vtXK<4|MUGIMyxZXxhaHh{_t%;bU<~N-=|6{9ay9;6Npk; @@ -27,8 +34,8 @@ export function IconDisplay(props: Props) { fallback={fallback} icon={icon} icon_state={icon_state} - height={3} - width={3} + height={height} + width={width} /> ); } diff --git a/tgui/packages/tgui/interfaces/LootPanel/LootBox.tsx b/tgui/packages/tgui/interfaces/LootPanel/LootBox.tsx index 3fb94324b6a2b..b4fafcf57036c 100644 --- a/tgui/packages/tgui/interfaces/LootPanel/LootBox.tsx +++ b/tgui/packages/tgui/interfaces/LootPanel/LootBox.tsx @@ -56,7 +56,7 @@ export function LootBox(props: Props) { }); }} > - + {amount > 1 &&

{amount}
} {!is_blind && {name}} diff --git a/tgui/packages/tgui/interfaces/PetBuilder.tsx b/tgui/packages/tgui/interfaces/PetBuilder.tsx new file mode 100644 index 0000000000000..289281ade7f73 --- /dev/null +++ b/tgui/packages/tgui/interfaces/PetBuilder.tsx @@ -0,0 +1,431 @@ +import { useState } from 'react'; + +import { useBackend } from '../backend'; +import { + Box, + Button, + Dropdown, + Flex, + Icon, + Image, + Input, + LabeledList, + Section, + Stack, +} from '../components'; +import { Window } from '../layouts'; +import { IconDisplay } from './LootPanel/IconDisplay'; +type Data = { + pet_name: string | null; + pet_specie: string; + pet_path: string; + pet_gender: string; + pet_types: string[]; + pet_trick_name: string; + pet_options: PetOptions[]; + pet_carrier: string; + carrier_options: CarrierOptions[]; + pet_possible_emotes: String[]; +}; + +enum PetGender { + male = 'male', + female = 'female', + neuter = 'neuter', +} + +type CarrierOptions = { + carrier_color: string; + carrier_icon: string; +}; + +type PetOptions = { + pet_specie: string; + pet_name: string; + pet_icon: string; + pet_path: string; + pet_icon_state: string; +}; + +const RetrievePet = (pet_path: string, pet_options: PetOptions[]) => { + return pet_options.find((option) => option.pet_path === pet_path); +}; + +const RetrieveCarrier = (color: string, carrier_options: CarrierOptions[]) => { + return carrier_options.find((option) => option.carrier_color === color); +}; + +const FilterPetList = (pet_specie: string, pet_options: PetOptions[]) => { + return pet_options.filter((pet) => pet.pet_specie === pet_specie); +}; + +export const PetBuilder = (props) => { + const { act, data } = useBackend(); + const { + pet_name, + pet_path, + pet_gender, + pet_options, + pet_types, + pet_specie, + pet_trick_name, + carrier_options, + pet_carrier, + pet_possible_emotes, + } = data; + + const [selectedCarrier, setSelectedCarrier] = useState( + () => RetrieveCarrier(pet_carrier, carrier_options) || null, + ); + const [sequences, setSequences] = useState(['none', 'none', 'none']); + const [TrickName, setTrickName] = useState(pet_trick_name); + + const UpdateSequence = (Index: number, Trick: string) => { + const NewSequence = [...sequences]; + NewSequence[Index] = Trick; + setSequences(NewSequence); + }; + + const [selectedPath, setSelectedPath] = useState(pet_path); + const [selectedPet, setSelectedPet] = useState( + () => RetrievePet(selectedPath, pet_options) || null, + ); + const [selectedSpecie, setSelectedSpecie] = useState(pet_specie); + const [filteredPetList, setFilteredPetList] = useState( + () => FilterPetList(selectedSpecie, pet_options) || [], + ); + const [selectedName, setSelectedName] = useState(pet_name); + const [selectedGender, setSelectedGender] = useState(pet_gender); + + const ScrollPetSpecies = (direction: string) => { + let dir = direction === 'next' ? 1 : -1; + let currindex = pet_types.indexOf(selectedSpecie); + const newSpecie = + pet_types[(currindex + dir + pet_types.length) % pet_types.length]; + + const newFilteredPetList = FilterPetList(newSpecie, pet_options); + setSelectedSpecie(newSpecie); + setFilteredPetList(newFilteredPetList); + setSelectedPet(newFilteredPetList[0]); + }; + + const ScrollPetOptions = (direction: string) => { + if (!selectedPet) { + return; + } + let dir = direction === 'next' ? 1 : -1; + let currindex = filteredPetList.indexOf(selectedPet); + setSelectedPet( + filteredPetList[ + (currindex + dir + filteredPetList.length) % filteredPetList.length + ], + ); + }; + + return ( + + + + + + + + + +
+ +
+
+
+
+ +
+ + + + + + + + + +
+
+
+
+
+ ); +}; + +const PetSelector = ({ + selectedSpecie, + selectedPet, + pet_types, + ScrollPetSpecies, + ScrollPetOptions, +}: any) => ( +
+ + + + +
+); + +const PetDetails = ({ + selectedName, + setSelectedName, + selectedGender, + setSelectedGender, +}: any) => ( + + + + + Pet Name + + setSelectedName(value)} + style={{ borderRadius: '1em' }} + /> + + + + + + + + + + Pet Gender + + + +