From 3b0a9c43814d15656a86f2f6c551d870d1967713 Mon Sep 17 00:00:00 2001 From: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> Date: Tue, 5 Aug 2025 21:17:13 -0400 Subject: [PATCH] Converts a whole lot of friendly mobs to basic mob AI (#29815) * Butterflies, Cockroaches, Slothes, Snakes, Penguins, and Bunny Basic Mobs * Lizards too * Oops * Lizard emote keybind * Updatepaths * Apply suggestions from code review Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> * Moved lizard emote to basic_emotes.dm, simplified hide action * New linters * Merge conflict resolution --------- Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> --- .../lavaland_surface_fountain_hall.dmm | 2 +- .../LavaRuins/lavaland_surface_nt.dmm | 2 +- .../RandomRuins/SpaceRuins/derelict5.dmm | 4 +- .../RandomRuins/SpaceRuins/moonoutpost19.dmm | 4 +- .../SpaceRuins/syndiecakesfactory.dmm | 2 +- .../RandomRuins/SpaceRuins/unathi_skiff.dmm | 2 +- .../map_files/RandomRuins/SpaceRuins/ussp.dmm | 2 +- .../SpaceRuins/wreckedcargoship.dmm | 2 +- _maps/map_files/shuttles/emergency_jungle.dmm | 12 +-- _maps/map_files/stations/boxstation.dmm | 10 +- _maps/map_files/stations/cerestation.dmm | 16 ++-- _maps/map_files/stations/deltastation.dmm | 4 +- _maps/map_files/stations/emeraldstation.dmm | 28 +++--- _maps/map_files/stations/metastation.dmm | 10 +- .../basic_mobs/basic_subtrees/flee_target.dm | 6 ++ code/datums/diseases/anxiety.dm | 6 +- code/datums/keybindings/emote_keybinds.dm | 4 + .../spell_targeting/matter_eater_targeting.dm | 2 +- code/datums/status_effects/buffs.dm | 2 +- .../objects/items/weapons/melee/melee_misc.dm | 4 +- .../structures/crates_lockers/crittercrate.dm | 6 +- code/modules/events/infestation.dm | 2 +- code/modules/mob/living/basic/basic_emotes.dm | 8 ++ code/modules/mob/living/basic/basic_mob.dm | 3 + .../mob/living/basic/friendly/basic_pet.dm | 17 ++++ .../mob/living/basic/friendly/bunny.dm | 64 +++++++++++++ .../friendly/butterfly.dm | 21 ++-- .../friendly/cockroach.dm | 51 ++++++---- .../friendly/lizard.dm | 81 ++++++++-------- .../mob/living/basic/friendly/penguin.dm | 90 ++++++++++++++++++ .../mob/living/basic/friendly/sloth.dm | 55 +++++++++++ .../mob/living/basic/friendly/snake.dm | 72 ++++++++++++++ .../living/carbon/human/species/tajaran.dm | 2 +- .../mob/living/carbon/human/species/unathi.dm | 4 +- .../living/carbon/human/species/vulpkanin.dm | 4 +- code/modules/mob/living/living_defines.dm | 5 + .../living/simple_animal/friendly/bunny.dm | 42 -------- .../living/simple_animal/friendly/penguin.dm | 65 ------------- .../living/simple_animal/friendly/sloth.dm | 34 ------- .../living/simple_animal/friendly/snake.dm | 59 ------------ .../mob/living/simple_animal/hide_action.dm | 23 ++--- .../mob/living/simple_animal/simple_animal.dm | 3 - .../projectile/magic_projectiles.dm | 6 +- code/modules/research/strange_objects.dm | 8 +- paradise.dme | 16 ++-- sound/creatures/snake_hissing1.ogg | Bin 0 -> 46217 bytes sound/creatures/snake_hissing2.ogg | Bin 0 -> 96701 bytes .../29815_batched_friendly_mob_basic.txt | 7 ++ 48 files changed, 513 insertions(+), 359 deletions(-) create mode 100644 code/modules/mob/living/basic/basic_emotes.dm create mode 100644 code/modules/mob/living/basic/friendly/basic_pet.dm create mode 100644 code/modules/mob/living/basic/friendly/bunny.dm rename code/modules/mob/living/{simple_animal => basic}/friendly/butterfly.dm (54%) rename code/modules/mob/living/{simple_animal => basic}/friendly/cockroach.dm (50%) rename code/modules/mob/living/{simple_animal => basic}/friendly/lizard.dm (54%) create mode 100644 code/modules/mob/living/basic/friendly/penguin.dm create mode 100644 code/modules/mob/living/basic/friendly/sloth.dm create mode 100644 code/modules/mob/living/basic/friendly/snake.dm delete mode 100644 code/modules/mob/living/simple_animal/friendly/bunny.dm delete mode 100644 code/modules/mob/living/simple_animal/friendly/penguin.dm delete mode 100644 code/modules/mob/living/simple_animal/friendly/sloth.dm delete mode 100644 code/modules/mob/living/simple_animal/friendly/snake.dm create mode 100644 sound/creatures/snake_hissing1.ogg create mode 100644 sound/creatures/snake_hissing2.ogg create mode 100644 tools/UpdatePaths/Scripts/29815_batched_friendly_mob_basic.txt diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_fountain_hall.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_fountain_hall.dmm index 8c61e4ae817..157eaf3cd50 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_fountain_hall.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_fountain_hall.dmm @@ -21,7 +21,7 @@ /turf/simulated/floor/engine/cult, /area/ruin/powered/fountain_hall) "g" = ( -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/simulated/floor/engine/cult, /area/ruin/powered/fountain_hall) "h" = ( diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_nt.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_nt.dmm index dd4974cdeed..55818f95163 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_nt.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_nt.dmm @@ -2710,7 +2710,7 @@ /obj/structure/railing, /obj/effect/decal/cleanable/dirt, /obj/structure/bed/dogbed/brad, -/mob/living/simple_animal/cockroach/brad, +/mob/living/basic/cockroach/brad, /obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/lava/mapping_lava, /area/lavaland/surface/outdoors/outpost/catwalk) diff --git a/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm b/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm index 631dfa60e31..c5e6135b77e 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm @@ -31,7 +31,7 @@ /turf/simulated/floor/plasteel, /area/ruin/space/unpowered) "et" = ( -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /turf/simulated/floor/plasteel, /area/ruin/space/unpowered) "ez" = ( @@ -296,7 +296,7 @@ /turf/template_noop, /area/template_noop) "VL" = ( -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel, /area/ruin/space/unpowered) diff --git a/_maps/map_files/RandomRuins/SpaceRuins/moonoutpost19.dmm b/_maps/map_files/RandomRuins/SpaceRuins/moonoutpost19.dmm index 7fd9fc9f35a..7277cfc6a9f 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/moonoutpost19.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/moonoutpost19.dmm @@ -10929,7 +10929,7 @@ }, /area/ruin/space/moonbase19) "Sp" = ( -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /turf/simulated/floor/plating, /area/ruin/space/moonbase19) "Sq" = ( @@ -12574,7 +12574,7 @@ /area/ruin/space/moonbase19) "ZK" = ( /obj/machinery/light/small, -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /turf/simulated/floor/plating, /area/ruin/space/moonbase19) "ZL" = ( diff --git a/_maps/map_files/RandomRuins/SpaceRuins/syndiecakesfactory.dmm b/_maps/map_files/RandomRuins/SpaceRuins/syndiecakesfactory.dmm index 4ce36fd5684..e9985212a92 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/syndiecakesfactory.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/syndiecakesfactory.dmm @@ -875,7 +875,7 @@ icon_state = "1-2" }, /obj/structure/bed/dogbed, -/mob/living/simple_animal/bunny/syndi, +/mob/living/basic/bunny/syndi, /turf/simulated/floor/engine, /area/ruin/space/syndicakefactory) "Ho" = ( diff --git a/_maps/map_files/RandomRuins/SpaceRuins/unathi_skiff.dmm b/_maps/map_files/RandomRuins/SpaceRuins/unathi_skiff.dmm index b60a1441348..656a7f78516 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/unathi_skiff.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/unathi_skiff.dmm @@ -221,7 +221,7 @@ /turf/simulated/floor/plasteel/airless, /area/ruin/space/unathi_breacher/engineering) "ri" = ( -/mob/living/simple_animal/lizard{ +/mob/living/basic/lizard{ name = "Lil' Fella" }, /obj/structure/cable{ diff --git a/_maps/map_files/RandomRuins/SpaceRuins/ussp.dmm b/_maps/map_files/RandomRuins/SpaceRuins/ussp.dmm index db8daf0aed2..bb99edfcd92 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/ussp.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/ussp.dmm @@ -4815,7 +4815,7 @@ }, /area/ruin/space/derelict/hallway/primary) "mZ" = ( -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /turf/simulated/floor/plasteel{ icon_state = "bar" }, diff --git a/_maps/map_files/RandomRuins/SpaceRuins/wreckedcargoship.dmm b/_maps/map_files/RandomRuins/SpaceRuins/wreckedcargoship.dmm index e7919193839..c581443c2a9 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/wreckedcargoship.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/wreckedcargoship.dmm @@ -623,7 +623,7 @@ /area/ruin/space/wreck_cargoship) "yG" = ( /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/retaliate/poison/snake{ +/mob/living/basic/snake{ name = "Rattlesnake Hardie"; desc = "A relatively menacing looking snake. Despite their intimidating look, they have cute collar attached to their neck. You can't help but think that name sounds familiar from somewhere." }, diff --git a/_maps/map_files/shuttles/emergency_jungle.dmm b/_maps/map_files/shuttles/emergency_jungle.dmm index f27d81b7ad0..fb69b98dc65 100644 --- a/_maps/map_files/shuttles/emergency_jungle.dmm +++ b/_maps/map_files/shuttles/emergency_jungle.dmm @@ -264,7 +264,7 @@ /area/shuttle/escape) "bn" = ( /obj/structure/flora/junglebush, -/mob/living/simple_animal/hostile/retaliate/poison/snake, +/mob/living/basic/snake, /turf/simulated/floor/grass, /area/shuttle/escape) "bo" = ( @@ -546,7 +546,7 @@ pixel_x = 28 }, /obj/structure/flora/junglebush, -/mob/living/simple_animal/hostile/retaliate/poison/snake, +/mob/living/basic/snake, /turf/simulated/floor/grass, /area/shuttle/escape) "cu" = ( @@ -739,12 +739,12 @@ /area/shuttle/escape) "xd" = ( /obj/structure/flora/junglebush, -/mob/living/simple_animal/hostile/retaliate/poison/snake, +/mob/living/basic/snake, /obj/machinery/light/small, /turf/simulated/floor/grass, /area/shuttle/escape) "Av" = ( -/mob/living/simple_animal/bunny, +/mob/living/basic/bunny, /turf/simulated/floor/grass, /area/shuttle/escape) "BA" = ( @@ -799,7 +799,7 @@ /obj/structure/chair/sofa/bamboo{ dir = 8 }, -/mob/living/simple_animal/bunny, +/mob/living/basic/bunny, /turf/simulated/floor/grass, /area/shuttle/escape) "LW" = ( @@ -843,7 +843,7 @@ /area/shuttle/escape) "SO" = ( /obj/structure/flora/grass/jungle, -/mob/living/simple_animal/hostile/retaliate/poison/snake, +/mob/living/basic/snake, /turf/simulated/floor/grass, /area/shuttle/escape) "TY" = ( diff --git a/_maps/map_files/stations/boxstation.dmm b/_maps/map_files/stations/boxstation.dmm index a6b8958bf14..e0306dbfd9d 100644 --- a/_maps/map_files/stations/boxstation.dmm +++ b/_maps/map_files/stations/boxstation.dmm @@ -2538,7 +2538,7 @@ /area/station/command/office/hos) "akL" = ( /obj/structure/flora/rock/jungle, -/mob/living/simple_animal/lizard{ +/mob/living/basic/lizard{ name = "Greentext" }, /turf/simulated/floor/grass, @@ -46980,7 +46980,7 @@ /turf/simulated/floor/wood, /area/station/maintenance/aft) "dvv" = ( -/mob/living/simple_animal/pet/sloth/paperwork, +/mob/living/basic/pet/sloth/paperwork, /turf/simulated/floor/carpet, /area/station/legal/lawoffice) "dvD" = ( @@ -63294,7 +63294,7 @@ /turf/simulated/floor/plating, /area/station/maintenance/fpmaint2) "lpS" = ( -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /turf/simulated/floor/plating, /area/station/maintenance/asmaint2) "lqc" = ( @@ -87490,7 +87490,7 @@ /turf/simulated/floor/wood, /area/station/command/office/ntrep) "xtZ" = ( -/mob/living/simple_animal/pet/penguin/baby, +/mob/living/basic/pet/penguin/baby, /turf/simulated/floor/carpet, /area/station/maintenance/asmaint) "xuw" = ( @@ -88416,7 +88416,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/mob/living/simple_animal/lizard/wags_his_tail, +/mob/living/basic/lizard/wags_his_tail, /turf/simulated/floor/plasteel, /area/station/service/janitor) "xPE" = ( diff --git a/_maps/map_files/stations/cerestation.dmm b/_maps/map_files/stations/cerestation.dmm index 6e5e7932093..513b0a3f8df 100644 --- a/_maps/map_files/stations/cerestation.dmm +++ b/_maps/map_files/stations/cerestation.dmm @@ -23075,7 +23075,7 @@ }, /area/station/security/permabrig) "drC" = ( -/mob/living/simple_animal/hostile/retaliate/poison/snake{ +/mob/living/basic/snake{ name = "Sssylvester" }, /turf/simulated/floor/plasteel{ @@ -24008,7 +24008,7 @@ }, /area/station/medical/virology) "dzO" = ( -/mob/living/simple_animal/pet/sloth/paperwork, +/mob/living/basic/pet/sloth/paperwork, /obj/structure/bed/dogbed{ name = "Paperwork's bed" }, @@ -24620,7 +24620,7 @@ }, /area/station/command/office/rd) "dGz" = ( -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/simulated/floor/grass/jungle, /area/station/hallway/secondary/garden) "dGH" = ( @@ -36807,7 +36807,7 @@ /area/station/engineering/atmos) "gtD" = ( /obj/structure/bed/dogbed, -/mob/living/simple_animal/pet/penguin/baby, +/mob/living/basic/pet/penguin/baby, /obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/wood, /area/station/maintenance/starboard) @@ -50940,7 +50940,7 @@ dir = 4 }, /obj/machinery/hologram/holopad, -/mob/living/simple_animal/lizard/wags_his_tail, +/mob/living/basic/lizard/wags_his_tail, /turf/simulated/floor/plasteel, /area/station/service/janitor) "jso" = ( @@ -103621,7 +103621,7 @@ }, /area/station/maintenance/port2) "uGG" = ( -/mob/living/simple_animal/lizard, +/mob/living/basic/lizard, /turf/simulated/floor/plating/asteroid/ancient, /area/station/maintenance/fore2) "uGM" = ( @@ -105002,7 +105002,7 @@ /turf/simulated/floor/plasteel/white, /area/station/science/misc_lab) "uWB" = ( -/mob/living/simple_animal/bunny{ +/mob/living/basic/bunny{ desc = "It's Spaghetti, the official bnuy of Atmospherics. Appropriately named after the jumbled mess of piping."; name = "Spaghetti" }, @@ -108124,7 +108124,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/lizard{ +/mob/living/basic/lizard{ name = "Greentext" }, /turf/simulated/floor/plasteel, diff --git a/_maps/map_files/stations/deltastation.dmm b/_maps/map_files/stations/deltastation.dmm index df1be429c0c..87788c92ce0 100644 --- a/_maps/map_files/stations/deltastation.dmm +++ b/_maps/map_files/stations/deltastation.dmm @@ -5499,7 +5499,7 @@ /turf/simulated/floor/plasteel, /area/station/maintenance/disposal) "azk" = ( -/mob/living/simple_animal/lizard/wags_his_tail, +/mob/living/basic/lizard/wags_his_tail, /turf/simulated/floor/plasteel, /area/station/service/janitor) "azl" = ( @@ -27685,7 +27685,7 @@ /turf/simulated/floor/plasteel/grimy, /area/station/legal/lawoffice) "ccv" = ( -/mob/living/simple_animal/pet/sloth/paperwork, +/mob/living/basic/pet/sloth/paperwork, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, diff --git a/_maps/map_files/stations/emeraldstation.dmm b/_maps/map_files/stations/emeraldstation.dmm index 303dbeb9a4d..6f45bc86a31 100644 --- a/_maps/map_files/stations/emeraldstation.dmm +++ b/_maps/map_files/stations/emeraldstation.dmm @@ -3624,7 +3624,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/mob/living/simple_animal/lizard/wags_his_tail, +/mob/living/basic/lizard/wags_his_tail, /turf/simulated/floor/plasteel, /area/station/service/janitor) "aNu" = ( @@ -37624,7 +37624,7 @@ /turf/simulated/floor/plasteel, /area/station/maintenance/starboard) "hxa" = ( -/mob/living/simple_animal/lizard{ +/mob/living/basic/lizard{ name = "Greentext" }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -45709,7 +45709,7 @@ }, /area/station/turret_protected/ai) "jbt" = ( -/mob/living/simple_animal/pet/sloth/paperwork, +/mob/living/basic/pet/sloth/paperwork, /obj/structure/bed/dogbed, /obj/item/radio/intercom{ name = "south bump"; @@ -46420,7 +46420,7 @@ /turf/simulated/floor/wood, /area/station/maintenance/dorms/starboard) "jjT" = ( -/mob/living/simple_animal/bunny, +/mob/living/basic/bunny, /obj/structure/railing{ dir = 6 }, @@ -55305,7 +55305,7 @@ /obj/machinery/atmospherics/binary/valve{ dir = 4 }, -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/blood/maybe, /obj/machinery/light/small, @@ -69058,7 +69058,7 @@ /area/station/aisat/hall) "nMY" = ( /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /turf/simulated/floor/plating, /area/station/maintenance/apmaint2) "nNc" = ( @@ -77334,7 +77334,7 @@ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink" }, -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /obj/effect/spawner/random/maintenance, /turf/simulated/floor/plating, /area/station/maintenance/asmaint) @@ -82840,7 +82840,7 @@ /obj/effect/turf_decal{ dir = 8 }, -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /turf/simulated/floor/plasteel, /area/station/maintenance/apmaint2) @@ -91273,7 +91273,7 @@ /turf/simulated/floor/grass, /area/station/public/park) "sfv" = ( -/mob/living/simple_animal/bunny, +/mob/living/basic/bunny, /obj/structure/flora/ausbushes/brflowers, /obj/machinery/status_display{ name = "cargo display"; @@ -93190,7 +93190,7 @@ /area/station/engineering/atmos) "szh" = ( /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /turf/simulated/floor/plating, /area/station/maintenance/starboard) "szl" = ( @@ -96210,7 +96210,7 @@ }, /area/station/security/storage) "teq" = ( -/mob/living/simple_animal/lizard{ +/mob/living/basic/lizard{ name = "Valid" }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -113234,7 +113234,7 @@ }, /area/station/science/genetics) "wxT" = ( -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -113293,7 +113293,7 @@ /area/station/engineering/hardsuitstorage) "wyS" = ( /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /turf/simulated/floor/plating, /area/station/maintenance/asmaint) "wyU" = ( @@ -119636,7 +119636,7 @@ "xPt" = ( /obj/effect/spawner/random/blood/maybe, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /turf/simulated/floor/plasteel{ icon_state = "red" }, diff --git a/_maps/map_files/stations/metastation.dmm b/_maps/map_files/stations/metastation.dmm index 23f583b9a87..1842a9450ab 100644 --- a/_maps/map_files/stations/metastation.dmm +++ b/_maps/map_files/stations/metastation.dmm @@ -33124,7 +33124,7 @@ }, /area/station/hallway/supply/port) "dre" = ( -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /turf/simulated/floor/plating, /area/station/maintenance/theatre) "drL" = ( @@ -53571,7 +53571,7 @@ }, /area/station/command/office/cmo) "kKp" = ( -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /turf/simulated/floor/plating, /area/station/supply/warehouse) "kLd" = ( @@ -56395,7 +56395,7 @@ }, /area/station/hallway/primary/aft/south) "lIe" = ( -/mob/living/simple_animal/cockroach, +/mob/living/basic/cockroach, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, @@ -76007,7 +76007,7 @@ }, /area/station/engineering/equipmentstorage) "sMM" = ( -/mob/living/simple_animal/pet/sloth/paperwork, +/mob/living/basic/pet/sloth/paperwork, /turf/simulated/floor/carpet, /area/station/legal/lawoffice) "sMZ" = ( @@ -88908,7 +88908,7 @@ /area/shuttle/arrival/station) "xBG" = ( /obj/effect/spawner/random/dirt/often, -/mob/living/simple_animal/lizard/wags_his_tail, +/mob/living/basic/lizard/wags_his_tail, /turf/simulated/floor/plasteel, /area/station/service/janitor) "xBX" = ( diff --git a/code/datums/ai/basic_mobs/basic_subtrees/flee_target.dm b/code/datums/ai/basic_mobs/basic_subtrees/flee_target.dm index e0762fccde5..9c8db806551 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/flee_target.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/flee_target.dm @@ -23,3 +23,9 @@ if(controller.blackboard[BB_BASIC_MOB_STOP_FLEEING] || QDELETED(flee_from)) return FALSE return TRUE + +/// Try to escape from your current target, without performing any other actions. +/// Reads from some fleeing-specific targeting keys rather than the current mob target. +/datum/ai_planning_subtree/flee_target/from_flee_key + target_key = BB_BASIC_MOB_FLEE_TARGET + hiding_place_key = BB_BASIC_MOB_FLEE_TARGET_HIDING_LOCATION diff --git a/code/datums/diseases/anxiety.dm b/code/datums/diseases/anxiety.dm index b91ac32b1ed..c5c97033116 100644 --- a/code/datums/diseases/anxiety.dm +++ b/code/datums/diseases/anxiety.dm @@ -38,13 +38,13 @@ affected_mob.visible_message("[affected_mob] coughs up butterflies!", \ "You cough up butterflies!") for(var/i in 1 to 2) - var/mob/living/simple_animal/butterfly/B = new(affected_mob.loc) - addtimer(CALLBACK(B, TYPE_PROC_REF(/mob/living/simple_animal/butterfly, decompose)), rand(5, 25) SECONDS) + var/mob/living/basic/butterfly/B = new(affected_mob.loc) + addtimer(CALLBACK(B, TYPE_PROC_REF(/mob/living/basic/butterfly, decompose)), rand(5, 25) SECONDS) /** * Made so severe anxiety does not overload the SSmob while keeping it's effect */ -/mob/living/simple_animal/butterfly/proc/decompose() +/mob/living/basic/butterfly/proc/decompose() visible_message("[src] decomposes due to being outside of its original habitat for too long!", "You decompose for being too long out of your habitat!") melt() diff --git a/code/datums/keybindings/emote_keybinds.dm b/code/datums/keybindings/emote_keybinds.dm index 8f2ebf8f099..bde88ae0da9 100644 --- a/code/datums/keybindings/emote_keybinds.dm +++ b/code/datums/keybindings/emote_keybinds.dm @@ -683,6 +683,10 @@ /datum/keybinding/emote/simple_animal/pet/cat/can_use(client/C, mob/M) return iscat(M) && ..() +/datum/keybinding/emote/simple_animal/lizard/whicker + linked_emote = /datum/emote/lizard/whicker + name = "Whicker (Lizard)" + /datum/keybinding/custom category = KB_CATEGORY_EMOTE_CUSTOM var/default_emote_text = "Insert custom me emote text." diff --git a/code/datums/spell_targeting/matter_eater_targeting.dm b/code/datums/spell_targeting/matter_eater_targeting.dm index 74868a289ce..a44d3b152b6 100644 --- a/code/datums/spell_targeting/matter_eater_targeting.dm +++ b/code/datums/spell_targeting/matter_eater_targeting.dm @@ -16,7 +16,7 @@ /mob/living/simple_animal/slime, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, - /mob/living/simple_animal/lizard, + /mob/living/basic/lizard, /mob/living/basic/cow, /mob/living/simple_animal/spiderbot ) diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index 115044e016b..0d5f225e486 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -355,7 +355,7 @@ return owner.visible_message("[owner]'s soul is absorbed into the rod, relieving the previous snake of its duty.") - var/mob/living/simple_animal/hostile/retaliate/poison/snake/healSnake = new(owner.loc) + var/mob/living/basic/snake/healSnake = new(owner.loc) var/list/chems = list("bicaridine", "perfluorodecalin", "kelotane") healSnake.poison_type = pick(chems) healSnake.name = "Asclepius's Snake" diff --git a/code/game/objects/items/weapons/melee/melee_misc.dm b/code/game/objects/items/weapons/melee/melee_misc.dm index 517fbabafff..b81fb4d0977 100644 --- a/code/game/objects/items/weapons/melee/melee_misc.dm +++ b/code/game/objects/items/weapons/melee/melee_misc.dm @@ -55,8 +55,8 @@ . = ..() strong_against = typecacheof(list( /mob/living/simple_animal/hostile/poison/bees/, - /mob/living/simple_animal/butterfly, - /mob/living/simple_animal/cockroach, + /mob/living/basic/butterfly, + /mob/living/basic/cockroach, /obj/item/queen_bee)) strong_against -= /mob/living/simple_animal/hostile/poison/bees/syndi // Syndi-bees have special anti-flyswatter tech installed diff --git a/code/game/objects/structures/crates_lockers/crittercrate.dm b/code/game/objects/structures/crates_lockers/crittercrate.dm index 6b4511a0b0d..8c330c5b57f 100644 --- a/code/game/objects/structures/crates_lockers/crittercrate.dm +++ b/code/game/objects/structures/crates_lockers/crittercrate.dm @@ -57,7 +57,7 @@ /mob/living/simple_animal/pet/cat, /mob/living/simple_animal/pet/dog/pug, /mob/living/simple_animal/pet/dog/fox, - /mob/living/simple_animal/bunny) + /mob/living/basic/bunny) /obj/structure/closet/critter/corgi name = "corgi crate" @@ -108,7 +108,7 @@ /obj/structure/closet/critter/butterfly name = "butterfly crate" - content_mob = /mob/living/simple_animal/butterfly + content_mob = /mob/living/basic/butterfly /obj/structure/closet/critter/nian_caterpillar name = "nian caterpillar crate" @@ -120,7 +120,7 @@ /obj/structure/closet/critter/bunny name = "bunny crate" - content_mob = /mob/living/simple_animal/bunny + content_mob = /mob/living/basic/bunny /obj/structure/closet/critter/gorilla name = "gorilla crate" diff --git a/code/modules/events/infestation.dm b/code/modules/events/infestation.dm index e0067923b7a..7ddea7436b6 100644 --- a/code/modules/events/infestation.dm +++ b/code/modules/events/infestation.dm @@ -57,7 +57,7 @@ max_number = 12 vermstring = "mice" if(VERM_LIZARDS) - spawn_types = list(/mob/living/simple_animal/lizard) + spawn_types = list(/mob/living/basic/lizard) max_number = 6 vermstring = "lizards" if(VERM_SPIDERS) diff --git a/code/modules/mob/living/basic/basic_emotes.dm b/code/modules/mob/living/basic/basic_emotes.dm new file mode 100644 index 00000000000..adf4bab9211 --- /dev/null +++ b/code/modules/mob/living/basic/basic_emotes.dm @@ -0,0 +1,8 @@ +/datum/emote/lizard + mob_type_allowed_typecache = /mob/living/basic/lizard + mob_type_blacklist_typecache = list() + +/datum/emote/lizard/whicker + key = "tongue" + message = "sticks its tongue out contentedly!" + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE diff --git a/code/modules/mob/living/basic/basic_mob.dm b/code/modules/mob/living/basic/basic_mob.dm index 37a0859c706..2376cdba275 100644 --- a/code/modules/mob/living/basic/basic_mob.dm +++ b/code/modules/mob/living/basic/basic_mob.dm @@ -175,6 +175,9 @@ RESTRICT_TYPE(/mob/living/basic) apply_temperature_requirements() if(step_type) AddComponent(/datum/component/footstep, step_type) + if(can_hide) + var/datum/action/innate/hide/hide = new() + hide.Grant(src) if(is_ranged) AddComponent(/datum/component/ranged_attacks, projectile_type = projectile_type, projectile_sound = projectile_sound, burst_shots = ranged_burst_count, burst_intervals = ranged_burst_interval) diff --git a/code/modules/mob/living/basic/friendly/basic_pet.dm b/code/modules/mob/living/basic/friendly/basic_pet.dm new file mode 100644 index 00000000000..524d318a10a --- /dev/null +++ b/code/modules/mob/living/basic/friendly/basic_pet.dm @@ -0,0 +1,17 @@ +/mob/living/basic/pet + icon = 'icons/mob/pets.dmi' + mob_size = MOB_SIZE_SMALL + mob_biotypes = MOB_ORGANIC | MOB_BEAST + blood_volume = BLOOD_VOLUME_NORMAL + speed = 0 // same speed as a person. + hud_type = /datum/hud/corgi + +/mob/living/basic/pet/item_interaction(mob/living/user, obj/item/O, list/modifiers) + if(!istype(O, /obj/item/newspaper)) + return ..() + var/obj/item/newspaper/paper = O + if(stat != CONSCIOUS || !paper.rolled) + return ..() + user.visible_message("[user] baps [name] on the nose with the rolled up [O].") + INVOKE_ASYNC(src, PROC_REF(spin), 7 DECISECONDS, 1) + return ITEM_INTERACT_COMPLETE diff --git a/code/modules/mob/living/basic/friendly/bunny.dm b/code/modules/mob/living/basic/friendly/bunny.dm new file mode 100644 index 00000000000..5a23ad03502 --- /dev/null +++ b/code/modules/mob/living/basic/friendly/bunny.dm @@ -0,0 +1,64 @@ +/mob/living/basic/bunny + name = "bunny" + real_name = "bunny" + desc = "Awww a cute bunny." + icon_state = "m_bunny" + icon_living = "m_bunny" + icon_dead = "bunny_dead" + icon_resting = "bunny_stretch" + faction = list("neutral", "jungle") + see_in_dark = 6 + maxHealth = 10 + health = 10 + ai_controller = /datum/ai_controller/basic_controller/bunny + butcher_results = list(/obj/item/food/meat = 1) + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" + density = FALSE + pass_flags = PASSTABLE | PASSGRILLE | PASSMOB + mob_biotypes = MOB_ORGANIC | MOB_BEAST + mob_size = MOB_SIZE_TINY + atmos_requirements = list("min_oxy" = 16, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) + minimum_survivable_temperature = 223 // Below -50 Degrees Celcius + maximum_survivable_temperature = 323 // Above 50 Degrees Celcius + can_hide = TRUE + holder_type = /obj/item/holder/bunny + gold_core_spawnable = FRIENDLY_SPAWN + ventcrawler = VENTCRAWLER_ALWAYS + +/mob/living/basic/bunny/Initialize(mapload) + . = ..() + AddElement(/datum/element/wears_collar) + AddElement(/datum/element/ai_retaliate) + +/mob/living/basic/bunny/attack_hand(mob/living/carbon/human/M) + if(M.a_intent == INTENT_HELP) + get_scooped(M, TRUE) + return ..() + +/mob/living/basic/bunny/syndi // for the syndicake factory bunny so its not being shot + faction = list("syndicate") + gold_core_spawnable = NO_SPAWN + +/datum/ai_controller/basic_controller/bunny + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + ) + ai_traits = AI_FLAG_STOP_MOVING_WHEN_PULLED + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + planning_subtrees = list( + /datum/ai_planning_subtree/random_speech/rabbit, + /datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_flee, + /datum/ai_planning_subtree/flee_target, + ) + +/datum/ai_planning_subtree/random_speech/rabbit + speech_chance = 10 + speak = list("Mrrp.", "CHIRP!", "Mrrp?") // rabbits make some weird noises dude i don't know what to tell you + emote_hear = list("hops.", "thumps.") + emote_see = list("hops around.", "bounces up and down.", "flips their ears up") diff --git a/code/modules/mob/living/simple_animal/friendly/butterfly.dm b/code/modules/mob/living/basic/friendly/butterfly.dm similarity index 54% rename from code/modules/mob/living/simple_animal/friendly/butterfly.dm rename to code/modules/mob/living/basic/friendly/butterfly.dm index ef4598656df..0f7b4913401 100644 --- a/code/modules/mob/living/simple_animal/friendly/butterfly.dm +++ b/code/modules/mob/living/basic/friendly/butterfly.dm @@ -1,18 +1,20 @@ -/mob/living/simple_animal/butterfly +/mob/living/basic/butterfly name = "butterfly" desc = "A colorful butterfly, how'd it get up here?" icon_state = "butterfly" icon_living = "butterfly" icon_dead = "butterfly_dead" - emote_see = list("flutters") faction = list("neutral", "jungle") - response_help = "shoos" - response_disarm = "brushes aside" - response_harm = "squashes" + response_help_continuous = "shoos" + response_help_simple = "shoo" + response_disarm_continuous = "brushes aside" + response_disarm_simple = "brush aside" + response_harm_continuous = "squashes" + response_harm_simple = "squash" + ai_controller = /datum/ai_controller/basic_controller/butterfly maxHealth = 2 health = 2 harm_intent_damage = 1 - friendly = "nudges" density = FALSE pass_flags = PASSTABLE | PASSGRILLE | PASSMOB ventcrawler = VENTCRAWLER_ALWAYS @@ -22,9 +24,10 @@ gold_core_spawnable = FRIENDLY_SPAWN initial_traits = list(TRAIT_FLYING, TRAIT_EDIBLE_BUG) -/mob/living/simple_animal/butterfly/Initialize(mapload) +/mob/living/basic/butterfly/Initialize(mapload) . = ..() color = rgb(rand(0, 255), rand(0, 255), rand(0, 255)) -/mob/living/simple_animal/butterfly/npc_safe(mob/user) - return TRUE +/datum/ai_controller/basic_controller/butterfly + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk diff --git a/code/modules/mob/living/simple_animal/friendly/cockroach.dm b/code/modules/mob/living/basic/friendly/cockroach.dm similarity index 50% rename from code/modules/mob/living/simple_animal/friendly/cockroach.dm rename to code/modules/mob/living/basic/friendly/cockroach.dm index f38bf75d4ab..fde2a467c9a 100644 --- a/code/modules/mob/living/simple_animal/friendly/cockroach.dm +++ b/code/modules/mob/living/basic/friendly/cockroach.dm @@ -1,30 +1,33 @@ -/mob/living/simple_animal/cockroach +/mob/living/basic/cockroach name = "cockroach" desc = "This station is just crawling with bugs." icon_state = "cockroach" icon_dead = "cockroach" health = 1 maxHealth = 1 - turns_per_move = 5 atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 270 - maxbodytemp = INFINITY + minimum_survivable_temperature = 270 + maximum_survivable_temperature = INFINITY pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_biotypes = MOB_ORGANIC | MOB_BUG mob_size = MOB_SIZE_TINY - response_disarm = "shoos" - response_harm = "splats" + ai_controller = /datum/ai_controller/basic_controller/cockroach + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "splats" + response_harm_simple = "splat" density = FALSE ventcrawler = VENTCRAWLER_ALWAYS gold_core_spawnable = FRIENDLY_SPAWN - var/squish_chance = 50 loot = list(/obj/effect/decal/cleanable/insectguts) - del_on_death = TRUE + basic_mob_flags = DEL_ON_DEATH + /// Chance to get squished + var/squish_chance = 50 -/mob/living/simple_animal/cockroach/can_die() - return ..() && !SSticker.cinematic //If the nuke is going off, then cockroaches are invincible. Keeps the nuke from killing them, cause cockroaches are immune to nukes. +/mob/living/basic/cockroach/can_die() + return ..() && !SSticker.cinematic // If the nuke is going off, then cockroaches are invincible. Keeps the nuke from killing them, cause cockroaches are immune to nukes. -/mob/living/simple_animal/cockroach/Initialize(mapload) //Lizards are a great way to deal with cockroaches +/mob/living/basic/cockroach/Initialize(mapload) // Lizards are a great way to deal with cockroaches . = ..() ADD_TRAIT(src, TRAIT_EDIBLE_BUG, "edible_bug") var/static/list/loc_connections = list( @@ -32,7 +35,7 @@ ) AddElement(/datum/element/connect_loc, loc_connections) -/mob/living/simple_animal/cockroach/proc/on_atom_entered(datum/source, atom/movable/entered) +/mob/living/basic/cockroach/proc/on_atom_entered(datum/source, atom/movable/entered) if(isliving(entered)) var/mob/living/A = entered if(A.mob_size > MOB_SIZE_SMALL) @@ -45,14 +48,28 @@ visible_message("As \the [entered] moved over \the [name], it was crushed.") death() -/mob/living/simple_animal/cockroach/ex_act() //Explosions are a terrible way to handle a cockroach. +/mob/living/basic/cockroach/ex_act() // Explosions are a terrible way to handle a cockroach. return -//mining pet -/mob/living/simple_animal/cockroach/brad +// mining pet +/mob/living/basic/cockroach/brad name = "Brad" desc = "Lavaland's most resilient cockroach. Seeing this little guy walk through the wastes almost makes you wish for nuclear winter." - response_help = "carefully pets" + response_help_continuous = "carefully pets" + response_help_simple = "carefully pet" weather_immunities = list("ash") - unique_pet = TRUE gold_core_spawnable = NO_SPAWN + +/datum/ai_controller/basic_controller/cockroach + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + ) + ai_traits = AI_FLAG_STOP_MOVING_WHEN_PULLED + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + planning_subtrees = list( + /datum/ai_planning_subtree/find_and_hunt_target/roach, + ) + +/datum/ai_planning_subtree/find_and_hunt_target/roach + hunt_targets = list(/obj/effect/decal/cleanable/ants) diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/basic/friendly/lizard.dm similarity index 54% rename from code/modules/mob/living/simple_animal/friendly/lizard.dm rename to code/modules/mob/living/basic/friendly/lizard.dm index bfb512190db..419246bc537 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/basic/friendly/lizard.dm @@ -1,4 +1,4 @@ -/mob/living/simple_animal/lizard +/mob/living/basic/lizard name = "lizard" desc = "A cute tiny lizard." icon = 'icons/mob/critter.dmi' @@ -6,14 +6,20 @@ icon_living = "lizard" icon_dead = "lizard-dead" speak_emote = list("hisses") - health = 5 - maxHealth = 5 - attacktext = "bites" + health = 10 + maxHealth = 10 + attack_verb_continuous = "bites" + attack_verb_simple = "bite" + attack_sound = 'sound/effects/bite.ogg' melee_damage_lower = 1 melee_damage_upper = 2 - response_help = "pets" - response_disarm = "shoos" - response_harm = "stomps on" + ai_controller = /datum/ai_controller/basic_controller/lizard + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "stomps on" + response_harm_simple = "stomp on" faction = list("neutral", "jungle") ventcrawler = VENTCRAWLER_ALWAYS density = FALSE @@ -24,41 +30,39 @@ butcher_results = list(/obj/item/food/meat = 1) mob_biotypes = MOB_ORGANIC | MOB_BEAST | MOB_REPTILE gold_core_spawnable = FRIENDLY_SPAWN - var/eating_sound = 'sound/weapons/bite.ogg' + /// List of stuff that we want to eat + var/static/list/edibles = list( + /mob/living/basic/butterfly, + /mob/living/basic/cockroach, + /obj/structure/spider/spiderling + ) /// Lizards start with a tail var/has_tail = TRUE -/mob/living/simple_animal/lizard/Initialize(mapload) +/mob/living/basic/lizard/Initialize(mapload) . = ..() AddElement(/datum/element/wears_collar) + AddElement(/datum/element/basic_eating, heal_amt_ = 5, food_types_ = edibles) + ai_controller.set_blackboard_key(BB_BASIC_FOODS, typecacheof(edibles)) -/mob/living/simple_animal/lizard/handle_automated_action() - if(stat == CONSCIOUS && !buckled) - if(prob(1)) - custom_emote(EMOTE_VISIBLE, pick("sticks out its tongue.", "wags its tail.", "lies down.")) +/datum/ai_controller/basic_controller/lizard + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + ) + ai_traits = AI_FLAG_STOP_MOVING_WHEN_PULLED + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + planning_subtrees = list( + /datum/ai_planning_subtree/find_food, + /datum/ai_planning_subtree/random_speech/lizard, + ) - if(!isturf(loc)) - return - var/list/lizard_view = view(1, src) - for(var/mob/living/M in lizard_view) - if(M.stat == CONSCIOUS && Adjacent(M) && HAS_TRAIT(M, TRAIT_EDIBLE_BUG)) - custom_emote(EMOTE_VISIBLE, "eats \the [M]!") - playsound(loc, eating_sound, 20, 1) - M.death() - break - for(var/obj/structure/spider/spiderling/spider in lizard_view) - if(Adjacent(spider) && HAS_TRAIT(spider, TRAIT_EDIBLE_BUG)) - if(prob(90)) // Slippery things aren't they? - visible_message("The spiderling skitters away from the [src]!") - spider.random_skitter() - return - else - custom_emote(EMOTE_VISIBLE, "eats \the [spider]!") - playsound(loc, eating_sound, 20, 1) - qdel(spider) - break +/datum/ai_planning_subtree/random_speech/lizard // all of these have to be three words long or i'm killing you. you're dead. + speech_chance = 3 + emote_hear = list("stamps around some.", "hisses a bit.") + emote_see = list("blehs the tongue.", "tilts the head.", "does a spin.") -/mob/living/simple_animal/lizard/verb/lose_tail() +/mob/living/basic/lizard/verb/lose_tail() set name = "Lose tail" set desc = "Allows you to lose your tail and escape a sticky situation. Takes 5 minutes for your tail to grow back." set category = "Animal" @@ -76,11 +80,11 @@ has_tail = FALSE addtimer(CALLBACK(src, PROC_REF(new_tail)), 5 MINUTES) -/mob/living/simple_animal/lizard/proc/new_tail() +/mob/living/basic/lizard/proc/new_tail() has_tail = TRUE to_chat(src, "You regrow your tail!") -/mob/living/simple_animal/lizard/decompile_act(obj/item/matter_decompiler/C, mob/user) +/mob/living/basic/lizard/decompile_act(obj/item/matter_decompiler/C, mob/user) if(!isdrone(user)) user.visible_message("[user] sucks [src] into its decompiler. There's a horrible crunching noise.", \ "It's a bit of a struggle, but you manage to suck [src] into your decompiler. It makes a series of visceral crunching noises.") @@ -91,12 +95,11 @@ return TRUE return ..() -/mob/living/simple_animal/lizard/wags_his_tail +/mob/living/basic/lizard/wags_his_tail name = "Wags-His-Tail" real_name = "Wags-His-Tail" - unique_pet = TRUE gold_core_spawnable = NO_SPAWN -/mob/living/simple_animal/lizard/wags_his_tail/update_desc() +/mob/living/basic/lizard/wags_his_tail/update_desc() . = ..() desc = "The official mascot of Janitalia." diff --git a/code/modules/mob/living/basic/friendly/penguin.dm b/code/modules/mob/living/basic/friendly/penguin.dm new file mode 100644 index 00000000000..bb491007dcf --- /dev/null +++ b/code/modules/mob/living/basic/friendly/penguin.dm @@ -0,0 +1,90 @@ +// Penguins + +/mob/living/basic/pet/penguin + name = "penguin" + real_name = "penguin" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "bops" + response_disarm_simple = "bop" + response_harm_continuous = "kicks" + response_harm_simple = "kick" + speak_emote = list("squawks", "gakkers") + faction = list("penguin") + ai_controller = /datum/ai_controller/basic_controller/penguin + see_in_dark = 5 + icon = 'icons/mob/penguins.dmi' + step_type = FOOTSTEP_MOB_BAREFOOT + +/mob/living/basic/pet/penguin/Initialize(mapload) + . = ..() + AddElement(/datum/element/wears_collar) + AddElement(/datum/element/waddling) + +/mob/living/basic/pet/penguin/emperor + name = "Emperor penguin" + desc = "Emperor of all he surveys." + icon_state = "penguin" + icon_living = "penguin" + icon_dead = "penguin_dead" + butcher_results = list() + gold_core_spawnable = FRIENDLY_SPAWN + +/mob/living/basic/pet/penguin/eldrich + name = "Albino penguin" + desc = "Found in the depths of mountains." + response_help_continuous = "taps" + response_help_simple = "tap" + response_disarm_continuous = "pokes" + response_disarm_simple = "poke" + response_harm_continuous = "flails at" + response_harm_simple = "flail at" + icon_state = "penguin_elder" + icon_living = "penguin_elder" + icon_dead = "penguin_dead" + faction = list("penguin", "cult") + +/mob/living/basic/pet/penguin/emperor/shamebrero + name = "Shamebrero penguin" + desc = "Shameful of all he surveys." + icon_state = "penguin_shamebrero" + icon_living = "penguin_shamebrero" + gold_core_spawnable = NO_SPAWN + +/mob/living/basic/pet/penguin/baby + name = "Penguin chick" + desc = "Can't fly and can barely waddles, but the prince of all chicks." + icon_state = "penguin_baby" + icon_living = "penguin_baby" + icon_dead = "penguin_baby_dead" + density = FALSE + pass_flags = PASSMOB + +/datum/ai_controller/basic_controller/penguin + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + ) + ai_traits = AI_FLAG_STOP_MOVING_WHEN_PULLED + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + planning_subtrees = list( + /datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_flee, + /datum/ai_planning_subtree/flee_target, + /datum/ai_planning_subtree/random_speech/penguin, + ) + +/datum/ai_planning_subtree/random_speech/penguin + speech_chance = 5 + speak = list("Gah Gah!", "NOOT NOOT!", "NOOT!", "Noot", "noot", "Prah!", "Grah!") + emote_hear = list("squawks", "gakkers") + emote_see = list("shakes its beak.", "flaps it's wings.", "preens itself.") + +/datum/ai_controller/basic_controller/penguin/eldrich + planning_subtrees = list( + /datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_flee, + /datum/ai_planning_subtree/flee_target, + /datum/ai_planning_subtree/random_speech/penguin/eldrich, + ) + +/datum/ai_planning_subtree/random_speech/penguin/eldrich + speak = list("Gah Gah!", "Tekeli-li! Tekeli-li!", "Tekeli-li!", "Teke", "li") diff --git a/code/modules/mob/living/basic/friendly/sloth.dm b/code/modules/mob/living/basic/friendly/sloth.dm new file mode 100644 index 00000000000..39210d199d3 --- /dev/null +++ b/code/modules/mob/living/basic/friendly/sloth.dm @@ -0,0 +1,55 @@ +/mob/living/basic/pet/sloth + name = "sloth" + desc = "An adorable, sleepy creature." + icon_state = "sloth" + icon_living = "sloth" + icon_dead = "sloth_dead" + gender = MALE + speak_emote = list("yawns") + faction = list("neutral", "jungle") + butcher_results = list(/obj/item/food/meat = 3) + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" + ai_controller = /datum/ai_controller/basic_controller/sloth + gold_core_spawnable = FRIENDLY_SPAWN + melee_damage_upper = 5 + health = 50 + maxHealth = 50 + speed = 2 + step_type = FOOTSTEP_MOB_CLAW + +/mob/living/basic/pet/sloth/Initialize(mapload) + . = ..() + AddElement(/datum/element/wears_collar) + AddElement(/datum/element/ai_retaliate) + +//IAA Sloth +/mob/living/basic/pet/sloth/paperwork + name = "Paperwork" + desc = "Internal Affairs' pet sloth. About as useful as the rest of the agents." + gold_core_spawnable = NO_SPAWN + +/datum/ai_controller/basic_controller/sloth + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_FLEE_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + ) + ai_traits = AI_FLAG_STOP_MOVING_WHEN_PULLED + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + + planning_subtrees = list( + /datum/ai_planning_subtree/target_retaliate/to_flee, + /datum/ai_planning_subtree/flee_target/from_flee_key, + /datum/ai_planning_subtree/random_speech/sloth, + ) + +/datum/ai_planning_subtree/random_speech/sloth + speech_chance = 1 + speak = list("Ahhhh") + emote_hear = list("snores.", "yawns.") + emote_see = list("dozes off.", "looks around sleepily.") diff --git a/code/modules/mob/living/basic/friendly/snake.dm b/code/modules/mob/living/basic/friendly/snake.dm new file mode 100644 index 00000000000..869c3d1b7a9 --- /dev/null +++ b/code/modules/mob/living/basic/friendly/snake.dm @@ -0,0 +1,72 @@ +/mob/living/basic/snake + name = "snake" + desc = "A slithery snake. These legless reptiles are the bane of mice and adventurers alike." + icon_state = "snake" + icon_living = "snake" + icon_dead = "snake_dead" + speak_emote = list("hisses") + health = 20 + maxHealth = 20 + attack_verb_continuous = "bites" + attack_verb_simple = "bite" + attack_sound = 'sound/effects/bite.ogg' + melee_damage_lower = 5 + melee_damage_upper = 6 + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "steps on" + response_harm_simple = "step on" + faction = list("hostile", "jungle") + ventcrawler = VENTCRAWLER_ALWAYS + density = FALSE + pass_flags = PASSTABLE | PASSMOB + mob_biotypes = MOB_ORGANIC | MOB_BEAST | MOB_REPTILE + mob_size = MOB_SIZE_SMALL + gold_core_spawnable = FRIENDLY_SPAWN + + ai_controller = /datum/ai_controller/basic_controller/snake + /// How much poison? + var/poison_per_bite = 0 + /// What poison + var/poison_type = "toxin" + /// List of stuff (mice) that we want to eat + var/static/list/edibles = list( + /mob/living/simple_animal/mouse, + ) + +/mob/living/basic/snake/Initialize(mapload) + . = ..() + AddElement(/datum/element/ai_retaliate) + AddElement(/datum/element/basic_eating, heal_amt_ = 2, food_types_ = edibles) + ai_controller.set_blackboard_key(BB_BASIC_FOODS, typecacheof(edibles)) + +/mob/living/basic/snake/melee_attack(atom/target, list/modifiers, ignore_cooldown) + . = ..() + if(. && isliving(target)) + var/mob/living/L = target + if(L.reagents && poison_per_bite > 0) + L.reagents.add_reagent(poison_type, poison_per_bite) + +/// Snakes are primarily concerned with getting those tasty, tasty mice, but aren't afraid to strike back at those who attack them +/datum/ai_controller/basic_controller/snake + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, + ) + ai_traits = AI_FLAG_STOP_MOVING_WHEN_PULLED + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + planning_subtrees = list( + /datum/ai_planning_subtree/target_retaliate, + /datum/ai_planning_subtree/basic_melee_attack_subtree, + /datum/ai_planning_subtree/find_food, + /datum/ai_planning_subtree/random_speech/snake, + ) + +/datum/ai_planning_subtree/random_speech/snake + speech_chance = 5 + speak = list("hsssss", "sssSSsssss...", "hiisssss") + sound = list('sound/creatures/snake_hissing1.ogg', 'sound/creatures/snake_hissing2.ogg') + emote_hear = list("hisses.") + emote_see = list("slithers around.", "glances.", "stares.") diff --git a/code/modules/mob/living/carbon/human/species/tajaran.dm b/code/modules/mob/living/carbon/human/species/tajaran.dm index a2a95c8b926..003d4f2131e 100644 --- a/code/modules/mob/living/carbon/human/species/tajaran.dm +++ b/code/modules/mob/living/carbon/human/species/tajaran.dm @@ -44,7 +44,7 @@ unless they choose otherwise by selecting the colourblind disability in character creation (darksight = 8 but colourblind).*/ ) - allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/chick, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/hostile/poison/bees) + allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/chick, /mob/living/basic/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/hostile/poison/bees) suicide_messages = list( "is attempting to bite their tongue off!", diff --git a/code/modules/mob/living/carbon/human/species/unathi.dm b/code/modules/mob/living/carbon/human/species/unathi.dm index 7a9620aaaad..a86247eb1ad 100644 --- a/code/modules/mob/living/carbon/human/species/unathi.dm +++ b/code/modules/mob/living/carbon/human/species/unathi.dm @@ -48,8 +48,8 @@ "eyes" = /obj/item/organ/internal/eyes/unathi //3 darksight. ) - allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/lizard, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, - /mob/living/simple_animal/crab, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/hostile/poison/bees) + allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/basic/lizard, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, + /mob/living/simple_animal/crab, /mob/living/basic/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/hostile/poison/bees) suicide_messages = list( "is attempting to bite their tongue off!", diff --git a/code/modules/mob/living/carbon/human/species/vulpkanin.dm b/code/modules/mob/living/carbon/human/species/vulpkanin.dm index a6ba75e80e5..5238db6d9e7 100644 --- a/code/modules/mob/living/carbon/human/species/vulpkanin.dm +++ b/code/modules/mob/living/carbon/human/species/vulpkanin.dm @@ -38,8 +38,8 @@ unless they choose otherwise by selecting the colourblind disability in character creation (darksight = 8 but colourblind).*/ ) - allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/lizard, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, - /mob/living/simple_animal/crab, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/hostile/poison/bees) + allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/basic/lizard, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, + /mob/living/simple_animal/crab, /mob/living/basic/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/hostile/poison/bees) suicide_messages = list( "is attempting to bite their tongue off!", diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 3da93373ced..f14de53f175 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -136,3 +136,8 @@ /// The toggle for if this creature should ignore the rolls for generic organs upon dissection var/ignore_generic_organs = FALSE + + /// Can this mob hide? + var/can_hide = FALSE + /// Allows a mob to pass unbolted doors while hidden + var/pass_door_while_hidden = FALSE diff --git a/code/modules/mob/living/simple_animal/friendly/bunny.dm b/code/modules/mob/living/simple_animal/friendly/bunny.dm deleted file mode 100644 index ff96383f425..00000000000 --- a/code/modules/mob/living/simple_animal/friendly/bunny.dm +++ /dev/null @@ -1,42 +0,0 @@ -/mob/living/simple_animal/bunny - name = "bunny" - real_name = "bunny" - desc = "Awww a cute bunny." - icon_state = "m_bunny" - icon_living = "m_bunny" - icon_dead = "bunny_dead" - icon_resting = "bunny_stretch" - emote_see = list("thumps", "sniffs at something", "hops around", "flips their ears up") - faction = list("neutral", "jungle") - turns_per_move = 5 - see_in_dark = 6 - maxHealth = 10 - health = 10 - butcher_results = list(/obj/item/food/meat = 1) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" - density = FALSE - pass_flags = PASSTABLE | PASSGRILLE | PASSMOB - mob_biotypes = MOB_ORGANIC | MOB_BEAST - mob_size = MOB_SIZE_TINY - atmos_requirements = list("min_oxy" = 16, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 223 //Below -50 Degrees Celcius - maxbodytemp = 323 //Above 50 Degrees Celcius - can_hide = TRUE - holder_type = /obj/item/holder/bunny - gold_core_spawnable = FRIENDLY_SPAWN - ventcrawler = VENTCRAWLER_ALWAYS - -/mob/living/simple_animal/bunny/Initialize(mapload) - . = ..() - AddElement(/datum/element/wears_collar) - -/mob/living/simple_animal/bunny/attack_hand(mob/living/carbon/human/M) - if(M.a_intent == INTENT_HELP) - get_scooped(M, TRUE) - ..() - -/mob/living/simple_animal/bunny/syndi // for the syndicake factory bunny so its not being shot - faction = list("syndicate") - gold_core_spawnable = NO_SPAWN diff --git a/code/modules/mob/living/simple_animal/friendly/penguin.dm b/code/modules/mob/living/simple_animal/friendly/penguin.dm deleted file mode 100644 index 3fb7a6dfe8d..00000000000 --- a/code/modules/mob/living/simple_animal/friendly/penguin.dm +++ /dev/null @@ -1,65 +0,0 @@ -//Penguins - -/mob/living/simple_animal/pet/penguin - name = "penguin" - real_name = "penguin" - response_help = "pets" - response_disarm = "bops" - response_harm = "kicks" - speak = list("Gah Gah!", "NOOT NOOT!", "NOOT!", "Noot", "noot", "Prah!", "Grah!") - speak_emote = list("squawks", "gakkers") - emote_hear = list("squawk!", "gakkers!", "noots.","NOOTS!") - emote_see = list("shakes its beak.", "flaps it's wings.","preens itself.") - faction = list("penguin") - see_in_dark = 5 - speak_chance = 1 - turns_per_move = 10 - icon = 'icons/mob/penguins.dmi' - footstep_type = FOOTSTEP_MOB_BAREFOOT - -/mob/living/simple_animal/pet/penguin/Initialize(mapload) - . = ..() - AddElement(/datum/element/wears_collar) - AddElement(/datum/element/waddling) - -/mob/living/simple_animal/pet/penguin/emperor - name = "Emperor penguin" - desc = "Emperor of all he surveys." - icon_state = "penguin" - icon_living = "penguin" - icon_dead = "penguin_dead" - butcher_results = list() - gold_core_spawnable = FRIENDLY_SPAWN - -/mob/living/simple_animal/pet/penguin/eldrich - name = "Albino penguin" - desc = "Found in the depths of mountains." - response_help = "taps" - response_disarm = "pokes" - response_harm = "flails at" - icon_state = "penguin_elder" - icon_living = "penguin_elder" - icon_dead = "penguin_dead" - speak = list("Gah Gah!", "Tekeli-li! Tekeli-li!", "Tekeli-li!", "Teke", "li") - speak_emote = list("gibbers", "gakkers") - emote_hear = list("whistles!", "gakkers!") - emote_see = list("shakes its beak.", "flaps it's wings.","preens itself.") - faction = list("penguin", "cult") - -/mob/living/simple_animal/pet/penguin/emperor/shamebrero - name = "Shamebrero penguin" - desc = "Shameful of all he surveys." - icon_state = "penguin_shamebrero" - icon_living = "penguin_shamebrero" - gold_core_spawnable = NO_SPAWN - unique_pet = TRUE - -/mob/living/simple_animal/pet/penguin/baby - speak = list("gah", "noot noot", "noot!", "noot", "squeee!", "noo!") - name = "Penguin chick" - desc = "Can't fly and can barely waddles, but the prince of all chicks." - icon_state = "penguin_baby" - icon_living = "penguin_baby" - icon_dead = "penguin_baby_dead" - density = FALSE - pass_flags = PASSMOB diff --git a/code/modules/mob/living/simple_animal/friendly/sloth.dm b/code/modules/mob/living/simple_animal/friendly/sloth.dm deleted file mode 100644 index 6046082fc87..00000000000 --- a/code/modules/mob/living/simple_animal/friendly/sloth.dm +++ /dev/null @@ -1,34 +0,0 @@ -/mob/living/simple_animal/pet/sloth - name = "sloth" - desc = "An adorable, sleepy creature." - icon_state = "sloth" - icon_living = "sloth" - icon_dead = "sloth_dead" - gender = MALE - speak = list("Ahhhh") - speak_emote = list("yawns") - emote_hear = list("snores.","yawns.") - emote_see = list("dozes off.", "looks around sleepily.") - faction = list("neutral", "jungle") - speak_chance = 1 - turns_per_move = 5 - butcher_results = list(/obj/item/food/meat = 3) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" - gold_core_spawnable = FRIENDLY_SPAWN - health = 50 - maxHealth = 50 - speed = 2 - footstep_type = FOOTSTEP_MOB_CLAW - -/mob/living/simple_animal/pet/sloth/Initialize(mapload) - . = ..() - AddElement(/datum/element/wears_collar) - -//IAA Sloth -/mob/living/simple_animal/pet/sloth/paperwork - name = "Paperwork" - desc = "Internal Affairs' pet sloth. About as useful as the rest of the agents." - unique_pet = TRUE - gold_core_spawnable = NO_SPAWN diff --git a/code/modules/mob/living/simple_animal/friendly/snake.dm b/code/modules/mob/living/simple_animal/friendly/snake.dm deleted file mode 100644 index 61b53ac184f..00000000000 --- a/code/modules/mob/living/simple_animal/friendly/snake.dm +++ /dev/null @@ -1,59 +0,0 @@ -/mob/living/simple_animal/hostile/retaliate/poison - var/poison_per_bite = 0 - var/poison_type = "toxin" - -/mob/living/simple_animal/hostile/retaliate/poison/AttackingTarget() - . = ..() - if(. && isliving(target)) - var/mob/living/L = target - if(L.reagents && !poison_per_bite == 0) - L.reagents.add_reagent(poison_type, poison_per_bite) - -/mob/living/simple_animal/hostile/retaliate/poison/snake - name = "snake" - desc = "A slithery snake. These legless reptiles are the bane of mice and adventurers alike." - icon_state = "snake" - icon_living = "snake" - icon_dead = "snake_dead" - speak_emote = list("hisses") - attacktext = "bites" - melee_damage_lower = 5 - melee_damage_upper = 6 - response_help = "pets" - response_disarm = "shoos" - response_harm = "steps on" - faction = list("hostile", "jungle") - ventcrawler = VENTCRAWLER_ALWAYS - density = FALSE - pass_flags = PASSTABLE | PASSMOB - mob_biotypes = MOB_ORGANIC | MOB_BEAST | MOB_REPTILE - mob_size = MOB_SIZE_SMALL - gold_core_spawnable = FRIENDLY_SPAWN - obj_damage = 0 - environment_smash = ENVIRONMENT_SMASH_NONE - - -/mob/living/simple_animal/hostile/retaliate/poison/snake/ListTargets(atom/the_target) - . = oview(vision_range, targets_from) //get list of things in vision range - var/list/living_mobs = list() - var/list/mice = list() - for(var/HM in .) - //Yum a tasty mouse - if(ismouse(HM)) - mice += HM - if(isliving(HM)) - living_mobs += HM - - // if no tasty mice to chase, lets chase any living mob enemies in our vision range - if(length(mice) == 0) - //Filter living mobs (in range mobs) by those we consider enemies (retaliate behaviour) - return living_mobs & enemies - return mice - -/mob/living/simple_animal/hostile/retaliate/poison/snake/AttackingTarget() - if(ismouse(target)) - visible_message("[name] consumes [target] in a single gulp!", "You consume [target] in a single gulp!") - QDEL_NULL(target) - adjustHealth(-2) - else - return ..() diff --git a/code/modules/mob/living/simple_animal/hide_action.dm b/code/modules/mob/living/simple_animal/hide_action.dm index b2de59d53fb..71c1e2ce630 100644 --- a/code/modules/mob/living/simple_animal/hide_action.dm +++ b/code/modules/mob/living/simple_animal/hide_action.dm @@ -7,19 +7,20 @@ button_icon_state = "mouse_gray_sleep" /datum/action/innate/hide/Activate() - var/mob/living/simple_animal/simplemob = owner + if(istype(owner, /mob/living)) + var/mob/living/hiding_mob = owner - if(owner.layer != layer_to_change_to) - owner.layer = layer_to_change_to - owner.visible_message("[owner] scurries to the ground!", "You are now hiding.") - if(istype(simplemob) && simplemob.pass_door_while_hidden || isdrone(simplemob)) - simplemob.pass_flags |= PASSDOOR - return + if(owner.layer != layer_to_change_to) + owner.layer = layer_to_change_to + owner.visible_message("[owner] scurries to the ground!", "You are now hiding.") + if(istype(hiding_mob) && hiding_mob.pass_door_while_hidden || isdrone(hiding_mob)) + hiding_mob.pass_flags |= PASSDOOR + return - simplemob.layer = layer_to_change_from - owner.visible_message("[owner] slowly peeks up from the ground...", "You have stopped hiding.") - if(istype(simplemob) && simplemob.pass_door_while_hidden || isdrone(simplemob)) - simplemob.pass_flags &= ~PASSDOOR + hiding_mob.layer = layer_to_change_from + owner.visible_message("[owner] slowly peeks up from the ground...", "You have stopped hiding.") + if(istype(hiding_mob) && hiding_mob.pass_door_while_hidden || isdrone(hiding_mob)) + hiding_mob.pass_flags &= ~PASSDOOR /datum/action/innate/hide/alien_larva_hide desc = "Allows to hide beneath tables or certain items. Toggled on or off." diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index d0d02ad62c8..3ce3ca105c0 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -82,9 +82,6 @@ /// Higher speed is slower, negative speed is faster var/speed = 1 - var/can_hide = FALSE - /// Allows a mob to pass unbolted doors while hidden - var/pass_door_while_hidden = FALSE /// If the mob can be renamed var/unique_pet = FALSE diff --git a/code/modules/projectiles/projectile/magic_projectiles.dm b/code/modules/projectiles/projectile/magic_projectiles.dm index bbb9117d219..d3b31286f50 100644 --- a/code/modules/projectiles/projectile/magic_projectiles.dm +++ b/code/modules/projectiles/projectile/magic_projectiles.dm @@ -211,14 +211,14 @@ GLOBAL_LIST_INIT(wabbajack_docile_animals, list( "mouse" = /mob/living/simple_animal/mouse, "chicken" = /mob/living/simple_animal/chicken, "cow" = /mob/living/basic/cow, - "lizard" = /mob/living/simple_animal/lizard, + "lizard" = /mob/living/basic/lizard, "fox" = /mob/living/simple_animal/pet/dog/fox, "chick" = /mob/living/simple_animal/chick, "pug" = /mob/living/simple_animal/pet/dog/pug, "turkey" = /mob/living/simple_animal/turkey, "seal" = /mob/living/simple_animal/seal, - "bunny" = /mob/living/simple_animal/bunny, - "penguin" = /mob/living/simple_animal/pet/penguin/emperor, + "bunny" = /mob/living/basic/bunny, + "penguin" = /mob/living/basic/pet/penguin/emperor, )) /proc/wabbajack(mob/living/M, force_borg = FALSE, force_animal = FALSE) diff --git a/code/modules/research/strange_objects.dm b/code/modules/research/strange_objects.dm index c9ebfc1b5f0..2215dec165f 100644 --- a/code/modules/research/strange_objects.dm +++ b/code/modules/research/strange_objects.dm @@ -51,9 +51,9 @@ /mob/living/simple_animal/pet/dog/fox, /mob/living/simple_animal/mouse, /mob/living/simple_animal/pet/dog/pug, - /mob/living/simple_animal/lizard, + /mob/living/basic/lizard, /mob/living/simple_animal/diona, - /mob/living/simple_animal/butterfly, + /mob/living/basic/butterfly, /mob/living/carbon/human/monkey, ) @@ -125,12 +125,12 @@ var/list/valid_animals = list( /mob/living/simple_animal/parrot, - /mob/living/simple_animal/butterfly, + /mob/living/basic/butterfly, /mob/living/simple_animal/pet/cat, /mob/living/simple_animal/pet/dog/corgi, /mob/living/simple_animal/crab, /mob/living/simple_animal/pet/dog/fox, - /mob/living/simple_animal/lizard, + /mob/living/basic/lizard, /mob/living/simple_animal/mouse, /mob/living/simple_animal/pet/dog/pug, /mob/living/basic/bear/black, diff --git a/paradise.dme b/paradise.dme index ad8654c4737..2f7905363e8 100644 --- a/paradise.dme +++ b/paradise.dme @@ -2409,7 +2409,16 @@ #include "code\modules\mob\living\login.dm" #include "code\modules\mob\living\stat_states.dm" #include "code\modules\mob\living\taste.dm" +#include "code\modules\mob\living\basic\basic_emotes.dm" #include "code\modules\mob\living\basic\basic_mob.dm" +#include "code\modules\mob\living\basic\friendly\basic_pet.dm" +#include "code\modules\mob\living\basic\friendly\bunny.dm" +#include "code\modules\mob\living\basic\friendly\butterfly.dm" +#include "code\modules\mob\living\basic\friendly\cockroach.dm" +#include "code\modules\mob\living\basic\friendly\lizard.dm" +#include "code\modules\mob\living\basic\friendly\penguin.dm" +#include "code\modules\mob\living\basic\friendly\sloth.dm" +#include "code\modules\mob\living\basic\friendly\snake.dm" #include "code\modules\mob\living\basic\posessed_object.dm" #include "code\modules\mob\living\basic\farm_animals\cow.dm" #include "code\modules\mob\living\basic\farm_animals\deer.dm" @@ -2614,10 +2623,7 @@ #include "code\modules\mob\living\simple_animal\bot\mulebot.dm" #include "code\modules\mob\living\simple_animal\bot\secbot.dm" #include "code\modules\mob\living\simple_animal\bot\syndicate_bots.dm" -#include "code\modules\mob\living\simple_animal\friendly\bunny.dm" -#include "code\modules\mob\living\simple_animal\friendly\butterfly.dm" #include "code\modules\mob\living\simple_animal\friendly\cat.dm" -#include "code\modules\mob\living\simple_animal\friendly\cockroach.dm" #include "code\modules\mob\living\simple_animal\friendly\corgi_stripping.dm" #include "code\modules\mob\living\simple_animal\friendly\crab.dm" #include "code\modules\mob\living\simple_animal\friendly\diona_nymph.dm" @@ -2625,13 +2631,9 @@ #include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm" #include "code\modules\mob\living\simple_animal\friendly\fox.dm" #include "code\modules\mob\living\simple_animal\friendly\friendly_emote.dm" -#include "code\modules\mob\living\simple_animal\friendly\lizard.dm" #include "code\modules\mob\living\simple_animal\friendly\mouse.dm" #include "code\modules\mob\living\simple_animal\friendly\nian_caterpillar.dm" -#include "code\modules\mob\living\simple_animal\friendly\penguin.dm" #include "code\modules\mob\living\simple_animal\friendly\pet.dm" -#include "code\modules\mob\living\simple_animal\friendly\sloth.dm" -#include "code\modules\mob\living\simple_animal\friendly\snake.dm" #include "code\modules\mob\living\simple_animal\friendly\spiderbot.dm" #include "code\modules\mob\living\simple_animal\hostile\alien_types.dm" #include "code\modules\mob\living\simple_animal\hostile\angel_statue.dm" diff --git a/sound/creatures/snake_hissing1.ogg b/sound/creatures/snake_hissing1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..17af4fb62e7368e213328ef26298cc547ad3376c GIT binary patch literal 46217 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%0Dnnzc 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

R1~cUWIGoA zD03<^e4K_S{JD>na73b9P}Kk$iHvG$)y#+74jPt9m;*^KT>X&<4Hxz>WRlR-kF z#ocP!`TZpAKJYNdT9fW$p|_GN zY0JoxgW!=SQAZA0=T`gv4*+xM}xMi>tp^4mC2VqymxK&!SIhFBk7rh=F%}HEWxe;?89>sQLJ+?nK zWfIcWVgVdSv(i583LF#rNMqZ7O{%)jPN^bZu?*i8!$J(gZRchA^TWH=;4Q7`^+rAv z!5ozq=w#W~$j_Syq^nY^2d+@u5Qh;M1qg?zRDc4?;W8sT3X`sQ`PKU(xccjp){WWj zW_)Jts`hR5y9$i*kMlMr$!Zq8alrnT_JB6CJ99ga+e(_Rw)?Gt%@ue99g5kTGV1^I z%=y)#I{&zuoIeuh?LJMWdA14?{KWweYvF| zyhXD2TsRi{8P;cfW*#50$oiXF*hwLFRjMJy2f9 z1r&_d(Vm(i0NnsNTmcWFYgL!e^_tbZrFU<;i6wO2{W&ItMpBQx(q^8!qGVr4o?fh^-W2s^njp=|^i(`1(on>v{ck~FfJ%n94TSZv)G zgGrMrTS+eCGI=NPTe_h0zdHBY~_GdeF z26bQHAgEl|rL*TV-GQ?X0Fs84)*RRX8yw0^v3Z$?AcK--=s3u|bJk!21*pum&~<~s zKx~5QZWU3KIRqjmW+H?>Anu|TNQao^Bm96ihltAoREb0^VXPdOiJ9hH>Of#;nw6{x z0oDv6?`jmbCU;||KsUO9&I|+IwFf@1FMLSEF&ALVj${?Z)o{?~Q(B)SW45AjhPfZK z6ADnpNOEUVYmDNT=TlFI=#(IUlM z1dcbZ<*{N+wM8msv?nuH%0;`G)de_8o6=?eQY)iHR~7DP>c9ewk0z!ad}3+Au03|8 z&*8dYpEGCGdu1+hGZ#6eg+x?a8;}?Uibc?utYd*4p8wB{wjgb*#rwzQzh4|iZ0)w( zw>c|iSO}Di@O)T*B$tyI~@xbo@U5S zQ^MBX_D**EK>pQkk;i=c^q~34!aV@y%PW7s)wL%_c-QXjp4IY4{~qrI8}hVi5z$Y* zbrqOayXE}-5>%waX#ckwLC=W%yR)v zWqM??k?X+J1wmXjNluc`EK)0&szI?4&|ZL;<3LJFW9ifmEER3O-J2Ez}1XapC$PZHi5M3bH3XZ9O#KK-l zV}L4ObZz&p)M^LHsR7Chji8mpVul4^?WHP`cnU?)9AS9i2MDr0W$~6~+M15IJXN!cz3P3w!dfn8D0~ZSX~#ZO z>8UUC#hUKlQq8D1vsnG~xVg`QV;%jqU+Jqa>?0$NYRPwM4zGK9y=e4tJ<#U?c^>u$GT9Sm zz7i(_pmhCz>##Zb%*<4ItM=zd`PYQ!#(r`YR4BVF+PJmN?x$;`brD0=o>lQFvi}^< z4_rRAn3X0zDVm|+Wm?44od^i<68&Kh3;>FwBRr)ZEH{+2V2M1buF4HTCJ|TWuWnz? zXR#c5YwOylI`+w*mr=3(rOX|HVfsD$)#tuvm`I!tC7v(LD@-W$0<|>Zi__np8okp7 zwtuvEkJ>qSjrM!@qqsjR(%B|@@yi>xwJ6nnJpXsT%Q?JcR{fbRmSUwuV4wvv|{&{MB1In$Me7Jaf zww71_Tz=}K{$Fh!?)Itc)e9`qLowSba$7`0G0QZ&NN5#fWMXxo9+qidN^`4+WJ&CG zku(7OsD7Y{G;j>T9@P&ulNydr!X(*wn33$y#>ak?a{9iX?<@WBC(8GZK4KO7;#5EW zi1_g(|4YHY2SgK?R;Nx;fJ3t=$WrQ+rqFdQ`@cW>ng#w)+{ z>PzIF+(M2kM!N~_E*-b{#`Mh)waj4qZF9KU&M!71qr|ND8*Pj()A&F(N8-gy7$#S2*^(2g-N@Sw*ppBQosV}e5r>zfM@{x}wa6ZM{X85j2a*CuFnrY&Q7v;Y>Uv_HSu2x3YCI z|K?|7{;v8foF!!tGRd;|49A{(6_Qdrgs{rU7(h5|1+zd!w5!w4-BvIQT%%oGz~*lG z`Ns7ZB29RX-kn*CQ_e>nqQ>?-yob|BxBJ28?YvO?g>L=Gvz#dsIOCFsy;Wl5Zo+hX zKtGzi_xTGgo{e@;n;^T@IW&!Sigfbze`F;h5=Y+1zKt{+M-pBF0n6hWPPU#2w?Zis zF@PXH5S$j(S=f+QSa`rnr*fsrRYl|gR0Rc8*3p9g0GxbPP$XiT)bJO?$?rVoHJ3AA z@x!n2qvD(><$NGIUx;$LCn2kN)T_MreNL~#qpz#6+uNSubye`p?DZzzY7VXeM91%c z|CKXi^nEyUf=|tBLCVP_EReahKmR~KXj_KSSGKw0z8|22W)%sq+hL$d&CYD;SG#)P zmJ+tC0Kypf5%S1JY<>4{0uR{)wLJ0q216Z|YF>G2)e;aW+aU|(e!VO<(P zTD&yjZ6PEf<~QW+ZAMN=LVrFKi67OUT32<5(RJmI3h(Q$e{6o#M>zVs({*qEs4pjp z_lM2>?Q#FORepz7E7da^3vG%Btc+If1^aVjtU2n5T@_Ro?X)e`u14L|(IU(WkkWmu zMoIf{^pwGsEm#~Asi{-W!JxFotXnUTVeFiFbBIUF;V`x@*>&uvMrrP>U z)nEj|UC#5V9nbE5-_FAq4pH;UO z9rqpxVaG=r?XisyP4#Mlz$obL7|RvtsF4>44f`2}bxTiOeKlpl4yK(Ld7wR1)_!FPre)8<~+x<`e#P;sh->((#=kKlsOWMNy_}8Ac{_; z39=r084YrVHxn(QB(!6J)lI5bb7D+~x{R&N%tob(Y@XWMm+Yt5?#bdkW~2zZneHti z>4mVNHVUpn>P=|f_tp5qD|r2whkM%_6s1gWx8~SVCfuXv%1(+a-^Bn**BX_qHm>h> zTw(HNv)zQwgxK1>eJq!-_ILM*(_pQky;Kah^QdRrZa8%JkaynJYdWkLhKW7ilSHvjv&= z0;@c?Wp&)8=z3h-T_me%VX)IDxW1La zlabOVLUGbq{r_ul*3a(4+GZtM{ztXh9@2=XPLy-AYXNN$P`H4o5?sK-pN>?@p**Bd zY8f)6iMclf>Pa|78b(r7=!&fMfYJ84)Xqii2wB|QBBfGt9206(yRz0aQ<)e5g&cty zI+3(M#mTf0idFq$%%Iud9#K-PfJusB(M-P$4M;Jyq!S8UYf4o&ZmK#(U?e)hT0&?D zC1l8qNtU+JELl-UVpuG-eYM_fzI1UY71YC(wUF5^+Fyr2fR-`<-Xq&fK$&F2w;G%! zJ>Pz0Hv%vb{ajFs=gB|{luvf7WAmY8>p%Qge3eG8Th^jo#aNd$KEp zoO!q{?ER*lZ}2Lt54XwyW?QQ)voz7B&H7UrPrKHeeOjt*tYC@H+I;bcFMd(_*81Vw zudOit?mJ`rE#D!mJ!{sS?_!=csi@gmY|m}2n{FfDgUqJEH&eRnh|o2w-q;VtJv*Ie z_d0;zS7Y^d^`%!RsnJmRrc4#1%vrVyvQ?j{NG0Plr3tat!j^QhaPbqRV{boUla{Csuy`+AI`cYkmFth>&A)Zj8MMs26N?Dv12?@CV_ zV>Zuu*-xRzZAogeou2z4UtcM6_uoD3Z7iNN&hPZyjeTf|Hv^nw^qaH5 z9y8zm$1a~?mouvO96!Ff;(R|CPki}-@!X^I(_2>Ay?E?bfrHV$y^a6zgWN^0#cb03 z>)bwkbbfQ>q{NVqRexMyyZXt`U;Ux^UA*wh;9}69V}-@oo*WN;P0w zd5$&@{&Oq);?iet9EkSW*S_CXKQ8TGp=s=u@80KortT$G{)ScV-S)S>w&Om|Q@rty zc8>zJ_+y>BuQA;aLzvU0^pdN9lHcqPdR{*Q?|?!zAR-gZ_toys7uHEK3_c`#A%ShM z3k61oWG^JJ4R)cx*jRwi1G~6cg`?37(sHk+dFa^q%5CjFb<~$vSMUAZ&sbt>m5fNW zJ1&u~7i|^`;|k=^6nvMPk&pHo+Unb@NF(G>wKv6*iY@1&QSH(0u?-SJk;)^~Q4twp z2{~KUL3^gDtc<>UFD>s&c$z57n5S8zT5{*Qzg4XJP(C^U6CZ> zlB(WbKGf`bhZ8Juu&N2_!M&SYul-J++t*mavRvJ0nyv=Ygr--DY+oh_A5?aUEqqMoyl!nK%DDc%Kh7k6^Mhq|kX^RIhJ>NnmAQq$0CLP;6tJM+mzuweH~z}M zz#~j6+vS$OO;qL9jd^a_r>=Gz#ei%1JFH(mxHlcSZI5E``$?>!&$^FOJ3Zc711p8} zm{n3oT3B=%&GG6{EoQ4lKbi7nw4>W`Mcq?#&H zJmiu!AmjV($SpbsR?3`DvGCxUIt6}n*UH`f7aJBPx2Mk=tp0fKBBg@6cNbDO^Ic$k zPZ|y(Sf^7^LxaR@cDbsZ*y~mf7wl?p(VVN$rlOD^YO;S(fEwlM1!M%69CUerwHk(!H_fd{_N;&Ru6| zqlf((ryXq@^SMKtTy@Cs64eq6Hm}=R@~XN;K?tIk@HD_nh&oPGiNFf6CcqJ1+7SU1 z6ED?NuEStlCpPz?C%1#_Yzsz^m0KDrWkoOj0TuXy1|9|908`!W!sGxtINUU zN5bOVWIFI=?CSZf+$nL|bV_k)`WON>KfPm-3>6yks3N#%L%|@b9FMS10lww{z9btX zAbFwOEEDTXvM~Y@3*{l5b#c32w25 zrdqEezChc*&6ndUl~{@>rvmF~5Os6m!{eQU%(V-I+Ly7Qj(cK=x~gC!$@!?YN;Z?L z7<*QSIeE-RT}`ZsMk&_ZJzU%_rS^4|jS54Jwn@wilH;KV$7oLkF>w+m_|zx9XWpPI z)w!=!Z7O!wS8P2C3EqQMCtIDHHR+aI2j)JqYG=yMvreXGUe7(BB9C7DhHi98Vq{_4 zF|o{4d5nnz1H4X^ScMWZ21Xd;IxN1a^}esRQNH_$nyt@RKHF%=N3E~4kNlRF-fXJK zSz4_rKqW8$sdg!n;Obeu8jH;E>8CF5@>31p@Z|3c#vh+Qf5CcYOjZm5Oh6%I6@-mi zr!L!VHRH{G4h8o%c}KLFKI*~IyARtzs9V#p?OpKtpEJ&@A_k{{>S(G@cno@NhbBFrC<5K)(M>K-BXwY zTlnnH9MdwY*0VU>U+e>JqQL24J^MP{)neKAX2!4fDx<8TcvjxRX}#=TrZI@J%B}RM zcUY0KEzV}HL6g$A0Gsny9UeATbw8&COtB@O`D#yYd7ahkt8--PwC`u)tr?bq*^Ig+!*Rma)A zK7X+ea%7hADx1r(q^v)S}bcS*ho!uKYM&qPEf3<)f`7_ z@2YZcI@li{QRcoCRkt(-0JUfi~AaR7QKph6lZ-$f6X#pc29x1TRPLzh#(X+KUk52o@PQ1&Q%XC*?U zN}4gLc_rrt1$#roBRCyLo^39)KF{66%eU?r8Slh5BS+&sR4Q``#cnuoP4e{$S2f+a zha2PP85r*+XBpLaG|A4ztjhs(KodYa1EHu#W#Wat$60E(a#oJCer{^92MakNb|+BT z+8AgeN7wknFwzPoCG@lLbQJ5}E^KkvDyeqajg!{<=%dr({1?~VW6x^Lv~|~Zm0GLY z1%-oB;p8n-(O6`4g3poc`9yoNz`NP1s zuZe|PEY?2ff3RVP#aue!mJ_+53F{`Nfra%X=-t}j2m!On69aO`C3H(Y6c8};XvqSm zU9(u64OTUFN6s+@7DOC2%2Cpc(L;9!3sj3qCjsV2sx_{(;M;>&VTY-9oeaZmBo&;{ zj9U`JZ59yh?#w=SP#c=8&`b@w7yG0~ya5t)VIa{R5`f0wB<4lVgBlSS{U8((C)Hu6 z?x^hZ;JKS)3SW2qhMUeKSEjpDFXhbFW&GNOp3I^5Mxn-*t4i}$b|VQh#8FJZ1rwzn zBzub>atL1R==OqSZxKWe(Tg43-T)?vE56(Mg;9e*9~p7}b! zH_9wu6pSfVeNc9NESKWX)IWFi%-gMVjtF7lSN1GWs&7vO!r_Fw-g?!{P-#zSmi5>= zNW_$SF|MN_J{yQzb`v^5r{1Yb%dRCm(h93rBmq#BQHq0PK(-|`d!8e|@>LRBX$DWc z^HIrJ`>pK!^U3&C3zMvTb{?ydjqG)%Yd<7K3Zr*d?lJdKmdeqefmP1Z^ji;akbJ zd3xHZh_^+wd7*=lL!u&#C3i$aj11k?C|8Si)tF7X3Lr3mt)&entkugP$MqdjcTUq@ z{JO6pli>Je2`CNLB1P#}G?q*4&m;Z|wVuydr*QQx%YQH<&r@&}FC}+byOf)@r!%M7 z9*2OtKQ6uNLshkSZL{lA2$%3qkIwj=is^0-s+2Dr?=c-USDl9V&dDH>gq{s~OzJc? zAu5?ltXfH}zoCFnwk#zv5_&$9!-XUF&=WD#WwZh7csmU;&mAeM>fEak8w@I8-?nwt zyv(p8rV3yb$tvVFPus;QQo}1$j-$*~Xs}Rts=DA)69}X|{S`vGx}%111Z@0HE4&X! zC-BaxQg~tX_U^$q!}JuH908GsTahDmNjQbA(*vU|R8P8X z^k_)j%~eY&NT6u8?l~u6)K`Q{z!l<2BGW(=T%dAtmEO-9j;(2ih8aXxn|*1j8ih$? z%5ZU>Re+Gr%1Ho%tVJZomrU-A03l#C#6%-eOCU$V+>sht$Q47pxF*(x@z|KjgNo&K zI3rjzpqOje0Se3>ZmqzrY$@F>o(4#zK`A8T8Yl#mL>6-e@am!wcwto0GD!-UV6zdX zDXwA(lmL{U{2`ijLz{i~$hD~oDB9f(rXtlfJI;qt{Zx3*>Q*9?o;n)XSQ&H#zJ=kOZt^E2uVUu?y;W7 z*X9$Fp0DS&=Yxd&Q!lUX&d7i$$Bc$6X3~Q z%cuG!zoq`VKk)`+>9`Qnm~w9Ql+k!(OMi?$%D`-Wdxpq(?5=PUZv$?7_H=Bdx}zH- zK^noz*h=kFDV)F9r{CF=SaR1qP9l}l7Y9E&W=eF}iV(5to}XuHu=}@n1{9K_rJMpk`qa zU*a|UV>viD*$V#<)fA?^PP%B@Yco_N2Hp< zW1V@-b5d5cRF)talsoBGsp0hMpyT;2D91bTYs&N}6f`y()V3Uk2f6J?S+kicCvY{6 za4d;a(JQtFg8*7ykO3ngC9Tzw{OMCEkFoxVpKomy7GV)n7wi~W?nYiewXfiKImrFC zOScN0iR&`49ja)DoXr!{T1x=qQnWo)ZtD;gxjA6eE>1XK<+hvtKJylBj8=S(CsQfx zfLZ}PF>53kBN}=e4$^1gR znZvAsR}e(3L(9yFrH|uvnd*W6@7v1_d)%T(4S>CNP2tGRLS0Www02_#MzD(UmB#({ zLTzg89C08=M<532EZOW{xjxF-fANQ|5b+y#(9QIZ1BUCkLeOHTpaMGCw2bR0MF%&;VZF;&k;Q1s|m$ z`ZLffPpP$1ee~YU(oY%&_zYm4Ck8cZzD;xBn~RM$h7XH|Za6PS9NQdH?3@<9@%hFe z)5x8rjrLelP2gomqSxD>{rX1z^7EHJ;TQd-z1Nm1UQf=s ze&hTqd&)+S-3W5dW-?KC)omdo?6x>Z$2|15%gWjXJUDsye&_Sk$FFy@Pac*ZC%n#G zpRJN~_1Ds$XBN@BY+Zg4^-g58ABE?LS@s32ad8S+P-QqjjfuTx^DF=k#6I;X5D7uh z${0J_H&x!rWs~Lv2>@sXRNX`fUTzAb7F9P91TQ-cuT-30UOT^aGW62dbG)_YhW6(7 zD-)B$*^Lx86&U+g5nbIkD$Zr`ya~u2XSMsH)tl=6fcPdp)9!!w;*-_hL*VAYyuLe= z>hcPam71Ua_)M@AWwl?vwf@??AE&3DEf&6UQ2H&uHgVgkjYY@n4?o7s zFpFGbV*Qk1fy2(g>uP}eOaa;>Ys1=DDEmrudp)u?LYpk4KLy&6h9L4^=D6ptg}ZD;o{Wpg>nb9F8Wfo z1^P+;7yQWI`7Qp3KmW4-VYL7Bkr7IYp=#<+t$Qmu?z}XF)16xr`R1iXh?Ax@UU)FI znS6?|a3mBvlDyE89ru+D8Y9QyQOC7s#XO|E(%kc${KSvvW54e#EJte@=E*cgXX!QcFZh$C8B_bYH3EG~s$+Zx0mQtA}muynu#SG>VX)A2hP1%_2Zm#&aFN2&T8wc_qXqc z^~8QQRZ@CF(%2<-H?rj+6l;*yvn6gQ+VY^L7%3BvK2=Jkezp3;N;J zeWZ(TKVr;(JYFvQqm}}9!E5%1#-71#V9M?Yp-x*@4#^tFzk60+Kh~PN#LsIt8qSVC zKk|>3e{v31cgZs6H~$BBj(4o@dbjhdCY^Y*xN(`H%Rg@ReSN#F)-!VQrTViU7oUzB zVLE?*)*Joz_l?U|0!5?u7#xpm0~)6I_G=sOde~Bn+_)wp*ACg~^62sF$BzS+GG^if zypMDwqGyGuX}9f8weAfHYcWJ?=22iEB-Jmuhm{>aF87qmLJjw9-qZIOBvj>8fbB?+ z+pdT9J){x<9&)GM90Itj)QwVe>G{h37q$GIgUTIxU;6bP(`|S6@}qtF!1?R@?#^D& z_{3+s-QK;uyuZh`dY_bkbE|8u%l6s*hfld(d5z)}XsUX>+G9V&oS|b9GE$!5d|ahF zZ0B$U`low0&l70Vs3LCAYmYj7Xy~ZLmdqgR95#7nkPE7`iWjAEw;6=z}dXN z&UX128oJT|;{gv63m?WhqNKrKvX(cJM$y9LFbpqyPH+q~ps#!>ue=1sDzUWqWJIBe zqN#1i2`w}!O|sYpffDVK*1Cfy#$rU)u5++QAUU_r(3`ph1WpwRDd?X2DCAhnhhVlk zl2$m>hai$?4Y~w)X7A55Go&)0dV1Rn1+u_lf^cMrDKp&&hruCGClS%!L}#@YjI@S? zS{9ignU}1Ug_P$ZAqyjL-UqCCz_tVM0?Bpi!tvmLBIB&@oaZm?@8UP>x!=v}_T>VA zEBE(%dvEi{p5;E-zwHax8rQu3c0BTZh93;ENe-GsbiTD0Pze!xfcSp_{v-RhhS@@J z7^_eFkL=$XW((2InEJF2vNUo>;HN!fY1R71%;nKHx=aoC#F=_>SnpYfEVeMpwWR*E zeX)7V$C-0J)S}OtM%K-yo@MFA6TTBiua1*SSeBfvT$V)OI`Se`YIYARe zy65jSrXkg^&wQTAWIFeHN<0LM;%JM!1G6ncv|H?ZyQ*e%PA_MYyCG7m+x_-$wL@Lg z&!+5%bJJsebeqtO-i@zrq@H@}yDhE)DmpO)i+-I(a?$ zuyVldCQ7U1T;8%t(-a6R{npeuRw z==1jUIB-ynQLGu9S}+&2R*sJyZ+p=6<|aCk;5MDJ2fr84f&tnxzJB2!8o*wTY`gz4 zohkrXlYTYK27h_m+=I9C2mzFl4V$Vb*0aYg$dP0%b{rt=8^?Y#x-RYIHc2hctPMZ>z7+LPJ zby39b9Qe_B!4hpmwK5(a6_kx|rPikhXPtSXus1U|o(?U_i#M7gMKB&SNH6`{nvk2I z3*ZpY3`#F<%l6OGLjYdMeHV7ulo`aq0gK+#&#{oDWr8)QrW9;GMlSd!O05fBORpKG zb{bYYz-P6wo9XSkT-YtzcnGz^TT(Mwash`Mn}@Q*9NTj|Km=?t6WWC76r5!r|2|nk zRHi5bS!u-~lMObX%`?~Vwj^M_QbS&qe&EMM4!A=l^Jb#+4@jG;td)!N@+uL$juESa zIyh#xDlzN+U*z7c4Kz4JHGf1!9xlCwoYRLDa+k|i;t~EZO_O{#m}(;mT_N*@6nB%Z zu^U$CrTM$LwzY(K6+Iqz1aHSTjd`_TeFlYloiy0a zL;bOu)*Y$d(X1fpLc7t`e9U(ody=`o=0 z{d~i_r`P|{lh#YpQ}Py2YwSl`Ag8o2vqt2v$@Dx?mTTMi#JR=+cRih5y`SV}wr2il z|Ekl3DnYyUM^fp#lMY6S?P1-2dk}T!(G>`I^mE*(jLk4iop@I#W;pGroT)h|n0WK* z^p3n;7jbOgc%?U0Q)0D6cP_SFQv0}V<5=%|-89=l{T$CYC2oA3c7J>v>BYb5{FmkT zx+E5KQ0o`z%s+O5-OGQ^diQ~v(9ZujJ^|f(856pHkzsW6JwH=MUH%E4yVHG(_j1b| z2`LEaa&9|l0JtG{f1Gx^U_QQc)5901mFMGUjJP z%}3$qQ*9h`{2m-{lz3=vr3YbEj3WH9`t4nRkxuskhqSOMhx4e2c)&yG+^?gUeQrrO zX~OGdxn1k6oTWAahYIN>2pt?BQc(r&h@`4Qj&l$}iCiNs}&$n>{aoqiR_~d2snLNu0Ay3lE zfmv@C(p5Q<3g|IUCjVf6FR1}G5j>|6dvS{NPtyx{51c|*2ea#_>=Q}JHbylI=sqY@}s0FNEJ zRJj&&k1#EOaKR%A>6Eu>c-_;Mdn)HBb(go2jfh#q)K`YW16gk1CcD8>TZ^s+tlyxm z*Y~#i{T^VUVATltVP_`{ngdK|SQZM7(f)yfqq9fvSvf&(EqGE--b)zQB~_m=rg1NW z#6$z;e}GwD(k{vDKNUT4kQvJr;OjprRDwzNCx zGxv*Ji@(kXs$pz|UKJKjjFE-2?_VBGn!FIHVz#2H_RR}PKF@9|N*hfsD@dDZJ_0?D zO8~!IarM}|JG*T@zcfv)Cga>q`?n${_-j{jhtcYalZjbmuJXp9Wp_$_>gD#CuW+3e z+JKPK=WbJZireusw?APqc2NRb8}!d%O{Ndlq%uJMBm@LkIdSFS2s^q8x^oW-aNwGs zAG~x>Jt3j!kIGbc1!4lzSbQ^AVE{T_swo81e829(LbZ5%)2cc>#?XC0;p{@K^4(Q6 z+lu=Ot5tcb4#Vt6MYH&}Ml&_JX4Z$Oz)Zq=?xA70qFHHiO8n&hEM~~n zQf!fOdm%SlYwn<0CxCN?oYS2_=dex#i}vJHZyMz2UewIqDfSX#MiCL+GKE*t#qd0f zaMUy~`(uBc)w*4SG~O!S0+a<9L>=ZI@atXV2fRYOzMa=oY1A%j6XoS>sB{$zJ>K3N z`N5zGn4t%Hu+KT_Rb0M&KM!^I#Q#DUE(&IfuZ)l@r0l$_ z56ENCdd3vTeI9gpeYZak|9BvhOW9E1-_B)OZ@!T}>bGV+sF91UR*t3+Ud!y{Tuecb zXm2@HvRw?~nwH{TIXFNH3C(z{Y3pp5wbpvO`z#xdIWMoDxxVJl=*^2%yT{7%ijMY+ z6dwI?u20D`X$PQr7TByxK2OK94`U&sXO;a&=`*l$ykXz7tiA&TyohNbe6cMf>)+GA z=`E{=j|=nQIq!?{0a6TFlcV4*g6pp34(qsB+(IL65{@n}@#afI>PlN$p3c{ZXuh{n zQMpuI!isNVT6Mn@ey+F4X1e+HP--LrJ@^T=DweuAH@K>-(}>J{z1Os9iF)1Uh`!d> zrDq~pxld-_?`f{~{+e3+vX7vtrRJ%I$*7-XkoWT@I?6D=efP85xd)s~+IAj&3VfaL z=EkgetzodEHbvOeCD_6rqBr@&bT#s#&{mT?9C}x znTj#E_&80Vb=65BGNd6H;RM+aYp8;nvvs{Td!Yn1E`_{LicV>(#bDC-9{sWIcGj`E1I*(EgZUMG|FPdCB)t)(K>8{jVarV9sn&fCh z=VqW?q8fZ=wHF|F%y&{nS7!*nenAZgz%Jv3+4Ru#uY21~2wU3dQW-lO>D*P{_8qKk z@j^44U#E>NjtVsSwQpmJTu3@3z8!vnH3z!Q3XoMm>|cQWFxkxT5mw-Wkf(}I@&t#1 zjU6I|UDklnc2qUS4#w5+AS9C_S0z6_`aIy=ixHpi56* zF2A$WQaS=$5E+kY$D829R2i#E!Lll!w(h_mV3ZX?RgKR{^|w6l^T3PGfKH5>EhdiJ zmD-*dhYg`7b#JXJsrNJ<+I13|*79*=Xs1X~i3>Wj95I<1hLndK+&cm;9BC5A3m3#E zvHKhnT-XM@y(eo5V>wP*o~osMN-`cQ@$KAny=Z@i>c%T=)e$|6hXIZ;;!a1*F*>2O zppOn0GyHW)igIm^2nPoDvrT2?&Giz+{l|ajEST9Y={Je}vM0CtaomA;zFu9a+70ww zjQD4ESpM;=(|SYeJx|aJ@jJw0G9qI-2ibOowz*N-oTBNbh(P&$t!_>);OScn%uwxm z#efuKgtKEjf5m@p&^Yjg?iJPlO3~gdjOCiyI#HGJ9^nK!!8a>yOrL3lV&X7?=W(_~ zo&%k_ji8X%smAU#OpE}^o$Q{-qwMovkc4)%)8_4J5c9un8C#9oEzXNJbF&_w?KuXr zI&51IEgbz691aTf;iHNQgB<3b|8kh(#wpv?62>qu$6X40(h|ZEcz*>F>2bum z;=dmk5Z(nlus3XoTQlBdST8RfMuuBd{cf;d88w*X#MjZTsoi(3Rkmk76v8x9u;HSt zWe-sU%x!^$_ORoK^`P1j%sqH+vvXiS4i(L|4-w`U=)fp}Kx)KbRk;$DJi8iRe#%=G zI^4I^y?xm%tF-v^Wh>h-=Ap;3aIpVPp(?1boq=W_o8B^CcB~E^l7W3U0I$*B9qu8J zwrm1}3?4Ed$UcJ0Xq3}HX_0X z%dwd{-Lg;B&OWyFD%az4?1qX9z!K#CipK z7y`HwOUHMi#;q~lI9jHM5 zvZeC+=nj21a9!r%*Y`mzuL+Vyi1V?9<=pjd%3o{$A?Md4V9ji(AC{>t z#_8ymyyuY-(@G+OXdGC)RbUTze8L;MEBu*Ymoc)Ko<1jWZSP_Ac<9m${jfS-RKFjr z*|Oh;u+(i`p&fa*Cto6iXrbgP5slmcabZncHMen^gmKDEjp0UMr#ym9$1|x(Q@z;c zE!G6p?g~W_-sD(?dloD_a%^MB+HghTiOth)+8Wz{7j(Y#9%7V5H04X8=tJap3;jmW zG*qlbZ?B#1CN`c!3VS6R>8A2w{_=?Rc@p<^+J#C9QS^SJje0 zrAYFQ3z?WTP#r~ew{|OadYsfdBciMY*rbISPX^|4?I_}s?=Qham)#lCP5UtUiR{J1~g z(5`zw#ZCwqdA}Z2^@qSqm@BcYCjhPclV5pXuP1q5FCl)P_X1xZC%vD{o}W@XpY{45 z;wPVf@3-#pzL*SpmGj2Iki;hwu|>dH!T;P?n(Y>1r;VviQqD* ztgXLsdXO-4#P`!nlBo~xlWYT#bV$q#Rp~&W;fh$v<{x?SFm%9v&*DABuM`23oKLMs z3-%_W-k%8AosSnJ^E3?YPbzBWCP^E#_jPEm^&fJP$|4Q#G9?Z#+}x=Iqn*#0o?qNe zV=(6AOZ6c>e9qtdRjc?b)CqqEbKiJ|aq#%EAhrxAgEHm9X{Y(yBv>)H*z!x|j!D`D z%I3m(xCqjkeAnFvhh96Ds3#?*L z2q+#^Dg6ODJT)klkph)wbiCk%tAou@jHd-m;*YH1cssE{oDt8;I0Myn7{ z&;tp^22s0|4X^nR zo>lL?;BBQP&Add#0qOnptf`0GTk2P_F6;@S~zoV4^UiCf1f}v zC*WK&7I?rL64R_Ec^z)+bznDpGy5eP;tg%>+Nwvltt1RKlJA-IDs_}#x_NBHbwPC- z-LctU3I`s8J$ww@XeGDJZCtF##eJo5;^8^ps|9HZ<_E+`v?dIONDMjFqlwy_s9Y?! zbYEo1=PYs|u6a!i@4}O7vHlvgUdL#tY=Jf6bQjvesWr)1rbBh+-`m9sw$D-E-E_b2 zILb8&xLCN&z0eHnj1uQ9>J}>epn+T2va4ay+L~-sjb2M%OC8M`;sXEMgwhPAh`i!l z0FaCuHO)~@Z#f|5nE!<n)DPllL>}~JA(KSPc7c8{6Bm$h$%_%fb-UoTfy2b@PU-Y7e;P&B7?O^cg7G*i znpb&qb7c@nrb1AV|E@wtk4Nxt$?%tkZiwaU>&x{U@oxnFht#)}`{qAM_YLPaonaBd z@kL4L;h9O_+Tb^|-xz)q`;G87yx;tHlKC5w|2<27%Z<>Oq?FLG$dv4FW$K&%4ljN4 z-{GI%P6FO$efG!qUKN)lw7^}ZCu zExZPd_i3`nC?08UB5=_f8eYb_Mvdu|L*JZn_kr^q-rWeDNkR)g@Cb^~sh0eRll&qg z^TyL1qiM&tr1Dj&e&o0^uWS7^d%Ik1^foIrU%G_5tm2bFyR*hm0^`G#-q&I5S>F%o zOttSePf(Gb56fCE_fueJlZ&6Oyl{wSCW_%RBVNG)}Jyq&L(h*~%8jfgsY84D}f2f4R@h;b%% zk;yYGWexg$-Jx`-SMLN9_B(#uL&`v*Y5O}sg8eK-tN63>%fhgoiK?n({*GZ8#lJB0OpW$szyS8vCckX445a|?3c&P9PVETOb zySP=ZbfUHZHPVSUQc0Fe^epCHp!s3t{woiXNZ{|+$;%6ndnYlsm5@*Sm0q*V#)<&f zgraa&b0sJ{rc!tp8nLqcGsVI0`g}9d0P!l!*E>xH7x5z85!~`>FpHpWFVrg;}6rT zI&Xnt7a2m%uR?0$RbvfFkl>2aGo;P7?@+d16cvT`!y9#25bpNV*zN4E{%~cs5;axH z+re45g)U-h+1`6!!RuK50Y8n#tvMuY88Xrad}{DTYPesc*?5kg?~FAs*P#)!f5u&8 z*3Fu0VIZ~9{HfrJsB|?}z>qIAbL)-44J`N-wLCG~PlH9)y~MvxO`Yh9iOcX*&z?_1 zHme-$e_3%IF_l!Ht_v#e&`>q*pRuceEUOA`s3#S>C>WL1O_Jo;x$Cb+o$`~CMz139 z+#1Ck5**Z;g;2FbBhekTMJSMq9+A0}I#A&SrtoJl6gBJ!PCtQ`<^qpt$xr30o4tzL z#R$IN+XmPzantFYQ-NBbNhPAjk!#rG2ODBcRyin+Su)8ceq&>I-^nAf*t$+xXyvow z>+{hIY=pZqTTgl&d+QnpZ*xSsczf@D{2^sAtOt+kN>NfK{rYGdFquAyU63BK`!xT$ z1Vmxk5jT^sx4C$*G7Eq(1Gd&P$Vq#fUs3!>@bYhOCnZhb;>t!ri`X9Y){d4k4A z1=@{{&ku)SEoqBp6e!-|RTYJd1ZL$H_rgkIaf$2CHKp!~8*C{UqsH;DoW5;|mwelI zm}=MgUnN3%Vz+e_I_T%m4u(+CnVnn-K0E3>?36m~YW*WUAbC;z7#rq}-qEpM!=E~9 zJk1LgEg|{yW%!aQR6R<}sq;JolaDxKxNrEd(k*45vsTXkhPFf%em769PdEO%O@=!t z=#Ef-N17Cvrm01~!{_m zfkE>%EB1a!8@j&RU-q9j)V?>Qrm=S&Cp6}h`cbZj6Ho_~_lq<%MOZ`EuKcb1oiBTH zK1t5&e}2#3*;#e%@4gQkixf(cu)6Bw7O6Q#o3L|MhP5Ha>p=rT&Ld|sOlt&!SL~FZ zvQ3y!yFdjNN3-^it6K{)e3jG!C|XmO`b-x52`sRR!Q87PaazmJut!dI%{neR-4C*t z(Xs4vXiKZNh(m$eA~%BRB;9T>V&+R-2sgl%n-elB#(fC3$#b5ljt-&4k-C5HR)wQc zx@j-vsh2yK{(Pvv&F^%|smI<$tV9HDXu}37hE?jvb4aLM3PUs(v$8$wt>G$}nxwFq za7luH(G6Vf+W8dLt3exVV7Bl&UK8^$=)FUoKtf~OF_CxSz9#HS7YU(qp!A<0bjJLk zv6>^_R1A(Ek5onW-1i@&M;7xpk4FWFZD(ONklXx=hTzVo)nmNQHL^Dl_T^-_l#A>_B! z0#M}Rx3LG;JWlHU=nE(cooxmMH(v}GF(;~`4ESzXCV_bS$@5gTZrM!xHr9$Bb3hvZ zm}y+{ezayz?mbao|Fim4HXC2Dva`i{fm4|& z$0w=LaAQdc4dS=d6u1tL)Y*mbVTFeJ8Sx^y1iOV94=H?nbfi7GHJUc2$_8HoOO^q$ z=KVb18>jSm(1sdp#U6>|an?c5TRHc??K>kTG3)#}NKh0g*+M9~c&=4chrb4)EGoy> zU;Q~xsbz*NoXcz6*=K*_v7hiJJAe2!YI;ZRvmPHlzr?31IQH$DYxS<~h zZU=xHt<`|gY!Oe$O|oTsRlwAdQQeTX|B2xavXoQndVk}oIq88_K}w2c%oq` zV8$}}6LnOc)?yc%hIJc3C6XCNHCGls?3Usk`xe<|d|EavE*%6RoIxKKHqKvX6bw!q zQxLvZDK+$z60ENxUpCbdru_Pj9~J^zUE#Lov*AzWgL?z)l?KC)f=AW-v)@i_wb+wg zN**R__<|sp{{}gXM`H`4Mj=_BWki--~RH=>;kR5<4Q<6y%fF;tE4-(H)3 zhhH&wm1u_g@s~os*P0F{uSHhVKrp+Tu0PqqLswb)a3#IDRATOzPTlmH8VZlUle&TA zg=IUE!0U};0IPnV{kYb*3;K50nPv95Pv*bKf2RGbU|c4CT^DT@S-H|2UgnC4(>5fC zj*se(c%IwIa1FiUUu8bU=u0I=k{_!E5X-8nw(wD}bF^zJuY<|Up~cnAovZ`81w;3P z?jiUgxkwzBcsQ@aNP!oWcP16=mb8`G-B$A2!|s&?w5e+i>trP4mChIZpXa9AL&Deb zZB-X&s8>s4Rl4xNLS~J;xPhKT!VW2ST%vb4wBzo6p=}u8HK!_XIDjKBpp}| zHCccrTMDV0iyawcQ;kR#uzM1x#O)Ca6FjQBHgn$EU(tsi8_VESKZ{dkMGHZY4av#v zcW#_o1Q+EB8@-eG!@*OrPF@a;ySInlrs5td`w8=gcnVAJzc{i( zXTs`@X_Jsnm>-pe+L3@!z5@&e9?car&*?rEE=16z-jaVNs0HJ>Yot0hDK-s4gf z^L%4{B0*0|LpR?b~WAPOqsDg+_a&GZ|+q0$pBeGPGb(vsoE1;b^I`QT9F zDFwHoK*DH4w~!k?jHR2CnpB304*Z{5yi^L&mJh0++nOx6W$kxTC`u+J0r8)GIQ_88rne;XxM8}>s6RAr$RBi48*(UDt4xps3Q%I4*x!_$UT|8SAk zdy3R}zruY&^)5b{vRB$#PU^CX^z6tv^kLDB5L>f}!?65np(_W=21HU(si<+Q zssx)rw_}w+suqk)vCa=^W#%|{2W8$SZqB)pZRps(4FVvh<#0XyMZrk)E#);*6tgE! zittTnQ<@sybAQGkV{ohLPFm(!+M)w(kAeM4uH=;lDf*ZqswP?WbR^z{6TXn2T><3M zuAQpmopJs)p6~r59HZ7TLuwk!%`)vNeF@F!_*AO+WZ-$&=aV%?Bi0ScGg~FkK;N4^ zrgYeaHWLY_{c*P=)?y1v-JLleEq?TU9in$u=l;lW(ULl)bQmid9PmLpl#0;bU_<-Z ze`_i^2v<{nG+NXaqWgMf(FhQ>-d%N<#pvBVyZ#VbbzRIoVD0GXohK~q{P4SV?E|u} zIHz7uU2@wwe|yqgN7qPv=S*II(^&a_|n zyXIbGAKC906Pgp(O2d7G4kOyD$3;k68>F^>mpX^mf44Y*ApssytIlc$Tw;G_pHmsI zVEPv#YhI?9)uzsIlhYkk-xQaC=WD!QTQ^(cqG;&C11xnh?FoV+oWa zLZW`#aawasnZ43Ysg7`S>H*k)m)>tzt|+HFL6|rqzfH)***YZp>pv2-t9N43YPnBFC;SDt# z?}EcZV@aZ~tDrD{L*H@+wcdt@wMYa#E8$NDRSUFTq_E6nv?}(2!SoS+pCu!7P!@6P zW5D$)>UJqvt;3E#&=DU+aC9D9aDkEmGp|aMI7$mYVKaEbO-f!(dmK8c*_7LEsv(R{1(@r~Wn91chwTi_bAAr>7M+*YyiH_ly}EJ> zm3I35wKUQ+WMkicH8FYE@TEIs;?9)oHNGAOu*MW6|TZ?YwQpnxREVHiM-%`DE0ADt96kAa_5~`85b7xA-%FnTy-v6$IlJblKofeS&v(RLYKvV$$o0B5(0WO~)Oosvpg;3mOgb zV@5P;+zbK)83W^@&WQr|Tpcl}`=dX6eK5WvSTZtEya}to z7}v`kX+ZwLVX!rvCKk=T1eH@ag*q--Ryju@;UtVGPt))$hWLtA)) zeHyW)qYR*ZkHndQYroO5^hx&nelwMOaqqXN!}`B17x7rPt(nKtk&hW7_%ELZaO4-? zSM~}>{dnlHuVj8@yEG?I;5LGO-3;DT3x{q;)SH>C!`asa9sLvngAJWoQcV7RFkMOL z2xE?`;m)QSlFJ=Enp&|U0(`>XtilD1%?6v=G5Y2H3wKUrt$;tl*Y`&d5Rt4V5tYe7 z^&Jfoaq^eyo>nRmp&*3N(Ua7y$j(C`g+*(V8mV14#+(2H7;}>!j@b1H#W9e@2%_^@ z)Z8M~ecxgBys?ZT9r(CN4ZImF2qdD(Wnn2^ay5yS?1Z%S*S*KP*k}fF0>~gB-CU<{ zyM|jz+7SXpfE!JKWgw#L&{#A-8I4|C;LCzGjn(zVvYitTJ}E&8LyPq-ooEdO1{SA` z*IyYwU4Lei=^pyi_+5(hE{GKxB~PHGmd%OZ;TVLU0>r<#L%CM>d7FJf^;+}@_^Dk( zeMi=@sy;DztJ_jEPI-EEFachy`YTZ0+P-wAU?-%aUClAr(w8dY;o|1&Pyp{|br8iM zDdf%8ZM=+CglD*yDOo@jVW3jis$2O;QAOfPPF1~G6K|1{8fGi*QdTXi>aUF9Cr4hq z<}*0}dU=ooAe*RF08uIhz&+!1IT2l6s^f;Zx@>4U(%-n9JtVkwd*O7khc1Bq zB~y}K^$9L0j#>-aVD;V zF0hidHk?An=Y#kkfuwP(3rSH>yh7o%3J>o(${TvEso#z0?`Y2;(7w-~nL~OJ0zdq@ z-accnHk>_5IU)1kz}`=N&}ElX(i?q0<7mWyOQ3(7eFoI=iYT|H&UkJbHGw-^C(l2t zcfS0l!QY!^jy^YM{5Y!fw~!j=JkBH4MeQG}o1Mw%;@rbwpdPV@xEmGB5@ZBU8INOY zT~$lzKsKxm`RD0XRx)b{I?y_A=dmY8t=3sI^9`ii8K=!OE}E1$-PdaM2tSL1nz6)! z^`cm*8;hT=O1_j^5%xmrp|qpyeg0l)#uSq$Q;h>#l<;h4&8sK3EN*bcwxIcu7j8M% zDQOI*DUv92*f!K+W+M$@vY>=E`Kn0GYlTOua?r!ueIdQ20#b~vX>oiUB?l+-brq)2 zJ(QSyT-gMrQLh!jAY$vcQegJe(e_M#DD18@#UIyyNw^7{k&V`YPq3x;*PXP&-iU0D z^tlv&$NLhH;#J_AoIaRlH1riD^gq8h`c8D`q#HTHmOCKTdVDWC$tLWGoMCWQs;keV zSgV3Tr@N-t9I7BsIW>?$U-{9`O`;0|sqBEPK6V^hL|Pd0uz8m0h^!r6Q|58ArTm;6 z3lAcZJK*v?gItBGDDktVR$A<*Hda#F9-%c;>3pIU%G2e{!3FwwM}a6-2iBM=c0@uK0KFiuZQYa|GpY-KLXbC5*DWeRFx1qC_91(dKOwCz z^DFri3&R}kn2<(lXssJ9izburp zG~v!k6RhJ&lO$(dDjv>gJJB=tF$thpbmwBdUhI5EeMrUn?`inD(@GSS5&># zFC3(9Oah)HXbD7VgE#ohsn#mn-9=*wFrs|e3_9ze(D!zk>Wd|;NoTieXhfrpi#ne! zl^Nuawc9Cu6KV!s&aCLzm3deWr0z7`?0CWpMz$|CW`e|$Sm(Tqrq+d=bLF~dMkASO zEK^vXkkmzQ>1yTMP~9}QoMAh0Ie`H6l@pF?GF^%q|I4b?{c_6HqWQm@nnXgc*i)O=t_>B zG|L8I_pAh5I%{`ZwZB;L$LP@6LGy&!!KN;-Voa$${k@(tmILmJ&szCbIBuN~&1T^V z(;dJ3x?5|WxvhvoDZ&c`%BR<`&*c(h`*9t4a97-s~Fq#50OL&Q3V|f`EV|=$puLqVG zX_hKZ4pAj}yxD{y{74;T+yuPM>?#tr3L~M|3i#1_FwTQ;Yr5nDJW>g`-`tC-ifBLf zQP)IAF>Oe`%?T9PZ`eAOd0K&A0IsE&BBuD}Lh=Ceib-Glw6o0-FG-%W-}X)0w6+Ff zc}o3bHXP8$(e?Ss19m{q#B+?@ZIj0UTv)-Ix78uXve13g;I#`YG<6taYEZ)BN>P-6 zCa$2eM`B$h=pX}u?G&zJudh$OlQ7B~E4f_gEE+8jaB!VM_-Gx3~4S68ts%}gJ^XkRT)>tvc1 z5p@45eTT#UN2M0;a5dP?$Gu+>d|;lIdPt*8q{an(#+Z8@&D)};HnMbnP1r1BD@pFk z0fb9D<**!wdD<(Dx2BTIKvxk88lSw6C4s8xSZdNcM{k60s=IKlO89-VGrB^8ESt7w z>X3JVw3!Gx?6g?T8=m}cT_~pk56t(xW(4E0KUBWymjn*L+cO8{A4$qSvtx>c z{vi+r!;7d8+{z<1d<;I*pl`3=J{?nQ--vZWYW3U;ojqS$G7vxghCnw)gR|!3uulwALQU5iftWrE|``W6$USFj?fq(=s(tkW~ubF{mZwhi-j%6ecPH6mZkVrmbE z8tqY)GJ2z4-;kz^3nQb;^=`Stvmr~qB3-@h2TsUo=W7giloud~upbu!Bn*!fL*j6L z-FYaeOczCLIn;I(5#K41zTVKl2tujb5b8jh8X?$o4kxZ|kkqGo(Z3FE%rOYUY7k5v zZytn_ZGtTEpOC!h6e&oE)3$f;KC2nZzV1&juy;dv#XZPz{Qa6(%xIL~lpa(K{{Ap4 zF3Hk^kV(I1MGOatAI=&~SEEBoxM76LFqw@lNCOgrl~hBcvELDr`e{pK>&!B(f zK2Xl*!d*Y|-Ax-;stD`i#nkiOToQeW&P~F|(Y+YwyxoVjmNDx8n#tYRHZbv7DnANeoJ|lZ9rrvw5&t{SR?S?AIL@;1!s6^r)IbkMHZ4!kxDF zBJk>^hk}crmf(d(SqzvvV`egm1#&{e6g)W|U7Zs?|7bOuAeubj1IFd}lEfkcI%(V% z9{2}D5o`Y)U113GJiT}(L}}Ez;fe2Tq7z+RhC51U^kd^w3@ip+6*Sap+0E8Tnzzf3 z4=V`RSb>)^jiT5$_Sq5L?0X@x8-aPJv#Gxp;E`){P)$5``@ASLZITFtHyFV+ddEzR z7B;njbEbxrP4P~U@(y47AwEmt*QKW(N@rV>!&?hn?Zq5;U^;Ko$bof?J0dzlkdb4M z%Msjlsk#Vh3Df5-F9lE8NNHMz>6BR=!&LoFB+J!>8SSothdGJm$dYIn%z%(nO!72% zz~qEcE!OsrcU#`D%!<8x<_uQH*)_yXHpFS{C?dt-Kx`UtXj;$4Q=jcNG{&hQ^;OWR8@%jPk%mvP5GkoM0t?U84Y4$y!B3 z+#oKel0&#)&Dea)nuur+sqoQ4i};EOd^GuaCXX~>}^AarXr38Zi|BC{xSCY^|~f{>A9h3EIS zL`d5>zTEwJvP~VnuMzf@URr*+K8{``)zR#F$HI7I=cVoZ-DcsI;E2<&LvfGONqZCD zbz_HLwxV{-_kUgbn_St3H$U0$`s+kD@SBfr%kg zoA^gpEWzVnR%-RxcqB%HrW_=TG$?m2ZlPj!L%3HWtQPBaRAkKv0nCZQWqQRkzRX}feQ zZNza@8k048E5spKJCGpoMtl79sVs<)0jl#_2+n3-oI9)BbN-vg)*)7+?xtr_#oXML z=lmfp5$WqB%l;7MBKFU{L{&k?fpY7TDm!EGY1a)1o$)Is{olk{-@UdTLD=d3_i1-; z4%u2vQ{cUNW!~&-E}r^>bgtj(r2X-A+|ngSlbkIwF=(kv5nd{6nu5D$IlT#O;~(4U z#QG4kPEpmG8Rq9l`&9a?KUZEos+zbvLS%5Eb~FXBASyUi{l$B(=^`nPs4`kw+6JgU z`PK`v!&gqQ0P7a#uOfxTpG%KFR;=3ld3c*D+td~Ha+b*sq(UVbi?i#WV;i2EDL{iE zCMnbXv62|8g$u>sf*1rRpZV_oy;Snp%kY3Q!A@&>>ZJ6#9Q{pP%2paSHf1T1IxC`~ zywgs=bsu|c>c26{B0WY}1TyOfXQ+6IpmdTyT?!*g~d z6=y}cZeFNc9V7Csjq{Xs__p6=0?r>s*)XC61`?iui&j7R`7Sp38tVKxZz!Lx-I(f; z2owa=?Bp!|87sCrl-;302t?T-=(h>qikyZcff=V4 zteYZkwI3siTpL3Zb~&Yoibe$m;oZ`saEK&#jOE|b<8q)Ok0@V$>}Va~$xqBw-ClKG z_IuL4qQ0w#=<68-v3T_Bsv_L)%ut)W;qc)t#Jrv_%GZobX zkwN$YX^F-m_LH5R4!t-APg}~=)?+1KWXAJvl;M2R4wpI7e3~C0!+LaBYU|tN$p|z_ ziE3*zqjN~EuNH7}q?G^Cy&j zQIvNe{rLI<#4W-QB30@ytDT^1Ibyl&5j>{wZm6f$t)o_=lTj8ag@=VOiNr6FVS`k8 zEd1UA&7`NwNW+8+IxMY5sO1!im?uUij_VgN^5OB%hKIYZz0;~{x(N5G?OgYL|2Q81 zB#5BVf`~O(!kJX*cl_6%4+fUu1f3(MbRwUg&TJ^?77i1nuF|Mp5`N!P?|yKW^+dx% z?jL~;Dy#-Vs(AidTLdv4V20`|^ufxKx+0QHLMPOd;R6|**!c05Y9Mb#*3nJJ!v8?# z@V1n(x5G|B3t2$kfmn#enI7KHuOTyAGmG8@o&Va?pli+aftPwQcHgCO4jaM^*8K|A z4mx$ppEBPsal@^XK6)zM=itF=DmJ~?(l z;Zfw?#t-M|s`{$AIUlFI7g~s)$y2?0_?YEBH)2c#5yUB~=N%gJm$BMQB6$oCN?}$? zGq`HMWeem*)W0SRY;I2KxXHOq1Nh7ZcJQ~k>|nj_y(MnCH6;Ntl+X2-*qlu*jJJx# z!89k=3+igJLJ1QeW{FL|z|GSZ?>yN?K1w{~S%?~CWSC@LOk__~3FDJ(>Lbvo?gNJg zxgwxbVuQrD#GLqW_%C?~9V?>hX(HCRQVKb{P}F$TofZ_CiR-ni&bQA0Nid6@y1A~i z#Nrv7)H9$8urleDS+ch0^?Jh!8lu{Xx*zg@l0^-uS=UTOHXI7p-IiiR@Y0U^(U>lZ24lb(C#m4MBX zC|0RigXcxoD#fdDP_okhiC?jwLPsn+&ZhbP_CxRQYbVy6?;N9lu!>Wloy}kbMZ$57 zTCHJa2H*~V-I!LmyVZZB0)G&sET`I-yBXJGx^|cPeX~sMTVb-LalboPb@Ij5b=K?b zzIO6GKkT&;JD4O*T`jb{FC4ig)XWx1Si3J10-Jn^g|kpC5eM8761oH@w&URjn6zuL zcpKu3VJ(^j?&8H^xI8)`NB8wYLr@&Ju~cl9i7RPHa$^O1k}&d40lQXWsm%sDF*8Go zpa?p2IP#t^BC`YAbHKPws^*~Om24u}?6Rz7>H$Sl#6n}JbO6vnryhb-OpVNi#x_D& z=w`bhNl!<5NKV}FL;z@mm=+)>3V4V_lo%7uFep+q00~hFIHW~OZ;%$MDH^cdI7m+` zgjG#xV?zqYj!6`>Oy~wqN}ipuA~3)NLPwUaT1+H4P(m`ufzTD;K&4QNR6waxLQsT6 z9@JF0)QMRY6pRBb%`Kg6DG5!P>`Rnl%>_hv6Nm*<73JL!v~*=vi0V%Z0G?!WSe3{OmHeB>w`Ru;=hW=+S}OI z*^us1XwnqAa?VJ|(F^q+`a}$s3HiIp%{t9*YqK@9lKyx%iT>%FNL+!u^SM1X>sXj1 zwXpuO+&|6Dt&N5;P>T|ze$Q&*gD4Ouwj!Bf-=lo5HX2Xlxc8S&r&x-M6Ctt?T5ZP-dKX(yQZ|Nc1JL zqxF2P)z(v%p>K2NTwfp*Jc+9@* zg;^51LfRT)oG2r=Tv}i*!qEyD+;DhL3vHiw@$&W|xNu6q*drZB%ULzi6L$iQJg?l3 ztb1vJB(Nn9mN^|U_@pHcUMod_i~$zq8{fqTb5|W7?9-=r6)TiU9q?Ycj}t7lWzt%Q zPmY2>bR$PM1a^tM=luP_?{Rf8S3R29c+A74l|^(qHgi{L~o6pF7U(bV%1hlxqeQ$x36q=dnK0pr$Gos1j`io9tI0YQP{72}Ou8Q?Vxa3BpOGiSClP{s^`q~TZz z6%>N)MuiBYq_%i~T!t3GlmbNyK?KAKV?dZ@!rPFJ8Pw1f)tHh>MUeE zNno?)*Kw3AQ9D2V)B$)^EDf5DkuC-oxN~Z+=+?jUw|0Nq#-D#J@j8x#!pgL>TaBSy z5sWKvJ+}PBl$am$jIEVvynZut%%(T2&w#DOZZi_|u`0$TIWL~EgFbSzvyJX&-~HIv zPHy&YH;rWLa1~ov#K4otlaF-_sa983Wld$gL$Bhki@ggn_{d9}&C3{1AC`W3lBWyN zOS<+1OOYjr3veVCcSN#r|12{zBu;|xj?OIam7OB*NRk=-)J!7P!B!J2MznRM2oHCq z1rh=wqXl#*IoY+5MgvArhVaZdd{E14c3Ed@Y^fyY(Y=$=Q9S75VIMw*Pw8@U@KHy7 zu^P#CvXwH_fQnH7q!56(!NS_BS?LG^@LWUti&ZRsT)#~C+vQt&T^xP(4z76qW%q&| z=2^Gi>sz0t>+8GL+^}As-vW3)a0QAqE5+*6=^#o%kv z2XPS~m=)60G0nLY5JjDlHTyEGMaCBv5F!Bi>!Xcj8Zcpy7B+ZpiR!O67pJ$_hV4Vs zWxmeo-WdZu#@;`6<6TsnQ(Ys09M7uJRm8nxE#Sx+Rboh_3&i zLzMpcuKBAnc+|!?E5M3ZY)SvnYIPT&}Ha1su15vrtZws`^pBd4{a5R z0st@&6Yg?y)(VN}&8C)FObwh*hSM#%Xa-GmBqu8Mt$}Q|&_cs7he4>xHl-RdOtvo2 zY*;qLSTPt8)XG&y`DD3(NC=4uP#q)!@@|v#d;7iBkDGOjZ@?vM!mz96Bte74oGpSv zHHjCIS}7157J;B?0S2fDTRIX02v|7`OhEy@gqviLCpao87I<93bwGG8q?-w){n{b8 zlTPNkS~&w!zbIQh(feXk+w|o8{(D#);`8U-fB5f8Qe2HZ&?aL`xnDfXGv8&H_y-zY z&+~k*kN13n27SI~GP0de``Y*Pc#kcDT9?7!HE4plOZvFC;m_X@ze^JQgkOGq{h$B* zKmX|~_4E4&KfnI`@#Rnd{AvB<&;I^rY?sQ*_(-U&I?}iP?t6Xn&9_+J_}g#3QR?d- zh5PNlm%ji0Kll&*dp_B3^{?1`)LVV%&j1Aar1$8900ev#Mr6MC>c{B3V|gouKPq;& zcpHP`YceXb=d(K3lHIrQrjvP;++@Kdf9q)i&WZcmTY-ZVo9nq)SlG}Kvq`j zsZ%-kqX-#J$_wN8x0U_72QYwmG+}NzO~au`9EIn zrShx(mY#?0xm8e>ABLE$!vqvRQ~ISeO16o)5@#G2f{T=57ib>8@#K9B*7IcaA?E(J z5Wf`j{rqH`wAY(o)}tZ&Gu&NFA3wE^?vbY_yJxEN?2Fd@eIE6@?%G({E2Pxii$~?- zRnnL5UHt!3b^IUx{@PfjGE2|;AMNqN%Y)^6NALEO-iHVMyT?C&oP4&OczDn=zruIE z4SLV?fQ9J;kHO~+G=$CIK!0@nhDR^dIU$3udw9O{Smz|X`YZE)4#guYIox0Gxd#|O zslMmgsw#PgfqegAR_+aazK59jeamMQUhvrvgRxr>p!zma=>l5iE=-vcSgFlKW(}N1 zBOYP$W-c6Ew+QLj_*2q@+u#=2uj1|BTH5)B3kdzzaG3VMk%BLmVUWH5m-5DT`05~ytC!UPO# zB~}0>+^5w95EeFTuF9DS3JfX138TW|7T^%rJL1!}p|Y|N4tNQz<1OF|%ITA4&@ zR-!;0^rzZzQzlxph0U}<%(Sd?pZ6Xz!bQ24-?gjg8Kv4wuX6M2D=-4Mj*3ygCi7Q}P4ilqL9ElmZE4!tV)4}GLJL}DDy~8K5xkIEKevyF%?Jk z!k`<%Sy3S>i?!RVWkUx_BVt!pN4O;vra~Z=U6m1vmtry`k&GCc;&EtIBJq?rPjwDL zUlWam3?l|$We2L3m@&Z{dXwr&3lUKCw$b=*^JGnU@vr9_lO~$%73zp4OSMtPh&;VH!i3Pmcx2j2MpazI6UjY83 z>w>U2G#okL&XcYS!s5_y)POsKX~vq>9#CAUrjQa=IH1`yH$3B&uVU0yRmn z*xmD}`|)mmIt}T)=be}O^OF1jd+)rm<-cM9G9uP=`_~_7rEdvqTXna8>ue5JN59J% zB!ZDG31g*hdRi;seNVWq7uR4(aIxiqTs*4eOr&_i9b>Q?OAtS;MPz6Oew40I-cKI- zAe5aW1XKgeTkEohI*ER}^p zWDEch3J_5VMhgL0rX(soV?!(R^I|dI5jJrVpdMn$0OJzwRTUzmd@Rh}(mc-4S@hYK zm)hy8dK7v6Uj=W%#y5;CuD__~#{!C-DYxYfu%RWX)ngsDZK?HhW9!OLTu@Ly+r)^{D%?9XZoSJ-shpC7+jpFdj9^S2M<(*GVDT=(t0_5ZE& zc)ma1oZs$0{k)fs*V1$TfA{0>{Oso<7V}D7g;j-CF-eUy3ISL}ZR777o3Ovmd6(DG zYzH`tI8urLa)&9eQUXK7WtobO0tCVXR9J0Kp%~&ch@?PKX@x^HQf<7*o`)O_MT0U7 z%?ug~%9TPp`u6qeQ+=iS1i(O+xTd*+Oc3SzW3>fhrOInUa=}|ewwHP7+h-pb@T}tz zaRsqWiZ_WUFw(TL0jR_-Oc<1+SuQ9&4-TN6(u)ifq9~Gpc_D8rQ6IDkmAMsb6NRvB zI1T~<2taxVnPS5miT)}D0A>}4;p64Zf~sm9h>TUlLQMb-(<%nZE^~w3oxqK;qKLR2 z6NP{%W^ri%N;$+J!L+nA43Q=!16k{4&fd!IDsFh-gMVB-VciYV}V^woh zNx98B_Z6&zY{Dhsr*vP@93NG?kQJGvR%kS(z#C(+vkvsxQf4f=LQ-|pP#1e>w#Ze+ytQ_&rCEJtCyf;U+U zt~7{w6RUf+b^9`hb2oI&-aGSM8_0bo_z`JK!sETMGA7SD)h@%dg;z2$SQ@iPDG2#= z*0+%pQE|gE%djg~70mmgm!*{rHm-@8#J|7SvUrleopOO>HD=GPTFLw`|bT*>uG+R9$J zZzsq1i;H16D@+@x?>RPvkD+?oX{9Yk9VbaK2QuIoEH5YrY8gdj6oNzn5GgoJfh%Tk z{XR3jnB58TE6<%Xx>kV`x0-H{F`n94K`jVpoq|c4{?>-im+u*}s*=i={>vy@(Ic&IqgJXM>zEIKrul zn8wZ>wN9v>Dc5tJC;5U$t!3Z&ZI4gSa$`f6Pr=O1bu~~{OaXRC*qCV$;+?}usGhMx z3wyvA5VX)#PCcq)L)ffRECjHmm_>lu&_oHUm?Bcz2CoRfB!?Txxe~KPVJn8z;>*?- z*T~AfNp=A6krG`j#OM8DBl-)2EXipR(K?QPpPp*{@w+}N_ukU~F+ZB?lzs2f2m5}{ zotaZVoOii$a%G~(%{sMPMXAefTRp0E7 zNz-mdZ#%ibilNF;)DiWmQcNP66HK&a#a#gwr)@rY4fUysXE1hM31Pp%4}n(0(|5HKE-o}VRqom0Z+~p&nN`3L;5-3 z)eJcHbQpNQSkl#eZ>%ZvfoLk(j$5fOw{w8k){1y7HY-XunYAkUEM~kbIft)4C-Zs! zcE}sz*z?zF<+qhRp{B-WJ>)Od`kpMxkr;BTX+>_l2z(`00Ap-{E~O+r02VnGto_c= zNLQAYbzl3ajF(EmZ@qu1jbN?kA(5CLf&>gJS`eHEOOYH<9Qj zPv}x_XC~GSTMW@}KA#_d`Jc((>s(2HO0{YQ9#-e{dM(fVWqk0WcrfM2v(l}{vIy6= ztF0WB`b6iW3}uYgY4bx!1K4tr@ECs9Rk4JsY+hxilxOO@E{0O(Gllj+_$Pq>Yj1Cd zPdiZ=Ya^ZNXtn#n@vAXZFT4Bf1Q&n6M%bmoWN;(^KxT$IiJ|`dNRL+gm@ls4fveTk z4pM-pC{CP#!f;1G`<99Tcik400?)iW<$szM<{eRDp1C!8CQuph$sF4e6Bc zyUT&Nt^qM!h3;PSj{jTp_98F0^C?|jzP`tE{Z&5sd#$@a)~~+T{myys-k84b=)nM!5$cnzB;(BVH_-67Q>}GXC0ykYrf;8w1WlpG)!B~LPPKvRh5xMP> z$=VY|5^e~(s6*RmkkW~QO;NQVY06xhvJNwWpmG(~W;nhQk+dxnIYDXgbiELPE7{e; zcq(m*B~m0C7%DJ_o-SfU%&L~EjEPE$;_kqq4`rD}kwGrW&|td`0s;(ZF56CT3&c@p z)3Kq*QgKSSpaK&bd-`+3f`iy18Tgr-gg_*E&2r=198wC8iAqCJS@vK;bTZ!z@lv}7 zsmf@o<6xP}0hGdkyaFE7`4`8fo6?r ztu)d2)kvD#ID!|?3~5?5$_42XSpx&^JVNw*nUQ{}RyQvxd~4m>%~;1^6gT|B_qQV zQc?V3d@WfX7lHsmT7z!wx_a#>`^xEQXXsNgm^pjy_AWHuJXEw3HP+{KhsK{* zz%awRz>2N7G45GjC?}(UYQd+b4oYKT6%MdU>hwypsUX^5 zz$gHloJNtk3;#1x&uSfLK1@H~+jVEpXfFo9Ob@JO)>rReCRmtVc^ zQ98);b;^8Ft<^D`eT_a0nB*62G>^RIGrd1{eV(6wVF6*GFpg0BMVw+pi$yh4rSe_& zm|&m_vM|nt>BYI*tg{w2_ulEoQE6xFdqgAK>>gmPS938e(KZmApb8>{PCM*~m0-7y z*eZ98n4*p7N|1(?Z34n_Qlip|JwoA-< zQ6vFG5}KJKX(5q=h>Eiy7IH~AYouY4o4Q33XCxDrgOYX_iL0W5JFA4%8ZZt}q9R&T z0yD{SDA_6VuIwE^+X_Pil&gGKED}t^0ImY64zK?DFs?kXaq6 zsOtuI;yD!^?_%h49`JJWD6t;y0op7k!F_|3iz-?GKD2uyVEK?o!UYr^j!WSsPmKiXe^|5JZT+ddgpE;u+Ey^fYG&FrMs)0@gz^SpcJy)N4T zP8GbIbxP>Si>y;FAaOoY7v$|V=?w-}Pu`qldyAKKue-+gX1buc(z05RgO41q_uVE} z=At^+wo^}7WhTf}vLnJ=qfmKHG9#<2vpDaDD)gyy?wJOsHf`;SxD$jwN%58S4r_0+ zm*#%pTFo^({p>E$d+{oEkCTzvia>?vNT~X#7(G?1tx+oiY}t`8qjHm~a0Q4O4rWa^ zW^6VUq!jj`J>+oeGb7#Bs)+RND8{i-ykuG3TI%bFD%K!ODvY5LD1abt2G_WGeK8LQ zS`&_&PSMAw*sIiy`@T?--iIruyyvq%)))Zpb1nTp<^^E5@ zm>!R@mkQQ5TPg{rwr>$%co)~_tXATsKMVf+-{tl_kH>uP{TE;V{723Adl>!L9oxD; zcV20BNZZbTctsgtx9Mx(&dW6?Q&U&pLmDp`%mvoQQ*LdER8>=0IcKOIscmTD7`l5X zaX}Qx4hvTg6rN2om5}k3PBdcZx*_QKB5g0|#xJ!d7ri)LyT?q@p4zjHHL%X)zz#c# zib17FNnGP9wTA-wrdaM6Be3X;$4zN;PTyI$fM}%aP|NY?Ep;zf*PJsZFcu36&C!|S zv>h+74KBTvv#^k1K*7rzfHbu>0Zx!pcX0}&860cw1AbA@;m5(gYoDD?IPPMXwGMOH zg%wAPeKXRac-aJy5hc1&4IW8z67&e*h}Xm;-3b_S6v3u*_9<7B)FQ%FOqdW%o1~Ca zj)a{aLZddOLX^brrig5$nWoxD%W;st10A8efE#P^hb?C@q^O1#^Q?!J+*EkKq|OBQwY5&#gA>Xwj8eu}hP)J3M%6H!G*SMA&U<8rSpo-vw>16An? zEda2qXj)s{sfAM!T+19}o<<1e?c8%~y-$#*^w%h=hwv`#mRf#~;>dDr#egEsX)`!b$-8c3*kLy>{@p{q;swoG#_dYqN>tu^1 z)GtF>6mcp@%-_6cY^}e44QKDY>wBKves?R3vi1oz@6`OSdC!%d^}Si|xBq+J_4U70 zBs}N%lv<% zwX-(w@?PK5buGH(K-+n*W0ZwERpAms8?pcdS2{;nj^ORH8Q$%xEq5MVR!@R}APZ}< zX{X}h>ZZwJ#zk0md&>z0l&gq@Fj9gEn5t6;nEsZdnq$QIC30#FED zyKhGci700gD^^$nvEHd9MYIDsa?n@oURXb_uk{V|3YeBKvAgNr@efiV&dV9vhDFZ1^8W;QcUAf4?`bvl8r7i)phGs=s`V#`o%83wx#}*Z_NyiB ziOxuWazqlX(PqxC%elAbA)C-wXZ-B1&9iT>*XP^n$5x;Ja>Mt7_eX7RO0H01co}vk z*xhY-z1QuSKefI&Y`@ZfKiT{JYl&Z~TKC_eyKP>iyI|E5UG5`fPO7vbuOal|YS^9$h_X<^Tqn=s+<(n6gcPfMnP6D2G&GRha-H;a=y`G!1{sZ5+#aM?M+s3 zIOTZ(WUgV5&PqX}QDduSFSS;Lf~tH{YPuC0kOGU;GZ@W0YB?3J%$)ihtzBt`oTZ%l zTGBi)yGN$0BCX8nB9h0!9?A`%7<5uND8vbc=~U1d&l@I?)zGNqIHxNNacbgY4O3_k zHh&})V91i+L%D8m6MEuie``%XG!s6aB!u>(p~vo8RpGLRA? z1>vGw(w^65%GSfgzz%hAAgbW(DZ4R3NVoZO0aS*afDOZ!Y#VWXUohXyG zd1Q1l6snj_qPqxG8=x>T=;WPiuVDb}^!}*slYg`X=WcoYHbUsiJ)T^I3g&0oKXAHV%~Z@w?!R<=Rs^NYib@mZY~O^d9s?3p4Y zl@9%1 z1ARP;#tJxuEf(>M))NDOU?J8eMhkgNkC;6d07TsiAgOOGMFgW9h3g<$FPnp+@}9~r|@>bF1qck8X(56<_T*gVU}$B&)l(%T}EPyX`z@BYnyr|*9hzTf)}p3;&`6?1J2 zq~uR~#_uVjl=IQ(MXB`M?Pc)lfhY0ktx8<)zdozl$19+z<=!(-f3^PJ&x@R*=nJ}O zOM^4mn8^BWMo#7d2V(a^Qm3H_@(mpE-Y5&243Oz3-h+WOWPtqf|Al|dh38nGvwG{_ zH6OC<=;GWAoHzSf{Kau>*?JOvOn1fBJJ)sLh~Zcij$ijT{$omDO1+9T#<=fi@EpIr zIp+3`dkKr~3y)u^c#x5LK8R-?tdMJCvi`do zXDc$<$4RB7Vu9o9sZ%2d_fC7BFY%Xho2lhqhjLWl@hp*ot+51NBY>4kaV4qCxF?oM z+gjr2joCA@o;!A(BP0V^+APDv#3Q?9%58%f1hW8C?VgF2@t_%!z1rQxn{lI%EN?UR zej@t9FRs3~>I;usALun+b>19b;UPifZ2Q%@uXiMVeRC)i%GV~5g)8Xh31{%PPtRx? z?Nxks@h#6s>Do#coq0AguM6IndY0i~AsjDDJF9IeTRAE4m=f?*@zx*2s@ysisL@gCmO;IXrKXf@M!e$L}9YpXJ(e;ksgyV z&D|J38C^7SRVHu8{h6!yON-F+`$WhT!#8c6`aB>&Y-wHxTNxq_}9fxP|nE_4gn zKh>K}Y1+u@!`i_>4?YcqmC>V2X(`A==qg@uHpj{}5sqNtDjQwL1&}}+z@<>oZU~^% z`py$Ah8$cWw~|5lnIQn%@2`+s$s&Am2qf+Ii4O0Q*znk)8-!np^*7w0*SU|i#MW1@ z&ixp29xq5quN2K@uRa}4IUA=&9~x`Pdf#VL8AB*v*vwxutl^y6u`hf(h;-V#$$52Z zZQ;VpL!3)*hNN%uAXqT3qDEXTVx}lvPg)a)i40g(PRrEI1}`Z>Lav}z@XWhR)3hW> zoRlIvcL4g51051RnCRZ5OJw^yxra;D2NUB?Iz+ZF4b-5o1?=pTHk0FSU+pJ78@>QvE_q^Z1$$wC^NThX(+KeJ|ZJx4Go1(RbW<9q{zSuO#4FQa?v6) z&)PGUa+@b~hA#84Q|IwIuf9t3ynPYrUDJ>pMx`5*$YwVJEL=6I09}w(<37eS&a+AK znul|A-otooHjVmvJljTx?abK|)wzqPEXKmEBdsC9Qmq@@{Gc-&Pd^*p-H!(%5X}Sb~vdY=neh9uO!1 z2PmG};L2kU`EbpVy8YF^?Em%>?~$H$+~$VMO9b;Q*r<1t8RpC{%09YlSgR&F%Y|We zhK=q<8UCX^VuyNn-6l1oykC4eyoB zuyn4n9T=RSvR5|Pz(x^MI>Fa*28Nz@Cvwjdk!*C$#+qH#!`fI!CPUZW)m`|$I^4w- z?=WhMus?(lF}ffO;VcUPT%$zjSm>3l5|642mex*&Icl&QQ->B{Jw%3&TLQ=;+n{P% z^~^~x%BW#(na;k}{~q z@bt0dR<|)&5zo+SJHU_#9fWLh8wcXlnx+LJLYxXF=Q3AA0J7+yCxa;RL3uvf1RQMB zItUnEV=@Q<^~oro%1D_UM}&nd30!q@Yf~W%dvp^olm|#?VUj=-3nsw?H{~FOvUtP< z09ab-1x@JIMWPkeE=X5cEHP6qNo0jl!3YR2@QEgMK@CWAgD}E$js$0%Fel&)i8z5d z7z+_HJa$?%0a1$9B`Ya(!sT=mK4Aq^4YUU&0x7DbXdB~9o)iNBp0t~SA%HU%a-OuC zf+2vj7ILo4^xn7n*g=ZlGFeLHty>?Ja{)Bh(A<$6{Pb)r1Jt@yZa*F#mMn6 za?Z_NlJS?`wPA3oXE)rT`S41abxZ}7weqS>M!M36TRItN1x9XwuJYN zrAlpV%b>rD(njiX#)nyH|CyY!B|r*Z$Mx~wTLrs!DUYfVF$T;SD~j(1^9^u(H4Fn7 zI#v|G^4c|()LJ#vWaMZ=pUN282{IDA7DO?7m)Q@={u zif0AeV8fAhvAPf3{N>jZ(+LH3>d3L8`B#OwV3az0q=^5eU%8SFy~LQjgB zr=CU8;*O2PK+3Mxj7S_Qb3t2iPdIgUD%7J~=Ovsjs%V~Wv#>Apu;ys$3}b|Jck4ql z%urHBCi4J}tV~TXp*{>W+lV3=Ox>=^4z}83k+5i+sV(JMTCBY^Im4=Myok~?n+Z);X7G*}Dvy=;%KuVJ=@iF6mI_@0K zI8>;BoHAag8peiQSqkM0#842=D1<}yJL|C!kgOt;k-IprkP#Z7_zI&3xQ5RmS9Gqt zS5uZtyL2sCoszyJ&HGsInK|5QqdGdhB%u|r%%3Me-?h2n3L}eHYwWC#rxnxMZ3cbuKLkH~|KoT5 zfp5RAc`x{=_psZ*R&-hUPg{)WSqo~5!!3EQI%GH4lW z@XXT}_P73)*Y9`p+rB^V*|VlL;#p*8hDT$m)iw>`_V0%4daUB^j7iVieP-Cy7E5XB zRgzI+^(oZ{izh24bwwI_eQoe z9O~Y3q<`IOG`e?}_Sz5bLGf})^;Nnb_k!OxN2y#Y^-+V>`t!rbh`Uy>j`Au-l8>wU zy88TWfAZ}5`h#~X|6XjuHA{jKtAz5n}#_2b*GU;X`yUVh6@{!`Eo+*k4at;ef9 zUa$UDeLR0CYNqzQ+3&~oxIh>f}oT=#W=7cvdpw8)-!Qf z7N-S_8OazHLP!qcwCwbNW3icATTrCw(4;H*eH!>3~XG5!RbWK>%=`ASqO`(OResFaZ993k3kS!LF8KT$^xd0AL4pwLvlR z0q{+K=x|+u-CXJ83$*2j;YfNVH(1U1WfZ9`U+LDE$3FI=8{+`J+-7dB?@aj_*DA zploCpEjTv@D{_Pcc(cPCx>RhLL7Tk3?{1QmS(O)8(^cKtNa907u{K&QnOSMEU_4?$ z!itZ+D0=0Kb3}T^AG!lLLQ6gMOWP@^o%7&a$!pcL4#M~NQFTdP*v`EmS<1NE>#%6X z>Gg+RBdNU7`n4iC4h)iU%KC~32n>D7Kn)x7U00>rwBA#cdcAtP`BGkbFon6$Ce+Hz zHnwa%2l?|zku4j)!v{}Qy?=ejb1bk#jYYNnIb;+7gmr2i?*qswI@Qa~$(%>-SgdYcw~U>CUTK^_tAtf70Nk`EKJV=qa7cYSb#! z9)Fj7{|8wu`=W{pXdAmI3RC3|ppDxI)3-2I5y#xCNa4%X^F&?6JO?D)MDCdPKYO=~ z0+5ELUOtU|bd1cYn9V#C>db;XV}np3YNFt{6p(Z2)Ean3Dhl#0&5PsFXItDIy11T( zDvvLyWx}nH)O=(jQ*Tsat`cAYB8GBJU96GUdXPA8#`2Vmak@t?<-#dQZpxBFA0Udr zcvu78TW29`o5+n%r(W6&ea_9*?ta=XX@H|bE3?{RRiM*dF_u=wouK!f6%p@cvX(U{ z-4!yaK~Liet!XXZ!3ctM615pfii;;batd*iEu>2_FBRedryxi7NYqv+5>l~vfI<=< zQzzb=(9GtO%GbL`f`)y{?ZLrAUJV zBLx6JAmowUx-xcHTWL{YUkwx17H0amW8br~2c+`B^L%R9_wjgiXybZnd!K)L+K1_cgep#$6RY_+)yQs?8>1X;i`srD|)vxv2cT?{KzwiI} zcD3<~rmhZ_&IIF;w0(QfPl5Q8i*oBHi}qJ@sSb?`i>&n+nJdcBd0Kp6_u?}PhO)kz!n7h31 z*r^4Xu#MI2)|(Y6MJB319J>G``(ab2Nk0WDJWpDaA?1K&w6@ruJaA?pM+V*Q$&?-S zz^Om^bhPbL`9mMJyX9!s`0NxU4`PYRQSXuAG{XqRaCZX(B7wxx1&A}muxA0SK1}CL z__8xP7_(P}5yHfwqtL+FeaO9x1@lR!31cumNxFy?C=5YkoAd12EC>NY2Jp?2&7(9l z(~})hOdUybDyN2QV0EYw*`n;~c#}euAY_!s9hw8HB^rRf&b9-N9hO-efzFV)?`5%h zHiTvkAqUV9iVDtj>@dj3$Xbnw0Y2iDQ9j{J#ef|ca9+mH-!4QrYurpwsX0J*-Wkvyq(BXP00KFtY@TF0g+Nd6 zWx0pr#t5udyAll_!FT648*#y0<0X>1Ur0`IAtx z4h&AQ#H_gkEmlCwsTnvnUKwLCw{o8`^O(&uyPS#N8)Uxyygh5XZAw3<-PsF|90I}Q zjVUwYrs{ggyJN6HHfKz^%%N)P)sYoOD>L4g)9ojpAFKCpUMkB)8c4QVEk#nZ2@ZK- zqkE-&JX@?nu~s0R#xouq4%Je5dE}H{MK~hf$VdiRh+~5HqU-UDz1gA`S=~&ZV30^w zIF_EQu!T;qK{YV+QoTNi*o4`K`NW!so4q=3m_SXjl!3|gsaCm&NFbvC8xHTN9t^hF zPiw^?wL9Hz@u^C2xQm_IKH5Ml+S1&Cu!xr{wcTlAOEg@-0arj{iMJ#4&@cbjkEJe zwx62&FX+--9qm6o){dy}={HUL;ImzQ3oNIOQzH~1ss?+k0Ii=m($*yD9Wjl>ogz#C zS~6~-Vzi{a$pz(~j*g-=7qf5CwcWngm>u+DqzMd;Pz$8x3^ZgYzO}e=SeY}B3ZFZx z#28`0iWBu?*o`pCDNMZ%l0dFpgoHTzWOcV{O<)8pK^%#T&e|F@FxduSw}Bul;mWoS zL5lcU00V_6isOg|WV6*Sku{u3<*DPiVKFOphRE;=#nU8RN8u1qtZE;^GN?d~YGP7T zctddwLKwr?Ohillg`8?xY9;PUpgiU&=a|CHhxC+mm5jJEZ+&rx!hsD2j|)h&#H!k4 zMkJ~tF3Zp?R>hQLD@iiu)Wis^MM^T0H4;0eN~Ivhh%1I@iBSgD0;@SxIEGb~;8Hm% z)PVGETzRyXdg*$s7s{(&h4h08c1d;7T9zSJpB7G~!ft0C8+f(yRmVh3Iy9couZNp{ z>>~js&s)V`i~;CFykp2O03Ou)3Wl=a>L3g1eGNldaCMLkU@78AZ}?O7YtQ^{L^RfH zky`b^R_fokto~UxKe6j@^>~SPMmmw}@zi(BnW&QL1N4nj4^2;kdHd8OMV)6*Q_uVM zK~WS7D53}miYSO6O7F2yqzFov78L=d_nPFWAibz`5CS4in)IH0kq$znh90Q_0z?QQ zq@IW0|IKq=?VO$2IWuSX-kp2z>vPpUQLX7Wgyu|~3@GwB)YV0*mRipIs4Vae@QqLi zNa-c@dL}9?IfZUv^+WHQY?Ti3pL)^U6u6arOm$KiSsl0#y-L%FK7{_gY4{P>)oaoz z8SEeZB+tGm=2QTaQ`*p_^2WXuU47fVbZiiIhh9=MbAhQb}llMq}Phzw`3Xg^Q1IYXwni`@^w+Qy3MbS6fpt@uvbE zA~H(nj%>bbZNSg<88ujKI|nBwr9RN=)^Kk)S{@(AmEdZ!)aq|vev!4n$)_`n+AL_+ zszBvD!WB^%1ObDJqVeGnueqyB!k^r8K7Jn$kj{&jlonn+!~bS|^Sx0_NQ1?d>~#;1 zjB<~9i65aWe)hrC368k%j9*8d|MTIl;u3qb>`f^V9rpe$&>naCe%@Vy!kC86vXaz@ zyd#UR|2&VK4erYT7;1s$Sktm!S4)$ny;Dq%dR_ba&SKWr{n}N>^z+5%zWx!@HdNr> z&%0>BexdyziADLN-vwYT5hhkMoVs1Fy}v2$#MWqr(D?f>lZwfysXyP=s4)y#3;8W%^s zIwex3uJVrg6bDphKCpm{=oLbCq^-W$l;}SBy;A?h>9u?Gv34bqxY)oN2l$2)#$=}Y zhsn5>gM7V!xaGm$ZCy{pa5gb@{Q#whoBZjbW6u413Hi!JqufqLc;VxXV|O~6N7Fxx zjeU0GSUJ$B_Ae^iG1OY%f{ERI*nOdm@-23kbX~LmwA0a_V=u1dH(R;t8k#2uh|1NO zKmU3DVINz-!c_q^^3&CvO+^heom*A!^8V9!n`Zmnt@_2?zx`^HpP4oQrk|eHDW(H& zesTN+8(Y#7(}29(qUI&Su=lVp`OjFKx-~u}O&dW!Echbq)>^f${@7zL49V7|=l73Z0oig;gte+lXXvTL#(o(VTnoei!UFl4ftvg(7 z`)8z<9VS5fA0e z!R3`3?olT1i$_vp*rz+=#@T0e#QP0Dik&YImw4(G%5CI3H|K20X?0XLkTQSN@aZ$L z2V7jm?|424+2zX1=hYuu`SIbgnY=dT*^-+C+e6Ry7t90eL|2b@{F}@zZtXqd_m{uE zo!^J!xa(-7d3v(cu$1mKOVPL^87U9v*-k1-VhTORvpQ${r+QDOr>1*)l3>*z#`nI4 z(W{8Z4IPs@|L9~w9-_4E@OlYrd=kfj^p)%ADb@!sYxQ# z1~0v{V0ktHo&HjI169uyY=KQIEB=5YnHxUvy~td>Qf*+hD{$g9I?;%18>cb2~aRmlccxU!hx~ypm&5 z7~i+E`mps+PS5L;94K$gCX%*KeqRm|wUzsro*q0%6t7Z`5ICoIY5bRIqKB)?d`f8^jOI&Q1Ek(B+T`bQZV^bdvB-QD zMP!(>J(7al6V697-^-wH;9v#B|5y{O2e_B;Sk%EslJ?4-A&-?F?+Ko%2d1Yyd)ldC zjE}=a;9m=MZUPBdr(QC{B+XwAOa6D>;__C{%vdC$CglcQ?xTzh`!iGVd-Yo5mD32P z=}{Hu;71$FIc*`eHbgo4wL=1l^iQ#{wbBBEwjvq;aiI_F?$au&9&p@Lf$c}%n!C+78f zi-p>b9i2N~b9H`L^)|M_>Tuvx0p%p=yYZf(2KZLvtdZ@HwS(o@*Jf!J8pzpL1<9Wt zYAu1YJ|hi9#ztSA9;|=)Q&ahqD#0#fGzfpy(J?a>{STaz`|=QUh6km@NZLyN3NkO+ zStP8JQFIs@ISz)tg6Ly>f_Ia!n>ezB#wY@foM56TAuECO$|Y4`8f2DYEz!_NFRPXn zBK{Tc-kw#G&fXIXoBPY)beSqQ4s19(+LCQIyfl2U-k!Fg1i1=ZTqATnS%UY>hI)&1 zQ>pC_mgnVl?j%D0HG|cX2J__@mLpcsVTEi&eNWpoGn@1=ja%XSNDxER_36uIqpzNPT{2rjvcQkQZHuG<} z+j~}~?~HgFsYW4JMhJxP?zD@O+paB(O_Z*+UAevL+lOYi+t361i_6Tl2G` zeduWT?iYhf>C#__H&Q1#x`W#OD4X%zIc_TQFzFmdyZt|@R=EYZv1kmGFeRRG-R2A5 z9}{Be{*|K5Z?Gfj3&-ouUq8y`wL0D8T-oC9GJ`fr)#y1W>whkCJ;NBb{|c#V=H8}= zZst=yi5vc+qfv^=nL*;#W6=(+}G}lp9E#)Jn{u! z-aAI7I`tE$gDPiKCY-_jlTVBKbe{Vtaogd}Fo%|QEmaGMOaa%Gx{HW|O7LrVlIO)! zn`1@BN^>WX6)=+`?}C=5`B)$G8+~T$DgBG?S{Et9Rw9m{J7xSu%;xL=o6V^R9(sM` z{0XvDVcVzo_vanX@$|vNABGCu^nM$qyR1xtev0#&oe&%-A68qbG)B+7;%R}msJgpI02=WQP~Bx z51UMmc|Q+(ITe?kDUR)%6F(M0TZ;5zKiCeWt7LP2Y4-RTW_E_ByU_J@yUv=b*yM?@ zC@T&__v7!c4%l-DYLB*u-{LU$Gf2|n7!y2|Cw^UUOh{`?qUnajVDx{{LdSUyUT0@) z20Cb%Zwg4K@#{~sap}2aUllEgKbMuC+uWPZmEt(yy8e@XWwgq!sq*wV`Qt(TD6T-j)w9ezs>HE0`NW zPV#ZA9Pzw(A<#8!C1kAkW<@jikb8#<-K<1Ot;zS=k3;{0#9%i|vapOj$@IyWzu#kh zvMaE@nzID*pBLYAAA`%^){LKgjgh!-oQ%mhIup2bmhHUcNTr-bf^;HJBDtvaiEW3@ z@a%h|)}Xg;7cevC=C_Uq52u{|G&y_Ick8n@w0ZNE{G+*>I&Lb1AtUchL1%)%~= z2CE9-J}0cn$&p4DE#vN1pDEw|+8}7)@}1z5Q+C_P!uc>U6zZDoWnOh@?_ObB_>hZB z)o@eH{`JezY6$1$vo>FChx%!Uv&jX_*&7QEdxXUW8Kp6z$G5ROu!es5b@Y~5yjB~r3t z_2XOq>w)8uFwCbfIgga`6oW5ZO?Yn(y^Iu|I9^qnR~aar^wj;F`i0@pZ<-5Os~Sp5 zw;D{*zWn*@_wm#fL8n3KukBhGgUh^1UFQ1t;}2ygw{Gz_*xaUF`GK`}RVcd=%#C?y zGyA6X9@15oeIqda8`%YU>rH0E;xzr&t1^f8q&uflHeQxV^hC@&d@xPdz^ZrdvfJq_ zoY3Ib_`1gCGw|q@+T<&R&Vm(f?(pB)55)qF%B{ST|M=_qsZ9&seE7pakZ(lv=L4(5 zWa!KNMoTvT*P*pFqP-3~H>%Y3Nj^@6S=R%6ZO@4CpPGr^(eK?@pI)Pv55+t84}I^# zz#APDD?AT|B68_i>Fbq@wMUVJl-4pDA`uJStXmy~&Y?_yvT^hX2A??!GhdK}rSWky ztckIU$4>3@Sr`$7jyWzq=o-lot2w!#YVe~-ziwQ{&V76pbw7Ca-l zmd787*G>|05-=%J?`jg9s+%BeaC)NGXk6y&fyW?2$*_m^v%!?8n)Cme$Jy3auka}b zS1ygQ%{vfYD<|&$67?}oEKgcc@2`pa>3m;es?=!{uNiI=kRODv<2h}=0%F+ z${TU8J?#;w)%YXe_U~toY23A5g+kL>FH}mi=f%=(68yE9eGe361*TFOIbR$*Aw`c; zes`apNAFQlWTV4lOym59g=V0ezj{4#oz{*eVdd<9{zm1 zYckeZYp_(LMw5=Phdh}Um-nDF+hH~|@4rQZbRcE`Bp$RPJ(H*7w%bs)?aMqpB9i@qP6K%#UcU)XnDvspW z9A;0F2~sYf1M^ZYJi79d(7@mQG+S$%S+4lmJ5=5K9M_-Q>1oxsNb!|zIy&Arb*_b6 zjJ;JD=kE}EFRCdrE{fxwsjIyQ`b&*UnzC_g#g@Vo-oUSad~YT!PQIPfk~`b4JpYqZ zsps@?m351v`+r_at;NCVY>|D_)dOsHYzunV?!~S4yR&^rAL9QVZ1^e7w%41z;J%rm zW4TjK{%}onG2iE_fqp*8Vau`YJ*N`#_@4Cg`JGnKd0~h$ZaeNK_DlzLf@`Qg_&mRt&Uu zJnz*0`2Okc54II!0jerTePX2j=R-)#wZ1PU%ySKOlJeK@UfJZsx3=f##8{npDW|?{ z^7E(yTm5wdA%Q=qgx>#(>NAq^F8+Q=`N+p}`LaC6_l4`bBcaBgIWj|^k}d}AUiTG_ zQ8N8FCum)Ps1I~a*4=p~enurum(Lt87jAo$9Js8$y=CAx{7~;JPGfPB-w!`@9p^cV zCn7cHmWs}lC%=q7r$bJClAu{0z5^$zKJl82+@H_6bXntNdfV-(WdCzl`Q|oDafX!) zf1#K+{vBdGQ~-2Cvupuxo3K`go;ReT`nwcgnc6@fMuLc?-4nd~Rl& zC7-nL<>rdBNbs10wzI%v&ce=ErzFkSUtFop|B73G=#Fr4amO9-yUxAr>GI{z={+SV z`954SxkIG{rc*CtRCxK2A_e7>=fDga6@b3$!lq%-ndjcKlb8#qy7T@`Ah+{1-e0EI zjG(srxV!Ii-wL)ZNljRO@%!;pwzFK@x$3=^8P|fUIcgCuFRn-X6B-+Ut+~lhh@G`(#+s@*T zmK8z+**yEo4|-8ww>N&34vrYlR}Q+&C9D6zzS?f)n^6}!*P4)Px&Hplgxq*1{Xuz}EYw`V zjcJ{F!k{RgvkuK?*E#a$%}O-eJJ>j-LCjO5&Hj7!%r|Grm5Wsb&&D>ybj7P>JYetn>>v3U2+NsH&rIlrxrpGdqRs`EC$9i@4E z>_N2kGk4CT^C@n#x7XL5%!!LB7tM1b@!{+BK9maAIfCg)tZ35Wk?paIBU}da&h7fD zPMP|r?0B{_?mGR;Y_W~%<*XF6l&wF(e@+GY_lOzW*9fKBx-tGp*$X`E*I#`YkJ3un zE;M^}!SQ|*N0gvXY9GND56p%6KBBv}rBM!OWz?Ag!A!J&QBX#xrd)Gix%;b(S<|aJ zYlHbp*9sfkfVR6@h*<_nwsSA<>Iuo?`RVvGJhdFU931lP$3MKuzx!pEgTSMu#(qVc zqM0KBym+=;q-llV9nF~5cIvoAln>^z>YtL~=vMMN-5n5f{Z<%%4ZVGw-k=uSmhY%# z!pC2zx?2e`ZL6-r1%6AwZ{G~iV<)e5$DiV>yHwt>>)dxJLmWMQV4|?(nHXy0!Pst! zR6eQaMlK&FJ^Zzj;&+Z-#eTXj;Kb0C{PfGkVb+&EkS=v79`*l{-x?FAE`ZX&Axd5S zV!y%TOb9{8#wsLN)c{2BenRVNPVB~&5{BUxh2#9$uaVn*eYH3w!6i9bu(JpdMq{8v z)#hdYm>+4L9*pbO(&^;~ZZV3Z5_zjil){6GxRRkF_F~Cb<-O5b>w|Y}pUesMbu6*F zv!8Cd!_j>`_jKa7iTD47TrgSqoC3X<;JDBo=P3kRHB4R1jcz;{(blFhY5OTsg||D5 zHr+8>`yVXJ=Bpah!6g@=crGLOx6v7B7`jLo0C!~cTbx#YT8#J$A*G*}33&b3dM#0N z>;5%^Fo$hX`$P_|MIPxaJQ`GQQOl0xYPtMOzPguN3}JoDZN5lY67guW(> zJ+5<&I75$fa{HE8giKWrxlZpZQp?EX@mFpjvqy!Lt(1^|HZYw|>v{Z#MZ4rz_(tl= zg6R1zDe|gHHR(k7Jd#7Gx{{9Ss4HF>N!r%I$!DDs^kY-ejQYF6k-6n{4A({7@ci#8 zFB_xL{va`5^5rEQ|N6$eH0x&X>H=CZ6s@TU~{NvF1-1s@V;Uo7mT(1nW4_9QEMt$$Fh3ywC;!KV7P{D zfbnUL{v;{Q=i;a5UvkarVUC<1ICr}7#|zC#8kaqTuN7%HwWc6pd&{b{&ceql| zS!16M1UwIJo}|gKN+2be6vVIH5WG?07dJ{C^PivC{7(#hYGV3JQ(Xm}qo=Ow1u+zJ ziX)O5f>%)}%`va!v}C&1?-i~6cx@=WnaFE;n2Bjm^r5!t76oX+8{TFuSr`l4J(6`k zX(+=e2tu>JbY1>ln(Uhp4Siz06g#8S=j`jnjkq2=!H& zU&DnI#W?Q#v>U=(8Z|lFQk6nwvp1j2j-INyem&9G)L*ilX?1d{enTVadI{ULt-4qS zl;C^w8zGWRR);7zqr88XQi6KE`{HCL7_ySJ@P^h#Gl7H$|A|?@m(?F`&Y97%>OF*@ zmc06LrvQ47U$!NRhw$cAePit9W!clm)Xp2Od@4H!ulf!ozv(|Iv4*IsDu(!!C03$= zf1C(}|2)tRlq;2rOypsndlx<5ZI)W#_R-miQ1n6ms43;`RT`b=jj}uAT0Y@d=Wyje zHqC>y^!PP5@L;HC7^HSZ8iRB9YLRUgNOf4onMlzHG~gb7!AqO&^z53A@_J9wPUDH$+L*aipy0>=z`x za;4fcE?f=ndSqI{g}##d9;!AK`1|$R&1cRj`)_)@pHaG8jmziHE2MdQNIYE;p)TSP zunY!l83Haq-I6WsJz?Vh{sO1;${at^Se;OcF`c?DLrME`+-|QlXQy9;PAZ=DgbgWK z8_aRJd^LY}mS=!e_^{izM*X#8HvQN0vcy=~#vGABr#eXW2C6a;{j{F+lA_t>mRvXU zX1xC5bW@Cct+QW~)BUr`zwA4o49vDP*6c;=4l3J2(POQA<@(30jzyYYB)chXeQr3q zJ=vD%yWHVnkABiv?Spx7XTUmCf=u$hp!UT?!=z~acg@MP)OE2SLQ?6|`4;XuJ8l7Y zqqgp%vzIhN2hY7&kTJy2OkLq~>Dsdk?~1x%ZA5~t<`frA>Q1-t#|5KBPvg8pM#8v; zRAZUYL$Q&;njF05sA6yFU?bYD&=fz(;!=K zp;yk#$Own8uI)HZ?6PdCQskU_{M#34d-sTq!q-`1F2*+&aS_>E`2_Zm)D zk{g!%;i7Td+TKFI{cn@afY4<8FWDo}dI~|*g5jC&d%1oN6hr%$xBy=b{!0OinI}w@ zxR}45Sn(OseM*ozieawTR8TmJZUyw&U9S$c=BjD%z;XYWMDgp+w<#lxxdCSh`0luP zmd)bcv3nFlO3d(XU$NZPc)P?plTzNVKmWe>th1>6Ui_$8(#A#Xs0X^)D`@Y&!h=un z8H12-2LW*A!Ngcdp~L38d5%E8TLQskN8rRO3(@JZg2%wG)qLG(7`ifn* zI{dnEd9b;xQ70w&ay)NjaF(!aKjZE%0rxl)qLh5M%N;U1V32rVj@-YMsjFZH4yT=g z?hjMXnbj65hUnXyy6uycFD(oIy=|JJ_bSadQt_BTZ8azYEE<6e(M z$R(&wY_Cnlh?fe+Oouv-k4pZ?ae+vYeLfGz&JPb@nr}XX4=+EtQt17DoY9H(;WUmW zh4@WX&0dR1GH8|OP%?6UwcxXG&>1y5%{ljC;5V|o^L8YLk8C{tBi%WMTdwI|@X1owCNqpw(b$cc4q2@Oe z^pDtUM{X^->>CAXcV?OGn9dZRuTHbRyz!h@%2C%}`l_|gW#K?bQ1CwGvd6nGcGM+i zO@hnKIy0-Dmo=${Zwr5bw}m7US{>RubdA-gdB0LW>^0#0i{v-4NOb&KuSL()RfB*} zJh#Q(4m75A=}LDrYYZ?;6dGKY)#xv8zo9w=G;)s5JD=oun<*GWu4SsU3xs8;E8z9` z%{6i*D3{rwF-~1uZ;mYJ;rI_|evqbq;c%>N*@2o`y5JZf~sDG=AX#A*u`#!Jc5 z>>Q6qty3-E*r~;3J`X*6;r{Qd9GxW^+6EVd=Dbbr@?QU& zACpxspLogVeZ@fDHy*!`(~oev4?y@Td++nISTd;g(&e97wJJp|X^@a(i8g zJb*^iBA|+NUDTI@)wD|BCTqLp5GmIVr4M9F_w+N@sdH3P5t@zGb&*QI;)bwbFq3_K z-B>49VHWwZa{oS@%PbIVG9k!M0@7Hz}XpRG(U*Q+K08%Ew}Q_skFt` zDrPK#Mz=&;Z|)hd<98Ulbdeq(gf}8Y6T?b{wKY79FS+t|iTTxFk04lRzNFT1u$WS9 zT0?qa(VhM>o@M#Vr58cn8n;~P!zHMqS-U+AFw!6dSivOXSp9*(YGfta4&LsWdlW*a z`o!#N?EZmOyIDU+avZ;g?*US4MCf(?&UK8`aupmiLSW|Fry=h4s=%+g$^32qvD1nq zp$_8@@;sN)Gf(lUcBel`_TEY;wx7d_9%Z|KbhA>o#77-i=^0ymW2hLJJ!!2iVF5B# zN$L|g*banoD-llz{z%RjG{sOu@xMnZyCt#A;*EkmraYwQaH&R=Qlv(n$vtgsOx&>q zSUc?_@KDr0c==+(gzv%o^1!N4`?Xc zZH^%01`dV-hl>L7B(g9X{{!hQj3DAuRmilv*UF|jQf_tcni5J!s?*AjXSJjNcTLrD%AH{ zm6~cfCsVqR)^jUoOcD(Hwg=R21n!JHSaoYSg29A<6GWWuQ^YprKvNTwBQkjpD+w70 zY!#Y@zuvpRIk^1=-tWRneI$yK|gkvYu1vR9P&Ntbn|d`V<~yePl&!~tiH;A2y&YhBnxFzwul z_y?&TjA8j4j$PJfF7wsm95?Ae5Vu-q`8H?Z4FUUk{mhfpfde;@dY1T9k2tIr=8UA? zD;{g4ug~nHl@hA5^G|X5y_#j^(b|kbmY^LsVE5lgE0ctZK=qmZDq?lMF@;Q36Gty6 z@7mM%-yTt!q^kxNHGbbElP~($=GYgceqBEICZKj{r~j&M51!u&J$`TRlg|_0DPz?2 z_|C|v{gp$$X;b$RHhV4JcW0UHoE*$QCsLvrhmCl#KMnne&y_X~RBjfF${j7!Ym7-# zI>?ea^k?%%kIPW#GUyCX))p2@#WVh`5ScSFYYjL?7LM+WU?oC7tzIgdTF0VcT_R}4 zJa9k*=&KOsKK8JB8_VQFF&6MFCK5qk!Gb%MXci~Q9LRu?3C^f}G}r)TE#8s^9ZR7* zGH50S&1$J+f#6yT4tNYOHwKUdXemJVM>DUnKHw0{l|!`FDt?twSc$G?Z8d-d&yhn1Iq;H3u*ap12eo$QWr2rC)1hQYbddIFLrgf+K1470ABvZr%RsUSZpWKG;Jg zU_df%4h_(tI2gSPWNpnH>b*AbP*f%z4+tfK1K<*o#SM}`m_LfnL<4jjivX<308Eky zZXQMw1XzBEC1?*ib2ZTuJRqkXP#fIB5zH+DWVfRMSN?M%2G?3=QI>lhONSdyNS&^yD*U z5Xkj$x|vh$AtpfPhJ(RIZ*^ug&@k)p`4|7ui1hpH|K;<&Qp-2H#L^zmpiut8P<^E{h0-PFJWIi;N6b#1%VT=zPK2p-r6uK_};ltsV z0=J1iZu{U8T)$w3vfI{0LSrHJ!1A5)GT=2c1fJ1?1b<)rhO(Q5b>f)8$s^fBU#bA1 zWuXIP8G}@iQRk`12!jCN`lEd;EuMhOmq=j|9+fa!6TPQ19G#Z@5uSi6wUmP2(V$=G zdc3})vT3eO#UZ=YpIhZiKxj3Z`0iDSc#xV6EawB{yrB-uLtEl~qAm`+m6NE+kU7*T z9*{20Mbe=xdFpOtBC}y75@eFdDg6|PJy^Ac37xfLA+dBgM%n)C6jVXg3dS<8B?>cs z1%lQ=iJDD-A{|~Eg#Z{##?ttxZr4bBC94kMi39q4%ZBZ>fMlcf9rrQ}3~+!$$RM?f zxmXw57}7*#{#|G0kMH@*1<57YgCMzLe;J<$Aq(Uyms+p}604BD@t$B`9|$rq;J%Wk zP~z18CLCUzxlYG{EGVk?8ORE2+3_^k#NY^2U(gF4%3?whhhGw2$P2Jg z^sx0malqk^Ad&!ob#-(-E{HzE{TGR#Z2@4JJ5SIIZtwkSCg@LhXH5RP-Cu{8X@J9G zC_RfyR61#3Y4$JU2E-7J-FS0alULvV@E$(uHVwXr1IpN-L&!OFroz$E-!leyp~mt+ zXP{~h~NSR zAQDADCJljRP?;e3k~!8wAxI{n$ zD6BJ098E`pd#FhOHWtZ^1U;GGDkGo)2o?k+r$NCbkVFwdxw8%^{|m-TAeaX1&H$#g z-7J9G1Kk}@ivSNm09-xA8U|=+D48-7m@9K+4WGyj)XcYqf=r4h9J~v~At-1nVgNFa zV)iIO(M+=7WuDXn+BU=t0O-sJfI!D%D_IE2ek`M5FA<;`gA_d2iDnHL)9^B&4g{oN zHqvOTcu=ei%5X(95*fRE|9c60Z$q5leSq7=f(H~j_v7s}+yq1u2W8BlnGu-EN+QD; z{GAA*cwxX!tS1^IoMI6`DjD2D{~MPS9-Kfk>)C$U@uq2qLE9kQ zaQ7sA93vLr0`3vi9R*-tMNnGP?|wiRD|#KWwWXhS&Q$9>J9&YPtxEpze#nA8_N=EA zr#4S*8<1?k-g)cScD8J2UAzG)rQnIsRoSAex+jYST`U;3p&pFoSI+K>fq+zY zYdp6j zrgLwh`%5q*lKPB)DyPsx^iAy4XO8S0gcoD{Qu(a+CKAv`d=s-;&DQBD4Armq-tesXHJt3ygYd9>y0#*584Jk;@qT zUt%N{t(dS)0zfnlAd4)4dp5WZPdEcz1VEUp+$=o$UY~@72>K{~bniB9QDc>0 zlYc<2WFo5JRBkXEH-!U{I2rI8gCoUWw_G0C&WVx|4s1#+(=5laN>HOXFdx##WI8Vm z>qdK#Aqd*qD1J+`Z>0r;ZrvXzPCs^>OQgo`94tk?dRyt5qZVw(iGwJY;n2(O4Xhco zP#vJ5-2(@exlv1dz80aIAKFs7x;CF%3B}8^Ax!DaohvV09~|ZJ`Txxiol&_AZ3y@a zgJ$d!j9HZb9o^6jh!~624gfHwGaA9HL?K9ZQ}Jx)Ir{jc#dz+Eo{YQ4_J7ZBv>9+1 zY)j5pZ)7z9sPBaJcot@2#K8LmYXuDstR3!#ML;>dfrJ65>zv28?-=5lQ%bI}&K`4v zY2Qy0#osPcGs*yUpM|TOn)CxK?hs260H9|ftbxPxEe;e11DgN_Wgi5X%tON~@D2r_ zfFPy?0w$&*vDAsVHNU-fh9*M&Ur+FQSXv}65zB-Ea8G&*2*DGB2753lV93)Rs)<0) z-|3I8U08|4rcvaWd%NJM4Q;0@6bdj%xCT`w6+pi3YlotgXO$Sc`Gt9Tmt@*(kc>{x zO0;b8PCX@!?v{iE*>gOzSqHyK@X~w~3teu6W&k$XEQYBuf<<2QLn3yEiy}1Im>s3p zNE25waB#2>1N4n_ltB(0`xHfP+QVRo^v8$c^f_aHXQ!wPL7&2wZQnlm4x;z}0JE~( AfdBvi literal 0 HcmV?d00001 diff --git a/tools/UpdatePaths/Scripts/29815_batched_friendly_mob_basic.txt b/tools/UpdatePaths/Scripts/29815_batched_friendly_mob_basic.txt new file mode 100644 index 00000000000..8131f4e7759 --- /dev/null +++ b/tools/UpdatePaths/Scripts/29815_batched_friendly_mob_basic.txt @@ -0,0 +1,7 @@ +/mob/living/simple_animal/lizard/@SUBTYPES : /mob/living/basic/lizard/@SUBTYPES{@OLD} +/mob/living/simple_animal/butterfly/@SUBTYPES : /mob/living/basic/butterfly/@SUBTYPES{@OLD} +/mob/living/simple_animal/cockroach/@SUBTYPES : /mob/living/basic/cockroach/@SUBTYPES{@OLD} +/mob/living/simple_animal/hostile/retaliate/poison/snake/@SUBTYPES : /mob/living/basic/snake/@SUBTYPES{@OLD} +/mob/living/simple_animal/bunny/@SUBTYPES : /mob/living/basic/bunny/@SUBTYPES{@OLD} +/mob/living/simple_animal/pet/penguin/@SUBTYPES : /mob/living/basic//pet/penguin/@SUBTYPES{@OLD} +/mob/living/simple_animal/pet/sloth/@SUBTYPES : /mob/living/basic//pet/sloth/@SUBTYPES{@OLD}