From 960c39730326be6749ff42e827c20c8fa21a8e7f Mon Sep 17 00:00:00 2001 From: TsubakiLoL <2789646812@qq.com> Date: Fri, 25 Oct 2024 15:41:39 +0800 Subject: [PATCH] add --- .gitattributes | 2 + .gitignore | 3 + TEST/mystic_woods_free_2.2/read_me.txt | 13 + .../sprites/characters/README.txt | 18 + .../sprites/characters/player.png | Bin 0 -> 10107 bytes .../sprites/characters/player.png.import | 34 ++ .../sprites/characters/skeleton.png | Bin 0 -> 271376 bytes .../sprites/characters/skeleton.png.import | 34 ++ .../sprites/characters/skeleton_swordless.png | Bin 0 -> 270461 bytes .../characters/skeleton_swordless.png.import | 34 ++ .../sprites/characters/slime.png | Bin 0 -> 7379 bytes .../sprites/characters/slime.png.import | 34 ++ .../sprites/objects/chest_01.png | Bin 0 -> 573 bytes .../sprites/objects/chest_01.png.import | 34 ++ .../sprites/objects/chest_02.png | Bin 0 -> 2130 bytes .../sprites/objects/chest_02.png.import | 34 ++ .../sprites/objects/objects.png | Bin 0 -> 74357 bytes .../sprites/objects/objects.png.import | 34 ++ .../sprites/objects/rock_in_water-sheet.png | Bin 0 -> 3096 bytes .../objects/rock_in_water-sheet.png.import | 34 ++ .../objects/rock_in_water_01-sheet.png | Bin 0 -> 3096 bytes .../objects/rock_in_water_01-sheet.png.import | 34 ++ .../sprites/objects/rock_in_water_01.png | Bin 0 -> 673 bytes .../objects/rock_in_water_01.png.import | 34 ++ .../sprites/objects/rock_in_water_02.png | Bin 0 -> 674 bytes .../objects/rock_in_water_02.png.import | 34 ++ .../sprites/objects/rock_in_water_03.png | Bin 0 -> 676 bytes .../objects/rock_in_water_03.png.import | 34 ++ .../sprites/objects/rock_in_water_04.png | Bin 0 -> 675 bytes .../objects/rock_in_water_04.png.import | 34 ++ .../sprites/objects/rock_in_water_05.png | Bin 0 -> 680 bytes .../objects/rock_in_water_05.png.import | 34 ++ .../sprites/objects/rock_in_water_06.png | Bin 0 -> 674 bytes .../objects/rock_in_water_06.png.import | 34 ++ .../sprites/particles/dust_particles_01.png | Bin 0 -> 178 bytes .../particles/dust_particles_01.png.import | 34 ++ .../sprites/tilesets/decor_16x16.png | Bin 0 -> 5818 bytes .../sprites/tilesets/decor_16x16.png.import | 34 ++ .../sprites/tilesets/decor_8x8.png | Bin 0 -> 1573 bytes .../sprites/tilesets/decor_8x8.png.import | 34 ++ .../sprites/tilesets/fences.png | Bin 0 -> 722 bytes .../sprites/tilesets/fences.png.import | 34 ++ .../sprites/tilesets/floors/carpet.png | Bin 0 -> 20319 bytes .../sprites/tilesets/floors/carpet.png.import | 34 ++ .../sprites/tilesets/floors/flooring.png | Bin 0 -> 6552 bytes .../tilesets/floors/flooring.png.import | 34 ++ .../sprites/tilesets/floors/wooden.png | Bin 0 -> 187 bytes .../sprites/tilesets/floors/wooden.png.import | 34 ++ .../sprites/tilesets/grass.png | Bin 0 -> 99 bytes .../sprites/tilesets/grass.png.import | 34 ++ .../sprites/tilesets/plains.png | Bin 0 -> 14752 bytes .../sprites/tilesets/plains.png.import | 34 ++ .../sprites/tilesets/walls/walls.png | Bin 0 -> 1955 bytes .../sprites/tilesets/walls/walls.png.import | 34 ++ .../sprites/tilesets/walls/wooden_door.png | Bin 0 -> 285 bytes .../tilesets/walls/wooden_door.png.import | 34 ++ .../sprites/tilesets/walls/wooden_door_b.png | Bin 0 -> 283 bytes .../tilesets/walls/wooden_door_b.png.import | 34 ++ .../sprites/tilesets/water-sheet.png | Bin 0 -> 36098 bytes .../sprites/tilesets/water-sheet.png.import | 34 ++ .../sprites/tilesets/water1.png | Bin 0 -> 10530 bytes .../sprites/tilesets/water1.png.import | 34 ++ .../sprites/tilesets/water2.png | Bin 0 -> 10473 bytes .../sprites/tilesets/water2.png.import | 34 ++ .../sprites/tilesets/water3.png | Bin 0 -> 10517 bytes .../sprites/tilesets/water3.png.import | 34 ++ .../sprites/tilesets/water4.png | Bin 0 -> 10490 bytes .../sprites/tilesets/water4.png.import | 34 ++ .../sprites/tilesets/water5.png | Bin 0 -> 10473 bytes .../sprites/tilesets/water5.png.import | 34 ++ .../sprites/tilesets/water6.png | Bin 0 -> 10522 bytes .../sprites/tilesets/water6.png.import | 34 ++ .../sprites/tilesets/water_decorations.png | Bin 0 -> 5932 bytes .../tilesets/water_decorations.png.import | 34 ++ .../sprites/tilesets/water_lillies.png | Bin 0 -> 3206 bytes .../sprites/tilesets/water_lillies.png.import | 34 ++ addons/beehave/LICENSE | 21 + addons/beehave/blackboard.gd | 51 +++ addons/beehave/debug/debugger.gd | 96 ++++ addons/beehave/debug/debugger_messages.gd | 30 ++ addons/beehave/debug/debugger_tab.gd | 125 ++++++ addons/beehave/debug/global_debugger.gd | 38 ++ .../beehave/debug/icons/horizontal_layout.svg | 1 + .../debug/icons/horizontal_layout.svg.import | 38 ++ addons/beehave/debug/icons/port_bottom.svg | 1 + .../debug/icons/port_bottom.svg.import | 38 ++ addons/beehave/debug/icons/port_left.svg | 1 + .../beehave/debug/icons/port_left.svg.import | 38 ++ addons/beehave/debug/icons/port_right.svg | 1 + .../beehave/debug/icons/port_right.svg.import | 38 ++ addons/beehave/debug/icons/port_top.svg | 1 + .../beehave/debug/icons/port_top.svg.import | 38 ++ .../beehave/debug/icons/vertical_layout.svg | 1 + .../debug/icons/vertical_layout.svg.import | 38 ++ addons/beehave/debug/new_frames.gd | 69 +++ addons/beehave/debug/new_graph_edit.gd | 296 +++++++++++++ addons/beehave/debug/new_graph_node.gd | 155 +++++++ addons/beehave/debug/old_frames.gd | 47 ++ addons/beehave/debug/old_graph_edit.gd | 286 ++++++++++++ addons/beehave/debug/old_graph_node.gd | 166 +++++++ addons/beehave/debug/tree_node.gd | 275 ++++++++++++ addons/beehave/icons/action.svg | 38 ++ addons/beehave/icons/action.svg.import | 38 ++ addons/beehave/icons/blackboard.svg | 38 ++ addons/beehave/icons/blackboard.svg.import | 38 ++ addons/beehave/icons/category_bt.svg | 38 ++ addons/beehave/icons/category_bt.svg.import | 38 ++ addons/beehave/icons/category_composite.svg | 38 ++ .../icons/category_composite.svg.import | 38 ++ addons/beehave/icons/category_decorator.svg | 38 ++ .../icons/category_decorator.svg.import | 38 ++ addons/beehave/icons/category_leaf.svg | 38 ++ addons/beehave/icons/category_leaf.svg.import | 38 ++ addons/beehave/icons/condition.svg | 38 ++ addons/beehave/icons/condition.svg.import | 38 ++ addons/beehave/icons/cooldown.svg | 38 ++ addons/beehave/icons/cooldown.svg.import | 37 ++ addons/beehave/icons/delayer.svg | 39 ++ addons/beehave/icons/delayer.svg.import | 37 ++ addons/beehave/icons/failer.svg | 38 ++ addons/beehave/icons/failer.svg.import | 38 ++ addons/beehave/icons/inverter.svg | 38 ++ addons/beehave/icons/inverter.svg.import | 38 ++ addons/beehave/icons/limiter.svg | 38 ++ addons/beehave/icons/limiter.svg.import | 38 ++ addons/beehave/icons/repeater.svg | 40 ++ addons/beehave/icons/repeater.svg.import | 37 ++ addons/beehave/icons/selector.svg | 38 ++ addons/beehave/icons/selector.svg.import | 38 ++ addons/beehave/icons/selector_random.svg | 35 ++ .../beehave/icons/selector_random.svg.import | 38 ++ addons/beehave/icons/selector_reactive.svg | 45 ++ .../icons/selector_reactive.svg.import | 38 ++ addons/beehave/icons/sequence.svg | 38 ++ addons/beehave/icons/sequence.svg.import | 38 ++ addons/beehave/icons/sequence_random.svg | 38 ++ .../beehave/icons/sequence_random.svg.import | 38 ++ addons/beehave/icons/sequence_reactive.svg | 60 +++ .../icons/sequence_reactive.svg.import | 38 ++ addons/beehave/icons/simple_parallel.svg | 13 + .../beehave/icons/simple_parallel.svg.import | 37 ++ addons/beehave/icons/succeeder.svg | 38 ++ addons/beehave/icons/succeeder.svg.import | 38 ++ addons/beehave/icons/tree.svg | 38 ++ addons/beehave/icons/tree.svg.import | 38 ++ addons/beehave/icons/until_fail.svg | 45 ++ addons/beehave/icons/until_fail.svg.import | 37 ++ .../beehave/metrics/beehave_global_metrics.gd | 54 +++ addons/beehave/nodes/beehave_node.gd | 46 ++ addons/beehave/nodes/beehave_tree.gd | 329 ++++++++++++++ addons/beehave/nodes/composites/composite.gd | 34 ++ .../nodes/composites/randomized_composite.gd | 176 ++++++++ addons/beehave/nodes/composites/selector.gd | 69 +++ .../nodes/composites/selector_random.gd | 82 ++++ .../nodes/composites/selector_reactive.gd | 47 ++ addons/beehave/nodes/composites/sequence.gd | 75 ++++ .../nodes/composites/sequence_random.gd | 96 ++++ .../nodes/composites/sequence_reactive.gd | 63 +++ .../beehave/nodes/composites/sequence_star.gd | 61 +++ .../nodes/composites/simple_parallel.gd | 122 ++++++ addons/beehave/nodes/decorators/cooldown.gd | 49 +++ addons/beehave/nodes/decorators/decorator.gd | 33 ++ addons/beehave/nodes/decorators/delayer.gd | 49 +++ addons/beehave/nodes/decorators/failer.gd | 35 ++ addons/beehave/nodes/decorators/inverter.gd | 43 ++ addons/beehave/nodes/decorators/limiter.gd | 60 +++ addons/beehave/nodes/decorators/repeater.gd | 58 +++ addons/beehave/nodes/decorators/succeeder.gd | 35 ++ .../beehave/nodes/decorators/time_limiter.gd | 60 +++ addons/beehave/nodes/decorators/until_fail.gd | 33 ++ addons/beehave/nodes/leaves/action.gd | 14 + .../nodes/leaves/blackboard_compare.gd | 65 +++ .../beehave/nodes/leaves/blackboard_erase.gd | 25 ++ addons/beehave/nodes/leaves/blackboard_has.gd | 23 + addons/beehave/nodes/leaves/blackboard_set.gd | 33 ++ addons/beehave/nodes/leaves/condition.gd | 12 + addons/beehave/nodes/leaves/leaf.gd | 48 ++ addons/beehave/plugin.cfg | 7 + addons/beehave/plugin.gd | 26 ++ addons/beehave/utils/utils.gd | 21 + autoload/database/database.gd | 33 ++ autoload/database/database.tscn | 6 + autoload/global/global.gd | 47 ++ autoload/global/global.tscn | 6 + icon.svg | 1 + icon.svg.import | 37 ++ project.godot | 50 +++ res/animation/other_character_default.tres | 413 ++++++++++++++++++ res/image/test/tile.png | Bin 0 -> 351 bytes res/image/test/tile.png.import | 34 ++ scene/behavour_tree/action_leaf.gd | 1 + scene/behavour_tree/await_time.gd | 3 + scene/behavour_tree/beehave_tree.gd | 1 + scene/behavour_tree/beehave_tree.tscn | 33 ++ scene/behavour_tree/condition_accuse.gd | 22 + .../character/dead_scene_sprite/dead_scene.gd | 18 + .../dead_scene_sprite/dead_scene.tscn | 51 +++ scene/class/food.gd | 17 + scene/test/action_accuse.gd | 10 + scene/test/action_accuse.tscn | 6 + scene/test/action_attack.gd | 17 + scene/test/action_attack.tscn | 6 + scene/test/action_await_time.gd | 16 + scene/test/action_eat.gd | 12 + scene/test/action_eat.tscn | 6 + scene/test/action_move_to_target.gd | 64 +++ scene/test/action_move_to_target.tscn | 6 + scene/test/action_move_to_unit.gd | 58 +++ scene/test/action_move_to_unit.tscn | 6 + scene/test/action_set_rand_pos.gd | 19 + scene/test/action_set_rand_pos.tscn | 6 + scene/test/await_time.tscn | 13 + scene/test/character.gd | 293 +++++++++++++ scene/test/character.tscn | 136 ++++++ scene/test/condition_accuse.tscn | 6 + scene/test/condition_attack.gd | 20 + scene/test/condition_attack.tscn | 6 + scene/test/condition_hungry.gd | 17 + scene/test/condition_hungry.tscn | 6 + scene/test/food.tscn | 23 + scene/test/idle.gd | 29 ++ scene/test/other_character.gd | 27 ++ scene/test/other_character.tscn | 214 +++++++++ scene/test/run.gd | 32 ++ scene/test/run_action.gd | 79 ++++ scene/test/run_await.tscn | 20 + scene/test/run_condition.gd | 9 + scene/test/self_character.gd | 15 + scene/test/state_machine.gd | 1 + scene/test/test_main.gd | 14 + scene/test/test_main.tscn | 137 ++++++ tool/drawer_container/drawer_container.gd | 246 +++++++++++ tool/state_machine/state.gd | 45 ++ tool/state_machine/state_root.gd | 32 ++ 234 files changed, 9311 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 TEST/mystic_woods_free_2.2/read_me.txt create mode 100644 TEST/mystic_woods_free_2.2/sprites/characters/README.txt create mode 100644 TEST/mystic_woods_free_2.2/sprites/characters/player.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/characters/player.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/characters/skeleton.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/characters/skeleton.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/characters/skeleton_swordless.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/characters/skeleton_swordless.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/characters/slime.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/characters/slime.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/chest_01.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/chest_01.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/chest_02.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/chest_02.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/objects.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/objects.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water-sheet.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water-sheet.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_01-sheet.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_01-sheet.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_01.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_01.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_02.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_02.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_03.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_03.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_04.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_04.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_05.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_05.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_06.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_06.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/particles/dust_particles_01.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/particles/dust_particles_01.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/decor_16x16.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/decor_16x16.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/decor_8x8.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/decor_8x8.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/fences.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/fences.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/floors/carpet.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/floors/carpet.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/floors/flooring.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/floors/flooring.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/floors/wooden.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/floors/wooden.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/grass.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/grass.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/plains.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/plains.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/walls/walls.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/walls/walls.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door_b.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door_b.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water-sheet.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water-sheet.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water1.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water1.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water2.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water2.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water3.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water3.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water4.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water4.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water5.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water5.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water6.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water6.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water_decorations.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water_decorations.png.import create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water_lillies.png create mode 100644 TEST/mystic_woods_free_2.2/sprites/tilesets/water_lillies.png.import create mode 100644 addons/beehave/LICENSE create mode 100644 addons/beehave/blackboard.gd create mode 100644 addons/beehave/debug/debugger.gd create mode 100644 addons/beehave/debug/debugger_messages.gd create mode 100644 addons/beehave/debug/debugger_tab.gd create mode 100644 addons/beehave/debug/global_debugger.gd create mode 100644 addons/beehave/debug/icons/horizontal_layout.svg create mode 100644 addons/beehave/debug/icons/horizontal_layout.svg.import create mode 100644 addons/beehave/debug/icons/port_bottom.svg create mode 100644 addons/beehave/debug/icons/port_bottom.svg.import create mode 100644 addons/beehave/debug/icons/port_left.svg create mode 100644 addons/beehave/debug/icons/port_left.svg.import create mode 100644 addons/beehave/debug/icons/port_right.svg create mode 100644 addons/beehave/debug/icons/port_right.svg.import create mode 100644 addons/beehave/debug/icons/port_top.svg create mode 100644 addons/beehave/debug/icons/port_top.svg.import create mode 100644 addons/beehave/debug/icons/vertical_layout.svg create mode 100644 addons/beehave/debug/icons/vertical_layout.svg.import create mode 100644 addons/beehave/debug/new_frames.gd create mode 100644 addons/beehave/debug/new_graph_edit.gd create mode 100644 addons/beehave/debug/new_graph_node.gd create mode 100644 addons/beehave/debug/old_frames.gd create mode 100644 addons/beehave/debug/old_graph_edit.gd create mode 100644 addons/beehave/debug/old_graph_node.gd create mode 100644 addons/beehave/debug/tree_node.gd create mode 100644 addons/beehave/icons/action.svg create mode 100644 addons/beehave/icons/action.svg.import create mode 100644 addons/beehave/icons/blackboard.svg create mode 100644 addons/beehave/icons/blackboard.svg.import create mode 100644 addons/beehave/icons/category_bt.svg create mode 100644 addons/beehave/icons/category_bt.svg.import create mode 100644 addons/beehave/icons/category_composite.svg create mode 100644 addons/beehave/icons/category_composite.svg.import create mode 100644 addons/beehave/icons/category_decorator.svg create mode 100644 addons/beehave/icons/category_decorator.svg.import create mode 100644 addons/beehave/icons/category_leaf.svg create mode 100644 addons/beehave/icons/category_leaf.svg.import create mode 100644 addons/beehave/icons/condition.svg create mode 100644 addons/beehave/icons/condition.svg.import create mode 100644 addons/beehave/icons/cooldown.svg create mode 100644 addons/beehave/icons/cooldown.svg.import create mode 100644 addons/beehave/icons/delayer.svg create mode 100644 addons/beehave/icons/delayer.svg.import create mode 100644 addons/beehave/icons/failer.svg create mode 100644 addons/beehave/icons/failer.svg.import create mode 100644 addons/beehave/icons/inverter.svg create mode 100644 addons/beehave/icons/inverter.svg.import create mode 100644 addons/beehave/icons/limiter.svg create mode 100644 addons/beehave/icons/limiter.svg.import create mode 100644 addons/beehave/icons/repeater.svg create mode 100644 addons/beehave/icons/repeater.svg.import create mode 100644 addons/beehave/icons/selector.svg create mode 100644 addons/beehave/icons/selector.svg.import create mode 100644 addons/beehave/icons/selector_random.svg create mode 100644 addons/beehave/icons/selector_random.svg.import create mode 100644 addons/beehave/icons/selector_reactive.svg create mode 100644 addons/beehave/icons/selector_reactive.svg.import create mode 100644 addons/beehave/icons/sequence.svg create mode 100644 addons/beehave/icons/sequence.svg.import create mode 100644 addons/beehave/icons/sequence_random.svg create mode 100644 addons/beehave/icons/sequence_random.svg.import create mode 100644 addons/beehave/icons/sequence_reactive.svg create mode 100644 addons/beehave/icons/sequence_reactive.svg.import create mode 100644 addons/beehave/icons/simple_parallel.svg create mode 100644 addons/beehave/icons/simple_parallel.svg.import create mode 100644 addons/beehave/icons/succeeder.svg create mode 100644 addons/beehave/icons/succeeder.svg.import create mode 100644 addons/beehave/icons/tree.svg create mode 100644 addons/beehave/icons/tree.svg.import create mode 100644 addons/beehave/icons/until_fail.svg create mode 100644 addons/beehave/icons/until_fail.svg.import create mode 100644 addons/beehave/metrics/beehave_global_metrics.gd create mode 100644 addons/beehave/nodes/beehave_node.gd create mode 100644 addons/beehave/nodes/beehave_tree.gd create mode 100644 addons/beehave/nodes/composites/composite.gd create mode 100644 addons/beehave/nodes/composites/randomized_composite.gd create mode 100644 addons/beehave/nodes/composites/selector.gd create mode 100644 addons/beehave/nodes/composites/selector_random.gd create mode 100644 addons/beehave/nodes/composites/selector_reactive.gd create mode 100644 addons/beehave/nodes/composites/sequence.gd create mode 100644 addons/beehave/nodes/composites/sequence_random.gd create mode 100644 addons/beehave/nodes/composites/sequence_reactive.gd create mode 100644 addons/beehave/nodes/composites/sequence_star.gd create mode 100644 addons/beehave/nodes/composites/simple_parallel.gd create mode 100644 addons/beehave/nodes/decorators/cooldown.gd create mode 100644 addons/beehave/nodes/decorators/decorator.gd create mode 100644 addons/beehave/nodes/decorators/delayer.gd create mode 100644 addons/beehave/nodes/decorators/failer.gd create mode 100644 addons/beehave/nodes/decorators/inverter.gd create mode 100644 addons/beehave/nodes/decorators/limiter.gd create mode 100644 addons/beehave/nodes/decorators/repeater.gd create mode 100644 addons/beehave/nodes/decorators/succeeder.gd create mode 100644 addons/beehave/nodes/decorators/time_limiter.gd create mode 100644 addons/beehave/nodes/decorators/until_fail.gd create mode 100644 addons/beehave/nodes/leaves/action.gd create mode 100644 addons/beehave/nodes/leaves/blackboard_compare.gd create mode 100644 addons/beehave/nodes/leaves/blackboard_erase.gd create mode 100644 addons/beehave/nodes/leaves/blackboard_has.gd create mode 100644 addons/beehave/nodes/leaves/blackboard_set.gd create mode 100644 addons/beehave/nodes/leaves/condition.gd create mode 100644 addons/beehave/nodes/leaves/leaf.gd create mode 100644 addons/beehave/plugin.cfg create mode 100644 addons/beehave/plugin.gd create mode 100644 addons/beehave/utils/utils.gd create mode 100644 autoload/database/database.gd create mode 100644 autoload/database/database.tscn create mode 100644 autoload/global/global.gd create mode 100644 autoload/global/global.tscn create mode 100644 icon.svg create mode 100644 icon.svg.import create mode 100644 project.godot create mode 100644 res/animation/other_character_default.tres create mode 100644 res/image/test/tile.png create mode 100644 res/image/test/tile.png.import create mode 100644 scene/behavour_tree/action_leaf.gd create mode 100644 scene/behavour_tree/await_time.gd create mode 100644 scene/behavour_tree/beehave_tree.gd create mode 100644 scene/behavour_tree/beehave_tree.tscn create mode 100644 scene/behavour_tree/condition_accuse.gd create mode 100644 scene/character/dead_scene_sprite/dead_scene.gd create mode 100644 scene/character/dead_scene_sprite/dead_scene.tscn create mode 100644 scene/class/food.gd create mode 100644 scene/test/action_accuse.gd create mode 100644 scene/test/action_accuse.tscn create mode 100644 scene/test/action_attack.gd create mode 100644 scene/test/action_attack.tscn create mode 100644 scene/test/action_await_time.gd create mode 100644 scene/test/action_eat.gd create mode 100644 scene/test/action_eat.tscn create mode 100644 scene/test/action_move_to_target.gd create mode 100644 scene/test/action_move_to_target.tscn create mode 100644 scene/test/action_move_to_unit.gd create mode 100644 scene/test/action_move_to_unit.tscn create mode 100644 scene/test/action_set_rand_pos.gd create mode 100644 scene/test/action_set_rand_pos.tscn create mode 100644 scene/test/await_time.tscn create mode 100644 scene/test/character.gd create mode 100644 scene/test/character.tscn create mode 100644 scene/test/condition_accuse.tscn create mode 100644 scene/test/condition_attack.gd create mode 100644 scene/test/condition_attack.tscn create mode 100644 scene/test/condition_hungry.gd create mode 100644 scene/test/condition_hungry.tscn create mode 100644 scene/test/food.tscn create mode 100644 scene/test/idle.gd create mode 100644 scene/test/other_character.gd create mode 100644 scene/test/other_character.tscn create mode 100644 scene/test/run.gd create mode 100644 scene/test/run_action.gd create mode 100644 scene/test/run_await.tscn create mode 100644 scene/test/run_condition.gd create mode 100644 scene/test/self_character.gd create mode 100644 scene/test/state_machine.gd create mode 100644 scene/test/test_main.gd create mode 100644 scene/test/test_main.tscn create mode 100644 tool/drawer_container/drawer_container.gd create mode 100644 tool/state_machine/state.gd create mode 100644 tool/state_machine/state_root.gd diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0af181c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Godot 4+ specific ignores +.godot/ +/android/ diff --git a/TEST/mystic_woods_free_2.2/read_me.txt b/TEST/mystic_woods_free_2.2/read_me.txt new file mode 100644 index 0000000..ed05e65 --- /dev/null +++ b/TEST/mystic_woods_free_2.2/read_me.txt @@ -0,0 +1,13 @@ +Howdy! Thank you for downloading the Mystic Woods asset pack. + +This is an ongoing project that I will be adding content to over time, so let me know if there's anything you'd like for me to create. + +License - Free Version + - You can only use these assets in non-commercial projects. + - You can modify the assets. + - You can not redistribute or resale, even if modified. + +Follow me on Twitter for updates on all of my projects. +https://twitter.com/GameEndeavor + +If you enjoy this then leave a rating and comment. It helps to support this project! \ No newline at end of file diff --git a/TEST/mystic_woods_free_2.2/sprites/characters/README.txt b/TEST/mystic_woods_free_2.2/sprites/characters/README.txt new file mode 100644 index 0000000..edebaa5 --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/characters/README.txt @@ -0,0 +1,18 @@ +Player and skeleton sprites are on a 48x48 grid. +Slime is on a 32x32 grid. + +Flip right facing sprites to get the left facing sprites. + +Animations [rows (0 based for us programmers)] +Player: +[0 - 2] idle +[3 - 5] move +[6 - 8] attack +[9] death + +Enemies: +[0 - 2] idle +[3 - 5] move +[6 - 8] attack +[9 - 11] damaged +[12] death \ No newline at end of file diff --git a/TEST/mystic_woods_free_2.2/sprites/characters/player.png b/TEST/mystic_woods_free_2.2/sprites/characters/player.png new file mode 100644 index 0000000000000000000000000000000000000000..b22f4b37efc84ba7840e50ed12eb6391633ab1aa GIT binary patch literal 10107 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 s3dWI%A|dj7&Ua>ce6c=&BD)OAdAkUs-vL_n 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

4mHlxHto+Qm8PHAVAm)o`itnC(Yn92Ws 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
8pF=$JcJE^M6a zi?gx5UHLmNJg`Y3xY@V3gbm16dsl5p=9&nc)r5;*eKWE}K8f+GyRLYcqtU;0x0#^1 z?{1a7S)@`r0y5*L`%_~7@FO|1O&IOk)=rIO^Qv&jj7+-Y3N5LW$T93A>P%bl0yDD> zc`(k(-!H%z6FzjiRfYaBJ-wZrsgYkY6qB>MDJ+}Td=!j+JnO2R$%iA~T1Qyl!H9Az zeIaqvR;B>U2N(9%z(5Qi3~N@1iQ{db@T(sEj)$Nj(h{EUtz*Q7!|y)grf-Sb3WS)D9XYrOz8{-p z@4JG!P#~R88zUZfkI^c(k@8z~l`u(E5BX`BX7CV9R%k8fI(BJ^0v6_t@s%}r_sVrJ zS(0?B6>u|)#0;Fs<)e%DN%B&a=t7ikW=oo+^z`ca3Otb}YU9yRGIi4If_PByGIbWE zYP2-a05#WMhwhu}F>aY=raN6VLwg*xx!r@afrB&<7q4sEXCi%Y5yOeX{V1^e1?A{8 zxOywKFO_4GO0jBh!`>-4v23pfK8%Txu8UMc3RjIA*N@`=c~C`E-NUKh9$1n6lCUzt zs4tRAZh?vKpo%l_vr;9pe%*FRcB?W_f2!=@M@fB5#JRc$_tro);xi>{Y|)`4CxVEo znu$B66#m9R1P8%8cL#*v9;VN-P4ky&1U|^ywdQYhXwqSnkpj75Y5`LwJf_W33@a~5 zUaeGiU6gV*QUNlUV!g^IMLKB#XmxM31w#jh8l#>@*q_Ka>L>_aCVU8Lw;d)I#Q&Wg zE!6&93#@zdx@wKTnYL-Qb^6ooNs#AD552Tey9Ee%pAV`!9v@~5x*~v1X?ULhoyi2` zRi`_Am0YAlx3{VP<5|t|ZddEo+Yv3JF}C>rb43AX!?6Vz{K_!jai{g%^_lKI7w_t>#P+hzmTu!|mYL=_}Qmjt}at;ema7t%D#!itVQ zxilBdnJM~;n?ACv4$KZNR_n zy$E{NyT>;s%|Umg9yQ>`Uo(~|EmO1(!1?{QqQ^13?>DVEQ?FLyj#Jr@VS-g#6bB9S zW7B>AejoWmd-yJNk>oB~8Q!5Ly=9qFvtL z8^Z#^Yi#7lPqwrUa4h|KVk$dS-pi@Uxq~vPapxM(O6K_y!0zPB_###(PhiX8r={6n znIe)%&}|e}bYlDlfp&1rZ|18*QPtD=(B$i)5o`L%C+!~2DiL|R9G9aN!q9#XqQ%sK zfsKIBG&eLc>T@saj@?PHpY7DMEiwD4z5xDhk_4fY|Hh^Eq}KPx4wy3vtWfo;O$Y`y0}Y9Q1d#2Flv}9tvC5 zkfKRPbXpAtfosKPa`P8@APHyRub1C0@^q4m*_D@_MwT&jh5B*MAT81zEkxuAB~n2i z2vZ@QDkil>3(XllIPhNhN*F8%C|{WelbU&1uWxvtZ(pA(&~sk~jG0^i5}Q>WK+UPj ziji6Pia7& zIQIkw0-vC<6YiNn;u!cEAhTMk%3p5=nd0jw0RxgLp;`Z+!N?Cjr@k_@4RNri6 z)$aWH1bZSBNRX@UVvX(m{F~;mXCUy5Fllal(C|d)_g`dxdlw{9yaH-iL7=_p)IRm# z+^KfZi>lBm{$!J_B9x;RCkM}wYk|6&cWMdn;MKQ)ngjo03em93?~t_H`x#?}!2re4 z7Xm329(@s%2_YbI8+N>w7o7z2arOF8cioDygn9C+A3w z?T^rc@2FA;X+>m4xh3gX++Y*|EmLcdb#Fcf{x47fV|Rn~>%(Eo@7vYK<3ip$@3#L( znmX?n_x21V5_W*^w=l3eb-_4@h(|&$9{n*$wP*=8WTGpvkoH>q{OIE+wl>A?72Tn{ z)P{mK=wMu~o8TlG%UWyS$`2Ym>r5neQC@&JlPJVc4uAY8*C~}YOZ|tSZj{IRH_}@) zH?SlL$266d2@HnGA4AwBA7+3p9G*iQAJ2NE=HV4KKf5OsVC9fYkP{`Sf>CJ2Q)GGn zk#DLsmV#%qi%`>=(noFlgZ5WNMci>ClM+q*38{km2J3a70{^xSBVRZmP3z5|y{*~c z^sfU6A)2d{kb>k&|3=16>zTW^*Uk^pyCidbvpG-(RXl&*V#hn6142!Fp2CT)<0@Y% zT4`4?_FotE3p24V&GD)jQM3sFy>=RpASRP)kq-an}Xa702)6kyRKc%_+ z@qUH?ZrnEz?x_fq`gv?GNMW@KeJkn>FWS7Bn^S<<#?2uu?}`)#-8@cB)YUrUGef!CvcFXG%+P~$^O>lYmL$~VjHhRVH8Za`)h9+AkBIPq{P8due5b#NW zI7{i-G zrfoZ3?ny57GSAK2uvdDlP-%~lEhZ%6OWd&Ax4d6651nvw-4MMO0#GSlicJI|4Pj$0 zGU&_$HXBwmOwU3WX4WB5jq`UMm4^)`9u$$edMkKoc1j08DRkoA24gleeDCi$us=7S z8?AO9YZwxCr+2+kbM3RXkkvhg73RzNrr58 z;a_KI4nRCny{zMNyQBxW8kW$~Q%a^68NGX{WJ*LWB-{dw`jxPXBw_0i3L7q}8e%EK z&Vmf6`o+pIrsfEj|853;FWQwKBJOQAKqbllLH1XVe?(I`?9#G3^ z;5k=nc-7;pqqBpW=j)3cAUpGUd%BizewnpWKWowR=5<+u#T2*o`4_MD57X`mk>D$s zZqgzr>JAm9iWQ|ghL~o#9qd>&8<@*94LmQ~A-~Qatz6@d8l`1Kb5A&NOBG`gjUlJ| zRUOG8vA=kIc3h+4?$frGUAVn-k;KYXh~Tjgc>@F^lVT)JtFaA{@a#hS;GaKS<9~RV!;R;I`w9HbS+Rf7MyI?5`cQa~<=Lt=trYkHp3JO{R-E<+D_7l6 zLQJt=_ixC%T_dqJX*bPrW?xwbJ;6O+AK~KXPzSqu9nPR>(^q6t#_y;5jBa3a(n#&W za+8*HVxrsLhRj%(uzg2ta+4xyNC2zKer`Z9fh6Z|KU1%R-wlu7SK7=hGWh@B(1IU- z!4I^847%O$w)uUc&NUeJ^1j|9BgJFYt5Sz~b}o5i|7%h zSdZNQ=!G2SH#XPabhQwFC)~+)kQVq;MskGSrk<63G*|b9>*0FIgfB}Jk$lvuWcP>Rf8Q@FG(@GCQHXSRFXK@ zMbm-e{Xall73M7b6ELoKV->bP`uB*@q?}+GV(>JI-<2d1r|64^e>jxQuVW+Ayi}DA zy#$xMyKLfu#@ntb(tpp_rSLlfx_|hC%0M+2gH81u%I9Wr9q%7rrlLDQXN> z3KsxzL2UE%f{5_bU}9+fJ^?i0>j&id&SJfal5@U|s$<*7;U5pXX>PnfuEDFx_=L3= z4F?BFk1WA?w!xr%Dq4qzan3IxP&^J}$1h{buoR2R`X!ECLNu~E~&gLi_&!|q+ zV7uK|9~mlrbd4u(KS;AAO9`ypF(HmPhrlbB>Vir$`Wdp(voJvtV=~JsaDyc{TEDKo zF7bbUrggMA)-^G8Q6ng&vV;bup?!-Z94r*eJm&tT*A-BeHVuq{>+(@$c{(WV^d*VV zh6961BZqfy;~tmSH&{RI&{<-Qis7?Uhbx>h)U6GNH_Ap?7fh7!H7A`H-AoLhxa0*W zTqWwqAQ6M2&^ zmWu3ClAOV90j|IclYQ{W3K5^9&&FAPZNzOTP^26ntj~Y zn4&p-<~mKGr@`$`@ZI6bX@C7&qbW%sdis0ex_n^-&o`U}!oxddQ^MDsXW_%?`{`zwVy25pR zdp7sKfai<<=Uv%zR;$5~#uH&Ls09aXJ;au7Q`TrAgaYy*>-vI#4ra!mNxO~nK94B! zxc^LPFkL?IhfyWUXt|F6`9C+-#3U+Ol9tLko8F*9WCv__Y`;B?0Pos#UDmeGp_r&q z1hQa~;Kq=fzSl1I{f8qI-tUKg7bqxn&2G<+sMQ0?dS9Y$eSa;-p_%U7&-abDcz@@Q zJ`pONX-p46n3P}$`QMhxC!_8m_$2o0z1(cRWlj_Nn`r!*>ZK9E@<~xz=2-MnMe0Ai z;;D0deijnE$1M@sfdH8Ki%9GQ|{^g{UHlmgSa##LvOANF-Pa*q&3=<|El z+vq&RKfVKi2loD|PiH%o{4{ik^G41kjuHmk*Ekv!R2$~3 zA`|VlPaG>PC3<{{KfqJmPDNt5MVUQfLAZ--Qmwt8cmVzt zwEhzJBclFE+&4czLo?abzIhnW8HqC1P=4K>@>O=^6iL{;gfQV5Gk+IpKmW)N?xGTB zN4B2+Do_zNSXCv#TY?VF(DpYMdK2!PZ2O#-&Kit z?$NZnj58ec34XE#eI7vvF4gj&tzTDDUm5yx@?s5tXai(__}hPcs8O=*Yo2WH;W>Qp z$j}`JJe2kiP=$NEggJ5xeBS<2m0ZV!3LKa^&I6~Xk5}Nd_J)1iYP6NUr>lZueK6lG zEgmpN8xDe3jpe^L!cI}67kbE#w)my$`TJHO#vF9Z|KqRC^X&$7s*>BsEo6vNg#YXQ z$nz3!?cNiS&o7E54FQ#SYUS2}X}qdtD{tGXaYt%gRi$T6MrU483s37jMgjna1pf~e z<}9!(KreXreBjn@ zdhOO$7k=GpEU|HNjzVEAdM0!PD}FDK&tai4Nsws~%`MeT z`!;>WIOnFQ6FnQVu;qXLjrl+&Qep);b@Op;Wqa&ZRfyofsBpt(a3K-T1@8*kpg4HD z)}-0WUquIPsC8-OczsM#@&`ZQWS6<7X06zBRx#?9W(w$RgpjMqQL9qP6CzD2jTfk~ z?ix1-GHo5bG_=b1xNyaXrBe*{-v=RI=irY<2zjtJ8Mi!evg}Hj8EQPe>S}?A03e2c z!hRibUKuJ)UO!f~*3k^Po)~m}QSuF5pX@VU?Zu`U4FB6YXOAFYQ4HJDrHny3adC{i zsK4)!%cF-N84>TT=u>@%NL(OSTM;YR=1j@%WJ9YxQy&>hv=B4iIQ5FYgO&m5tvRmU zORD`#0)sE`cEo!@4@ahcXhr(T4=2g8{Co>Uvt6!8{_iI;`x2-xSWY&kU-)9Uw&mzS zHGA;wlsp)X2oh8_Dys`e4R+pl%Ffffd7t;Nes_P*J-j?(fTGFG&KLj zUB6z@%e$XnuLlkCJMOlSwrc%4`-M&-b(o7sD|$#4Tk}x1);`LqlvqzX)wuR#JJ#h4dB)nR9XK%OU>r9fBlT%a@d?~ zXR}zWapM; z+Dx8`o*cvHl(e2j$sve0*9^e1ev8k`C?XZ}7evB@VQpUN-^Y<*I!d zgzEadx|#_e-sAfK)85tBAvgp>uf_Hs2^20Lw=0rcwmu+N8E*dovfgc9;+^L!!RJYc z*lmBiR(8LKX&aBL*1Y$C)Ax@7>NqkolFwx7hc^Vv7Ipti@2~gQH_U(6f3J~t7a%{} zUqA$k*lcz-t`IFRK+T4u-GxAu39M3$naT)4UDb$K%Vru>gf>?Lh$F*@JyUT_CI9gssvakSzV|6)+rL7GL)E&Eu70-@qJfV$QNX>!geOq_ z%lLv#{vpGN_NWPQ8ZviQmpya6S!B`Xeh4PNqQkBO_L(Q>Yg{T`za5(cIN3D#a?HP+1mIa@?|=VS(2ICi|3`H zUP`eiM=)~x-?slb2gpv|=QA?{{)JIHwd3z~!2iP$$P`MeW5n#M_tP9Aj5IKa6;$5; zGFm(s)OLDo%1&+p;p7B8Uf2z^pAgU%lE@?%G!*LjyhVfveCxxw*#7G94+UQMYr&7& zFJ6!xgRd!_lW^3p=kR#ItYWk0>nA|X-v0s>YOMBrHp4q} zT@}7!ynV8Ke>~M_`25#(F3Dwf7EE{8 zLo~Ern10yybwcyYpsTndE|>rcxJu!f+%w`rrRY?hypmu_e47#k`9l}T>s6z>O0X9> z?JQd2i>nuSxg$wU#A-Q8n2p3VImHU=d~sh<|FxgExO|?6INNUin9bfkOmrYCuGENA zoMRZ`&mogxx_GYQK}M;3gK^$P@0Cr#1BDSE2;NKztaJrsk=DpU^N!A#{i}h84(I&N z7el7+{{l&O3>nnBOZ0Wk{Q20mqNL6a4#%(W1ph{KgRf)#n2&_j&X`mPIVIg$e%(qV&t5WNmyMYr+&{Fq88{y*9&!7u* zPA7H+r0$Kxn>rDX-_`MyhR;SZDmZ5`^~EpZ zo{0E|ZmdnJ|3*W?)od0YexRqF_+uYR*n28Anw#)NGk zF?bR|S0#7Q9`3Hje%i7%8J$61=xXSb29t-*)pSu3k4(stVF1N}H0wNC+|kvgI%~OF zw?n_p!0+C@E!6vN4~aIt7qa|Z+}DCiXWS2)T%+8o?_O-Z+zWZ|yZ-qrDDbL`d`KwV z>^;yvzxltQD8$PyLQQgfHvsyduzQ9T_Qn>#2qrq3155bsdJRxsd!lo6#@wh z=`kcPWzfUNBLvV{uid~MKVord{u9@=pt9k#W1#8xc%e>n`+Pq50urlgPUCR}=!r_J z!+uy1u3nB4ABMT_#&|kw1!JRnXL;%L-P$tqk{eNi^Z&XNC#TGQKu`!w+=DR~aP@w@ zAp7?MCqrwsqY6>~_YHuR%o#Ph!Ux8guebJ7uxbm^51;R=yoVLg8%#nTylncd=Df`w zUq+lv=f>V9gjFv$<(;ipbc!($w_t_to<0F9oa+mZP@tr;yPHJz{<^v1^zsh+OP?ox zrl&g|XgUDHnK$>>5M^0t^>BK?I2TX>=_b0~dzb*Gy#Mn1d}oNOp+*EG=N+DN-0z>~wfdB5a0j|o;K%Y8*>Ai}CbBDE@CEMKt@hJAgvcwrX z1pAL6g5l}J&@mOZ(V`a=xim|OtY~>m*>VLn3jh^S^MbJDCIN@~SLIjL&gHNRuf5{u zQ@I(GvQ$Z>hGiEPEC087Y%kes9`OB16E00+}aH_#k0$`296!1rW9Qef5=b z32g4nzxWo2SSk;(b!9&*PIww6L%n29=ORn_nG(aps#VSbWxIiaec<0)$S!v^)a*+l zZI($;0kI@<+BDJ5LhY6Ox0ZEu3!V~$0T3WA!E?gcBl>!-Z@O-rWRSI9q0Tr_Ep^^C z{8tU$-@0}z7VU2zy|4z{4s*wgt5;-f6gyrcJ!hGLFV5aa?BIXR&uur)5$!BsN;aO zN~Q34zkt~0_xet!4_OKv&q`0_z3s*tQ_%kiXY}jOp)Rb*$LJKy4rQ~l zbJSsWy#H{^y7goI*CRtL>){069( zB+JOw2=alZOA&IzyEoF+Lb&1sl41>bl#@`owpn9K(te{!MOMD@7{~=AOH7B*}?JOeMuHnj?=rt%@fZP zR0g|$`p^h_w+eeV-$=(a?ONLW#5zlJ@pG`H^R5UHN0c(w6aR!_4C6^ zztQiSN<%%cA;*y3O#O_%Ihx?SK5Rvb zjho4~1u!YX(-Y4HcXNG;`k2;#;{SfJnhY5#PT?eJV*dGkThoS=Y2}d#Nm@O7nM&fr zu~+?4d#ylGcG5XFvvy7f!n;O|kt$l22UUK~GJK|7*75d!Pg8OT`ZZg*Ig8-ua-R=n zQ*z7YeMbJ#kvq+vxC|AM}8i#1}GJ+6oU<(CG6zGo|<%Ks+(YG zhPru9m||G^2G}&?!93ETcSjQ9P*hg=K@$;3y~mYA@e{SUj*GpqULk z=6&}vY;f1A!p&O{37T58bTVFU%8?IQl$F=oXUOO7&@2ED9zc+{v;>)YJcNPT_`1|1 z64rP<+o^`!xzkeO;dji#7Kr2=QGq0_nT^Gbq@aHGK~DVYldIFjqC@M>nAOlCgV~!b z)JWD{>Sd&Ka7M$RFK8+_qGTCY=(ezaC2~oiq9!%_{^K#%k1z)p{`PG~RlHwOG8a6% zEmR7Bdu&PE^=IHU+qeAh!lk=`R-_n@)M#StQ%QgVD*uq73Ow%6117cznspe&sPxye z4qcOfF{k|wnC-c?kNGaDIB5`K(QNm2hzgsuXcA#cJv&=od~>rEMrVu&v#c=`MiPJ9 zXd7xf(*pUAd_!DSp-gH})<_fZ8Tv5pNGA`U?*V!%!5q084FWFt&f_G}D(H#>qezF; zF?BT%1|&$R6(&Uf0{#YIk+z(cbD%Yeqa)JBMrb2SD@u!|j;h{&)trr|;&UdNf@DbQnyNLk zwQ!izEf_UtHx3Jcw)xH6A+h zbh)U${t=l$%Un4c(tj*mzR5D=flaN}pTm0@MVA&MlG$M<7J`nnKnp2?jfiFpb9-C( zpKo|&jN67$S^bqfZt{EiH7WCNmh^&#%in`;ik@5V(l^#I@4sxphZZ^Y8c3e+(oV#lBZZ`#GI=OOh>)#`P}I2F=1yp=IHrwJPl2q;w%tJDwd=sz16f~N$4%= z-QKhFz{e2I{7Aik2mdFbuDz-oW|sQ>ejxP5ek4~a{X%WJ$x5sM1BpJlxSgrzx~iJl zM8mpCW=?V$Bz=7eXZ$KwR_H}b zpjYL-9bLy}4>Sol9HMrTtzr*SCN+(#Py2_r_@h|Kan9PdK}&^v*;u)xDjkihDJk;u zF?0e4oD|w(0*W*dzO_C-=a`SaW#}i0QQOEn$z`bHt-qrWz@fl*X_<-B$iLJ=#0g`v zQ%sfj#$ELP>9*l#RY=9FY`MQOhawUG{PPR)PV14hM5w3a!Pk_JNEQ!pRDYYMds~ut zVQEp(b&WL++bBe}^k8zW3H^G1Gw5Lz+-aiAg;;MvT+Q00|B6~dbnbM# zJ!=W(KRu(^v(e816PT)+YARo>Noq?+r>!hFrv|C!$J0#&XKiGlh=;GJ8b_z3P2CyZ z5X&sjzPZw0Fh1{g5ncC6O=Yw27NENdrvd*werd?@!lTeQd)rssGYx26?+oxzm%d4D zitGbc#@wf=(8le~wh437ox&1I1tXd?zC@FuI@NxE$5iZwPCm8w?)RE-X)}`XTH*=L zAf?cMl8+440e=tW83hpLKj{I+c%DWKh`!Ai|!RezMD z_)FJrNb#4ywR31xUvCR402ZT##FTljE{=i1zBpl4>o60E>*0_QDV{~*2yvJiVcjDRhdH|dH#A1=1G+Cr3ozm;7P6cJF_#Rzv_DN^P z=l8mA_Yw!;h}uv|=?#c@b>nzPayBwnwtl~kkAjDT-b@3A{ElSR8tZjWJf14Np0qp! ze>`o1=4IEjcW>n6f{p2DZC=>`Z^(N8*Za%)Pv*8K|1Al@nge9ADDL6CwC^3+X$~=q zzXQ>!SA&-IUV~!G*p&aOS{PZ3HbIR8p-I0@Ac*>zaw%ZK95Ml zDQ1Vp51oKGWHi^WA!9yd3nYZdyEV5gCx?Ta^KxX-3Th~jQ_M6ui%W$BHyY`}(pLchlxvLH&b%i;3 zv=`R(@6ImVnP*DuHEgO{rade(G8DGu)%`|1wFls&_;e8~(0JQBXcMqYS7N>$e1CKT-ODnP&7 z;@Md$jve0RuXwns2*&=2-R>b7B+c56(yc@ZY991eT{}lmOq{xDnJK|U$y&-*)z<8_2`Xli#lxDc=Ec^E-sar=P z=&ZEZLt4KlyOT@*uh&No1;*~9VNor49r@-Y8g5Ut-g|RsJ7KZZthA{y&l#(FMGeB~ z(kn_O6PS~mGEe5l@!u^savvU3gdQhjVE6?`F$ffGG=3^6F+)ow!^SbG%1tShU)Py5 zm>G!Qtdskct!*j;6X>tQXX58PRsJi)?`C!u*i<*oO%XHDC2DFvR&H?HzP#gD7Zg-5 z6n*F2pXFxK)zH*EH1(F7)l!mJ2WW4^QLqO*tc~$b*W=1|4%;ocjPV?;TzR7QkmV7K zwmrq{5!UPa{T+s2Uh@R-1KiH-ebeZO0zf7wlfU$* z_xQML>_8V8fBADON&ha2OibiDz;a97lTU}sh1jia%v(8-qP7-M5C+X}Nw>&R%jO%) zeI)RHYeN(OI*dL<{}*Ejoc9M?x6P+qntb|YnxZYduyA1(LI$-DAXET+ecT*d457B4 z$7Fwe-kj1SJCHUt7XJ9U{}y%K`7tptO#&4{L!L}(BJCq)koj=GSXEW_{e-v^Z5pg1 z*LA1mK=23V8=4gP`mK67j?=zA5X~ch9GPm%xeli~ElCAt9~TSS{N>hmuzd>z=2B|x z>wW_b-72qsghzedM~WNGHwxaCRpY%$6bpAFzmXwzcxWH#_m6#N&)4KQVb>-I z$_thG>u&ek=w@YtILuH1-Nyk0N0X(DS@`vJ|E;#;JsVxUvPwFua8>#E)d9*%1geVBHj`D%T51|p1rh|pjV-xRxp0e)?Sc|m zN3w)f&Zh)ZCnZIc6E1i?r5?+=VeEgPIyy4Oq5p-}*R{v^pwvHL&7ihq$6|XtVG{0g z6CSkX!~#Sd(C#-ZuoYZgsfqUU1PK)GdWRoQHNjfFT;;**cG~yD9FoNVC72L3{pTr+kgoj z)*GAx8*i5oh5$R$VZi#Yh(UI3;}xM*z}mi;imNsx20Z@|gDGFGX#%H2jVbA4+hJ|{ z*FO(SF?v#mfa`{XAPKo~m?W<_C53>4LSck84%D1=V6;x@us6>lR8EDuEnE~UC)`&A zRBg+)TbGh66A}r^}B$$GI+<)sfcufnLveEe+%J)*4 z)ikJRz8^1_^{dQIDRN5H`^{ffl@sc6K5Xn;i{YY*?>jtjMoKXRtZ9teG|?UO<0gEAMGn?Ij)`LoI??>dC)`ic$uxDW2O zS4gp!slN^tRh2srGl^<-bE{%gg`nx^Yg(K$_3q*qg0Qpb*0g)hAXOH_=H=lmk0f!I zv@z9|eclnicN=>{l1cH+h$(6D8}(gw@$;Ols?6IVwSsMnkb+2USl_lBPQan?=gqYL zU{x$UO#uS;H{xa!qaQl5F73MHn4%^|G2-HB+s0ejy27|z>qhi|`v@t_ZRoxF+xEi` z8C*^iN8Ozp^lO@ST^OxTAwes^{%M)0tB_C8L@F~M4#%J6p*E4FCG|`8%*$=-XuVyY8nHE7XRp+wM+iIiEK0 z!Q_lKMOv!kEOf$$=kBx47k&`I_-f+0fF78xmug{^0oW_mkS^NM{ zDy!mB1jb59e6k%dGfFNX6PVZa%|aA?xF(R|o#^wcoe?=qCTvR5R1A|D_Nm}F^qi_) zt^0Ant7chNYnq1s!?1jqNCUyMul;~@D~|neY(&`0al#^FVxnv*#W!!88s`Pc*I5%X z0nOvkTh7@{(nk6~?>RfBA|6yZi{mFbXO9Px`aqd%fosVRHL|9~^oQVi!TMQudrmV4 zE7_?ia%B|erX*jHE`=GHnZNU8-K`1H$&j}JYi|*GkuXF<+)~tm=WFJ$<6vMWICd%s kYW{4&7nrV}b{l&8e>h)dg4Bh-U;qFB07*qoM6N<$f;qgmYybcN literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/characters/skeleton.png.import b/TEST/mystic_woods_free_2.2/sprites/characters/skeleton.png.import new file mode 100644 index 0000000..09a29f8 --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/characters/skeleton.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://csh4bp80n0jqu" +path="res://.godot/imported/skeleton.png-c741bdfc3b3bceef37fc96f2409dde34.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/characters/skeleton.png" +dest_files=["res://.godot/imported/skeleton.png-c741bdfc3b3bceef37fc96f2409dde34.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/characters/skeleton_swordless.png b/TEST/mystic_woods_free_2.2/sprites/characters/skeleton_swordless.png new file mode 100644 index 0000000000000000000000000000000000000000..3dbe1e2823a2e1ee63ea7ebd52becbc251bec583 GIT binary patch literal 270461 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
C)ZC8yy{*yn)&p*9__uu&j?mm2Cb{>5{V0W=H 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�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 R+=u`G002ovPDHLkV1m&xaCHCx literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/characters/skeleton_swordless.png.import b/TEST/mystic_woods_free_2.2/sprites/characters/skeleton_swordless.png.import new file mode 100644 index 0000000..9ad6c2c --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/characters/skeleton_swordless.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qg24llaiojac" +path="res://.godot/imported/skeleton_swordless.png-cb67559e57d51e44b259e3220ec81f18.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/characters/skeleton_swordless.png" +dest_files=["res://.godot/imported/skeleton_swordless.png-cb67559e57d51e44b259e3220ec81f18.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/characters/slime.png b/TEST/mystic_woods_free_2.2/sprites/characters/slime.png new file mode 100644 index 0000000000000000000000000000000000000000..3b5dc544a53b5a9edc868c77876439f91be1aae8 GIT binary patch literal 7379 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%0Dq4WHsRcW`BZWKOJY4H@ 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 z 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 IM6N<$f-`(HlmGw# literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_02.png.import b/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_02.png.import new file mode 100644 index 0000000..738cc03 --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_02.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cw0fk2o5sdl5k" +path="res://.godot/imported/rock_in_water_02.png-532b7ae0b3325cc350e0ef0275c8a8cd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_02.png" +dest_files=["res://.godot/imported/rock_in_water_02.png-532b7ae0b3325cc350e0ef0275c8a8cd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_03.png b/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_03.png new file mode 100644 index 0000000000000000000000000000000000000000..aba065cc537c63fe240ca46995b25e0dcc8bc7fa GIT binary patch literal 676 zcmV;V0$crwP)Px%UP(kjR5*=IlgW*@xn}LIf0PuKxW!G(}$^v)C9a74u3eNiCm!aeN<(=Eu z6Jy}p_XmP1OG?BL2&$Ml?v98Mf&!pdlNdwbX6R8B{{D90w_m;jFwGZEA7>tqZ(NoI z5#j62o)8ofK}2wO)ZKBM!^1Pb|N8UlqRO^y82S!?q2JPPTkfBZIIyIInPFz=|If*` zCNp!)jIxMSWr3N|)D_*f<)6a?!umf1T?G!0NA7O+6h$Pcex9j85rIw9&^9$qT@gdz z_;wY)Wh@)+&NxnMHsHt83+HKONf`uir>!f@oZEfR>-z^W2K2|{k-OW0B1Rl% zJWrfHMsA0mr{gO_zom$Q%aSm2Vho=mhlgj>+=wBdL22vi%0V!9e)=--@^(T*h(S5e zGj}%wr*Xuc6{4zwz&tOADs5d7g07U^*>xKZ56@&XL{?#drtQw&PF=6roSah@*J zRY{D2swfa(zw5YvdSRL_0BqWZvWV=u4Jsm>#xpr*LQp==6DehaDjJlgt`OjMzvKO5 zBnD-gFQ0XfL*H>(7RK|8h)|UUOG@ONF?T`;EGZKMv`x+T`)B&qnW`$#5EK=msY}d^ zoQ?UiT&ud4tSSpm;~6uf?>4-j#w#Z$x;sr>F-|kvwjrA_o+sXOCTF9(F0m*gby;F= z?79s_jF>y|zhSgZjR0xRE5s1ic>^hD${0yGQNTSP literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_03.png.import b/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_03.png.import new file mode 100644 index 0000000..92be37e --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_03.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mr47gn76hwg7" +path="res://.godot/imported/rock_in_water_03.png-af0df681573d1e19c87e766443c69a92.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_03.png" +dest_files=["res://.godot/imported/rock_in_water_03.png-af0df681573d1e19c87e766443c69a92.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_04.png b/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_04.png new file mode 100644 index 0000000000000000000000000000000000000000..79ba4ea1d10dc5ed521bc328bd28bd31f865fde9 GIT binary patch literal 675 zcmV;U0$lxxP)Px%T}ebiR5*=Ilgn=7W(yF-A80Pu2n=dM{%l?4$&1WZ##RS4!u_ie-5@q=C3 zkdpEBpJz;!+cc5PFjd@xh(JUzQvmdnBqcK*+6}70Utjn9`tuV2!+7O<>3KPvxZZAv z2u}}N%oGtpM2HA9A_#*0^BceY^3%+s%6eJTZW;jE&6>@6$@kX-0oRf1IhNh`_3@S=I~cMMW~> za5|ISnI=c4DdX9R2)b^VwE^E=kMzUHZOR}(1j|K*d$8MXc>lPNlA+&T4m|E!ij)X~ zt{*sGI(F@b*TXyQW=)Zd>uth4NXdSH?4RFI4=0(SrYslLrw@Wh@a4Yccse5@Bvblv z0g0NcBU@2^LO;riJ>VZE$z4^%`rcRe|0%#=$%Fija#MNO#}6$0$GcYItr z#_@{T+|;rxNKd;h#^z_3xOJp`})2#S7chsMerij2)iGcO8CcBe!MpRKz%9QX3M1@6J z;^BO`Z+|>j`tLC;83I@+gU``s@wst1QxyejilL|q*V_aE{{p7ZMW9aWQIY@v002ov JPDHLkV1mb#K+ymI literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_04.png.import b/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_04.png.import new file mode 100644 index 0000000..302bb4e --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_04.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7sxt5h40wjd8" +path="res://.godot/imported/rock_in_water_04.png-ba1e6f9c526e81869be3c6c84a5ff2ab.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_04.png" +dest_files=["res://.godot/imported/rock_in_water_04.png-ba1e6f9c526e81869be3c6c84a5ff2ab.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_05.png b/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_05.png new file mode 100644 index 0000000000000000000000000000000000000000..3b5e3856380ea62cd1418b22e8fea4ff03a446de GIT binary patch literal 680 zcmV;Z0$2TsP)Px%Vo5|nR5*=Ilgn=7RuDu__q}{dr0GXIStLM^AIL7t{QqBMF$hLuS(YqIe2ACb zSJC>ox5g3k!QF&?vT=gs^F{>AG(IO(+5wn zCC0$lZ+n6&b4tVz2&$Ml?v98Mf&!qQCNYMfGq-t0 zMELS}PY8;LAR@Rs>h3tsZvV#bzy7?ssIsjqy0!tJYqzx9nwP^72j-M8Gt3PA|2d1T z$;=!xBhMm5o?&KGWkIv8`DeFBSocHFRbcme&vqN;+xG|h-Ab(s@_u9V%mYc}lmZ!Bhrtik|?)0u~^L1R$TXU_NYg<-r= z7CA8niY!Bb`@4ph!-;Xc0kEknwsnP>qawnkA6S-!5R~gMlF~v@MT1h61p++X-|=zn zi9s2s8*@tQCw6VaZJz0e2@#>lGfw9V&8EWK2_Z12g>f3FtCDXoZ?w$@6`?3HGz3LO zsLC8OV_A$C1N}I0xeg5Dv_@ow);1eHF8wDbC%QXTSr O0000Px%TuDShR5*=IlgWA^~Ta_^IFU^!&z6 z+!CYm{l`5j!kjZv6&1nEad$!ps0sjbITE8P*Zmfez(3#j{PFcO0K+(Od_VJWcx9Sr zLI`}mzCu+9ArL~q-4S=karXC5{Q3Kr<%$UFuBG2@0O+@Cw(E|&#{&+`Ib&v+8S?*k ziY?B}95bV?BB`!0GukGxS$F)qzbCNltI8siY^eMMD8ROI7LQ6U6awJlxS&^C#v z%Hj1$F(YR~axPdg+?~^DSiAv0AD=l7BXceg0C&13VdmUiZFzZnCq_knJ{-8c>8WDG zaZcxf1tuAm@ULAS$#?A^Y zB2|o-JMmXBy0#$zRf$AZqUus_AeX|XYssaM>WWkcra6Pdf6j$H=Nc}!IRF3v07*qo IM6N<$f-`(HlmGw# literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_06.png.import b/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_06.png.import new file mode 100644 index 0000000..358c69a --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_06.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kdvr8cdq1qtp" +path="res://.godot/imported/rock_in_water_06.png-f9656dc55bf81469416ee3cf6ecc193b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/objects/rock_in_water_06.png" +dest_files=["res://.godot/imported/rock_in_water_06.png-f9656dc55bf81469416ee3cf6ecc193b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/particles/dust_particles_01.png b/TEST/mystic_woods_free_2.2/sprites/particles/dust_particles_01.png new file mode 100644 index 0000000000000000000000000000000000000000..85398a54cf7aa6f964c8fb12fae9407ed9d5f063 GIT binary patch literal 178 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 Eg1cp{2><{9 literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/decor_16x16.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/decor_16x16.png.import new file mode 100644 index 0000000..14488b5 --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/decor_16x16.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://84gy53ru31tj" +path="res://.godot/imported/decor_16x16.png-ebc18fc236a98a70e81737810ca73cd1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/decor_16x16.png" +dest_files=["res://.godot/imported/decor_16x16.png-ebc18fc236a98a70e81737810ca73cd1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/decor_8x8.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/decor_8x8.png new file mode 100644 index 0000000000000000000000000000000000000000..8b91ef751fcf35d80c36b07596e792719fec807b GIT binary patch literal 1573 zcmV+=2HN?FP)Px)-$_J4R9Jh3f5`wU4@iep1TL~pzbv`B!!2C|R6%oF$#@-jgl z!f#-&wG5D$3`8lSB2waL?!(KR(^XlVnZZcmP-KAA=3Kh!uj;Pu{(t%X)32;nDN`&K zP*u#pi2yL1OsQ7N6blJvhMAFN5$7B$3&E3RartFlN4>s4kKm&B+{W*78_V+><3p3th-@Xldsm>PoMy+;I`6TEYzX$F9I4iGQ^!OUO}1lXo#Qrn3t~V19Xx1DIc4AtDr#!1Z-X;sZ{E;CT_PexRgw^x&MyE^Rk9eVSIW#UuP}owW)u=ny;en4NrGoOza&Wlr9y%M*Nc>5 zv4EK(&S7R$%0;rMIcBDa2&H0?U}hAH3D=7hLD0BB5USM@^NTBLl`>h3BuOB6k8^?< zusoKvYMI&m5>sQ5<||Py6)2aA`B5HEX*Fs9IB`UcNJ*$uW;mV_y5IknZB|}B3pb1z zu(}PJTM?l9(RbK*@2xQQAMUgNaQ_yV5A9R__Zf4C&yM)Z`sQ?a^vjo(!y=Y z51u~x?-lsi;V!oF`_%Gp`mAE)kAL``t!}{({8AGbP8^1jrWxM*oR%%$E^)~VW`=Wu zs2E&e6SWOd%ZSi=R-mgJW&DXuZI)iAJ6|qqgEwJ0-aU^5#eorn6K=TF}-sL zOI4(n({UCRCyw22i+6(&@7@pD>9kPGso6WngI}o!#PKck*LaU zx6NdBfpdb0tXm`q1{}Y7L$}>vx7TL3+v51u8y1U{;9cHp$eSk19yyn{V3DS%DLb7O ze>*(ptAoe9?GI2hcDgMJArMuGG16@}=)WJ+Zq$h}F85SUTGeui<5#EoJ`$l?DFa4` z8u8w9^x`$Y{^A#iz~S);oo1aymJveW#mO1-%PV#}t@Q?sStJRbqZcO_@a5xQVrFz( z4gUVmmlO*HnvLp`Jq70-^;!i0jfyxy6@n8-mPP8-GB01B0Z^}2))c%F8atgPYRb#k zXMFx>4}cdZXEYl%V$_^wm*Qo&+h#DH5~HpKY>fHoN|Jy$$xoR?f?;^?5QI`u)@pZ= zW|$h2*_>v*1_mJniUu!EPI1mrT1t6U<@nVp&IyY&qgE-?YE+j(x3*Tu;&T-pHCIXq zgztXy`JFDC|CepOitl4TKYz*3&tLve{#y&U3G}{+?h+eTgDd;;S6^%e*nHpg+kC$X z>$X^T(=1oP+ltv{+puo4Pws)uf>w6l!fuO|zyA48c9$01rLfKacf|_#NqQH%FV=qm XB5+%hcr*?%00000NkvXXu0mjfjG^&> literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/decor_8x8.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/decor_8x8.png.import new file mode 100644 index 0000000..e1b606a --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/decor_8x8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c66txlefa0g1m" +path="res://.godot/imported/decor_8x8.png-8afa989d76666e299ba1bfa26b472e2e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/decor_8x8.png" +dest_files=["res://.godot/imported/decor_8x8.png-8afa989d76666e299ba1bfa26b472e2e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/fences.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/fences.png new file mode 100644 index 0000000000000000000000000000000000000000..b1c7856e19e929451bc3da1e3a84183449c6ca96 GIT binary patch literal 722 zcmV;@0xkWCP)Px%j7da6RCt{2n88W{K^VtB)AX_mB7q)+B!r+tuOMB!_6og4kV0?KD|m~pW)I-O zgCH!T;2}dy$R#KcJJ>Aa?98{bZL5v@{ULB?=J#(JXJ-5U05MlW)>z4BS1MpQUq~5K zd5>8opIu#DoWbeIu?OxCM$l~a&`FraCos4_7`c6Xn`#m!@&}?x+>{aSqS_YEBt1t;hadS}LVo4fDAUNo)61Y9w3^;O_T?S29yU-9zc133sW9|Jo}0A07R4r zP#*Aqc*+A*Mk?)FKji_kfhN`SVR^~}FxZ58J}ggpfY@MKJs+0eSb*VtkpLT%7YM7S zuro+`0ObK@-ng7 ztvoFUkXaM0tP@ zPk8|40h9;)c^)ubT8&ue0qIP(_8Xq^fFLHO)bm03ZxU_R#6f}93IG5A07*qoM6N<$ Eg1DAT2><{9 literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/fences.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/fences.png.import new file mode 100644 index 0000000..2c29d25 --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/fences.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqkj0y6pww0bc" +path="res://.godot/imported/fences.png-b9d16689c79f4ae187aad63d1e5a4689.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/fences.png" +dest_files=["res://.godot/imported/fences.png-b9d16689c79f4ae187aad63d1e5a4689.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/floors/carpet.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/floors/carpet.png new file mode 100644 index 0000000000000000000000000000000000000000..8532f3d31968da8cb41196d5b2650cd82eb884fe GIT binary patch literal 20319 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

;2;&{uDjb+(G{PVl29T!^%^*jt?$)le*qtfz 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 literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/floors/wooden.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/floors/wooden.png.import new file mode 100644 index 0000000..29fcf85 --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/floors/wooden.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://t16xm66rao0u" +path="res://.godot/imported/wooden.png-d8637089a4903542d1c41347324bdeec.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/floors/wooden.png" +dest_files=["res://.godot/imported/wooden.png-d8637089a4903542d1c41347324bdeec.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/grass.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/grass.png new file mode 100644 index 0000000000000000000000000000000000000000..6fbef63faf5078df99a7b1d0321944ebffc6742e GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|WIbIRLo9le vd1lQ0HouYSfJ^7IKxQ{y3DX1vNd|_+kC_T)eqhoCDrE3<^>bP0l+XkKQM(zy literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/grass.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/grass.png.import new file mode 100644 index 0000000..eda986f --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/grass.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://deevu4iws0aul" +path="res://.godot/imported/grass.png-b38d151724ddf2b6325fcfc9c526874c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/grass.png" +dest_files=["res://.godot/imported/grass.png-b38d151724ddf2b6325fcfc9c526874c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/plains.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/plains.png new file mode 100644 index 0000000000000000000000000000000000000000..e91002d27534fc9b2910c8a294fa2390f589f3a6 GIT binary patch literal 14752 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 literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/plains.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/plains.png.import new file mode 100644 index 0000000..38526cc --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/plains.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://br51oca80dq3i" +path="res://.godot/imported/plains.png-8fc6377fe63b8d212a1ec687887b3df5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/plains.png" +dest_files=["res://.godot/imported/plains.png-8fc6377fe63b8d212a1ec687887b3df5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/walls.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/walls.png new file mode 100644 index 0000000000000000000000000000000000000000..d6c79f8fe4c02ef13af21bee125b7abdf74ff4cb GIT binary patch literal 1955 zcmaJ?c~p{#7XOrdI5|kAJ{>b@8O5AQ?d4M9uDNfcHkE0hrn#gkDwF6ZxYXFLHd#uB zyEPW(lIsALmGveSQNsl#mvmehNCg#yZ)nat@BR1wxXZcs+0SZa}LaP5z@NT=X-xWeBIl#>cp!Ml3002DH!^JV^(gS|!;W#}v%^s*Dr1ax{ zoU-w@mS?me!OKV2_ih4<{0t?LN2#GtSCRmU>uygDs#0^=rd-HU(e&TxxJ&gh!gF75 zG=UH`Nh!tfm-!I<4g1fnb^2&1pOLnjpuRVEhm-2QzgZ=&dvnvev7e{Ujuq`LAY@YR zPXvH(?GfyTqOeNs<#)uS4R(T!{joO#TUx-!QF$`ZCBD$QZ)%nNwpmA8YjtjrZC`K-Gt*n*pmwXAnE8a&)W}TiSsMKjbg#ykwmB_}MLeoEo6PzWM zD@o1T!}KX9-Ge)xlp+95!}_1n%{U-hc2{X3Z()3P3 zuVB@5Sq^R<^zr0b=|Wy2g*9BcnO9))7(5m)sTgW4R~Xo>uqx~_qN~=Sm@y}>y$@Iw zm?RE<)q3E|tPK69C6EUA+cI}Dso%B0*A%Sl`w`6MS%in>n zt`D=;ahI6-!h6;zXD}_)yJGA)SnK86XHPtqEQ`n$ESMtVjQoZBWK$1)%!@dZHHNP}MG0y@LG{aG7d}fpzx~zk4+ErJ?=Vl)$Fm$bYr{UO zrYp2$FfkKq(3SIg_}(T$puY>CD?;Qw4k0TABX>7OaU}k6{aa} zRwz|=RsXNDq~xlupuVwT7`KZE911K02TIiRTA+?ECv6!_k2$YDc>elag9RZ_LX)GT zRoZBMB*}d+;cg1Q60v(*hrp|8<#_Z9cn(vwqRL9TE=CG7<<@PInh&&k0Z}jhblW*> z{I~QpQpe7WTk#(Cw!SAlW%USY zZ@Ec%WH`t*3TFSDcgV0D@vQ2#5qCyaURQK&cx+u(Z>!o|NoJ*UcX%c#_ZB#4+p=!_ z8c|22dDdT5I;+R{z7d;ld`Y?NMC1(mw0BRqfI%Z#g-yF{t(S8GVwq9dj%ALXN?zj@ zk|57byR}`_VhgMf2R)FT&k~P(9ei~X@vDS2?;p!_z3}x%INqeZ>%Cv%?4t7%V>8Vy z?Nz`)3@?D^^`=qE&_!!z=)-PQ3{~CXsbGiK$4MG44YbAz`YdwC+916w0mgkv1ok|y&3;V; zexgd-B5fVUGov-lHi*F9ho3t8iR66nYUBr4G+#O&zatGOlM~7Ql%UQ?4s3P|HDrVv z-o)Qat%skg=ATfU>y#Fd3k&%G!`X;{Ii00bNLGoOD*cX+B=8I}ztZZ5RHJDol3v7W zt$4Nk)3HpfqI}1HyBf3hyz~+7B-h(#3Qs4_+mmE5B)NdcOlsIbP;EAb5~LBI)qt`( z{kHV;nH$2XNl~kuq>&=O@}_-LG>;k<-;BR}^Xvfa(Q{*v7d_cq4c3Wee*eSS|I_lr ag!Z&6q29Xel`zHE1w4-Xy3m|(*?$3O<>X)h literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/walls.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/walls.png.import new file mode 100644 index 0000000..4d731f2 --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/walls.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ds5gmt2oas2j3" +path="res://.godot/imported/walls.png-2920d9fb288c762e49098bb246c0cd22.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/walls/walls.png" +dest_files=["res://.godot/imported/walls.png-2920d9fb288c762e49098bb246c0cd22.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door.png new file mode 100644 index 0000000000000000000000000000000000000000..a7db1a9a49e2cb911f019beab73bcec013e2e9c4 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYe6k~CayA#8@b22Z1oa>%0jv*eM z$v*mXKh|HL6U0{35bb5o3<9dZBt=;(|F>IYPEI{At2SIx0thrNo_Cq%r^O`3#>Uom zyZ^qCP37-am0qJmHU(y?zal|OLQ-2L=k58+B<_-Sm|@qRRcj0mAHA(Fap7yeMd|E` z66_XI5r6hq{AT^8;jn$qw1yWZ4%+U#6-p{68I99hj7!wCdFC+N&9UH(qq7XRrv7*&z2?AN?e#-9q;|;;o(V11TiAM2y-V?d0uKsLPh37{7lJYD@<);T3K0RRtpWjz1@ literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door.png.import new file mode 100644 index 0000000..104085f --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://eobrojwn66mi" +path="res://.godot/imported/wooden_door.png-abc43f7cd3766c96e8f1fb22023e6b11.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door.png" +dest_files=["res://.godot/imported/wooden_door.png-abc43f7cd3766c96e8f1fb22023e6b11.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door_b.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door_b.png new file mode 100644 index 0000000000000000000000000000000000000000..ad9fdfca798b6eef1a4bf3502c0220bf84e154e2 GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYe6k~CayA#8@b22Z1oU5KLjv*eM z$v*mXKh|HL6U0{35bb5o3<9dZBt=;(|F>IYPEI{At2SIx0thrNo_Cq%r^O`3#>Uom zyZ^qCP37-am0qJmHU(y?zal|OLQ-2L=k58+B<_-Sm|@qRRcj0mAHA(Fap7yeMd@q} zb_=NpgBYN6wa9{KKW~Q;sRdIPv)KqvdeSh{_>iR4WKp(rjPic-m#liq!*e0VL8s&0 zE~irV1YX9N$|$!P?XNluU#K_*d0Q=NT%_>69_Wls8$b-Nuf`6RPnc#Tro3inn7AO- VaPp}+bAcXY@O1TaS?83{1OUDvWHJB% literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door_b.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door_b.png.import new file mode 100644 index 0000000..f4b3100 --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door_b.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cerem13mn5ucr" +path="res://.godot/imported/wooden_door_b.png-b154ee80d2fc97a5c2957eb07c6f615b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/walls/wooden_door_b.png" +dest_files=["res://.godot/imported/wooden_door_b.png-b154ee80d2fc97a5c2957eb07c6f615b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water-sheet.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/water-sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..1ee035c5a3ab5709cf39b0675c5a7e87d94ed4df GIT binary patch literal 36098 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 Eg7^IEod5s; literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water-sheet.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/water-sheet.png.import new file mode 100644 index 0000000..26b4e4d --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/water-sheet.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pg743cc5uv6g" +path="res://.godot/imported/water-sheet.png-97e1bd4345ba3193b9b0d736d3624019.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/water-sheet.png" +dest_files=["res://.godot/imported/water-sheet.png-97e1bd4345ba3193b9b0d736d3624019.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water1.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/water1.png new file mode 100644 index 0000000000000000000000000000000000000000..8dcfa5b63ee27711bd8903804273a8de56e2e560 GIT binary patch literal 10530 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 literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water1.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/water1.png.import new file mode 100644 index 0000000..25f3953 --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/water1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b740fvavkjn44" +path="res://.godot/imported/water1.png-6365ebf5cadbe6d647db816d6d87b5f2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/water1.png" +dest_files=["res://.godot/imported/water1.png-6365ebf5cadbe6d647db816d6d87b5f2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water2.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/water2.png new file mode 100644 index 0000000000000000000000000000000000000000..f164d6a34322b8eb0e2b4c29488464c4dc225cb0 GIT binary patch literal 10473 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 Ml(ZEq<==(=4{?L=pa1{> literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water2.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/water2.png.import new file mode 100644 index 0000000..e23a04b --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/water2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://djtnlgm0k15fg" +path="res://.godot/imported/water2.png-36a91ccfcca65406ba32a4f7f919f0e5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/water2.png" +dest_files=["res://.godot/imported/water2.png-36a91ccfcca65406ba32a4f7f919f0e5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water3.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/water3.png new file mode 100644 index 0000000000000000000000000000000000000000..f7872ae6796740c109d906111f107b3722d8dc22 GIT binary patch literal 10517 zcmWk!cQo7Y8;!k*ovIak7p26mEwx8myY?zIirRZq#H4^0TTz?e z=l4g($vK~M^1knV?sM;b-Z))tH8NrbVh{*KrlGE^4}87>UJ8Wx!270{Cpqwe<)yEt z2&$Q6`~w29f;5z$8-B?97I>9xJMX>h+uV%#KDSh#%H|}PO0yu=t4#P-uhiFF&$4{A-up}2o#2OyM`f7N{nv7nbkkAQH)5?Ug6toMFnTGqC!uxjI10fIbBD~E&L1QSyqEW)5G7TFE1TR3)s6hMT4=? zUY|!1EUF6du!Bw|(^sHSFncMOP^5U8fwJKeKI3~xF6(Ro=H&#l`@}Gx8t2pV1}&Qq z@N$;Yyxk0)A%=dx%Zyq@s({|hgRz$bAl0kiVp6b0rnfU*>UMmBP9Kp#g|*1_i4{PT zsdFzn#$lc|N~O_zCCBSV!W-uUi(l|Q=@^X`ichG1buDkRj)pGm&Q zslnuS%;*!p?~9$d?=H{MP6T6T&F6Mpim-(&$E@QI5K4Kh?Q|*O>^0FjvH+QE*NW=o37=prVqP* ztm&X~xdI{9-Z1SoxbTD0$lAybE@&zjQS(%rZV&?CR?=93uwR{Ha=M!f)q8B{Wlc7qtq>FJZppn z{V1e&9Q5HnK=dW?Jx!sCXEj1Q*5RmVt9~ngvtz(k5Pi-g={S)?+-EC7%1&H@h4t5A z^0`J-8(&drzvm1#m=IdXLz=G7li1VwSokB|f>O*1ds}e-(kZp0oH!Km;zX{{)|Wd{ z!HN`5;@=cy_u+KO9sxSjD;+f=-~N+HIFWkG6$eFA`TdQY%h#XGK(!jsrs!LLTUxyv zdL?No_|r9-U9|N;6oNwGC9%$TEbmW?(c*$i#1&&(+I|*SRN36Fkew80ho>X7EtOS0 zoxG?;_4O5l{tj#}xBfivyGSXrchYQP{uN6EA7$*OdT%PY9m{G9Dg|+fXwv~4;B9Oz z=Q534wNl)FA3uw0=a*3Gr?**jVDZ;wnbGcWz4Oo;b zpILP?&3in-x<+ye7R%M!Gh9V=6G$g{E3apjV(EWuls5hT^?iRl3wq)%u$BYz1hzf| zHmZ)58)y(6Ii^B!Lj?2j6%paug>atKLnDi&w|ZHe#7e?5e#q2eTc+K%$d^<`#cVTquioO}PT_L7)Kg?V8vhYZjAdwtrEI(J)-YM_ zm?uEz8Ue<>I)R+tbseve|1(cM=@=R_@O+)gGYsRz$D?vCU)|Z`N;niBSo%XexwAm7dEQKo;`)~bWyTWd|f_d6=zX_ z;x-^s^os>Z(O!hmHz7MBNb%2A*!t?xIt{~$#5|l{Dfk4)bNiTHM=|dVK`zhC4au(q zkQof^ueRR%X&mrz7b@-Z1?@xn|+JK5XaPT zZ&UrTsH|i4?XP`Ths*uN?OBVLKVnG;lvol)0sRt&A$F+36RMGzHnE0q*L_IUriO`f z{&8^fiUifXyR>~&GM&thi(B)~2lg3w!Y1T{Bx$<(A9m5oJ<%uooqIq@Up$pt32f}{OAz0!REVX-+}L~{xYAVoq)2F1Bk_8YM`M3z_V5T&N+_j~^Le->>bO6= zN!F#qLocPhNW+c^?k1r)>~)NyV78?GhiQP7G=5m^F<0k3UM8R?6j@uo;$jcu%9*jA9)0u8fY$+nUfZDZ+>SUvnn z)Z^|mpXh5PhBZ0nB4s=hm5?QWdIDk3?gR4>N7S%D_$YtyDX>+CitUJ#V1f4SO6vM6u4dZ+e^=S4)ocKMZD>^z%`IncN* z1&cCzZJD5teOQRdw9*FtjIcd%kHy0H3v82JTlM<i;M;ra!%5ELQZlWoCCZ92b` z9ygnMX@F2PG1ek39y`)aRdDU=Y6qY_Tb~b7*Ob@b@UZFY$ly3 znSGNBB!W+*<#xf;qc=H=$yH{E=T6k&diX_QpvrhB+|!zJRXDt3jlp~##SS13<+U+{ z+vQ+`h)ZCm4Vvu295z|(@0R)xHlhSftzk&0sDRe(gflE+2A3Sc|AONA2EF+g2N$j9 zGWpN8Wy<2r)|_Dh;aBI-mA8$NG#gmir(=&!`x0ChVbUW#8R`bt-yS)v)3^~~4#{b# z8})^wpRJzRlB4XlD!$)opg2mwpCx-VA}NhKqffDbc3k~J6T{XYS|jFTj@Xn@rh z$4zv!EU(<>8z?ds;#I*TDg__`0mN$^3TfxC)*mLDG4$b{_$Weup>4t4%KpyBhyaue zA6_*Lafu#;IEP49wk04scZpfWiuE|%8(YnhY$E{sW4a_r%!p{hZ{~1%Q}cDGWU;NT zh$e!I>v<)c_crVq7SDjc!+UIXd7Psw@(fL zHxle#zqB6MC}SPOHP2?PZC{G`yoY$!CZJ1)f7&$px_~sCu)A3JlWB5ZuH;c|wm47X z$otTZq!+q6{GW8BMh4r*)aUe+2Z<%nP7)4oL#Da1_{hpPYh^%O$p77|8P||t*&8g@ahvm5fe8t8=gUlw<>u~t%rPKb~BmVrC6TO_T@~; zm}xAhJ!bAEbhr~4D{4Eul|Qsz<=r$mY@|alKn6$U_$BReO7ou1`Fyz1sYJNnt2Ai^T5H!& zG?_Ggd%=W0SG#cfbdxP`kcdGf$1BKdMrt-Fn`i7?V_~im^|$Krmnrj}syY-`@`wQq zM*Cmw2<>7G4Qeewip+4uLPTp!#Y3oM<^2+HVI&by@h`EPS~8eb3l=o)tm@x*VLh;I6_u-g^9{SQ!7|cJ=N4c1jD>{rCcY3YM$69eefIUm}02I-!!9_s;ngj|fXAl4B+1 z%@uVp#nt?0>#HjjJR{H%&*AN5{Ii9%@6-F8-w>Szq@kfeQ%d2x-K>vyRH&{U$t{D2W%d61@Hb2`DaseA$!|y zdF>~#{q(I5L1NlKhl*U$ov?jpJh1>))C>TG73wE)AW&qe*%E)kUm_8O;|7?g?@sNJ zzvTAJEUga{-Y2H=JrKmCb)4}#o_FVTN3~VMV9{ROscvL8vw02j%6-aT_8WLe#s6#^ zS$=`M_q)E3KR-wB-7O<;VWl+L&Eki@VFTg>4p7|6x_(JxGqWZ4XM)Fv1j!x`lYHBh zii~@t>tdUWVH^r)os&8A)f(_3@n|cczR|6a^NdDrs zlGo?uJ9Q#)862FwkZ=z`WzF|~r(H*8-_$aQ=}X65sm{Fz-Q85}6ybvOY)gjXt}?bF!Wzrdv&jZXjD+p6I0XJ7-aWVXT_ZYFguX5?(Cw ze)dIe1^<3~0lyAb6vi=!cwN%N&t17lytJ5gah4P9J#Dgz+BRrHy<^E2#Y$-=jKmLZat`7o} z&MwZbGc51%`XMI)A%C}ZIv#-SV;hY9eYbvu1qwbGvm9nLkowehKQ}L8oN#WRyxAd3 zjFZBwhTD!n;e>hY( z6W?5Z%X5+2B9Pq3xZ5PgBWLCH4Y!Gak%2@Y_O|St+;<3ycfYCO z#y$SkHahs)Ly*%$2^xu}tgND9z|L+IN8QL3`?5!Z|4XI@tTFB0E3Q3ZEjl}=P{IZv zK7>>_m(n%~3_9oLaIzANFEDgHl!u)3*S^x1x`Z9Z|pl}i5hvQ`VHt+n0sHwm; zJdA7@FD(U&3?IJ0f_cnl@qlnY`tiA@HxFmrUy!IE(wS9Dr8TRpM6pd5no>W~J3W)7 zSol~yPDYzfpf0Y_gggaw6fUw0u445(@q~ zAF}S!mHl*0qU(&W6rpo@1yq`ej~egS&hw17cIfN#l*KE*kMQjlF<^Phgvu#G>NV z!dUt42;2Ckce46^3zej_5yRv%@e=8u?{RnB|6mE;uDD%U&~g1P5uzA45&@mk`y2Hs0E8Qu&knoU8h~q9M;^`yP+)GEUX8gZ5(L zF3vy*Fb3na{b86AAID=O3|njXaiT-|*{i^(t+e-Qxb->Wqa=&_jz8vJJ@ELFIBMqd z!t(a^DfG9R-B)>D%J#dfSIfbX?*b3bx!<_>-)*r3?kORIFz3OGQ=rAlj+vZUZz30> zXhb`df-P!XH7Db}W~)oJu47VD#S9tyXt*r`1KaUvm^RsrmaOFQ!zf&9{(fl}78|=% z)Hh-s9W>AGv=>D9-+^>qfj~CBwfXh|eq-{7Zsb`#vOxr3SHas|dijUc`MZ!HTGg~s z>8pnspb3Lpcrr}tN5lCdd50<1)92OUasDsuYjeDrV+((spsQynY`A_#yN!P{(a1J| z>?Y12N?C{=;R;_U3u7C3!QWL{jX+tQsCw&n@mX9r=subM1DI z9x9)ot!Lj1m9A*|=N0~7!|E2+cHI37c@s4?Kz}4Ny7gI1eXe-c3GwTRnvj+A%lY%Z z?0^Zku5b#!=g7(T$YoM2czVG{`eyl?_xO2cV>)gB>Mhii{OFN)8wo$>eC|>jpO2Ks zD994Jnx9-78Cz91`WK7;n3=V&dTF^NT9o$09X;!{19Ct>963G?Z*6`$o<3^oad zOn&@*`@L%Vy3hD@zUvlGa{C1Nuz-|3xd)Eqi{2}{;0Fi!I}aYt6N!g3$*QT~zbdzP z7r*g9folWXJZX5McNQ6V*H+^+K}HNfacG%uRu*oo@J9~UigJ2taErrY%J`siH*xe& z%`_rSeuWx-3j?7!%^vsZd8j@9LG9uQqMnyI;JBWTTgcVxbYv36?Lzj z^8`9b9DgQ7LY%g<=Sadn3$BE>lq#@ZJePXFlcO_3*AAyKsFi{LICLu?^}{7CKv07{M?k{4ge`yrj|4Ktck46d*C&metJa6**oJIPEH_cA|I><5KtnS=s zOcH3{;c=Tb+$e^MO1>n0Tzy=7W~4E?Q^x0|pxsvdK0NCb zKPDLPX{C!8Vkz$)U4Fe4p>CTjP4kRLh{<300X5mQDYe>q(bhc_(&{)%|T9=#OH0kJyY&SaP^ zt6Nb-!h>&M??hbqIxddG`}HPQd-4s?%>m;MWN?fqYW(zl>k6KZ`AGvM_Uy9;lgZj8 zmd`Jcan0b*%X)vXmKaudA;Qjfg< zz#$$vu4sU=AG z8umB&8qNm`V>*sgB4&SxMxeMhwPNh&O19IvAIi_s6(p69xerQFP`V0l@3q}eYm_|)8uX|J@X=-LT#Va z+OM%sJ)L__%u$-MSYZ$O&r182ex&W^AgZ(kb;8;uzHtxq0m&$E8ln?YC zM%^aKKf`yTXr3bAr2=Auaggu8S8SOXsqc`aV2DP1ues=wuyqcjSz%dX)p@jlC7~hS z$cPhpU+ok>Hq6NY!9ew_J?LLV#S2Q-0dM0JI^cAGkUCO-F@ljTC+7od06mdJrD2Y4 zR5Yi3JG-%f%|T0RRx|c< zRXF{{f8IL3=iV@u3!GJsvaydUo9HX5I*MZDxj_imf)6*R`rRNaj8kJhwR^%&(cf!d zJiJ`&PAyyzg8|ubPGqlvG8{h9sBgTHF>7}xtO$>rvyPs)PqF)>;YFkWEkkXSi;j)oOdqk<7*a~`Fw|vlk9G1KPtcQ@HQ8jih*!IoJkoQV zFu>wzg?~|YnYRlo_;b5dG&ZqP-!uZ^66MIK$dx^j(-4z-=Yp1yCJf!{<4|_qMa+VU znx%UW4AIjtBCOAIBT_NO2HPA$jcEl!3(pm+Kp?`t|KA1J1`@JBjJS0hV zVmu9Ht)%-VRNwLik{C7^GfyAkUf>emTmDGluNBA^H(9mSwxJ#UzOkG8lCM4s(`uIg zV(L2?&ZJJ(r<^Z8dovLK9oz_XX^N1u}xe7%NPs1MBD@P{ALR6)E!tA1Qm%`}L zz5Umh>9iD!HyrvD5DFuP*7c?On&3PEzU9yTOaO-h(d*;tc7X&P?;kXT)#rW;Bf{FS z&_=C{2ie3-e!W?VjwKe>?h8pRApRLl8H3NYpW7qNXNp+VcZcs~#r3)88Vc`eJ}`q2 zi|G_tX>a|}tYMA>3utNosbYuy_lhl`FO~0i@@U&xp?P3}vikgu; z!vSM){t08_mhv{Yt}`rrmcwdlPD>*nI840OR1-^yju$W}FA%BZ9CP{j$t!3Dk|kbfxi|Zl=S_WeXB5=ls+Te5JEtyn8Nzgg^+)EU$E{zDxGvQ3C>De~*jYo2C?N8if4aOY?56 z5Sq)w%l(3}EyBQN?ZWyLL|D(?qHa(>v}k2PGDGSP`Upaej0GROsXHxkrOzP7hztINbZxuWpR*t*{AGz z;pB-fFM6BKAh)BMj`$4!j+ELKP2P}oif_R9rJiDYIjkqPFLUl?Ii?KPdgTkth@a-W z&Rj&|{P(Xk!Mo|lh4D;&z=#)|%vTd@_1 z@Cs{XFiCIYv+~qrtu;0=UyR>5}CWu(p*`c8RJJ z`=sOKl7rW3x|<=|7i+_-b?86s+lu^rjlm6&B+IE6J;d#-ha(-u7L(JvL# zR55+RfIT#MYujB>gOIW(l|XQVi?wy=j?|wU)XMmll#+11?Z}&&rm)>4Qso*GB+jpW zqVUrl*M0lF1{w+eg!8C6sF);Z8FRc`QUNC|*@XW{HP-AAN*c#~XIrUoKrUMwugT8w zTp{NtSg~8!L|}{TyFlUW)p9a*C89gh+ER$avs_Lq_>pHSC+!N+_cR%KXx?UE=1tWP zLS$1lY^adR);N1zSYFFx?_`c)ci;9(o5~b5m;mgs2@-*9_z``M8A;}*6~EFC4*~|i zP13uRRlwzy;?md}lFUbKi^*Gz;vwZ`Z09%uI_B|CEf&90fF2Pfv7vGlEkY6Nnj;z! zH6pcUqncY0*>EX1MrI)G>RHaA$u*FRiMPg6ZnEX&IYebc*f%*&BexnN!J@CGaruw+ zJ$O|&h^=BN>)zZupuTe+%L^b}ZpF5ae;{AQ`B;6J>~1ag zM_D}aL@5?hJ*MR+qUzbWJ{)lo+E+9cz97aVa$^1lZj~dDzY|Ay`5wlO<3k=lGMX+% z^{qaJ#*q3MT&ZB(L0Huz$Y3*G9yN+@LcPrlW9Hb?R!ZU$`X*>kcI`2a{xhtWew}Rd zlC*qqZw5i~!cbvl;^%>eFGmY`zCSvrt@z$t$gWIP@+i6S_iUHx2^yccN$igV*=))F z@FQaQ1_xRwD(JHpf{)m3}ixrRO>`Gek$%+9(G=tbP9+iwT! z>XpgU-f2n30d>*Miaw!Gf|%JKWG^6E&k8;yLReaeO};yGzp zjXqLW(WY3>7EH-{Q)$OwVireF4LuJm~>P)BD|9~f~Q<%zEmM#t4a|CIqXe-w!z6t*y Dlh_c6 literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water3.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/water3.png.import new file mode 100644 index 0000000..8e45467 --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/water3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bkku4jpjmesbb" +path="res://.godot/imported/water3.png-6fb7cc1c2a7f82ba36d70bae328646c7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/water3.png" +dest_files=["res://.godot/imported/water3.png-6fb7cc1c2a7f82ba36d70bae328646c7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water4.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/water4.png new file mode 100644 index 0000000000000000000000000000000000000000..4373c39c52bfcc20a7947a45658aef8c652cfc4f GIT binary patch literal 10490 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 literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water4.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/water4.png.import new file mode 100644 index 0000000..18c57ce --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/water4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dy5xp1e2kd156" +path="res://.godot/imported/water4.png-828fd72c261e630dc9cce3b5693f77c8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/water4.png" +dest_files=["res://.godot/imported/water4.png-828fd72c261e630dc9cce3b5693f77c8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water5.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/water5.png new file mode 100644 index 0000000000000000000000000000000000000000..f164d6a34322b8eb0e2b4c29488464c4dc225cb0 GIT binary patch literal 10473 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 Ml(ZEq<==(=4{?L=pa1{> literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water5.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/water5.png.import new file mode 100644 index 0000000..9100798 --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/water5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccf3j70kvu4rx" +path="res://.godot/imported/water5.png-e40c6a26d825c2c93b0d25a7f3fef30a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/water5.png" +dest_files=["res://.godot/imported/water5.png-e40c6a26d825c2c93b0d25a7f3fef30a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water6.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/water6.png new file mode 100644 index 0000000000000000000000000000000000000000..44652244f8fe77bcbcc4dac139b3ed297e2a5d3f GIT binary patch literal 10522 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�qMIVa!@#v+x-#frZ$OQTq>?lm>t53a(_|-$op7zGBIWA|a9mpxXuKN3U4#n8*YSXag{fP{*OBS4w%8hF0nff6qBN`83u3VK@DhpY` zmh4yhD7{f0QNT=cF#pq`{Ee_-=xT#N5+9j~$f@+|0~V2BHgpZw$qKXV2vAYbl&_IB G5B(o?BgI$% literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water6.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/water6.png.import new file mode 100644 index 0000000..e8f5a39 --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/water6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dk5lb6o5iypcv" +path="res://.godot/imported/water6.png-ba003e892683f429157a8b6b2a450ec2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/water6.png" +dest_files=["res://.godot/imported/water6.png-ba003e892683f429157a8b6b2a450ec2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water_decorations.png b/TEST/mystic_woods_free_2.2/sprites/tilesets/water_decorations.png new file mode 100644 index 0000000000000000000000000000000000000000..3cacb04abf405a1e61eb5ca5adf9074e6434f295 GIT binary patch literal 5932 zcmV+{7t`p8P)Py0=1D|BRA_-!npt-oN0OyKUt-M-8+WQisan;2re^x7f1rM1&pb@cOqZ%fNfZeJ zAeLNW@ogT=!>Q&uBnTigGQ!;K+P&9I{oDWe=X87j$adZ1Lm(wET9Zh0ZNuID6Pr~> zN{JW~!!%P_LrMV9HWkzC07xlOR~6m|nnu2MZNuR>pp8PIn4BYo$adXRS<9ElJ=Pdj zUBl!Y))@wL&XR zj1i?3Mr#19F&LwnCV7auvV@q>MzQ=cM)P<$vEB3>jw5wtF<<~{L!_-Mlu}=B zMoGY9iZ~ZAMx(VNrJOM#P+1B5IL-JFSoa;X^TZU(a@LL|h<>^xd4Dr+UKRepGrmihxKK#wPFBN93K`9uW{yqDm1O^s4g;xQ&- zhA8KK4tgSlKxGY;HB563qS57$m4e{qpi{;@fe{TTtkFcBAV8NPW_I$R4^Ml#wk=t0 zj7Fhy)B#(j;P(WCDmWp>x%T5LxvtDJGl`G<8kaHaPDYrwoB1($tp9TB^$6 zd|*7z)OCfS9``47hAQs^&U>cW;e9Acw^?H&>6<8F*xsuF=35n_MUN^xjf%;8YW2)A5chg7%lL7dA=(>()+;e z{Ub_Ag~Sx8t!4He64+syx!7$ujU(PmkOZe&4yTcEoaowyn4xK!9X1*^>z)uI?hou? zVN1@3{J>H*XWJEz`x5{m2&36e&TaYrOY>G~nx-FLZ4K zXoeh9r4{DSe|r7n!~Q^s5v3?pv#BIol~RneV;tp#3!Y|NOev9KLRyAmoP>tOlu%01 zcMXT*D41?^DP!k6tF9$P!Ts;Qc}?FnbZx```al2Rhj(w;tb5LPYrZ`0Gi{Ul8mAeh zgwpQTE2i1e)HPa3#wi7d)5zIoO$gFIjL|&qk90ZkDM?SND#I{LD5cRx3%nYEpp+7u zbzl4kgOWzvCnaMfHcxy<2(!wC^-NO^>z9U4@ z0B4&OF(vw(^-8P4ofn9hoi8Qrqww=enXil}N@MPth8I`om=_WlfS-T+R9^Sx;fc%h z9Y;U%|Niq=(EwWIh7X%n$G`vYpZMY38~*X@M--CbN-HV#)t19?03{Erm13M{>Z)Sh zcRV~DINxm;#))B?>AQxet~m`ODT&Vc^6*64G{h8{PBUHGuvzuFw|T0{(m!wbeD^@t z)FhNE%%ON=zxVqS~UiE^lxfyG%FvjrP$D54N z0j)KC*K#}!QVp4wDy48P(A1WgnTIvHFq6J(xxIfZkkqv`httTqZ;PlB3=eGAJ;OAW z3f1|Ltuf{O)9i>ba&flh?aM3f9-er1aV8DcIqn}1e7L?vYgKyWs%x2@W4-F|UIH3p zRRyo+4+w9$34$4&za^Kt#ziSa{UFSMR^D6s>%(y;o<4Pvx_rM!-RAv%61j$3fj2L%`0(k5VVa3CayX4t)(Cqcu|J$>>WaQ= zIoqxzW345Ih|-!li=OwtUyCS7iMFnVDTKf@J62s=n%#aFit0@yX6LD_VcoYp9Zpzd zisD`>No$33kr!7xF3)#DJu@VF@6k%}bU1N3jZ~G`35%N7TGLb&_fH32KD#KDJv*PZ zj^W$a&-rkDM+`n!hR5hwAbHibe7L?vWg%y+SRSWwV%4=`?=%g=B;QLvR7&J|F8#U^ ziYc5`1c~>aVVtm5M8-Hd(E!$na`lnQT2_6_{o|g$zyDq6U(U9=vi#$hkNooCn!2_{ zTqQ&R8Y30AKc3_Uvy#-MrzFO4qOL^9q}^H^~mHguBoR`lo3JY5_%j*|X;oEgj z+cwlyReY~SrHT$xc<(u!MhS4%D6?~gJQyQxLDw|p|1n0!d8ThgJ+Jx}W3=c5RH^oH zn!gG>qcLaO&5tg4UR<5?xIbnQBp02tFavmaI?y(Crc(09N71ys(VLj+kf9 zySFdVN@YoW?18G@^I5n-%wu2X^ZfAqoTnJnoNNUF_(ZhWn>I zm*+e7#}gsb;}}w5JB#&kzTM!Q=X4rzL3F~|Zq5DEL7pjFC0Z%W*>?S7T~&O(d*IE> zX9W%x#Yz?sN-Mgi;rHu1#&IqO1LDy*mj#QpVzL1-WOot~cRnm$kuJEr{46HH{H|?^ zyBflxnzKz1BByb}8bg~!&|-b~7})PmCBPv@#@XSWaCzrF#u(mzxF*KPX_%<0>=9)M z(MoX|C%!!HIh+R8s}AP{=K|DYI`k{rj0^{UHSK|bhk9CDk1RW`SLh*+y3iJ2ENeO(&lFwSCR zjdP)*C}AtZIMH|QS4>wL)Iw=AlN`i1a4YX~8 z(b9CaRy;f&Sg*R`Vvf_C?OPEaUDQm4DDm6)3B$VaTvK&+<9zRhPw^F2M*fvhLgR zIo24-(%g@{&-00_EkKOJ&8p)xi~`jty0)Qhgb^BJ0+ z=`&>tF|t1nSSuDpTkK_9q&OwYR3M+wZ zWr&x)Otxw(S>t_Ro--Tq;p=rW1zmjhuC1x7ii@)?b!A!g9nUUyY*u~Y^WKN-l!_+l z`<8K>*sfQs`;P5;1=-tAz%U66kJF4ol2!ViQ1TE3QWj6h2T8V={iUvzLCs1@0HaXF3cW<_NUT~pIk6{qa~EDyHW3#Vd=!Q@<~bBfJMswKuqRoMb%F~-bJ5^Zj> z#%K=9*fBTj%kwRL(-33K*`vz{a-1By?MehrqWCc}34IJfnp@Y_ton}UmuIDke)H-X z+jY-&E&60334PWbi}ieUzT^4TIcM87n^ng+IZoq9ofEFEE5=bicX3JEwk~5z9|Ehs zWq%y9^)4i1v+6mVM$UJe%qFWcu(Au6Kih72mH9JJ*vg0NTjA1LQ&$zUbEKG20P61kk>^)ue0kWj z>KbCynDg!W$K~XgDO8A&&$kcah2#N7+ccR^i-+Qz&jV)Z8-3U0W;?Q7_pJL4qcv|{ zT(Vj9oNYI3*Q-JS7vIPl&2GDhJ{ z_Uw%@JnRob0#ahL>Vd@F!xPUh&k4C1j`N&xc(Fz*cI%Z?#W?Z&@(g1%5Bnq2JZJu% za$jgT<=!_tPg7NF*Q+xATzaX%QH67X?PkR;yR&Uu7h7Hnk9K(wA&f=5kTV&U2RYf( zX)L3_`44KaX#}t5tOK-Gv`tOh)I7gDgJij;t5;u1bY&R=u z%BT|17nkRJy7@u~fy?tP_m6vi{r!gBMiO9QUWvrvG|;s*){2?ebxj#a4dX-zp|HYf zc09Y>@u%0%dHv#&@4tDKHz=f^>X;HQuFko>z0YhY@$%}T4CTq|7fZ(2O-*I>U#H$yV+}=M*lg!hw1+q{g=VKx>Ct*{&&00*jJfN?v!D?YL zF~;n#jBM5&F;nBJvT~1Y&G9twA3uNK>SD+H57&&-%%|IXKHhxce7C`5-)DBN1o!6; zpV+Q@ZoWM7{=+rLLHwfkAFj)UZFY{@T1+0ocrU8`a2&D~A`Ee%w=pKpw`-nVobmp{ zXFlEBGkee5m(Q@)u?1?(Iu?p;3jxxiSwB zY_BTuhh$h?ae21k_v>3O&$ry&KXG-w1H>Y@`SQrC=NC*FK8A7P@_ft3&v!-GNsvX< zT;JTY+pd|tr>-qcU1N=G7L1el_sg8Zc^NZ`(Wdxx`-O|MEibOl*{*xe^1=S&*N^xp zv*!KrR0it*_dkE*Y`f<9d4cE8#g|jbY!H0;|LbKO>$K(E3RDH-w-DRDmm7=OF z#u(nbxa8Tzu26K9t5yB$zkHwSs$!TXzIpYWwyvov%gvXEJl&yC%b$Mvm>Ekd0qxp` z!)ZV(B`X(s?c&?lFN&J}c=H97hv;Y9HAZWG|9r=B7;$+v`rS7#d3ZXCAj*i6NL=hT zD6RPQ_nSORmLZ8&iXl(mw(FjUCuyomE1Ig}e76y9{)c(@ahT}yCd2VGa(TYZ%T|G5 znsd+S3Zq(@XxBA7?Tl3-+l8cEwXz#h`+phOWV}+oiw|c5{Ki757)P4N2so>_$k)rCS4bi5@X`8 zKYYu2)o~i8@_rv8r_;#w-95X_iet8gm*)EJ&C4<5Vul=<;uFVD`?w+*us z+c#$TT%c0?EK$e&L4bjnc&A~MxvYYeD4Pqjb8OZ<-V1x{^U!5!)QdsreJJXA*<+fV zE2}uDua?BOZ(i{6<_@DxNx~1GZiq3V{`{xcX;FPka~;Qtzy9SNT`QjTBHRD=(=Sw& z>iTIu3V3HLq~NYh%E@!_(XxCDP$b*yXQ?TasyNag;P^_zrz?mWvZVw@e@ zb)TDTo-<@Ob?HNk-LO<>*9hbJ?weP|HT|D|`-$yFOhfhkpI#?xOjf(LWP%TozkK(W zwieOx^M_A`d&{8X>kTh^qstm23f{eaDYIg0`2G5>H2Aaan(Nzpj;Aqin7LwnX|2j^ zb#}h2g)G|`%Z8ozfw8O^DxtNxQ7?NvU0ZV+r@Vip%A(oQBNm8Tn3No7D62Qi^h@XA zxydGD2r+v^;&4`#Ek4m=*p2gy)#kq#c0Medce2DLu&q)5{V(68#ZX%C%ZE@d2FoVe z*QHtUS8Q45ki{gy=H)=zrsCT-FUk_{;_JWv?Nc%EMDQ6v7|-GpEv4(c&mt!k+hW+7mvdFw_**)!#n5*;MkE_08&hyvVd8{_{eOs1e z$Gi=rBV-B%VP>)7&P zr(vXR>#}hs19efnr(u#Y;WU?l^fJGdDiNiNqHGF?b7_k}ISsNdE;pP?@Ry}2=VZvy zHkDY}P4x%yq}i@}nx>-fnlcLjv6F{!VxApmn{^S0BuWsB)ny+kk&2IBSwofACzl~j z+tl1Y9g4f#cdcaa;Y8oHbWL6Sq}ln>FP!tml9}_MX-Uw-X}~#I82JC5Dtbj~y3ch0 O0000AHIP00001b5ch_0Itp) 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 literal 0 HcmV?d00001 diff --git a/TEST/mystic_woods_free_2.2/sprites/tilesets/water_lillies.png.import b/TEST/mystic_woods_free_2.2/sprites/tilesets/water_lillies.png.import new file mode 100644 index 0000000..8d1f514 --- /dev/null +++ b/TEST/mystic_woods_free_2.2/sprites/tilesets/water_lillies.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b52dx8ej5geti" +path="res://.godot/imported/water_lillies.png-505badebc331d33e5ec126469a676a7a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://TEST/mystic_woods_free_2.2/sprites/tilesets/water_lillies.png" +dest_files=["res://.godot/imported/water_lillies.png-505badebc331d33e5ec126469a676a7a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/addons/beehave/LICENSE b/addons/beehave/LICENSE new file mode 100644 index 0000000..caabbff --- /dev/null +++ b/addons/beehave/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 bitbrain + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/addons/beehave/blackboard.gd b/addons/beehave/blackboard.gd new file mode 100644 index 0000000..3948212 --- /dev/null +++ b/addons/beehave/blackboard.gd @@ -0,0 +1,51 @@ +@icon("icons/blackboard.svg") +class_name Blackboard extends Node + +const DEFAULT = "default" + +## The blackboard is an object that can be used to store and access data between +## multiple nodes of the behavior tree. +@export var blackboard: Dictionary = {}: + set(b): + blackboard = b + _data[DEFAULT] = blackboard + +var _data: Dictionary = {} + + +func _ready(): + _data[DEFAULT] = blackboard + + +func keys() -> Array[String]: + var keys: Array[String] + keys.assign(_data.keys().duplicate()) + return keys + + +func set_value(key: Variant, value: Variant, blackboard_name: String = DEFAULT) -> void: + if not _data.has(blackboard_name): + _data[blackboard_name] = {} + + _data[blackboard_name][key] = value + + +func get_value( + key: Variant, default_value: Variant = null, blackboard_name: String = DEFAULT +) -> Variant: + if has_value(key, blackboard_name): + return _data[blackboard_name].get(key, default_value) + return default_value + + +func has_value(key: Variant, blackboard_name: String = DEFAULT) -> bool: + return ( + _data.has(blackboard_name) + and _data[blackboard_name].has(key) + and _data[blackboard_name][key] != null + ) + + +func erase_value(key: Variant, blackboard_name: String = DEFAULT) -> void: + if _data.has(blackboard_name): + _data[blackboard_name][key] = null diff --git a/addons/beehave/debug/debugger.gd b/addons/beehave/debug/debugger.gd new file mode 100644 index 0000000..73bdc50 --- /dev/null +++ b/addons/beehave/debug/debugger.gd @@ -0,0 +1,96 @@ +@tool +extends EditorDebuggerPlugin + +const DebuggerTab := preload("debugger_tab.gd") +const BeehaveUtils := preload("res://addons/beehave/utils/utils.gd") + +var debugger_tab := DebuggerTab.new() +var floating_window: Window +var session: EditorDebuggerSession + + +func _has_capture(prefix: String) -> bool: + return prefix == "beehave" + + +func _capture(message: String, data: Array, session_id: int) -> bool: + # in case the behavior tree has invalid setup this might be null + if debugger_tab == null: + return false + + if message == "beehave:register_tree": + debugger_tab.register_tree(data[0]) + return true + if message == "beehave:unregister_tree": + debugger_tab.unregister_tree(data[0]) + return true + if message == "beehave:process_tick": + debugger_tab.graph.process_tick(data[0], data[1]) + return true + if message == "beehave:process_begin": + debugger_tab.graph.process_begin(data[0]) + return true + if message == "beehave:process_end": + debugger_tab.graph.process_end(data[0]) + return true + return false + + +func _setup_session(session_id: int) -> void: + session = get_session(session_id) + session.started.connect(debugger_tab.start) + session.stopped.connect(debugger_tab.stop) + + debugger_tab.name = "🐝 Beehave" + debugger_tab.make_floating.connect(_on_make_floating) + debugger_tab.session = session + session.add_session_tab(debugger_tab) + + +func _on_make_floating() -> void: + var plugin := BeehaveUtils.get_plugin() + if not plugin: + return + if floating_window: + _on_window_close_requested() + return + + var border_size := Vector2(4, 4) * BeehaveUtils.get_editor_scale() + var editor_interface: EditorInterface = plugin.get_editor_interface() + var editor_main_screen = editor_interface.get_editor_main_screen() + debugger_tab.get_parent().remove_child(debugger_tab) + + floating_window = Window.new() + + var panel := Panel.new() + panel.add_theme_stylebox_override( + "panel", + editor_interface.get_base_control().get_theme_stylebox("PanelForeground", "EditorStyles") + ) + panel.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + floating_window.add_child(panel) + + var margin := MarginContainer.new() + margin.add_child(debugger_tab) + margin.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + margin.add_theme_constant_override("margin_right", border_size.x) + margin.add_theme_constant_override("margin_left", border_size.x) + margin.add_theme_constant_override("margin_top", border_size.y) + margin.add_theme_constant_override("margin_bottom", border_size.y) + panel.add_child(margin) + + floating_window.title = "🐝 Beehave" + floating_window.wrap_controls = true + floating_window.min_size = Vector2i(600, 350) + floating_window.size = debugger_tab.size + floating_window.position = editor_main_screen.global_position + floating_window.transient = true + floating_window.close_requested.connect(_on_window_close_requested) + editor_interface.get_base_control().add_child(floating_window) + + +func _on_window_close_requested() -> void: + debugger_tab.get_parent().remove_child(debugger_tab) + session.add_session_tab(debugger_tab) + floating_window.queue_free() + floating_window = null diff --git a/addons/beehave/debug/debugger_messages.gd b/addons/beehave/debug/debugger_messages.gd new file mode 100644 index 0000000..6e0a055 --- /dev/null +++ b/addons/beehave/debug/debugger_messages.gd @@ -0,0 +1,30 @@ +class_name BeehaveDebuggerMessages + + +static func can_send_message() -> bool: + return not Engine.is_editor_hint() and OS.has_feature("editor") + + +static func register_tree(beehave_tree: Dictionary) -> void: + if can_send_message(): + EngineDebugger.send_message("beehave:register_tree", [beehave_tree]) + + +static func unregister_tree(instance_id: int) -> void: + if can_send_message(): + EngineDebugger.send_message("beehave:unregister_tree", [instance_id]) + + +static func process_tick(instance_id: int, status: int) -> void: + if can_send_message(): + EngineDebugger.send_message("beehave:process_tick", [instance_id, status]) + + +static func process_begin(instance_id: int) -> void: + if can_send_message(): + EngineDebugger.send_message("beehave:process_begin", [instance_id]) + + +static func process_end(instance_id: int) -> void: + if can_send_message(): + EngineDebugger.send_message("beehave:process_end", [instance_id]) diff --git a/addons/beehave/debug/debugger_tab.gd b/addons/beehave/debug/debugger_tab.gd new file mode 100644 index 0000000..758d8b6 --- /dev/null +++ b/addons/beehave/debug/debugger_tab.gd @@ -0,0 +1,125 @@ +@tool +class_name BeehaveDebuggerTab extends PanelContainer + +const BeehaveUtils := preload("res://addons/beehave/utils/utils.gd") + +signal make_floating + +const OldBeehaveGraphEdit := preload("old_graph_edit.gd") +const NewBeehaveGraphEdit := preload("new_graph_edit.gd") + +const TREE_ICON := preload("../icons/tree.svg") + +var graph +var container: HSplitContainer +var item_list: ItemList +var message: Label + +var active_trees: Dictionary +var active_tree_id: int = -1 +var session: EditorDebuggerSession + + +func _ready() -> void: + container = HSplitContainer.new() + add_child(container) + + item_list = ItemList.new() + item_list.custom_minimum_size = Vector2(200, 0) + item_list.item_selected.connect(_on_item_selected) + container.add_child(item_list) + if Engine.get_version_info().minor >= 2: + graph = NewBeehaveGraphEdit.new(BeehaveUtils.get_frames()) + else: + graph = OldBeehaveGraphEdit.new(BeehaveUtils.get_frames()) + + container.add_child(graph) + + message = Label.new() + message.text = "Run Project for debugging" + message.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + message.vertical_alignment = VERTICAL_ALIGNMENT_CENTER + message.set_anchors_preset(Control.PRESET_CENTER) + add_child(message) + + var button := Button.new() + button.flat = true + button.name = "MakeFloatingButton" + button.icon = get_theme_icon(&"ExternalLink", &"EditorIcons") + button.pressed.connect(func(): make_floating.emit()) + button.tooltip_text = "Make floating" + button.focus_mode = Control.FOCUS_NONE + graph.get_menu_container().add_child(button) + + var toggle_button := Button.new() + toggle_button.flat = true + toggle_button.name = "TogglePanelButton" + toggle_button.icon = get_theme_icon(&"Back", &"EditorIcons") + toggle_button.pressed.connect(_on_toggle_button_pressed.bind(toggle_button)) + toggle_button.tooltip_text = "Toggle Panel" + toggle_button.focus_mode = Control.FOCUS_NONE + graph.get_menu_container().add_child(toggle_button) + graph.get_menu_container().move_child(toggle_button, 0) + + stop() + visibility_changed.connect(_on_visibility_changed) + + +func start() -> void: + container.visible = true + message.visible = false + + +func stop() -> void: + container.visible = false + message.visible = true + + active_trees.clear() + item_list.clear() + graph.beehave_tree = {} + + +func register_tree(data: Dictionary) -> void: + if not active_trees.has(data.id): + var idx := item_list.add_item(data.name, TREE_ICON) + item_list.set_item_tooltip(idx, data.path) + item_list.set_item_metadata(idx, data.id) + + active_trees[data.id] = data + + if active_tree_id == data.id.to_int(): + graph.beehave_tree = data + + +func unregister_tree(instance_id: int) -> void: + var id := str(instance_id) + for i in item_list.item_count: + if item_list.get_item_metadata(i) == id: + item_list.remove_item(i) + break + + active_trees.erase(id) + + if graph.beehave_tree.get("id", "") == id: + graph.beehave_tree = {} + + +func _on_toggle_button_pressed(toggle_button: Button) -> void: + item_list.visible = !item_list.visible + toggle_button.icon = get_theme_icon( + &"Back" if item_list.visible else &"Forward", &"EditorIcons" + ) + + +func _on_item_selected(idx: int) -> void: + var id: StringName = item_list.get_item_metadata(idx) + graph.beehave_tree = active_trees.get(id, {}) + + active_tree_id = id.to_int() + if session != null: + session.send_message("beehave:activate_tree", [active_tree_id]) + + +func _on_visibility_changed() -> void: + if session != null: + session.send_message("beehave:visibility_changed", [visible and is_visible_in_tree()]) diff --git a/addons/beehave/debug/global_debugger.gd b/addons/beehave/debug/global_debugger.gd new file mode 100644 index 0000000..7350b3e --- /dev/null +++ b/addons/beehave/debug/global_debugger.gd @@ -0,0 +1,38 @@ +extends Node + +var _registered_trees: Dictionary +var _active_tree + + +func _enter_tree() -> void: + EngineDebugger.register_message_capture("beehave", _on_debug_message) + + +func _on_debug_message(message: String, data: Array) -> bool: + if message == "activate_tree": + _set_active_tree(data[0]) + return true + if message == "visibility_changed": + if _active_tree && is_instance_valid(_active_tree): + _active_tree._can_send_message = data[0] + return true + return false + + +func _set_active_tree(tree_id: int) -> void: + var tree = _registered_trees.get(tree_id, null) + if not tree: + return + + if _active_tree && is_instance_valid(_active_tree): + _active_tree._can_send_message = false + _active_tree = tree + _active_tree._can_send_message = true + + +func register_tree(tree) -> void: + _registered_trees[tree.get_instance_id()] = tree + + +func unregister_tree(tree) -> void: + _registered_trees.erase(tree.get_instance_id()) diff --git a/addons/beehave/debug/icons/horizontal_layout.svg b/addons/beehave/debug/icons/horizontal_layout.svg new file mode 100644 index 0000000..235dc62 --- /dev/null +++ b/addons/beehave/debug/icons/horizontal_layout.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/beehave/debug/icons/horizontal_layout.svg.import b/addons/beehave/debug/icons/horizontal_layout.svg.import new file mode 100644 index 0000000..539e518 --- /dev/null +++ b/addons/beehave/debug/icons/horizontal_layout.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bah77esichnyx" +path="res://.godot/imported/horizontal_layout.svg-d2a7af351e44f9bf61d0c938b6f47fac.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/debug/icons/horizontal_layout.svg" +dest_files=["res://.godot/imported/horizontal_layout.svg-d2a7af351e44f9bf61d0c938b6f47fac.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/debug/icons/port_bottom.svg b/addons/beehave/debug/icons/port_bottom.svg new file mode 100644 index 0000000..3ce70e7 --- /dev/null +++ b/addons/beehave/debug/icons/port_bottom.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/beehave/debug/icons/port_bottom.svg.import b/addons/beehave/debug/icons/port_bottom.svg.import new file mode 100644 index 0000000..8845c5b --- /dev/null +++ b/addons/beehave/debug/icons/port_bottom.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://da3b236rjbqns" +path="res://.godot/imported/port_bottom.svg-e5c5c61b642a79ab9c2b66ff56603d34.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/debug/icons/port_bottom.svg" +dest_files=["res://.godot/imported/port_bottom.svg-e5c5c61b642a79ab9c2b66ff56603d34.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/debug/icons/port_left.svg b/addons/beehave/debug/icons/port_left.svg new file mode 100644 index 0000000..c1f6717 --- /dev/null +++ b/addons/beehave/debug/icons/port_left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/beehave/debug/icons/port_left.svg.import b/addons/beehave/debug/icons/port_left.svg.import new file mode 100644 index 0000000..7ea9827 --- /dev/null +++ b/addons/beehave/debug/icons/port_left.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnufc8p6spdtn" +path="res://.godot/imported/port_left.svg-69cd927c4db555f1edbb8d1f553ea2fd.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/debug/icons/port_left.svg" +dest_files=["res://.godot/imported/port_left.svg-69cd927c4db555f1edbb8d1f553ea2fd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/debug/icons/port_right.svg b/addons/beehave/debug/icons/port_right.svg new file mode 100644 index 0000000..2560af5 --- /dev/null +++ b/addons/beehave/debug/icons/port_right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/beehave/debug/icons/port_right.svg.import b/addons/beehave/debug/icons/port_right.svg.import new file mode 100644 index 0000000..20931cd --- /dev/null +++ b/addons/beehave/debug/icons/port_right.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bbmd6vk23ympm" +path="res://.godot/imported/port_right.svg-f760bd8be2dd613d0d3848c998c92a2a.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/debug/icons/port_right.svg" +dest_files=["res://.godot/imported/port_right.svg-f760bd8be2dd613d0d3848c998c92a2a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/debug/icons/port_top.svg b/addons/beehave/debug/icons/port_top.svg new file mode 100644 index 0000000..d3b99e1 --- /dev/null +++ b/addons/beehave/debug/icons/port_top.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/beehave/debug/icons/port_top.svg.import b/addons/beehave/debug/icons/port_top.svg.import new file mode 100644 index 0000000..dec7820 --- /dev/null +++ b/addons/beehave/debug/icons/port_top.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bw8wmxdfom8eh" +path="res://.godot/imported/port_top.svg-d1b336cdc6a0dd570305782a1e56f61d.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/debug/icons/port_top.svg" +dest_files=["res://.godot/imported/port_top.svg-d1b336cdc6a0dd570305782a1e56f61d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/debug/icons/vertical_layout.svg b/addons/beehave/debug/icons/vertical_layout.svg new file mode 100644 index 0000000..d59ffb0 --- /dev/null +++ b/addons/beehave/debug/icons/vertical_layout.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/beehave/debug/icons/vertical_layout.svg.import b/addons/beehave/debug/icons/vertical_layout.svg.import new file mode 100644 index 0000000..8ddcfca --- /dev/null +++ b/addons/beehave/debug/icons/vertical_layout.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpyxu6i1dx5qh" +path="res://.godot/imported/vertical_layout.svg-1a08fee4b09812a05bcf3defb8afcc4c.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/debug/icons/vertical_layout.svg" +dest_files=["res://.godot/imported/vertical_layout.svg-1a08fee4b09812a05bcf3defb8afcc4c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/debug/new_frames.gd b/addons/beehave/debug/new_frames.gd new file mode 100644 index 0000000..4b739fd --- /dev/null +++ b/addons/beehave/debug/new_frames.gd @@ -0,0 +1,69 @@ +@tool +extends RefCounted + + +const BeehaveUtils := preload("res://addons/beehave/utils/utils.gd") + + +const SUCCESS_COLOR := Color("#07783a") +const NORMAL_COLOR := Color("#15181e") +const FAILURE_COLOR := Color("#82010b") +const RUNNING_COLOR := Color("#c29c06") + +var panel_normal: StyleBoxFlat +var panel_success: StyleBoxFlat +var panel_failure: StyleBoxFlat +var panel_running: StyleBoxFlat + +var titlebar_normal: StyleBoxFlat +var titlebar_success: StyleBoxFlat +var titlebar_failure: StyleBoxFlat +var titlebar_running: StyleBoxFlat + + +func _init() -> void: + var plugin := BeehaveUtils.get_plugin() + if not plugin: + return + + + titlebar_normal = ( + plugin + .get_editor_interface() + .get_base_control() + .get_theme_stylebox(&"titlebar", &"GraphNode")\ + .duplicate() + ) + titlebar_success = titlebar_normal.duplicate() + titlebar_failure = titlebar_normal.duplicate() + titlebar_running = titlebar_normal.duplicate() + + titlebar_success.bg_color = SUCCESS_COLOR + titlebar_failure.bg_color = FAILURE_COLOR + titlebar_running.bg_color = RUNNING_COLOR + + titlebar_success.border_color = SUCCESS_COLOR + titlebar_failure.border_color = FAILURE_COLOR + titlebar_running.border_color = RUNNING_COLOR + + + panel_normal = ( + plugin + .get_editor_interface() + .get_base_control() + .get_theme_stylebox(&"panel", &"GraphNode") + .duplicate() + ) + panel_success = ( + plugin + .get_editor_interface() + .get_base_control() + .get_theme_stylebox(&"panel_selected", &"GraphNode") + .duplicate() + ) + panel_failure = panel_success.duplicate() + panel_running = panel_success.duplicate() + + panel_success.border_color = SUCCESS_COLOR + panel_failure.border_color = FAILURE_COLOR + panel_running.border_color = RUNNING_COLOR diff --git a/addons/beehave/debug/new_graph_edit.gd b/addons/beehave/debug/new_graph_edit.gd new file mode 100644 index 0000000..71161ab --- /dev/null +++ b/addons/beehave/debug/new_graph_edit.gd @@ -0,0 +1,296 @@ +@tool +extends GraphEdit + +const BeehaveGraphNode := preload("new_graph_node.gd") + +const HORIZONTAL_LAYOUT_ICON := preload("icons/horizontal_layout.svg") +const VERTICAL_LAYOUT_ICON := preload("icons/vertical_layout.svg") + +const PROGRESS_SHIFT: int = 50 +const INACTIVE_COLOR: Color = Color("#898989") +const ACTIVE_COLOR: Color = Color("#c29c06") +const SUCCESS_COLOR: Color = Color("#07783a") + + +var updating_graph: bool = false +var arraging_nodes: bool = false +var beehave_tree: Dictionary: + set(value): + if beehave_tree == value: + return + beehave_tree = value + active_nodes.clear() + _update_graph() + +var horizontal_layout: bool = false: + set(value): + if updating_graph or arraging_nodes: + return + if horizontal_layout == value: + return + horizontal_layout = value + _update_layout_button() + _update_graph() + + +var frames:RefCounted +var active_nodes: Array[String] +var progress: int = 0 +var layout_button: Button + + +func _init(frames:RefCounted) -> void: + self.frames = frames + + +func _ready() -> void: + custom_minimum_size = Vector2(100, 300) + set("show_arrange_button", true) + minimap_enabled = false + layout_button = Button.new() + layout_button.flat = true + layout_button.focus_mode = Control.FOCUS_NONE + layout_button.pressed.connect(func(): horizontal_layout = not horizontal_layout) + get_menu_container().add_child(layout_button) + _update_layout_button() + + +func _update_graph() -> void: + if updating_graph: + return + + updating_graph = true + + clear_connections() + + for child in _get_child_nodes(): + remove_child(child) + child.queue_free() + + if not beehave_tree.is_empty(): + _add_nodes(beehave_tree) + _connect_nodes(beehave_tree) + _arrange_nodes.call_deferred(beehave_tree) + + updating_graph = false + + +func _add_nodes(node: Dictionary) -> void: + if node.is_empty(): + return + var gnode := BeehaveGraphNode.new(frames, horizontal_layout) + add_child(gnode) + gnode.title_text = node.name + gnode.name = node.id + gnode.icon = _get_icon(node.type.back()) + + if node.type.has(&"BeehaveTree"): + gnode.set_slots(false, true) + elif node.type.has(&"Leaf"): + gnode.set_slots(true, false) + elif node.type.has(&"Composite") or node.type.has(&"Decorator"): + gnode.set_slots(true, true) + + for child in node.get("children", []): + _add_nodes(child) + + +func _connect_nodes(node: Dictionary) -> void: + for child in node.get("children", []): + connect_node(node.id, 0, child.id, 0) + _connect_nodes(child) + + +func _arrange_nodes(node: Dictionary) -> void: + if arraging_nodes: + return + + arraging_nodes = true + + var tree_node := _create_tree_nodes(node) + tree_node.update_positions(horizontal_layout) + _place_nodes(tree_node) + + arraging_nodes = false + + +func _create_tree_nodes(node: Dictionary, root: TreeNode = null) -> TreeNode: + var tree_node := TreeNode.new(get_node(node.id), root) + for child in node.get("children", []): + var child_node := _create_tree_nodes(child, tree_node) + tree_node.children.push_back(child_node) + return tree_node + + +func _place_nodes(node: TreeNode) -> void: + node.item.position_offset = Vector2(node.x, node.y) + for child in node.children: + _place_nodes(child) + + +func _get_icon(type: StringName) -> Texture2D: + var classes := ProjectSettings.get_global_class_list() + for c in classes: + if c["class"] == type: + var icon_path := c.get("icon", String()) + if not icon_path.is_empty(): + return load(icon_path) + return null + + +func get_menu_container() -> Control: + return call("get_menu_hbox") + + +func get_status(status: int) -> String: + if status == 0: + return "SUCCESS" + elif status == 1: + return "FAILURE" + return "RUNNING" + + +func process_begin(instance_id: int) -> void: + if not _is_same_tree(instance_id): + return + + for child in _get_child_nodes(): + child.set_meta("status", -1) + + +func process_tick(instance_id: int, status: int) -> void: + var node := get_node_or_null(str(instance_id)) + if node: + node.text = "Status: %s" % get_status(status) + node.set_status(status) + node.set_meta("status", status) + if status == 0 or status == 2: + if not active_nodes.has(node.name): + active_nodes.push_back(node.name) + + +func process_end(instance_id: int) -> void: + if not _is_same_tree(instance_id): + return + + for child in _get_child_nodes(): + var status := child.get_meta("status", -1) + match status: + 0: + active_nodes.erase(child.name) + child.set_color(SUCCESS_COLOR) + 1: + active_nodes.erase(child.name) + child.set_color(INACTIVE_COLOR) + 2: + child.set_color(ACTIVE_COLOR) + _: + child.text = " " + child.set_status(status) + child.set_color(INACTIVE_COLOR) + + +func _is_same_tree(instance_id: int) -> bool: + return str(instance_id) == beehave_tree.get("id", "") + + +func _get_child_nodes() -> Array[Node]: + return get_children().filter(func(child): return child is BeehaveGraphNode) + + +func _get_connection_line(from_position: Vector2, to_position: Vector2) -> PackedVector2Array: + for child in _get_child_nodes(): + for port in child.get_input_port_count(): + if not (child.position_offset + child.get_input_port_position(port)).is_equal_approx(to_position): + continue + to_position = child.position_offset + child.get_custom_input_port_position(horizontal_layout) + for port in child.get_output_port_count(): + if not (child.position_offset + child.get_output_port_position(port)).is_equal_approx(from_position): + continue + from_position = child.position_offset + child.get_custom_output_port_position(horizontal_layout) + return _get_elbow_connection_line(from_position, to_position) + + +func _get_elbow_connection_line(from_position: Vector2, to_position: Vector2) -> PackedVector2Array: + var points: PackedVector2Array + + points.push_back(from_position) + + var mid_position := ((to_position + from_position) / 2).round() + if horizontal_layout: + points.push_back(Vector2(mid_position.x, from_position.y)) + points.push_back(Vector2(mid_position.x, to_position.y)) + else: + points.push_back(Vector2(from_position.x, mid_position.y)) + points.push_back(Vector2(to_position.x, mid_position.y)) + + points.push_back(to_position) + + return points + + +func _process(delta: float) -> void: + if not active_nodes.is_empty(): + progress += 10 if delta >= 0.05 else 1 + if progress >= 1000: + progress = 0 + queue_redraw() + + +func _draw() -> void: + if active_nodes.is_empty(): + return + + var circle_size: float = max(3, 6 * zoom) + var progress_shift: float = PROGRESS_SHIFT * zoom + + var connections := get_connection_list() + for c in connections: + var from_node: StringName + var to_node: StringName + + from_node = c.from_node + to_node = c.to_node + + if not from_node in active_nodes or not c.to_node in active_nodes: + continue + + var from := get_node(String(from_node)) + var to := get_node(String(to_node)) + + if from.get_meta("status", -1) < 0 or to.get_meta("status", -1) < 0: + return + + var output_port_position: Vector2 + var input_port_position: Vector2 + + var scale_factor: float = from.get_rect().size.x / from.size.x + + var line := _get_elbow_connection_line( + from.position + from.get_custom_output_port_position(horizontal_layout) * scale_factor, + to.position + to.get_custom_input_port_position(horizontal_layout) * scale_factor + ) + + var curve = Curve2D.new() + for l in line: + curve.add_point(l) + + var max_steps := int(curve.get_baked_length()) + var current_shift := progress % max_steps + var p := curve.sample_baked(current_shift) + draw_circle(p, circle_size, ACTIVE_COLOR) + + var shift := current_shift - progress_shift + while shift >= 0: + draw_circle(curve.sample_baked(shift), circle_size, ACTIVE_COLOR) + shift -= progress_shift + + shift = current_shift + progress_shift + while shift <= curve.get_baked_length(): + draw_circle(curve.sample_baked(shift), circle_size, ACTIVE_COLOR) + shift += progress_shift + + +func _update_layout_button() -> void: + layout_button.icon = VERTICAL_LAYOUT_ICON if horizontal_layout else HORIZONTAL_LAYOUT_ICON + layout_button.tooltip_text = "Switch to Vertical layout" if horizontal_layout else "Switch to Horizontal layout" diff --git a/addons/beehave/debug/new_graph_node.gd b/addons/beehave/debug/new_graph_node.gd new file mode 100644 index 0000000..70f06dc --- /dev/null +++ b/addons/beehave/debug/new_graph_node.gd @@ -0,0 +1,155 @@ +@tool +extends GraphNode + + +const BeehaveUtils := preload("res://addons/beehave/utils/utils.gd") + +const PORT_TOP_ICON := preload("icons/port_top.svg") +const PORT_BOTTOM_ICON := preload("icons/port_bottom.svg") +const PORT_LEFT_ICON := preload("icons/port_left.svg") +const PORT_RIGHT_ICON := preload("icons/port_right.svg") + + +@export var title_text: String: + set(value): + title_text = value + if title_label: + title_label.text = value + +@export var text: String: + set(value): + text = value + if label: + label.text = " " if text.is_empty() else text + +@export var icon: Texture2D: + set(value): + icon = value + if icon_rect: + icon_rect.texture = value + +var layout_size: float: + get: + return size.y if horizontal else size.x + + +var icon_rect: TextureRect +var title_label: Label +var label: Label +var titlebar_hbox: HBoxContainer + +var frames: RefCounted +var horizontal: bool = false + + +func _init(frames:RefCounted, horizontal: bool = false) -> void: + self.frames = frames + self.horizontal = horizontal + + +func _ready() -> void: + custom_minimum_size = Vector2(50, 50) * BeehaveUtils.get_editor_scale() + draggable = false + + add_theme_color_override("close_color", Color.TRANSPARENT) + add_theme_icon_override("close", ImageTexture.new()) + + # For top port + var top_port: Control = Control.new() + add_child(top_port) + + icon_rect = TextureRect.new() + icon_rect.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_CENTERED + + titlebar_hbox = get_titlebar_hbox() + titlebar_hbox.get_child(0).queue_free() + titlebar_hbox.alignment = BoxContainer.ALIGNMENT_BEGIN + titlebar_hbox.add_child(icon_rect) + + title_label = Label.new() + title_label.add_theme_color_override("font_color", Color.WHITE) + var title_font: Font = get_theme_font("title_font").duplicate() + if title_font is FontVariation: + title_font.variation_embolden = 1 + elif title_font is FontFile: + title_font.font_weight = 700 + title_label.add_theme_font_override("font", title_font) + title_label.vertical_alignment = VERTICAL_ALIGNMENT_CENTER + title_label.size_flags_horizontal = Control.SIZE_EXPAND_FILL + title_label.text = title_text + titlebar_hbox.add_child(title_label) + + label = Label.new() + label.text = " " if text.is_empty() else text + add_child(label) + + # For bottom port + add_child(Control.new()) + + minimum_size_changed.connect(_on_size_changed) + _on_size_changed.call_deferred() + + +func _draw_port(slot_index: int, port_position: Vector2i, left: bool, color: Color) -> void: + if horizontal: + if is_slot_enabled_left(1): + draw_texture(PORT_LEFT_ICON, Vector2(0, size.y / 2) + Vector2(-4, -5), color) + if is_slot_enabled_right(1): + draw_texture(PORT_RIGHT_ICON, Vector2(size.x, size.y / 2) + Vector2(-5, -4.5), color) + else: + if slot_index == 0 and is_slot_enabled_left(0): + draw_texture(PORT_TOP_ICON, Vector2(size.x / 2, 0) + Vector2(-4.5, -7), color) + elif slot_index == 1: + draw_texture(PORT_BOTTOM_ICON, Vector2(size.x / 2, size.y) + Vector2(-4.5, -5), color) + + +func get_custom_input_port_position(horizontal: bool) -> Vector2: + if horizontal: + return Vector2(0, size.y / 2) + else: + return Vector2(size.x/2, 0) + + +func get_custom_output_port_position(horizontal: bool) -> Vector2: + if horizontal: + return Vector2(size.x, size.y / 2) + else: + return Vector2(size.x / 2, size.y) + + +func set_status(status: int) -> void: + match status: + 0: _set_stylebox_overrides(frames.panel_success, frames.titlebar_success) + 1: _set_stylebox_overrides(frames.panel_failure, frames.titlebar_failure) + 2: _set_stylebox_overrides(frames.panel_running, frames.titlebar_running) + _: _set_stylebox_overrides(frames.panel_normal, frames.titlebar_normal) + + +func set_slots(left_enabled: bool, right_enabled: bool) -> void: + if horizontal: + set_slot(1, left_enabled, -1, Color.WHITE, right_enabled, -1, Color.WHITE, PORT_LEFT_ICON, PORT_RIGHT_ICON) + else: + set_slot(0, left_enabled, -1, Color.WHITE, false, -1, Color.TRANSPARENT, PORT_TOP_ICON, null) + set_slot(2, false, -1, Color.TRANSPARENT, right_enabled, -1, Color.WHITE, null, PORT_BOTTOM_ICON) + + +func set_color(color: Color) -> void: + set_input_color(color) + set_output_color(color) + + +func set_input_color(color: Color) -> void: + set_slot_color_left(1 if horizontal else 0, color) + + +func set_output_color(color: Color) -> void: + set_slot_color_right(1 if horizontal else 2, color) + + +func _set_stylebox_overrides(panel_stylebox: StyleBox, titlebar_stylebox: StyleBox) -> void: + add_theme_stylebox_override("panel", panel_stylebox) + add_theme_stylebox_override("titlebar", titlebar_stylebox) + + +func _on_size_changed(): + add_theme_constant_override("port_offset", 12 * BeehaveUtils.get_editor_scale() if horizontal else round(size.x)) diff --git a/addons/beehave/debug/old_frames.gd b/addons/beehave/debug/old_frames.gd new file mode 100644 index 0000000..a9f6aa8 --- /dev/null +++ b/addons/beehave/debug/old_frames.gd @@ -0,0 +1,47 @@ +@tool +extends RefCounted + +const BeehaveUtils := preload("res://addons/beehave/utils/utils.gd") + +const SUCCESS_COLOR := Color("#009944c8") +const NORMAL_COLOR := Color("#15181e") +const FAILURE_COLOR := Color("#cf000f80") +const RUNNING_COLOR := Color("#ffcc00c8") + +var empty: StyleBoxEmpty +var normal: StyleBoxFlat +var success: StyleBoxFlat +var failure: StyleBoxFlat +var running: StyleBoxFlat + + +func _init() -> void: + var plugin := BeehaveUtils.get_plugin() + if not plugin: + return + + var editor_scale := BeehaveUtils.get_editor_scale() + + empty = StyleBoxEmpty.new() + + normal = ( + plugin + . get_editor_interface() + . get_base_control() + . get_theme_stylebox(&"frame", &"GraphNode") + . duplicate() + ) + + success = ( + plugin + . get_editor_interface() + . get_base_control() + . get_theme_stylebox(&"selected_frame", &"GraphNode") + . duplicate() + ) + failure = success.duplicate() + running = success.duplicate() + + success.border_color = SUCCESS_COLOR + failure.border_color = FAILURE_COLOR + running.border_color = RUNNING_COLOR diff --git a/addons/beehave/debug/old_graph_edit.gd b/addons/beehave/debug/old_graph_edit.gd new file mode 100644 index 0000000..bae64c8 --- /dev/null +++ b/addons/beehave/debug/old_graph_edit.gd @@ -0,0 +1,286 @@ +@tool +extends GraphEdit + +const BeehaveGraphNode := preload("old_graph_node.gd") + +const HORIZONTAL_LAYOUT_ICON := preload("icons/horizontal_layout.svg") +const VERTICAL_LAYOUT_ICON := preload("icons/vertical_layout.svg") + +const PROGRESS_SHIFT: int = 50 +const INACTIVE_COLOR: Color = Color("#898989aa") +const ACTIVE_COLOR: Color = Color("#ffcc00c8") +const SUCCESS_COLOR: Color = Color("#009944c8") + +var updating_graph: bool = false +var arraging_nodes: bool = false +var beehave_tree: Dictionary: + set(value): + if beehave_tree == value: + return + beehave_tree = value + active_nodes.clear() + _update_graph() + +var horizontal_layout: bool = false: + set(value): + if updating_graph or arraging_nodes: + return + if horizontal_layout == value: + return + horizontal_layout = value + _update_layout_button() + _update_graph() + +var frames: RefCounted +var active_nodes: Array[String] +var progress: int = 0 +var layout_button: Button + + +func _init(frames: RefCounted) -> void: + self.frames = frames + + +func _ready() -> void: + custom_minimum_size = Vector2(100, 300) + set("arrange_nodes_button_hidden", true) + minimap_enabled = false + layout_button = Button.new() + layout_button.flat = true + layout_button.focus_mode = Control.FOCUS_NONE + layout_button.pressed.connect(func(): horizontal_layout = not horizontal_layout) + get_menu_container().add_child(layout_button) + _update_layout_button() + + +func _update_graph() -> void: + if updating_graph: + return + + updating_graph = true + + clear_connections() + + for child in _get_child_nodes(): + remove_child(child) + child.queue_free() + + if not beehave_tree.is_empty(): + _add_nodes(beehave_tree) + _connect_nodes(beehave_tree) + _arrange_nodes.call_deferred(beehave_tree) + + updating_graph = false + + +func _add_nodes(node: Dictionary) -> void: + if node.is_empty(): + return + var gnode := BeehaveGraphNode.new(frames, horizontal_layout) + add_child(gnode) + gnode.title_text = node.name + gnode.name = node.id + gnode.icon = _get_icon(node.type.back()) + + if node.type.has(&"BeehaveTree"): + gnode.set_slots(false, true) + elif node.type.has(&"Leaf"): + gnode.set_slots(true, false) + elif node.type.has(&"Composite") or node.type.has(&"Decorator"): + gnode.set_slots(true, true) + + for child in node.get("children", []): + _add_nodes(child) + + +func _connect_nodes(node: Dictionary) -> void: + for child in node.get("children", []): + connect_node(node.id, 0, child.id, 0) + _connect_nodes(child) + + +func _arrange_nodes(node: Dictionary) -> void: + if arraging_nodes: + return + + arraging_nodes = true + + var tree_node := _create_tree_nodes(node) + tree_node.update_positions(horizontal_layout) + _place_nodes(tree_node) + + arraging_nodes = false + + +func _create_tree_nodes(node: Dictionary, root: TreeNode = null) -> TreeNode: + var tree_node := TreeNode.new(get_node(node.id), root) + for child in node.get("children", []): + var child_node := _create_tree_nodes(child, tree_node) + tree_node.children.push_back(child_node) + return tree_node + + +func _place_nodes(node: TreeNode) -> void: + node.item.position_offset = Vector2(node.x, node.y) + for child in node.children: + _place_nodes(child) + + +func _get_icon(type: StringName) -> Texture2D: + var classes := ProjectSettings.get_global_class_list() + for c in classes: + if c["class"] == type: + var icon_path := c.get("icon", String()) + if not icon_path.is_empty(): + return load(icon_path) + return null + + +func get_menu_container() -> Control: + return call("get_zoom_hbox") + + +func get_status(status: int) -> String: + if status == 0: + return "SUCCESS" + elif status == 1: + return "FAILURE" + return "RUNNING" + + +func process_begin(instance_id: int) -> void: + if not _is_same_tree(instance_id): + return + + for child in _get_child_nodes(): + child.set_meta("status", -1) + + +func process_tick(instance_id: int, status: int) -> void: + var node := get_node_or_null(str(instance_id)) + if node: + node.text = "Status: %s" % get_status(status) + node.set_status(status) + node.set_meta("status", status) + if status == 0 or status == 2: + if not active_nodes.has(node.name): + active_nodes.push_back(node.name) + + +func process_end(instance_id: int) -> void: + if not _is_same_tree(instance_id): + return + + for child in _get_child_nodes(): + var status := child.get_meta("status", -1) + match status: + 0: + active_nodes.erase(child.name) + child.set_color(SUCCESS_COLOR) + 1: + active_nodes.erase(child.name) + child.set_color(INACTIVE_COLOR) + 2: + child.set_color(ACTIVE_COLOR) + _: + child.text = " " + child.set_status(status) + child.set_color(INACTIVE_COLOR) + + +func _is_same_tree(instance_id: int) -> bool: + return str(instance_id) == beehave_tree.get("id", "") + + +func _get_child_nodes() -> Array[Node]: + return get_children().filter(func(child): return child is BeehaveGraphNode) + + +func _get_connection_line(from_position: Vector2, to_position: Vector2) -> PackedVector2Array: + var points: PackedVector2Array + + from_position = from_position.round() + to_position = to_position.round() + + points.push_back(from_position) + + var mid_position := ((to_position + from_position) / 2).round() + if horizontal_layout: + points.push_back(Vector2(mid_position.x, from_position.y)) + points.push_back(Vector2(mid_position.x, to_position.y)) + else: + points.push_back(Vector2(from_position.x, mid_position.y)) + points.push_back(Vector2(to_position.x, mid_position.y)) + + points.push_back(to_position) + + return points + + +func _process(delta: float) -> void: + if not active_nodes.is_empty(): + progress += 10 if delta >= 0.05 else 1 + if progress >= 1000: + progress = 0 + queue_redraw() + + +func _draw() -> void: + if active_nodes.is_empty(): + return + + var circle_size: float = max(3, 6 * zoom) + var progress_shift: float = PROGRESS_SHIFT * zoom + + var connections := get_connection_list() + for c in connections: + var from_node: StringName + var to_node: StringName + + from_node = c.from + to_node = c.to + + if not from_node in active_nodes or not c.to_node in active_nodes: + continue + + var from := get_node(String(from_node)) + var to := get_node(String(to_node)) + + if from.get_meta("status", -1) < 0 or to.get_meta("status", -1) < 0: + return + + var output_port_position: Vector2 + var input_port_position: Vector2 + + output_port_position = ( + from.position + from.call("get_connection_output_position", c.from_port) + ) + input_port_position = to.position + to.call("get_connection_input_position", c.to_port) + + var line := _get_connection_line(output_port_position, input_port_position) + + var curve = Curve2D.new() + for l in line: + curve.add_point(l) + + var max_steps := int(curve.get_baked_length()) + var current_shift := progress % max_steps + var p := curve.sample_baked(current_shift) + draw_circle(p, circle_size, ACTIVE_COLOR) + + var shift := current_shift - progress_shift + while shift >= 0: + draw_circle(curve.sample_baked(shift), circle_size, ACTIVE_COLOR) + shift -= progress_shift + + shift = current_shift + progress_shift + while shift <= curve.get_baked_length(): + draw_circle(curve.sample_baked(shift), circle_size, ACTIVE_COLOR) + shift += progress_shift + + +func _update_layout_button() -> void: + layout_button.icon = VERTICAL_LAYOUT_ICON if horizontal_layout else HORIZONTAL_LAYOUT_ICON + layout_button.tooltip_text = ( + "Switch to Vertical layout" if horizontal_layout else "Switch to Horizontal layout" + ) diff --git a/addons/beehave/debug/old_graph_node.gd b/addons/beehave/debug/old_graph_node.gd new file mode 100644 index 0000000..a0a978b --- /dev/null +++ b/addons/beehave/debug/old_graph_node.gd @@ -0,0 +1,166 @@ +@tool +extends GraphNode + +const BeehaveUtils := preload("res://addons/beehave/utils/utils.gd") + +const DEFAULT_COLOR := Color("#dad4cb") + +const PORT_TOP_ICON := preload("icons/port_top.svg") +const PORT_BOTTOM_ICON := preload("icons/port_bottom.svg") +const PORT_LEFT_ICON := preload("icons/port_left.svg") +const PORT_RIGHT_ICON := preload("icons/port_right.svg") + +@export var title_text: String: + set(value): + title_text = value + if title_label: + title_label.text = value + +@export var text: String: + set(value): + text = value + if label: + label.text = " " if text.is_empty() else text + +@export var icon: Texture2D: + set(value): + icon = value + if icon_rect: + icon_rect.texture = value + +var layout_size: float: + get: + return size.y if horizontal else size.x + +var panel: PanelContainer +var icon_rect: TextureRect +var title_label: Label +var container: VBoxContainer +var label: Label + +var frames: RefCounted +var horizontal: bool = false + + +func _init(frames: RefCounted, horizontal: bool = false) -> void: + self.frames = frames + self.horizontal = horizontal + + +func _ready() -> void: + custom_minimum_size = Vector2(50, 50) * BeehaveUtils.get_editor_scale() + draggable = false + + add_theme_stylebox_override("frame", frames.empty if frames != null else null) + add_theme_stylebox_override("selected_frame", frames.empty if frames != null else null) + add_theme_color_override("close_color", Color.TRANSPARENT) + add_theme_icon_override("close", ImageTexture.new()) + + # For top port + add_child(Control.new()) + + panel = PanelContainer.new() + panel.mouse_filter = Control.MOUSE_FILTER_PASS + panel.add_theme_stylebox_override("panel", frames.normal if frames != null else null) + add_child(panel) + + var vbox_container := VBoxContainer.new() + panel.add_child(vbox_container) + + var title_size := 24 * BeehaveUtils.get_editor_scale() + var margin_container := MarginContainer.new() + margin_container.add_theme_constant_override( + "margin_top", -title_size - 2 * BeehaveUtils.get_editor_scale() + ) + margin_container.mouse_filter = Control.MOUSE_FILTER_PASS + vbox_container.add_child(margin_container) + + var title_container := HBoxContainer.new() + title_container.add_child(Control.new()) + title_container.mouse_filter = Control.MOUSE_FILTER_PASS + title_container.size_flags_horizontal = Control.SIZE_EXPAND_FILL + margin_container.add_child(title_container) + + icon_rect = TextureRect.new() + icon_rect.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_CENTERED + title_container.add_child(icon_rect) + + title_label = Label.new() + title_label.add_theme_color_override("font_color", DEFAULT_COLOR) + title_label.add_theme_font_override("font", get_theme_font("title_font")) + title_label.vertical_alignment = VERTICAL_ALIGNMENT_CENTER + title_label.size_flags_horizontal = Control.SIZE_EXPAND_FILL + title_label.text = title_text + title_container.add_child(title_label) + + title_container.add_child(Control.new()) + + container = VBoxContainer.new() + container.size_flags_vertical = Control.SIZE_EXPAND_FILL + container.size_flags_horizontal = Control.SIZE_EXPAND_FILL + panel.add_child(container) + + label = Label.new() + label.text = " " if text.is_empty() else text + container.add_child(label) + + # For bottom port + add_child(Control.new()) + + minimum_size_changed.connect(_on_size_changed) + _on_size_changed.call_deferred() + + +func set_status(status: int) -> void: + panel.add_theme_stylebox_override("panel", _get_stylebox(status)) + + +func _get_stylebox(status: int) -> StyleBox: + match status: + 0: + return frames.success + 1: + return frames.failure + 2: + return frames.running + _: + return frames.normal + + +func set_slots(left_enabled: bool, right_enabled: bool) -> void: + if horizontal: + set_slot( + 1, + left_enabled, + 0, + Color.WHITE, + right_enabled, + 0, + Color.WHITE, + PORT_LEFT_ICON, + PORT_RIGHT_ICON + ) + else: + set_slot(0, left_enabled, 0, Color.WHITE, false, -2, Color.TRANSPARENT, PORT_TOP_ICON, null) + set_slot( + 2, false, -1, Color.TRANSPARENT, right_enabled, 0, Color.WHITE, null, PORT_BOTTOM_ICON + ) + + +func set_color(color: Color) -> void: + set_input_color(color) + set_output_color(color) + + +func set_input_color(color: Color) -> void: + set_slot_color_left(1 if horizontal else 0, color) + + +func set_output_color(color: Color) -> void: + set_slot_color_right(1 if horizontal else 2, color) + + +func _on_size_changed(): + add_theme_constant_override( + "port_offset", 12 * BeehaveUtils.get_editor_scale() if horizontal else round(size.x / 2.0) + ) diff --git a/addons/beehave/debug/tree_node.gd b/addons/beehave/debug/tree_node.gd new file mode 100644 index 0000000..1377970 --- /dev/null +++ b/addons/beehave/debug/tree_node.gd @@ -0,0 +1,275 @@ +class_name TreeNode +extends RefCounted + +# Based on https://rachel53461.wordpress.com/2014/04/20/algorithm-for-drawing-trees/ + +const SIBLING_DISTANCE: float = 20.0 +const LEVEL_DISTANCE: float = 40.0 + +const BeehaveUtils := preload("res://addons/beehave/utils/utils.gd") + +var x: float +var y: float +var mod: float +var parent: TreeNode +var children: Array[TreeNode] + +var item: GraphNode + + +func _init(p_item: GraphNode = null, p_parent: TreeNode = null) -> void: + parent = p_parent + item = p_item + + +func is_leaf() -> bool: + return children.is_empty() + + +func is_most_left() -> bool: + if not parent: + return true + return parent.children.front() == self + + +func is_most_right() -> bool: + if not parent: + return true + return parent.children.back() == self + + +func get_previous_sibling() -> TreeNode: + if not parent or is_most_left(): + return null + return parent.children[parent.children.find(self) - 1] + + +func get_next_sibling() -> TreeNode: + if not parent or is_most_right(): + return null + return parent.children[parent.children.find(self) + 1] + + +func get_most_left_sibling() -> TreeNode: + if not parent: + return null + + if is_most_left(): + return self + + return parent.children.front() + + +func get_most_left_child() -> TreeNode: + if children.is_empty(): + return null + return children.front() + + +func get_most_right_child() -> TreeNode: + if children.is_empty(): + return null + return children.back() + + +func update_positions(horizontally: bool = false) -> void: + _initialize_nodes(self, 0) + _calculate_initial_x(self) + + _check_all_children_on_screen(self) + _calculate_final_positions(self, 0) + + if horizontally: + _swap_x_y(self) + _calculate_x(self, 0) + else: + _calculate_y(self, 0) + + +func _initialize_nodes(node: TreeNode, depth: int) -> void: + node.x = -1 + node.y = depth + node.mod = 0 + + for child in node.children: + _initialize_nodes(child, depth + 1) + + +func _calculate_initial_x(node: TreeNode) -> void: + for child in node.children: + _calculate_initial_x(child) + if node.is_leaf(): + if not node.is_most_left(): + node.x = ( + node.get_previous_sibling().x + + node.get_previous_sibling().item.layout_size + + SIBLING_DISTANCE + ) + else: + node.x = 0 + else: + var mid: float + if node.children.size() == 1: + var offset: float = (node.children.front().item.layout_size - node.item.layout_size) / 2 + mid = node.children.front().x + offset + else: + var left_child := node.get_most_left_child() + var right_child := node.get_most_right_child() + mid = ( + ( + left_child.x + + right_child.x + + right_child.item.layout_size + - node.item.layout_size + ) + / 2 + ) + + if node.is_most_left(): + node.x = mid + else: + node.x = ( + node.get_previous_sibling().x + + node.get_previous_sibling().item.layout_size + + SIBLING_DISTANCE + ) + node.mod = node.x - mid + + if not node.is_leaf() and not node.is_most_left(): + _check_for_conflicts(node) + + +func _calculate_final_positions(node: TreeNode, mod_sum: float) -> void: + node.x += mod_sum + mod_sum += node.mod + + for child in node.children: + _calculate_final_positions(child, mod_sum) + + +func _check_all_children_on_screen(node: TreeNode) -> void: + var node_contour: Dictionary = {} + _get_left_contour(node, 0, node_contour) + + var shift_amount: float = 0 + for y in node_contour.keys(): + if node_contour[y] + shift_amount < 0: + shift_amount = (node_contour[y] * -1) + + if shift_amount > 0: + node.x += shift_amount + node.mod += shift_amount + + +func _check_for_conflicts(node: TreeNode) -> void: + var min_distance := SIBLING_DISTANCE + var shift_value: float = 0 + var shift_sibling: TreeNode = null + + var node_contour: Dictionary = {} # { int, float } + _get_left_contour(node, 0, node_contour) + + var sibling := node.get_most_left_sibling() + while sibling != null and sibling != node: + var sibling_contour: Dictionary = {} + _get_right_contour(sibling, 0, sibling_contour) + + for level in range( + node.y + 1, min(sibling_contour.keys().max(), node_contour.keys().max()) + 1 + ): + var distance: float = node_contour[level] - sibling_contour[level] + if distance + shift_value < min_distance: + shift_value = min_distance - distance + shift_sibling = sibling + + sibling = sibling.get_next_sibling() + + if shift_value > 0: + node.x += shift_value + node.mod += shift_value + _center_nodes_between(shift_sibling, node) + + +func _center_nodes_between(left_node: TreeNode, right_node: TreeNode) -> void: + var left_index := left_node.parent.children.find(left_node) + var right_index := left_node.parent.children.find(right_node) + + var num_nodes_between: int = (right_index - left_index) - 1 + if num_nodes_between > 0: + # The extra distance that needs to be split into num_nodes_between + 1 + # in order to find the new node spacing so that nodes are equally spaced + var distance_to_allocate: float = right_node.x - left_node.x - left_node.item.layout_size + # Subtract sizes on nodes in between + for i in range(left_index + 1, right_index): + distance_to_allocate -= left_node.parent.children[i].item.layout_size + # Divide space equally + var distance_between_nodes: float = distance_to_allocate / (num_nodes_between + 1) + + var prev_node := left_node + var middle_node := left_node.get_next_sibling() + while middle_node != right_node: + var desire_x: float = prev_node.x + prev_node.item.layout_size + distance_between_nodes + var offset := desire_x - middle_node.x + middle_node.x += offset + middle_node.mod += offset + prev_node = middle_node + middle_node = middle_node.get_next_sibling() + + +func _get_left_contour(node: TreeNode, mod_sum: float, values: Dictionary) -> void: + var node_left: float = node.x + mod_sum + var depth := int(node.y) + if not values.has(depth): + values[depth] = node_left + else: + values[depth] = min(values[depth], node_left) + + mod_sum += node.mod + for child in node.children: + _get_left_contour(child, mod_sum, values) + + +func _get_right_contour(node: TreeNode, mod_sum: float, values: Dictionary) -> void: + var node_right: float = node.x + mod_sum + node.item.layout_size + var depth := int(node.y) + if not values.has(depth): + values[depth] = node_right + else: + values[depth] = max(values[depth], node_right) + + mod_sum += node.mod + for child in node.children: + _get_right_contour(child, mod_sum, values) + + +func _swap_x_y(node: TreeNode) -> void: + for child in node.children: + _swap_x_y(child) + + var temp := node.x + node.x = node.y + node.y = temp + + +func _calculate_x(node: TreeNode, offset: int) -> void: + node.x = offset + var sibling := node.get_most_left_sibling() + var max_size: int = node.item.size.x + while sibling != null: + max_size = max(sibling.item.size.x, max_size) + sibling = sibling.get_next_sibling() + + for child in node.children: + _calculate_x(child, max_size + offset + LEVEL_DISTANCE * BeehaveUtils.get_editor_scale()) + + +func _calculate_y(node: TreeNode, offset: int) -> void: + node.y = offset + var sibling := node.get_most_left_sibling() + var max_size: int = node.item.size.y + while sibling != null: + max_size = max(sibling.item.size.y, max_size) + sibling = sibling.get_next_sibling() + + for child in node.children: + _calculate_y(child, max_size + offset + LEVEL_DISTANCE * BeehaveUtils.get_editor_scale()) diff --git a/addons/beehave/icons/action.svg b/addons/beehave/icons/action.svg new file mode 100644 index 0000000..3916c89 --- /dev/null +++ b/addons/beehave/icons/action.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/action.svg.import b/addons/beehave/icons/action.svg.import new file mode 100644 index 0000000..cf8a612 --- /dev/null +++ b/addons/beehave/icons/action.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btrq8e0kyxthg" +path="res://.godot/imported/action.svg-e8a91246d0ba9ba3cf84290d65648f06.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/action.svg" +dest_files=["res://.godot/imported/action.svg-e8a91246d0ba9ba3cf84290d65648f06.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/blackboard.svg b/addons/beehave/icons/blackboard.svg new file mode 100644 index 0000000..e4948a5 --- /dev/null +++ b/addons/beehave/icons/blackboard.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/blackboard.svg.import b/addons/beehave/icons/blackboard.svg.import new file mode 100644 index 0000000..4650058 --- /dev/null +++ b/addons/beehave/icons/blackboard.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dw7rom0hiff6c" +path="res://.godot/imported/blackboard.svg-18d4dfd4f6de558de250b67251ff1e69.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/blackboard.svg" +dest_files=["res://.godot/imported/blackboard.svg-18d4dfd4f6de558de250b67251ff1e69.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/category_bt.svg b/addons/beehave/icons/category_bt.svg new file mode 100644 index 0000000..8be61ae --- /dev/null +++ b/addons/beehave/icons/category_bt.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/category_bt.svg.import b/addons/beehave/icons/category_bt.svg.import new file mode 100644 index 0000000..c11e4f2 --- /dev/null +++ b/addons/beehave/icons/category_bt.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qpdd6ue7x82h" +path="res://.godot/imported/category_bt.svg-8537bebd1c5f62dca3d7ee7f17efeed4.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/category_bt.svg" +dest_files=["res://.godot/imported/category_bt.svg-8537bebd1c5f62dca3d7ee7f17efeed4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/category_composite.svg b/addons/beehave/icons/category_composite.svg new file mode 100644 index 0000000..aa8b866 --- /dev/null +++ b/addons/beehave/icons/category_composite.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/category_composite.svg.import b/addons/beehave/icons/category_composite.svg.import new file mode 100644 index 0000000..0496273 --- /dev/null +++ b/addons/beehave/icons/category_composite.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://863s568sneja" +path="res://.godot/imported/category_composite.svg-43f66e63a7ccfa5ac8ec6da0583b3246.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/category_composite.svg" +dest_files=["res://.godot/imported/category_composite.svg-43f66e63a7ccfa5ac8ec6da0583b3246.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/category_decorator.svg b/addons/beehave/icons/category_decorator.svg new file mode 100644 index 0000000..165e3d6 --- /dev/null +++ b/addons/beehave/icons/category_decorator.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/category_decorator.svg.import b/addons/beehave/icons/category_decorator.svg.import new file mode 100644 index 0000000..492f32e --- /dev/null +++ b/addons/beehave/icons/category_decorator.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2ie8m4ddawlb" +path="res://.godot/imported/category_decorator.svg-79d598d6456f32724156248e09d6eaf3.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/category_decorator.svg" +dest_files=["res://.godot/imported/category_decorator.svg-79d598d6456f32724156248e09d6eaf3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/category_leaf.svg b/addons/beehave/icons/category_leaf.svg new file mode 100644 index 0000000..1482fe6 --- /dev/null +++ b/addons/beehave/icons/category_leaf.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/category_leaf.svg.import b/addons/beehave/icons/category_leaf.svg.import new file mode 100644 index 0000000..4ef9604 --- /dev/null +++ b/addons/beehave/icons/category_leaf.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://eq0sp4g3s75r" +path="res://.godot/imported/category_leaf.svg-c740ecab6cfae632574ca5e39e46fd2e.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/category_leaf.svg" +dest_files=["res://.godot/imported/category_leaf.svg-c740ecab6cfae632574ca5e39e46fd2e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/condition.svg b/addons/beehave/icons/condition.svg new file mode 100644 index 0000000..37b2c7a --- /dev/null +++ b/addons/beehave/icons/condition.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/condition.svg.import b/addons/beehave/icons/condition.svg.import new file mode 100644 index 0000000..ef59099 --- /dev/null +++ b/addons/beehave/icons/condition.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ck4toqx0nggiu" +path="res://.godot/imported/condition.svg-57892684b10a64086f68c09c388b17e5.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/condition.svg" +dest_files=["res://.godot/imported/condition.svg-57892684b10a64086f68c09c388b17e5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/cooldown.svg b/addons/beehave/icons/cooldown.svg new file mode 100644 index 0000000..fbdfd6a --- /dev/null +++ b/addons/beehave/icons/cooldown.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/cooldown.svg.import b/addons/beehave/icons/cooldown.svg.import new file mode 100644 index 0000000..1414358 --- /dev/null +++ b/addons/beehave/icons/cooldown.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckao52pluvfs1" +path="res://.godot/imported/cooldown.svg-2fb8975b5974e35bedad825abb9faf66.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/cooldown.svg" +dest_files=["res://.godot/imported/cooldown.svg-2fb8975b5974e35bedad825abb9faf66.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/beehave/icons/delayer.svg b/addons/beehave/icons/delayer.svg new file mode 100644 index 0000000..21cb617 --- /dev/null +++ b/addons/beehave/icons/delayer.svg @@ -0,0 +1,39 @@ + + + + + + diff --git a/addons/beehave/icons/delayer.svg.import b/addons/beehave/icons/delayer.svg.import new file mode 100644 index 0000000..33f4b7a --- /dev/null +++ b/addons/beehave/icons/delayer.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://daears4ljyeng" +path="res://.godot/imported/delayer.svg-6f92c97f61b1eb8679428f438e6b08c7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/delayer.svg" +dest_files=["res://.godot/imported/delayer.svg-6f92c97f61b1eb8679428f438e6b08c7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/beehave/icons/failer.svg b/addons/beehave/icons/failer.svg new file mode 100644 index 0000000..968f7e1 --- /dev/null +++ b/addons/beehave/icons/failer.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/failer.svg.import b/addons/beehave/icons/failer.svg.import new file mode 100644 index 0000000..989b556 --- /dev/null +++ b/addons/beehave/icons/failer.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2fj7htaqvcud" +path="res://.godot/imported/failer.svg-9a62b840e1eacc0437e7a67b14a302e4.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/failer.svg" +dest_files=["res://.godot/imported/failer.svg-9a62b840e1eacc0437e7a67b14a302e4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/inverter.svg b/addons/beehave/icons/inverter.svg new file mode 100644 index 0000000..d4e791e --- /dev/null +++ b/addons/beehave/icons/inverter.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/inverter.svg.import b/addons/beehave/icons/inverter.svg.import new file mode 100644 index 0000000..e9050a8 --- /dev/null +++ b/addons/beehave/icons/inverter.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cffmoc3og8hux" +path="res://.godot/imported/inverter.svg-1f1b976d95de42c4ad99a92fa9a6c5d0.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/inverter.svg" +dest_files=["res://.godot/imported/inverter.svg-1f1b976d95de42c4ad99a92fa9a6c5d0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/limiter.svg b/addons/beehave/icons/limiter.svg new file mode 100644 index 0000000..7b3fa1d --- /dev/null +++ b/addons/beehave/icons/limiter.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/limiter.svg.import b/addons/beehave/icons/limiter.svg.import new file mode 100644 index 0000000..7b56b08 --- /dev/null +++ b/addons/beehave/icons/limiter.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7akxvsg0f2by" +path="res://.godot/imported/limiter.svg-b4c7646605c46f53c5e403fe21d8f584.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/limiter.svg" +dest_files=["res://.godot/imported/limiter.svg-b4c7646605c46f53c5e403fe21d8f584.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/repeater.svg b/addons/beehave/icons/repeater.svg new file mode 100644 index 0000000..47c46e9 --- /dev/null +++ b/addons/beehave/icons/repeater.svg @@ -0,0 +1,40 @@ + + + + + + + diff --git a/addons/beehave/icons/repeater.svg.import b/addons/beehave/icons/repeater.svg.import new file mode 100644 index 0000000..cd94266 --- /dev/null +++ b/addons/beehave/icons/repeater.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mkdpp16e57j0" +path="res://.godot/imported/repeater.svg-be2d3a7f1a46d7ba1d1939553725f598.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/repeater.svg" +dest_files=["res://.godot/imported/repeater.svg-be2d3a7f1a46d7ba1d1939553725f598.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/beehave/icons/selector.svg b/addons/beehave/icons/selector.svg new file mode 100644 index 0000000..0ae3b7a --- /dev/null +++ b/addons/beehave/icons/selector.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/selector.svg.import b/addons/beehave/icons/selector.svg.import new file mode 100644 index 0000000..ef7326d --- /dev/null +++ b/addons/beehave/icons/selector.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2c5d20doh4sp" +path="res://.godot/imported/selector.svg-78bccfc448bd1676b5a29bfde4b08e5b.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/selector.svg" +dest_files=["res://.godot/imported/selector.svg-78bccfc448bd1676b5a29bfde4b08e5b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/selector_random.svg b/addons/beehave/icons/selector_random.svg new file mode 100644 index 0000000..6f631e9 --- /dev/null +++ b/addons/beehave/icons/selector_random.svg @@ -0,0 +1,35 @@ + + diff --git a/addons/beehave/icons/selector_random.svg.import b/addons/beehave/icons/selector_random.svg.import new file mode 100644 index 0000000..6306f76 --- /dev/null +++ b/addons/beehave/icons/selector_random.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmnkcmk7bkdjd" +path="res://.godot/imported/selector_random.svg-d52fea1352c24483ecd9dc8609cf00f3.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/selector_random.svg" +dest_files=["res://.godot/imported/selector_random.svg-d52fea1352c24483ecd9dc8609cf00f3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/selector_reactive.svg b/addons/beehave/icons/selector_reactive.svg new file mode 100644 index 0000000..6db005f --- /dev/null +++ b/addons/beehave/icons/selector_reactive.svg @@ -0,0 +1,45 @@ + + diff --git a/addons/beehave/icons/selector_reactive.svg.import b/addons/beehave/icons/selector_reactive.svg.import new file mode 100644 index 0000000..12a8c5b --- /dev/null +++ b/addons/beehave/icons/selector_reactive.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crkbov0h8sb8l" +path="res://.godot/imported/selector_reactive.svg-dd3b8fb8cd2ffe331605aaad1e021cc0.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/selector_reactive.svg" +dest_files=["res://.godot/imported/selector_reactive.svg-dd3b8fb8cd2ffe331605aaad1e021cc0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/sequence.svg b/addons/beehave/icons/sequence.svg new file mode 100644 index 0000000..3ebedd9 --- /dev/null +++ b/addons/beehave/icons/sequence.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/sequence.svg.import b/addons/beehave/icons/sequence.svg.import new file mode 100644 index 0000000..5dadbe2 --- /dev/null +++ b/addons/beehave/icons/sequence.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c5gw354thiofm" +path="res://.godot/imported/sequence.svg-76e5600611900cc81e9ec286977b8c6a.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/sequence.svg" +dest_files=["res://.godot/imported/sequence.svg-76e5600611900cc81e9ec286977b8c6a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/sequence_random.svg b/addons/beehave/icons/sequence_random.svg new file mode 100644 index 0000000..34e4a12 --- /dev/null +++ b/addons/beehave/icons/sequence_random.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/sequence_random.svg.import b/addons/beehave/icons/sequence_random.svg.import new file mode 100644 index 0000000..3907462 --- /dev/null +++ b/addons/beehave/icons/sequence_random.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bat8ptdw5qt1d" +path="res://.godot/imported/sequence_random.svg-58cee9098c622ef87db941279206422a.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/sequence_random.svg" +dest_files=["res://.godot/imported/sequence_random.svg-58cee9098c622ef87db941279206422a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/sequence_reactive.svg b/addons/beehave/icons/sequence_reactive.svg new file mode 100644 index 0000000..33d219b --- /dev/null +++ b/addons/beehave/icons/sequence_reactive.svg @@ -0,0 +1,60 @@ + + diff --git a/addons/beehave/icons/sequence_reactive.svg.import b/addons/beehave/icons/sequence_reactive.svg.import new file mode 100644 index 0000000..ab0fa25 --- /dev/null +++ b/addons/beehave/icons/sequence_reactive.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rmiu1slwfkh7" +path="res://.godot/imported/sequence_reactive.svg-7d384ca290f7934adb9e17d9e7116b6c.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/sequence_reactive.svg" +dest_files=["res://.godot/imported/sequence_reactive.svg-7d384ca290f7934adb9e17d9e7116b6c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/simple_parallel.svg b/addons/beehave/icons/simple_parallel.svg new file mode 100644 index 0000000..e9c8b00 --- /dev/null +++ b/addons/beehave/icons/simple_parallel.svg @@ -0,0 +1,13 @@ + + simple_parallel + + Layer 1 + + + + + + + + + \ No newline at end of file diff --git a/addons/beehave/icons/simple_parallel.svg.import b/addons/beehave/icons/simple_parallel.svg.import new file mode 100644 index 0000000..b15ec65 --- /dev/null +++ b/addons/beehave/icons/simple_parallel.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lgxtdlmsrnm4" +path="res://.godot/imported/simple_parallel.svg-3d4107eaf2e46557f6d3be3249f91430.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/simple_parallel.svg" +dest_files=["res://.godot/imported/simple_parallel.svg-3d4107eaf2e46557f6d3be3249f91430.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/beehave/icons/succeeder.svg b/addons/beehave/icons/succeeder.svg new file mode 100644 index 0000000..10f5912 --- /dev/null +++ b/addons/beehave/icons/succeeder.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/succeeder.svg.import b/addons/beehave/icons/succeeder.svg.import new file mode 100644 index 0000000..0cb7334 --- /dev/null +++ b/addons/beehave/icons/succeeder.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dl6wo332kglbe" +path="res://.godot/imported/succeeder.svg-e5cf6f6e04b9b862b82fd2cb479272aa.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/succeeder.svg" +dest_files=["res://.godot/imported/succeeder.svg-e5cf6f6e04b9b862b82fd2cb479272aa.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/tree.svg b/addons/beehave/icons/tree.svg new file mode 100644 index 0000000..6c85ea1 --- /dev/null +++ b/addons/beehave/icons/tree.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/addons/beehave/icons/tree.svg.import b/addons/beehave/icons/tree.svg.import new file mode 100644 index 0000000..9ac0308 --- /dev/null +++ b/addons/beehave/icons/tree.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://deryyg2hbmaaw" +path="res://.godot/imported/tree.svg-c0b20ed88b2fe300c0296f7236049076.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/tree.svg" +dest_files=["res://.godot/imported/tree.svg-c0b20ed88b2fe300c0296f7236049076.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/beehave/icons/until_fail.svg b/addons/beehave/icons/until_fail.svg new file mode 100644 index 0000000..c64a0a0 --- /dev/null +++ b/addons/beehave/icons/until_fail.svg @@ -0,0 +1,45 @@ + + + + + + + + diff --git a/addons/beehave/icons/until_fail.svg.import b/addons/beehave/icons/until_fail.svg.import new file mode 100644 index 0000000..8a04fbf --- /dev/null +++ b/addons/beehave/icons/until_fail.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbonu175jh64l" +path="res://.godot/imported/until_fail.svg-8015014c40e91d9c2668ec34d4118b8e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/beehave/icons/until_fail.svg" +dest_files=["res://.godot/imported/until_fail.svg-8015014c40e91d9c2668ec34d4118b8e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/beehave/metrics/beehave_global_metrics.gd b/addons/beehave/metrics/beehave_global_metrics.gd new file mode 100644 index 0000000..ef29db2 --- /dev/null +++ b/addons/beehave/metrics/beehave_global_metrics.gd @@ -0,0 +1,54 @@ +extends Node + +var _tree_count: int = 0 +var _active_tree_count: int = 0 +var _registered_trees: Array = [] + + +func _enter_tree() -> void: + Performance.add_custom_monitor("beehave/total_trees", _get_total_trees) + Performance.add_custom_monitor("beehave/total_enabled_trees", _get_total_enabled_trees) + + +func register_tree(tree) -> void: + if _registered_trees.has(tree): + return + + _registered_trees.append(tree) + _tree_count += 1 + + if tree.enabled: + _active_tree_count += 1 + + tree.tree_enabled.connect(_on_tree_enabled) + tree.tree_disabled.connect(_on_tree_disabled) + + +func unregister_tree(tree) -> void: + if not _registered_trees.has(tree): + return + + _registered_trees.erase(tree) + _tree_count -= 1 + + if tree.enabled: + _active_tree_count -= 1 + + tree.tree_enabled.disconnect(_on_tree_enabled) + tree.tree_disabled.disconnect(_on_tree_disabled) + + +func _get_total_trees() -> int: + return _tree_count + + +func _get_total_enabled_trees() -> int: + return _active_tree_count + + +func _on_tree_enabled() -> void: + _active_tree_count += 1 + + +func _on_tree_disabled() -> void: + _active_tree_count -= 1 diff --git a/addons/beehave/nodes/beehave_node.gd b/addons/beehave/nodes/beehave_node.gd new file mode 100644 index 0000000..9ab8d6e --- /dev/null +++ b/addons/beehave/nodes/beehave_node.gd @@ -0,0 +1,46 @@ +@tool +class_name BeehaveNode extends Node + +## A node in the behavior tree. Every node must return `SUCCESS`, `FAILURE` or +## `RUNNING` when ticked. + +enum { SUCCESS, FAILURE, RUNNING } + + +func _get_configuration_warnings() -> PackedStringArray: + var warnings: PackedStringArray = [] + + if get_children().any(func(x): return not (x is BeehaveNode)): + warnings.append("All children of this node should inherit from BeehaveNode class.") + + return warnings + + +## Executes this node and returns a status code. +## This method must be overwritten. +func tick(actor: Node, blackboard: Blackboard) -> int: + return SUCCESS + + +## Called when this node needs to be interrupted before it can return FAILURE or SUCCESS. +func interrupt(actor: Node, blackboard: Blackboard) -> void: + pass + + +## Called before the first time it ticks by the parent. +func before_run(actor: Node, blackboard: Blackboard) -> void: + pass + + +## Called after the last time it ticks and returns +## [code]SUCCESS[/code] or [code]FAILURE[/code]. +func after_run(actor: Node, blackboard: Blackboard) -> void: + pass + + +func get_class_name() -> Array[StringName]: + return [&"BeehaveNode"] + + +func can_send_message(blackboard: Blackboard) -> bool: + return blackboard.get_value("can_send_message", false) diff --git a/addons/beehave/nodes/beehave_tree.gd b/addons/beehave/nodes/beehave_tree.gd new file mode 100644 index 0000000..e27edbd --- /dev/null +++ b/addons/beehave/nodes/beehave_tree.gd @@ -0,0 +1,329 @@ +@tool +@icon("../icons/tree.svg") +class_name BeehaveTree extends Node + +## Controls the flow of execution of the entire behavior tree. + +enum { SUCCESS, FAILURE, RUNNING } + +enum ProcessThread { IDLE, PHYSICS } + +signal tree_enabled +signal tree_disabled + +## Whether this behavior tree should be enabled or not. +@export var enabled: bool = true: + set(value): + enabled = value + set_physics_process(enabled and process_thread == ProcessThread.PHYSICS) + set_process(enabled and process_thread == ProcessThread.IDLE) + if value: + tree_enabled.emit() + else: + interrupt() + tree_disabled.emit() + + get: + return enabled + +## How often the tree should tick, in frames. The default value of 1 means +## tick() runs every frame. +@export var tick_rate: int = 1 + +## An optional node path this behavior tree should apply to. +@export_node_path var actor_node_path: NodePath: + set(anp): + actor_node_path = anp + if actor_node_path != null and str(actor_node_path) != "..": + actor = get_node(actor_node_path) + else: + actor = get_parent() + if Engine.is_editor_hint(): + update_configuration_warnings() + +## Whether to run this tree in a physics or idle thread. +@export var process_thread: ProcessThread = ProcessThread.PHYSICS: + set(value): + process_thread = value + set_physics_process(enabled and process_thread == ProcessThread.PHYSICS) + set_process(enabled and process_thread == ProcessThread.IDLE) + +## Custom blackboard node. An internal blackboard will be used +## if no blackboard is provided explicitly. +@export var blackboard: Blackboard: + set(b): + blackboard = b + if blackboard and _internal_blackboard: + remove_child(_internal_blackboard) + _internal_blackboard.free() + _internal_blackboard = null + elif not blackboard and not _internal_blackboard: + _internal_blackboard = Blackboard.new() + add_child(_internal_blackboard, false, Node.INTERNAL_MODE_BACK) + get: + # in case blackboard is accessed before this node is, + # we need to ensure that the internal blackboard is used. + if not blackboard and not _internal_blackboard: + _internal_blackboard = Blackboard.new() + add_child(_internal_blackboard, false, Node.INTERNAL_MODE_BACK) + return blackboard if blackboard else _internal_blackboard + +## When enabled, this tree is tracked individually +## as a custom monitor. +@export var custom_monitor = false: + set(b): + custom_monitor = b + if custom_monitor and _process_time_metric_name != "": + Performance.add_custom_monitor( + _process_time_metric_name, _get_process_time_metric_value + ) + _get_global_metrics().register_tree(self) + else: + if _process_time_metric_name != "": + # Remove tree metric from the engine + Performance.remove_custom_monitor(_process_time_metric_name) + _get_global_metrics().unregister_tree(self) + + BeehaveDebuggerMessages.unregister_tree(get_instance_id()) + +@export var actor: Node: + set(a): + actor = a + if actor == null: + actor = get_parent() + if Engine.is_editor_hint(): + update_configuration_warnings() + +var status: int = -1 +var last_tick: int = 0 + +var _internal_blackboard: Blackboard +var _process_time_metric_name: String +var _process_time_metric_value: float = 0.0 +var _can_send_message: bool = false + + +func _ready() -> void: + var connect_scene_tree_signal = func(signal_name: String, is_added: bool): + if not get_tree().is_connected(signal_name, _on_scene_tree_node_added_removed.bind(is_added)): + get_tree().connect(signal_name, _on_scene_tree_node_added_removed.bind(is_added)) + connect_scene_tree_signal.call("node_added", true) + connect_scene_tree_signal.call("node_removed", false) + + if not process_thread: + process_thread = ProcessThread.PHYSICS + + if not actor: + if actor_node_path: + actor = get_node(actor_node_path) + else: + actor = get_parent() + + if not blackboard: + # invoke setter to auto-initialise the blackboard. + self.blackboard = null + + # Get the name of the parent node name for metric + _process_time_metric_name = ( + "beehave [microseconds]/process_time_%s-%s" % [actor.name, get_instance_id()] + ) + + set_physics_process(enabled and process_thread == ProcessThread.PHYSICS) + set_process(enabled and process_thread == ProcessThread.IDLE) + + # Register custom metric to the engine + if custom_monitor and not Engine.is_editor_hint(): + Performance.add_custom_monitor(_process_time_metric_name, _get_process_time_metric_value) + _get_global_metrics().register_tree(self) + + if Engine.is_editor_hint(): + update_configuration_warnings.call_deferred() + else: + _get_global_debugger().register_tree(self) + BeehaveDebuggerMessages.register_tree(_get_debugger_data(self)) + + # Randomize at what frames tick() will happen to avoid stutters + last_tick = randi_range(0, tick_rate - 1) + + +func _on_scene_tree_node_added_removed(node: Node, is_added: bool) -> void: + if Engine.is_editor_hint(): + return + + if node is BeehaveNode and is_ancestor_of(node): + var sgnal := node.ready if is_added else node.tree_exited + if is_added: + sgnal.connect( + func() -> void: BeehaveDebuggerMessages.register_tree(_get_debugger_data(self)), + CONNECT_ONE_SHOT + ) + else: + sgnal.connect( + func() -> void: + BeehaveDebuggerMessages.unregister_tree(get_instance_id()) + request_ready() + ) + + +func _physics_process(_delta: float) -> void: + _process_internally() + + +func _process(_delta: float) -> void: + _process_internally() + + +func _process_internally() -> void: + if Engine.is_editor_hint(): + return + + if last_tick < tick_rate - 1: + last_tick += 1 + return + + last_tick = 0 + + # Start timing for metric + var start_time = Time.get_ticks_usec() + + blackboard.set_value("can_send_message", _can_send_message) + + if _can_send_message: + BeehaveDebuggerMessages.process_begin(get_instance_id()) + + if self.get_child_count() == 1: + tick() + + if _can_send_message: + BeehaveDebuggerMessages.process_end(get_instance_id()) + + # Check the cost for this frame and save it for metric report + _process_time_metric_value = Time.get_ticks_usec() - start_time + + +func tick() -> int: + if actor == null or get_child_count() == 0: + return FAILURE + var child := self.get_child(0) + if status != RUNNING: + child.before_run(actor, blackboard) + + status = child.tick(actor, blackboard) + if _can_send_message: + BeehaveDebuggerMessages.process_tick(child.get_instance_id(), status) + BeehaveDebuggerMessages.process_tick(get_instance_id(), status) + + # Clear running action if nothing is running + if status != RUNNING: + blackboard.set_value("running_action", null, str(actor.get_instance_id())) + child.after_run(actor, blackboard) + + return status + + +func _get_configuration_warnings() -> PackedStringArray: + var warnings: PackedStringArray = [] + + if actor == null: + warnings.append("Configure target node on tree") + + if get_children().any(func(x): return not (x is BeehaveNode)): + warnings.append("All children of this node should inherit from BeehaveNode class.") + + if get_child_count() != 1: + warnings.append("BeehaveTree should have exactly one child node.") + + return warnings + + +## Returns the currently running action +func get_running_action() -> ActionLeaf: + return blackboard.get_value("running_action", null, str(actor.get_instance_id())) + + +## Returns the last condition that was executed +func get_last_condition() -> ConditionLeaf: + return blackboard.get_value("last_condition", null, str(actor.get_instance_id())) + + +## Returns the status of the last executed condition +func get_last_condition_status() -> String: + if blackboard.has_value("last_condition_status", str(actor.get_instance_id())): + var status = blackboard.get_value( + "last_condition_status", null, str(actor.get_instance_id()) + ) + if status == SUCCESS: + return "SUCCESS" + elif status == FAILURE: + return "FAILURE" + else: + return "RUNNING" + return "" + + +## interrupts this tree if anything was running +func interrupt() -> void: + if self.get_child_count() != 0: + var first_child = self.get_child(0) + if "interrupt" in first_child: + first_child.interrupt(actor, blackboard) + + +## Enables this tree. +func enable() -> void: + self.enabled = true + + +## Disables this tree. +func disable() -> void: + self.enabled = false + + +func _exit_tree() -> void: + if custom_monitor: + if _process_time_metric_name != "": + # Remove tree metric from the engine + Performance.remove_custom_monitor(_process_time_metric_name) + _get_global_metrics().unregister_tree(self) + + BeehaveDebuggerMessages.unregister_tree(get_instance_id()) + + +# Called by the engine to profile this tree +func _get_process_time_metric_value() -> int: + return int(_process_time_metric_value) + + +func _get_debugger_data(node: Node) -> Dictionary: + if not (node is BeehaveTree or node is BeehaveNode): + return {} + + var data := { + path = node.get_path(), + name = node.name, + type = node.get_class_name(), + id = str(node.get_instance_id()) + } + if node.get_child_count() > 0: + data.children = [] + for child in node.get_children(): + var child_data := _get_debugger_data(child) + if not child_data.is_empty(): + data.children.push_back(child_data) + return data + + +func get_class_name() -> Array[StringName]: + return [&"BeehaveTree"] + + +# required to avoid lifecycle issues on initial load +# due to loading order problems with autoloads +func _get_global_metrics() -> Node: + return get_tree().root.get_node("BeehaveGlobalMetrics") + + +# required to avoid lifecycle issues on initial load +# due to loading order problems with autoloads +func _get_global_debugger() -> Node: + return get_tree().root.get_node("BeehaveGlobalDebugger") diff --git a/addons/beehave/nodes/composites/composite.gd b/addons/beehave/nodes/composites/composite.gd new file mode 100644 index 0000000..53a8e90 --- /dev/null +++ b/addons/beehave/nodes/composites/composite.gd @@ -0,0 +1,34 @@ +@tool +@icon("../../icons/category_composite.svg") +class_name Composite extends BeehaveNode + +## A Composite node controls the flow of execution of its children in a specific manner. + +var running_child: BeehaveNode = null + + +func _get_configuration_warnings() -> PackedStringArray: + var warnings: PackedStringArray = super._get_configuration_warnings() + + if get_children().filter(func(x): return x is BeehaveNode).size() < 2: + warnings.append( + "Any composite node should have at least two children. Otherwise it is not useful." + ) + + return warnings + + +func interrupt(actor: Node, blackboard: Blackboard) -> void: + if running_child != null: + running_child.interrupt(actor, blackboard) + running_child = null + + +func after_run(actor: Node, blackboard: Blackboard) -> void: + running_child = null + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"Composite") + return classes diff --git a/addons/beehave/nodes/composites/randomized_composite.gd b/addons/beehave/nodes/composites/randomized_composite.gd new file mode 100644 index 0000000..2afa5e9 --- /dev/null +++ b/addons/beehave/nodes/composites/randomized_composite.gd @@ -0,0 +1,176 @@ +@tool +class_name RandomizedComposite extends Composite + +const WEIGHTS_PREFIX = "Weights/" + +## Sets a predicable seed +@export var random_seed: int = 0: + set(rs): + random_seed = rs + if random_seed != 0: + seed(random_seed) + else: + randomize() + +## Wether to use weights for every child or not. +@export var use_weights: bool: + set(value): + use_weights = value + if use_weights: + _update_weights(get_children()) + _connect_children_changing_signals() + notify_property_list_changed() + +var _weights: Dictionary +var _exiting_tree: bool + + +func _ready(): + _connect_children_changing_signals() + + +func _connect_children_changing_signals(): + if not child_entered_tree.is_connected(_on_child_entered_tree): + child_entered_tree.connect(_on_child_entered_tree) + + if not child_exiting_tree.is_connected(_on_child_exiting_tree): + child_exiting_tree.connect(_on_child_exiting_tree) + + +func get_shuffled_children() -> Array[Node]: + var children_bag: Array[Node] = get_children().duplicate() + if use_weights: + var weights: Array[int] + weights.assign(children_bag.map(func(child): return _weights[child.name])) + children_bag.assign(_weighted_shuffle(children_bag, weights)) + else: + children_bag.shuffle() + return children_bag + + +## Returns a shuffled version of a given array using the supplied array of weights. +## Think of weights as the chance of a given item being the first in the array. +func _weighted_shuffle(items: Array, weights: Array[int]) -> Array: + if len(items) != len(weights): + push_error( + ( + "items and weights size mismatch: expected %d weights, got %d instead." + % [len(items), len(weights)] + ) + ) + return items + + # This method is based on the weighted random sampling algorithm + # by Efraimidis, Spirakis; 2005. This runs in O(n log(n)). + + # For each index, it will calculate random_value^(1/weight). + var chance_calc = func(i): return [i, randf() ** (1.0 / weights[i])] + var random_distribuition = range(len(items)).map(chance_calc) + + # Now we just have to order by the calculated value, descending. + random_distribuition.sort_custom(func(a, b): return a[1] > b[1]) + + return random_distribuition.map(func(dist): return items[dist[0]]) + + +func _get_property_list(): + var properties = [] + + if use_weights: + for key in _weights.keys(): + properties.append( + { + "name": WEIGHTS_PREFIX + key, + "type": TYPE_INT, + "usage": PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_EDITOR, + "hint": PROPERTY_HINT_RANGE, + "hint_string": "1,100" + } + ) + + return properties + + +func _set(property: StringName, value: Variant) -> bool: + if property.begins_with(WEIGHTS_PREFIX): + var weight_name = property.trim_prefix(WEIGHTS_PREFIX) + _weights[weight_name] = value + return true + + return false + + +func _get(property: StringName): + if property.begins_with(WEIGHTS_PREFIX): + var weight_name = property.trim_prefix(WEIGHTS_PREFIX) + return _weights[weight_name] + + return null + + +func _update_weights(children: Array[Node]) -> void: + var new_weights = {} + for c in children: + if _weights.has(c.name): + new_weights[c.name] = _weights[c.name] + else: + new_weights[c.name] = 1 + _weights = new_weights + notify_property_list_changed() + + +func _exit_tree() -> void: + _exiting_tree = true + + +func _enter_tree() -> void: + _exiting_tree = false + + +func _on_child_entered_tree(node: Node): + _update_weights(get_children()) + + var renamed_callable = _on_child_renamed.bind(node.name, node) + if not node.renamed.is_connected(renamed_callable): + node.renamed.connect(renamed_callable) + + if not node.tree_exited.is_connected(_on_child_tree_exited): + node.tree_exited.connect(_on_child_tree_exited.bind(node)) + + +func _on_child_exiting_tree(node: Node): + var renamed_callable = _on_child_renamed.bind(node.name, node) + if node.renamed.is_connected(renamed_callable): + node.renamed.disconnect(renamed_callable) + + +func _on_child_tree_exited(node: Node) -> void: + # don't erase the individual child if the whole tree is exiting together + if not _exiting_tree: + var children = get_children() + children.erase(node) + _update_weights(children) + + if node.tree_exited.is_connected(_on_child_tree_exited): + node.tree_exited.disconnect(_on_child_tree_exited) + + +func _on_child_renamed(old_name: String, renamed_child: Node): + if old_name == renamed_child.name: + return # No need to update the weights. + + # Disconnect signal with old name... + renamed_child.renamed.disconnect(_on_child_renamed.bind(old_name, renamed_child)) + # ...and connect with the new name. + renamed_child.renamed.connect(_on_child_renamed.bind(renamed_child.name, renamed_child)) + + var original_weight = _weights[old_name] + _weights.erase(old_name) + _weights[renamed_child.name] = original_weight + notify_property_list_changed() + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"RandomizedComposite") + return classes diff --git a/addons/beehave/nodes/composites/selector.gd b/addons/beehave/nodes/composites/selector.gd new file mode 100644 index 0000000..618f602 --- /dev/null +++ b/addons/beehave/nodes/composites/selector.gd @@ -0,0 +1,69 @@ +@tool +@icon("../../icons/selector.svg") +class_name SelectorComposite extends Composite + +## Selector nodes will attempt to execute each of its children until one of +## them return `SUCCESS`. If all children return `FAILURE`, this node will also +## return `FAILURE`. +## If a child returns `RUNNING` it will tick again. + +var last_execution_index: int = 0 + + +func tick(actor: Node, blackboard: Blackboard) -> int: + for c in get_children(): + if c.get_index() < last_execution_index: + continue + + if c != running_child: + c.before_run(actor, blackboard) + + var response = c.tick(actor, blackboard) + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response) + + if c is ConditionLeaf: + blackboard.set_value("last_condition", c, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + match response: + SUCCESS: + _cleanup_running_task(c, actor, blackboard) + c.after_run(actor, blackboard) + return SUCCESS + FAILURE: + _cleanup_running_task(c, actor, blackboard) + last_execution_index += 1 + c.after_run(actor, blackboard) + RUNNING: + running_child = c + if c is ActionLeaf: + blackboard.set_value("running_action", c, str(actor.get_instance_id())) + return RUNNING + + return FAILURE + + +func after_run(actor: Node, blackboard: Blackboard) -> void: + last_execution_index = 0 + super(actor, blackboard) + + +func interrupt(actor: Node, blackboard: Blackboard) -> void: + last_execution_index = 0 + super(actor, blackboard) + + +## Changes `running_action` and `running_child` after the node finishes executing. +func _cleanup_running_task(finished_action: Node, actor: Node, blackboard: Blackboard): + var blackboard_name = str(actor.get_instance_id()) + if finished_action == running_child: + running_child = null + if finished_action == blackboard.get_value("running_action", null, blackboard_name): + blackboard.set_value("running_action", null, blackboard_name) + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"SelectorComposite") + return classes diff --git a/addons/beehave/nodes/composites/selector_random.gd b/addons/beehave/nodes/composites/selector_random.gd new file mode 100644 index 0000000..7a42300 --- /dev/null +++ b/addons/beehave/nodes/composites/selector_random.gd @@ -0,0 +1,82 @@ +@tool +@icon("../../icons/selector_random.svg") +class_name SelectorRandomComposite extends RandomizedComposite + +## This node will attempt to execute all of its children just like a +## [code]SelectorStar[/code] would, with the exception that the children +## will be executed in a random order. + +## A shuffled list of the children that will be executed in reverse order. +var _children_bag: Array[Node] = [] +var c: Node + + +func _ready() -> void: + super() + if random_seed == 0: + randomize() + + +func tick(actor: Node, blackboard: Blackboard) -> int: + if _children_bag.is_empty(): + _reset() + + # We need to traverse the array in reverse since we will be manipulating it. + for i in _get_reversed_indexes(): + c = _children_bag[i] + + if c != running_child: + c.before_run(actor, blackboard) + + var response = c.tick(actor, blackboard) + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response) + + if c is ConditionLeaf: + blackboard.set_value("last_condition", c, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + match response: + SUCCESS: + _children_bag.erase(c) + c.after_run(actor, blackboard) + return SUCCESS + FAILURE: + _children_bag.erase(c) + c.after_run(actor, blackboard) + RUNNING: + running_child = c + if c is ActionLeaf: + blackboard.set_value("running_action", c, str(actor.get_instance_id())) + return RUNNING + + return FAILURE + + +func after_run(actor: Node, blackboard: Blackboard) -> void: + _reset() + super(actor, blackboard) + + +func interrupt(actor: Node, blackboard: Blackboard) -> void: + _reset() + super(actor, blackboard) + + +func _get_reversed_indexes() -> Array[int]: + var reversed: Array[int] + reversed.assign(range(_children_bag.size())) + reversed.reverse() + return reversed + + +func _reset() -> void: + var new_order = get_shuffled_children() + _children_bag = new_order.duplicate() + _children_bag.reverse() # It needs to run the children in reverse order. + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"SelectorRandomComposite") + return classes diff --git a/addons/beehave/nodes/composites/selector_reactive.gd b/addons/beehave/nodes/composites/selector_reactive.gd new file mode 100644 index 0000000..fa164d0 --- /dev/null +++ b/addons/beehave/nodes/composites/selector_reactive.gd @@ -0,0 +1,47 @@ +@tool +@icon("../../icons/selector_reactive.svg") +class_name SelectorReactiveComposite extends Composite + +## Selector Reactive nodes will attempt to execute each of its children until one of +## them return `SUCCESS`. If all children return `FAILURE`, this node will also +## return `FAILURE`. +## If a child returns `RUNNING` it will restart. + + +func tick(actor: Node, blackboard: Blackboard) -> int: + for c in get_children(): + if c != running_child: + c.before_run(actor, blackboard) + + var response = c.tick(actor, blackboard) + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response) + + if c is ConditionLeaf: + blackboard.set_value("last_condition", c, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + match response: + SUCCESS: + # Interrupt any child that was RUNNING before. + if c != running_child: + interrupt(actor, blackboard) + c.after_run(actor, blackboard) + return SUCCESS + FAILURE: + c.after_run(actor, blackboard) + RUNNING: + if c != running_child: + interrupt(actor, blackboard) + running_child = c + if c is ActionLeaf: + blackboard.set_value("running_action", c, str(actor.get_instance_id())) + return RUNNING + + return FAILURE + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"SelectorReactiveComposite") + return classes diff --git a/addons/beehave/nodes/composites/sequence.gd b/addons/beehave/nodes/composites/sequence.gd new file mode 100644 index 0000000..d308e8d --- /dev/null +++ b/addons/beehave/nodes/composites/sequence.gd @@ -0,0 +1,75 @@ +@tool +@icon("../../icons/sequence.svg") +class_name SequenceComposite extends Composite + +## Sequence nodes will attempt to execute all of its children and report +## `SUCCESS` in case all of the children report a `SUCCESS` status code. +## If at least one child reports a `FAILURE` status code, this node will also +## return `FAILURE` and restart. +## In case a child returns `RUNNING` this node will tick again. + +var successful_index: int = 0 + + +func tick(actor: Node, blackboard: Blackboard) -> int: + for c in get_children(): + if c.get_index() < successful_index: + continue + + if c != running_child: + c.before_run(actor, blackboard) + + var response = c.tick(actor, blackboard) + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response) + + if c is ConditionLeaf: + blackboard.set_value("last_condition", c, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + match response: + SUCCESS: + _cleanup_running_task(c, actor, blackboard) + successful_index += 1 + c.after_run(actor, blackboard) + FAILURE: + _cleanup_running_task(c, actor, blackboard) + # Interrupt any child that was RUNNING before. + interrupt(actor, blackboard) + c.after_run(actor, blackboard) + return FAILURE + RUNNING: + if c != running_child: + if running_child != null: + running_child.interrupt(actor, blackboard) + running_child = c + if c is ActionLeaf: + blackboard.set_value("running_action", c, str(actor.get_instance_id())) + return RUNNING + + _reset() + return SUCCESS + + +func interrupt(actor: Node, blackboard: Blackboard) -> void: + _reset() + super(actor, blackboard) + + +func _reset() -> void: + successful_index = 0 + + +## Changes `running_action` and `running_child` after the node finishes executing. +func _cleanup_running_task(finished_action: Node, actor: Node, blackboard: Blackboard): + var blackboard_name = str(actor.get_instance_id()) + if finished_action == running_child: + running_child = null + if finished_action == blackboard.get_value("running_action", null, blackboard_name): + blackboard.set_value("running_action", null, blackboard_name) + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"SequenceComposite") + return classes diff --git a/addons/beehave/nodes/composites/sequence_random.gd b/addons/beehave/nodes/composites/sequence_random.gd new file mode 100644 index 0000000..a744f52 --- /dev/null +++ b/addons/beehave/nodes/composites/sequence_random.gd @@ -0,0 +1,96 @@ +@tool +@icon("../../icons/sequence_random.svg") +class_name SequenceRandomComposite extends RandomizedComposite + +## This node will attempt to execute all of its children just like a +## [code]SequenceStar[/code] would, with the exception that the children +## will be executed in a random order. + +# Emitted whenever the children are shuffled. +signal reset(new_order: Array[Node]) + +## Whether the sequence should start where it left off after a previous failure. +@export var resume_on_failure: bool = false +## Whether the sequence should start where it left off after a previous interruption. +@export var resume_on_interrupt: bool = false + +## A shuffled list of the children that will be executed in reverse order. +var _children_bag: Array[Node] = [] +var c: Node + + +func _ready() -> void: + super() + if random_seed == 0: + randomize() + + +func tick(actor: Node, blackboard: Blackboard) -> int: + if _children_bag.is_empty(): + _reset() + + # We need to traverse the array in reverse since we will be manipulating it. + for i in _get_reversed_indexes(): + c = _children_bag[i] + + if c != running_child: + c.before_run(actor, blackboard) + + var response = c.tick(actor, blackboard) + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response) + + if c is ConditionLeaf: + blackboard.set_value("last_condition", c, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + match response: + SUCCESS: + _children_bag.erase(c) + c.after_run(actor, blackboard) + FAILURE: + _children_bag.erase(c) + # Interrupt any child that was RUNNING before + # but do not reset! + super.interrupt(actor, blackboard) + c.after_run(actor, blackboard) + return FAILURE + RUNNING: + running_child = c + if c is ActionLeaf: + blackboard.set_value("running_action", c, str(actor.get_instance_id())) + return RUNNING + + return SUCCESS + + +func after_run(actor: Node, blackboard: Blackboard) -> void: + if not resume_on_failure: + _reset() + super(actor, blackboard) + + +func interrupt(actor: Node, blackboard: Blackboard) -> void: + if not resume_on_interrupt: + _reset() + super(actor, blackboard) + + +func _get_reversed_indexes() -> Array[int]: + var reversed: Array[int] + reversed.assign(range(_children_bag.size())) + reversed.reverse() + return reversed + + +func _reset() -> void: + var new_order = get_shuffled_children() + _children_bag = new_order.duplicate() + _children_bag.reverse() # It needs to run the children in reverse order. + reset.emit(new_order) + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"SequenceRandomComposite") + return classes diff --git a/addons/beehave/nodes/composites/sequence_reactive.gd b/addons/beehave/nodes/composites/sequence_reactive.gd new file mode 100644 index 0000000..f40d8ab --- /dev/null +++ b/addons/beehave/nodes/composites/sequence_reactive.gd @@ -0,0 +1,63 @@ +@tool +@icon("../../icons/sequence_reactive.svg") +class_name SequenceReactiveComposite extends Composite + +## Reactive Sequence nodes will attempt to execute all of its children and report +## `SUCCESS` in case all of the children report a `SUCCESS` status code. +## If at least one child reports a `FAILURE` status code, this node will also +## return `FAILURE` and restart. +## In case a child returns `RUNNING` this node will restart. + +var successful_index: int = 0 + + +func tick(actor: Node, blackboard: Blackboard) -> int: + for c in get_children(): + if c.get_index() < successful_index: + continue + + if c != running_child: + c.before_run(actor, blackboard) + + var response = c.tick(actor, blackboard) + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response) + + if c is ConditionLeaf: + blackboard.set_value("last_condition", c, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + match response: + SUCCESS: + successful_index += 1 + c.after_run(actor, blackboard) + FAILURE: + # Interrupt any child that was RUNNING before. + interrupt(actor, blackboard) + c.after_run(actor, blackboard) + return FAILURE + RUNNING: + _reset() + if running_child != c: + interrupt(actor, blackboard) + running_child = c + if c is ActionLeaf: + blackboard.set_value("running_action", c, str(actor.get_instance_id())) + return RUNNING + _reset() + return SUCCESS + + +func interrupt(actor: Node, blackboard: Blackboard) -> void: + _reset() + super(actor, blackboard) + + +func _reset() -> void: + successful_index = 0 + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"SequenceReactiveComposite") + return classes diff --git a/addons/beehave/nodes/composites/sequence_star.gd b/addons/beehave/nodes/composites/sequence_star.gd new file mode 100644 index 0000000..36bb19c --- /dev/null +++ b/addons/beehave/nodes/composites/sequence_star.gd @@ -0,0 +1,61 @@ +@tool +@icon("../../icons/sequence_reactive.svg") +class_name SequenceStarComposite extends Composite + +## Sequence Star nodes will attempt to execute all of its children and report +## `SUCCESS` in case all of the children report a `SUCCESS` status code. +## If at least one child reports a `FAILURE` status code, this node will also +## return `FAILURE` and tick again. +## In case a child returns `RUNNING` this node will tick again. + +var successful_index: int = 0 + + +func tick(actor: Node, blackboard: Blackboard) -> int: + for c in get_children(): + if c.get_index() < successful_index: + continue + + if c != running_child: + c.before_run(actor, blackboard) + + var response = c.tick(actor, blackboard) + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response) + + if c is ConditionLeaf: + blackboard.set_value("last_condition", c, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + match response: + SUCCESS: + successful_index += 1 + c.after_run(actor, blackboard) + FAILURE: + # Interrupt any child that was RUNNING before + # but do not reset! + super.interrupt(actor, blackboard) + c.after_run(actor, blackboard) + return FAILURE + RUNNING: + running_child = c + if c is ActionLeaf: + blackboard.set_value("running_action", c, str(actor.get_instance_id())) + return RUNNING + _reset() + return SUCCESS + + +func interrupt(actor: Node, blackboard: Blackboard) -> void: + _reset() + super(actor, blackboard) + + +func _reset() -> void: + successful_index = 0 + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"SequenceStarComposite") + return classes diff --git a/addons/beehave/nodes/composites/simple_parallel.gd b/addons/beehave/nodes/composites/simple_parallel.gd new file mode 100644 index 0000000..4133d60 --- /dev/null +++ b/addons/beehave/nodes/composites/simple_parallel.gd @@ -0,0 +1,122 @@ +@tool +@icon("../../icons/simple_parallel.svg") +class_name SimpleParallelComposite extends Composite + +## Simple Parallel nodes will attampt to execute all chidren at same time and +## can only have exactly two children. First child as primary node, second +## child as secondary node. +## This node will always report primary node's state, and continue tick while +## primary node return 'RUNNING'. The state of secondary node will be ignored +## and executed like a subtree. +## If primary node return 'SUCCESS' or 'FAILURE', this node will interrupt +## secondary node and return primary node's result. +## If this node is running under delay mode, it will wait seconday node +## finish its action after primary node terminates. + +#how many times should secondary node repeat, zero means loop forever +@export var secondary_node_repeat_count: int = 0 + +#wether to wait secondary node finish its current action after primary node finished +@export var delay_mode: bool = false + +var delayed_result := SUCCESS +var main_task_finished: bool = false +var secondary_node_running: bool = false +var secondary_node_repeat_left: int = 0 + + +func _get_configuration_warnings() -> PackedStringArray: + var warnings: PackedStringArray = super._get_configuration_warnings() + + if get_child_count() != 2: + warnings.append("SimpleParallel should have exactly two child nodes.") + + if not get_child(0) is ActionLeaf: + warnings.append("SimpleParallel should have an action leaf node as first child node.") + + return warnings + + +func tick(actor, blackboard: Blackboard): + for c in get_children(): + var node_index = c.get_index() + if node_index == 0 and not main_task_finished: + if c != running_child: + c.before_run(actor, blackboard) + + var response = c.tick(actor, blackboard) + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response) + + delayed_result = response + match response: + SUCCESS, FAILURE: + _cleanup_running_task(c, actor, blackboard) + c.after_run(actor, blackboard) + main_task_finished = true + if not delay_mode: + if secondary_node_running: + get_child(1).interrupt(actor, blackboard) + _reset() + return delayed_result + RUNNING: + running_child = c + if c is ActionLeaf: + blackboard.set_value("running_action", c, str(actor.get_instance_id())) + + elif node_index == 1: + if secondary_node_repeat_count == 0 or secondary_node_repeat_left > 0: + if not secondary_node_running: + c.before_run(actor, blackboard) + var subtree_response = c.tick(actor, blackboard) + if subtree_response != RUNNING: + secondary_node_running = false + c.after_run(actor, blackboard) + if delay_mode and main_task_finished: + _reset() + return delayed_result + elif secondary_node_repeat_left > 0: + secondary_node_repeat_left -= 1 + else: + secondary_node_running = true + + return RUNNING + + +func before_run(actor: Node, blackboard: Blackboard) -> void: + secondary_node_repeat_left = secondary_node_repeat_count + super(actor, blackboard) + + +func interrupt(actor: Node, blackboard: Blackboard) -> void: + if not main_task_finished: + get_child(0).interrupt(actor, blackboard) + if secondary_node_running: + get_child(1).interrupt(actor, blackboard) + _reset() + super(actor, blackboard) + + +func after_run(actor: Node, blackboard: Blackboard) -> void: + _reset() + super(actor, blackboard) + + +func _reset() -> void: + main_task_finished = false + secondary_node_running = false + + +## Changes `running_action` and `running_child` after the node finishes executing. +func _cleanup_running_task(finished_action: Node, actor: Node, blackboard: Blackboard): + var blackboard_name = str(actor.get_instance_id()) + if finished_action == running_child: + running_child = null + if finished_action == blackboard.get_value("running_action", null, blackboard_name): + blackboard.set_value("running_action", null, blackboard_name) + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"SimpleParallelComposite") + return classes diff --git a/addons/beehave/nodes/decorators/cooldown.gd b/addons/beehave/nodes/decorators/cooldown.gd new file mode 100644 index 0000000..84c27b7 --- /dev/null +++ b/addons/beehave/nodes/decorators/cooldown.gd @@ -0,0 +1,49 @@ +@tool +@icon("../../icons/cooldown.svg") +extends Decorator +class_name CooldownDecorator + +## The Cooldown Decorator will return 'FAILURE' for a set amount of time +## after executing its child. +## The timer resets the next time its child is executed and it is not `RUNNING` + +## The wait time in seconds +@export var wait_time := 0.0 + +@onready var cache_key = "cooldown_%s" % self.get_instance_id() + + +func tick(actor: Node, blackboard: Blackboard) -> int: + var c = get_child(0) + var remaining_time = blackboard.get_value(cache_key, 0.0, str(actor.get_instance_id())) + var response + + if c != running_child: + c.before_run(actor, blackboard) + + if remaining_time > 0: + response = FAILURE + + remaining_time -= get_physics_process_delta_time() + blackboard.set_value(cache_key, remaining_time, str(actor.get_instance_id())) + + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(self.get_instance_id(), response) + else: + response = c.tick(actor, blackboard) + + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response) + + if c is ConditionLeaf: + blackboard.set_value("last_condition", c, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + if response == RUNNING and c is ActionLeaf: + running_child = c + blackboard.set_value("running_action", c, str(actor.get_instance_id())) + + if response != RUNNING: + blackboard.set_value(cache_key, wait_time, str(actor.get_instance_id())) + + return response diff --git a/addons/beehave/nodes/decorators/decorator.gd b/addons/beehave/nodes/decorators/decorator.gd new file mode 100644 index 0000000..3b93498 --- /dev/null +++ b/addons/beehave/nodes/decorators/decorator.gd @@ -0,0 +1,33 @@ +@tool +@icon("../../icons/category_decorator.svg") +class_name Decorator extends BeehaveNode + +## Decorator nodes are used to transform the result received by its child. +## Must only have one child. + +var running_child: BeehaveNode = null + + +func _get_configuration_warnings() -> PackedStringArray: + var warnings: PackedStringArray = super._get_configuration_warnings() + + if get_child_count() != 1: + warnings.append("Decorator should have exactly one child node.") + + return warnings + + +func interrupt(actor: Node, blackboard: Blackboard) -> void: + if running_child != null: + running_child.interrupt(actor, blackboard) + running_child = null + + +func after_run(actor: Node, blackboard: Blackboard) -> void: + running_child = null + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"Decorator") + return classes diff --git a/addons/beehave/nodes/decorators/delayer.gd b/addons/beehave/nodes/decorators/delayer.gd new file mode 100644 index 0000000..2b8b73c --- /dev/null +++ b/addons/beehave/nodes/decorators/delayer.gd @@ -0,0 +1,49 @@ +@tool +@icon("../../icons/delayer.svg") +extends Decorator +class_name DelayDecorator + +## The Delay Decorator will return 'RUNNING' for a set amount of time +## before executing its child. +## The timer resets when both it and its child are not `RUNNING` + +## The wait time in seconds +@export var wait_time := 0.0 + +@onready var cache_key = "time_limiter_%s" % self.get_instance_id() + + +func tick(actor: Node, blackboard: Blackboard) -> int: + var c = get_child(0) + var total_time = blackboard.get_value(cache_key, 0.0, str(actor.get_instance_id())) + var response + + if c != running_child: + c.before_run(actor, blackboard) + + if total_time < wait_time: + response = RUNNING + + total_time += get_physics_process_delta_time() + blackboard.set_value(cache_key, total_time, str(actor.get_instance_id())) + + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(self.get_instance_id(), response) + else: + response = c.tick(actor, blackboard) + + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response) + + if c is ConditionLeaf: + blackboard.set_value("last_condition", c, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + if response == RUNNING and c is ActionLeaf: + running_child = c + blackboard.set_value("running_action", c, str(actor.get_instance_id())) + + if response != RUNNING: + blackboard.set_value(cache_key, 0.0, str(actor.get_instance_id())) + + return response diff --git a/addons/beehave/nodes/decorators/failer.gd b/addons/beehave/nodes/decorators/failer.gd new file mode 100644 index 0000000..e47312f --- /dev/null +++ b/addons/beehave/nodes/decorators/failer.gd @@ -0,0 +1,35 @@ +@tool +@icon("../../icons/failer.svg") +class_name AlwaysFailDecorator extends Decorator + +## A Failer node will always return a `FAILURE` status code. + + +func tick(actor: Node, blackboard: Blackboard) -> int: + var c = get_child(0) + + if c != running_child: + c.before_run(actor, blackboard) + + var response = c.tick(actor, blackboard) + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response) + + if c is ConditionLeaf: + blackboard.set_value("last_condition", c, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + if response == RUNNING: + running_child = c + if c is ActionLeaf: + blackboard.set_value("running_action", c, str(actor.get_instance_id())) + return RUNNING + else: + c.after_run(actor, blackboard) + return FAILURE + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"AlwaysFailDecorator") + return classes diff --git a/addons/beehave/nodes/decorators/inverter.gd b/addons/beehave/nodes/decorators/inverter.gd new file mode 100644 index 0000000..2570677 --- /dev/null +++ b/addons/beehave/nodes/decorators/inverter.gd @@ -0,0 +1,43 @@ +@tool +@icon("../../icons/inverter.svg") +class_name InverterDecorator extends Decorator + +## An inverter will return `FAILURE` in case it's child returns a `SUCCESS` status +## code or `SUCCESS` in case its child returns a `FAILURE` status code. + + +func tick(actor: Node, blackboard: Blackboard) -> int: + var c = get_child(0) + + if c != running_child: + c.before_run(actor, blackboard) + + var response = c.tick(actor, blackboard) + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response) + + if c is ConditionLeaf: + blackboard.set_value("last_condition", c, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + match response: + SUCCESS: + c.after_run(actor, blackboard) + return FAILURE + FAILURE: + c.after_run(actor, blackboard) + return SUCCESS + RUNNING: + running_child = c + if c is ActionLeaf: + blackboard.set_value("running_action", c, str(actor.get_instance_id())) + return RUNNING + _: + push_error("This should be unreachable") + return -1 + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"InverterDecorator") + return classes diff --git a/addons/beehave/nodes/decorators/limiter.gd b/addons/beehave/nodes/decorators/limiter.gd new file mode 100644 index 0000000..a38d7f3 --- /dev/null +++ b/addons/beehave/nodes/decorators/limiter.gd @@ -0,0 +1,60 @@ +@tool +@icon("../../icons/limiter.svg") +class_name LimiterDecorator extends Decorator + +## The limiter will execute its `RUNNING` child `x` amount of times. When the number of +## maximum ticks is reached, it will return a `FAILURE` status code. +## The count resets the next time that a child is not `RUNNING` + +@onready var cache_key = "limiter_%s" % self.get_instance_id() + +@export var max_count: float = 0 + + +func tick(actor: Node, blackboard: Blackboard) -> int: + if not get_child_count() == 1: + return FAILURE + + var child = get_child(0) + var current_count = blackboard.get_value(cache_key, 0, str(actor.get_instance_id())) + + if current_count < max_count: + blackboard.set_value(cache_key, current_count + 1, str(actor.get_instance_id())) + var response = child.tick(actor, blackboard) + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(child.get_instance_id(), response) + + if child is ConditionLeaf: + blackboard.set_value("last_condition", child, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + if child is ActionLeaf and response == RUNNING: + running_child = child + blackboard.set_value("running_action", child, str(actor.get_instance_id())) + + if response != RUNNING: + child.after_run(actor, blackboard) + + return response + else: + interrupt(actor, blackboard) + child.after_run(actor, blackboard) + return FAILURE + + +func before_run(actor: Node, blackboard: Blackboard) -> void: + blackboard.set_value(cache_key, 0, str(actor.get_instance_id())) + if get_child_count() > 0: + get_child(0).before_run(actor, blackboard) + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"LimiterDecorator") + return classes + + +func _get_configuration_warnings() -> PackedStringArray: + if not get_child_count() == 1: + return ["Requires exactly one child node"] + return [] diff --git a/addons/beehave/nodes/decorators/repeater.gd b/addons/beehave/nodes/decorators/repeater.gd new file mode 100644 index 0000000..647f7e0 --- /dev/null +++ b/addons/beehave/nodes/decorators/repeater.gd @@ -0,0 +1,58 @@ +## The repeater will execute its child until it returns `SUCCESS` a certain amount of times. +## When the number of maximum ticks is reached, it will return a `SUCCESS` status code. +## If the child returns `FAILURE`, the repeater will return `FAILURE` immediately. +@tool +@icon("../../icons/repeater.svg") +class_name RepeaterDecorator extends Decorator + +@export var repetitions: int = 1 +var current_count: int = 0 + + +func before_run(actor: Node, blackboard: Blackboard): + current_count = 0 + + +func tick(actor: Node, blackboard: Blackboard) -> int: + var child = get_child(0) + + if current_count < repetitions: + if running_child == null: + child.before_run(actor, blackboard) + + var response = child.tick(actor, blackboard) + + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(child.get_instance_id(), response) + + if child is ConditionLeaf: + blackboard.set_value("last_condition", child, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + if response == RUNNING: + running_child = child + if child is ActionLeaf: + blackboard.set_value("running_action", child, str(actor.get_instance_id())) + return RUNNING + + current_count += 1 + child.after_run(actor, blackboard) + + if running_child != null: + running_child = null + + if response == FAILURE: + return FAILURE + + if current_count >= repetitions: + return SUCCESS + + return RUNNING + else: + return SUCCESS + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"LimiterDecorator") + return classes diff --git a/addons/beehave/nodes/decorators/succeeder.gd b/addons/beehave/nodes/decorators/succeeder.gd new file mode 100644 index 0000000..344b90f --- /dev/null +++ b/addons/beehave/nodes/decorators/succeeder.gd @@ -0,0 +1,35 @@ +@tool +@icon("../../icons/succeeder.svg") +class_name AlwaysSucceedDecorator extends Decorator + +## A succeeder node will always return a `SUCCESS` status code. + + +func tick(actor: Node, blackboard: Blackboard) -> int: + var c = get_child(0) + + if c != running_child: + c.before_run(actor, blackboard) + + var response = c.tick(actor, blackboard) + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response) + + if c is ConditionLeaf: + blackboard.set_value("last_condition", c, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + if response == RUNNING: + running_child = c + if c is ActionLeaf: + blackboard.set_value("running_action", c, str(actor.get_instance_id())) + return RUNNING + else: + c.after_run(actor, blackboard) + return SUCCESS + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"AlwaysSucceedDecorator") + return classes diff --git a/addons/beehave/nodes/decorators/time_limiter.gd b/addons/beehave/nodes/decorators/time_limiter.gd new file mode 100644 index 0000000..d9638d7 --- /dev/null +++ b/addons/beehave/nodes/decorators/time_limiter.gd @@ -0,0 +1,60 @@ +@tool +@icon("../../icons/limiter.svg") +class_name TimeLimiterDecorator extends Decorator + +## The Time Limit Decorator will give its `RUNNING` child a set amount of time to finish +## before interrupting it and return a `FAILURE` status code. +## The timer resets the next time that a child is not `RUNNING` + +@export var wait_time := 0.0 + +@onready var cache_key = "time_limiter_%s" % self.get_instance_id() + + +func tick(actor: Node, blackboard: Blackboard) -> int: + if not get_child_count() == 1: + return FAILURE + + var child = self.get_child(0) + var time_left = blackboard.get_value(cache_key, 0.0, str(actor.get_instance_id())) + + if time_left < wait_time: + time_left += get_physics_process_delta_time() + blackboard.set_value(cache_key, time_left, str(actor.get_instance_id())) + var response = child.tick(actor, blackboard) + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(child.get_instance_id(), response) + + if child is ConditionLeaf: + blackboard.set_value("last_condition", child, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + if response == RUNNING: + running_child = child + if child is ActionLeaf: + blackboard.set_value("running_action", child, str(actor.get_instance_id())) + else: + child.after_run(actor, blackboard) + return response + else: + interrupt(actor, blackboard) + child.after_run(actor, blackboard) + return FAILURE + + +func before_run(actor: Node, blackboard: Blackboard) -> void: + blackboard.set_value(cache_key, 0.0, str(actor.get_instance_id())) + if get_child_count() > 0: + get_child(0).before_run(actor, blackboard) + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"TimeLimiterDecorator") + return classes + + +func _get_configuration_warnings() -> PackedStringArray: + if not get_child_count() == 1: + return ["Requires exactly one child node"] + return [] diff --git a/addons/beehave/nodes/decorators/until_fail.gd b/addons/beehave/nodes/decorators/until_fail.gd new file mode 100644 index 0000000..8f5ebbe --- /dev/null +++ b/addons/beehave/nodes/decorators/until_fail.gd @@ -0,0 +1,33 @@ +@tool +@icon("../../icons/until_fail.svg") +class_name UntilFailDecorator +extends Decorator + +## The UntilFail Decorator will return `RUNNING` if its child returns +## `SUCCESS` or `RUNNING` or it will return `SUCCESS` if its child returns +## `FAILURE` + + +func tick(actor: Node, blackboard: Blackboard) -> int: + var c = get_child(0) + + if c != running_child: + c.before_run(actor, blackboard) + + var response = c.tick(actor, blackboard) + if can_send_message(blackboard): + BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response) + + if c is ConditionLeaf: + blackboard.set_value("last_condition", c, str(actor.get_instance_id())) + blackboard.set_value("last_condition_status", response, str(actor.get_instance_id())) + + if response == RUNNING: + running_child = c + if c is ActionLeaf: + blackboard.set_value("running_action", c, str(actor.get_instance_id())) + return RUNNING + if response == SUCCESS: + return RUNNING + + return SUCCESS diff --git a/addons/beehave/nodes/leaves/action.gd b/addons/beehave/nodes/leaves/action.gd new file mode 100644 index 0000000..9074c07 --- /dev/null +++ b/addons/beehave/nodes/leaves/action.gd @@ -0,0 +1,14 @@ +@tool +@icon("../../icons/action.svg") +class_name ActionLeaf extends Leaf + +## Actions are leaf nodes that define a task to be performed by an actor. +## Their execution can be long running, potentially being called across multiple +## frame executions. In this case, the node should return `RUNNING` until the +## action is completed. + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"ActionLeaf") + return classes diff --git a/addons/beehave/nodes/leaves/blackboard_compare.gd b/addons/beehave/nodes/leaves/blackboard_compare.gd new file mode 100644 index 0000000..38a870d --- /dev/null +++ b/addons/beehave/nodes/leaves/blackboard_compare.gd @@ -0,0 +1,65 @@ +@tool +class_name BlackboardCompareCondition extends ConditionLeaf + +## Compares two values using the specified comparison operator. +## Returns [code]FAILURE[/code] if any of the expression fails or the +## comparison operation returns [code]false[/code], otherwise it returns [code]SUCCESS[/code]. + +enum Operators { + EQUAL, + NOT_EQUAL, + GREATER, + LESS, + GREATER_EQUAL, + LESS_EQUAL, +} + +## Expression represetning left operand. +## This value can be any valid GDScript expression. +## In order to use the existing blackboard keys for comparison, +## use get_value("key_name") e.g. get_value("direction").length() +@export_placeholder(EXPRESSION_PLACEHOLDER) var left_operand: String = "" +## Comparison operator. +@export_enum("==", "!=", ">", "<", ">=", "<=") var operator: int = 0 +## Expression represetning right operand. +## This value can be any valid GDScript expression. +## In order to use the existing blackboard keys for comparison, +## use get_value("key_name") e.g. get_value("direction").length() +@export_placeholder(EXPRESSION_PLACEHOLDER) var right_operand: String = "" + +@onready var _left_expression: Expression = _parse_expression(left_operand) +@onready var _right_expression: Expression = _parse_expression(right_operand) + + +func tick(actor: Node, blackboard: Blackboard) -> int: + var left: Variant = _left_expression.execute([], blackboard) + + if _left_expression.has_execute_failed(): + return FAILURE + + var right: Variant = _right_expression.execute([], blackboard) + + if _right_expression.has_execute_failed(): + return FAILURE + + var result: bool = false + + match operator: + Operators.EQUAL: + result = left == right + Operators.NOT_EQUAL: + result = left != right + Operators.GREATER: + result = left > right + Operators.LESS: + result = left < right + Operators.GREATER_EQUAL: + result = left >= right + Operators.LESS_EQUAL: + result = left <= right + + return SUCCESS if result else FAILURE + + +func _get_expression_sources() -> Array[String]: + return [left_operand, right_operand] diff --git a/addons/beehave/nodes/leaves/blackboard_erase.gd b/addons/beehave/nodes/leaves/blackboard_erase.gd new file mode 100644 index 0000000..e5cc1d4 --- /dev/null +++ b/addons/beehave/nodes/leaves/blackboard_erase.gd @@ -0,0 +1,25 @@ +@tool +class_name BlackboardEraseAction extends ActionLeaf + +## Erases the specified key from the blackboard. +## Returns [code]FAILURE[/code] if expression execution fails, otherwise [code]SUCCESS[/code]. + +## Expression representing a blackboard key. +@export_placeholder(EXPRESSION_PLACEHOLDER) var key: String = "" + +@onready var _key_expression: Expression = _parse_expression(key) + + +func tick(actor: Node, blackboard: Blackboard) -> int: + var key_value: Variant = _key_expression.execute([], blackboard) + + if _key_expression.has_execute_failed(): + return FAILURE + + blackboard.erase_value(key_value) + + return SUCCESS + + +func _get_expression_sources() -> Array[String]: + return [key] diff --git a/addons/beehave/nodes/leaves/blackboard_has.gd b/addons/beehave/nodes/leaves/blackboard_has.gd new file mode 100644 index 0000000..2ee5e92 --- /dev/null +++ b/addons/beehave/nodes/leaves/blackboard_has.gd @@ -0,0 +1,23 @@ +@tool +class_name BlackboardHasCondition extends ConditionLeaf + +## Returns [code]FAILURE[/code] if expression execution fails or the specified key doesn't exist. +## Returns [code]SUCCESS[/code] if blackboard has the specified key. + +## Expression representing a blackboard key. +@export_placeholder(EXPRESSION_PLACEHOLDER) var key: String = "" + +@onready var _key_expression: Expression = _parse_expression(key) + + +func tick(actor: Node, blackboard: Blackboard) -> int: + var key_value: Variant = _key_expression.execute([], blackboard) + + if _key_expression.has_execute_failed(): + return FAILURE + + return SUCCESS if blackboard.has_value(key_value) else FAILURE + + +func _get_expression_sources() -> Array[String]: + return [key] diff --git a/addons/beehave/nodes/leaves/blackboard_set.gd b/addons/beehave/nodes/leaves/blackboard_set.gd new file mode 100644 index 0000000..4f0ed9f --- /dev/null +++ b/addons/beehave/nodes/leaves/blackboard_set.gd @@ -0,0 +1,33 @@ +@tool +class_name BlackboardSetAction extends ActionLeaf + +## Sets the specified key to the specified value. +## Returns [code]FAILURE[/code] if expression execution fails, otherwise [code]SUCCESS[/code]. + +## Expression representing a blackboard key. +@export_placeholder(EXPRESSION_PLACEHOLDER) var key: String = "" +## Expression representing a blackboard value to assign to the specified key. +@export_placeholder(EXPRESSION_PLACEHOLDER) var value: String = "" + +@onready var _key_expression: Expression = _parse_expression(key) +@onready var _value_expression: Expression = _parse_expression(value) + + +func tick(actor: Node, blackboard: Blackboard) -> int: + var key_value: Variant = _key_expression.execute([], blackboard) + + if _key_expression.has_execute_failed(): + return FAILURE + + var value_value: Variant = _value_expression.execute([], blackboard) + + if _value_expression.has_execute_failed(): + return FAILURE + + blackboard.set_value(key_value, value_value) + + return SUCCESS + + +func _get_expression_sources() -> Array[String]: + return [key, value] diff --git a/addons/beehave/nodes/leaves/condition.gd b/addons/beehave/nodes/leaves/condition.gd new file mode 100644 index 0000000..f4610b4 --- /dev/null +++ b/addons/beehave/nodes/leaves/condition.gd @@ -0,0 +1,12 @@ +@tool +@icon("../../icons/condition.svg") +class_name ConditionLeaf extends Leaf + +## Conditions are leaf nodes that either return SUCCESS or FAILURE depending on +## a single simple condition. They should never return `RUNNING`. + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"ConditionLeaf") + return classes diff --git a/addons/beehave/nodes/leaves/leaf.gd b/addons/beehave/nodes/leaves/leaf.gd new file mode 100644 index 0000000..4946c7d --- /dev/null +++ b/addons/beehave/nodes/leaves/leaf.gd @@ -0,0 +1,48 @@ +@tool +@icon("../../icons/category_leaf.svg") +class_name Leaf extends BeehaveNode + +## Base class for all leaf nodes of the tree. + +const EXPRESSION_PLACEHOLDER: String = "Insert an expression..." + + +func _get_configuration_warnings() -> PackedStringArray: + var warnings: PackedStringArray = [] + + var children: Array[Node] = get_children() + + if children.any(func(x): return x is BeehaveNode): + warnings.append("Leaf nodes should not have any child nodes. They won't be ticked.") + + for source in _get_expression_sources(): + var error_text: String = _parse_expression(source).get_error_text() + if not error_text.is_empty(): + warnings.append("Expression `%s` is invalid! Error text: `%s`" % [source, error_text]) + + return warnings + + +func _parse_expression(source: String) -> Expression: + var result: Expression = Expression.new() + var error: int = result.parse(source) + + if not Engine.is_editor_hint() and error != OK: + push_error( + ( + "[Leaf] Couldn't parse expression with source: `%s` Error text: `%s`" + % [source, result.get_error_text()] + ) + ) + + return result + + +func _get_expression_sources() -> Array[String]: # virtual + return [] + + +func get_class_name() -> Array[StringName]: + var classes := super() + classes.push_back(&"Leaf") + return classes diff --git a/addons/beehave/plugin.cfg b/addons/beehave/plugin.cfg new file mode 100644 index 0000000..f06defe --- /dev/null +++ b/addons/beehave/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="Beehave" +description="🐝 Behavior Tree addon for Godot Engine" +author="bitbrain" +version="2.8.2-dev" +script="plugin.gd" diff --git a/addons/beehave/plugin.gd b/addons/beehave/plugin.gd new file mode 100644 index 0000000..cda3b0d --- /dev/null +++ b/addons/beehave/plugin.gd @@ -0,0 +1,26 @@ +@tool +extends EditorPlugin + +const BeehaveEditorDebugger := preload("debug/debugger.gd") +var editor_debugger: BeehaveEditorDebugger +var frames: RefCounted + + +func _init(): + name = "BeehavePlugin" + add_autoload_singleton("BeehaveGlobalMetrics", "metrics/beehave_global_metrics.gd") + add_autoload_singleton("BeehaveGlobalDebugger", "debug/global_debugger.gd") + print("Beehave initialized!") + + +func _enter_tree() -> void: + editor_debugger = BeehaveEditorDebugger.new() + if Engine.get_version_info().minor >= 2: + frames = preload("debug/new_frames.gd").new() + else: + frames = preload("debug/old_frames.gd").new() + add_debugger_plugin(editor_debugger) + + +func _exit_tree() -> void: + remove_debugger_plugin(editor_debugger) diff --git a/addons/beehave/utils/utils.gd b/addons/beehave/utils/utils.gd new file mode 100644 index 0000000..5f51ce7 --- /dev/null +++ b/addons/beehave/utils/utils.gd @@ -0,0 +1,21 @@ +@tool + + +static func get_plugin() -> EditorPlugin: + var tree: SceneTree = Engine.get_main_loop() + return tree.get_root().get_child(0).get_node_or_null("BeehavePlugin") + + +static func get_editor_scale() -> float: + var plugin := get_plugin() + if plugin: + return plugin.get_editor_interface().get_editor_scale() + return 1.0 + + +static func get_frames() -> RefCounted: + var plugin := get_plugin() + if plugin: + return plugin.frames + push_error("Can't find Beehave Plugin") + return null diff --git a/autoload/database/database.gd b/autoload/database/database.gd new file mode 100644 index 0000000..9d48022 --- /dev/null +++ b/autoload/database/database.gd @@ -0,0 +1,33 @@ +extends Node + +#不同族群单位之间的初始好感度 +#下面意思为测试族群1对2具有初始负面好感 +#相反2对1具有正面好感 +var init_favour:Dictionary={ + #测试族群1 + "test_1":{ + #对测试族群2的初始好感度为-10 + "test_1":20, + "test_2":-50, + "player":-20, + }, + "test_2":{ + + "test_2":100, + "test_1":50, + "player":-20, + + } +} +#获取初始好感度 +func get_init_favour(self_type:String,other_type:String): + if not init_favour.has(self_type): + return 0 + var favour_dic=init_favour[self_type] + if not favour_dic.has(other_type): + return 0 + else: + return favour_dic[other_type] + + + pass diff --git a/autoload/database/database.tscn b/autoload/database/database.tscn new file mode 100644 index 0000000..ec32be8 --- /dev/null +++ b/autoload/database/database.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://ds0gdslpfq47i"] + +[ext_resource type="Script" path="res://autoload/database/database.gd" id="1_5ljwu"] + +[node name="database" type="Node"] +script = ExtResource("1_5ljwu") diff --git a/autoload/global/global.gd b/autoload/global/global.gd new file mode 100644 index 0000000..a7988e3 --- /dev/null +++ b/autoload/global/global.gd @@ -0,0 +1,47 @@ +extends Node +#保存ID对应角色实例的字典 +var unit_instance_dic:Dictionary={ + +} +#可交互物品/建筑的类型:Array字典 +var item_type_dic_arr:Dictionary={ + +} +#设置对象实例 +func set_unit_instance(id:String,instance:Node): + if unit_instance_dic.has(id): + var before_instance=unit_instance_dic[id] + if is_instance_valid(before_instance): + before_instance.queue_free() + unit_instance_dic[id]=instance +#获取对象实例 +func get_unit_instance(id:String): + if unit_instance_dic.has(id) and is_instance_valid(unit_instance_dic[id]): + return unit_instance_dic[id] + else: + return null +#单位好感度字典 +var unit_favour_dic:Dictionary={ + +} +#获取与对应单位的好感度,如果不存在则根据双方族群自动创建初始好感 +func get_unit_favour(self_id:String,other_id:String): + + if not unit_favour_dic.has(self_id): + var favour=Database.get_init_favour(get_unit_instance(self_id).unit_type,get_unit_instance(other_id).unit_type) + unit_favour_dic[self_id]={other_id:favour} + return favour + elif not unit_favour_dic[self_id].has(other_id): + var favour=Database.get_init_favour(get_unit_instance(self_id).unit_type,get_unit_instance(other_id).unit_type) + unit_favour_dic[self_id][other_id]=favour + return favour + else: + return unit_favour_dic[self_id][other_id] + pass + +#设置好感度 +func set_unit_favour(self_id:String,other_id:String,favour:float): + if not unit_favour_dic.has(self_id): + unit_favour_dic[self_id]={other_id:favour} + else: + unit_favour_dic[self_id][other_id]=favour diff --git a/autoload/global/global.tscn b/autoload/global/global.tscn new file mode 100644 index 0000000..3a66e4d --- /dev/null +++ b/autoload/global/global.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://bbovfa26lay8e"] + +[ext_resource type="Script" path="res://autoload/global/global.gd" id="1_7m8su"] + +[node name="global" type="Node"] +script = ExtResource("1_7m8su") diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..9d8b7fa --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..dc342ea --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://csk8u15wepd1w" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..2981d1b --- /dev/null +++ b/project.godot @@ -0,0 +1,50 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="模拟异世界" +run/main_scene="res://scene/test/test_main.tscn" +config/features=PackedStringArray("4.3", "Forward Plus") +boot_splash/bg_color=Color(0, 0, 0, 0) +config/icon="res://icon.svg" + +[autoload] + +BeehaveGlobalMetrics="*res://addons/beehave/metrics/beehave_global_metrics.gd" +BeehaveGlobalDebugger="*res://addons/beehave/debug/global_debugger.gd" +Database="*res://autoload/database/database.tscn" +Global="*res://autoload/global/global.tscn" + +[display] + +window/size/initial_position_type=2 +window/size/initial_screen=1 + +[editor_plugins] + +enabled=PackedStringArray("res://addons/beehave/plugin.cfg") + +[input] + +mouse_left={ +"deadzone": 0.5, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(297, 21),"global_position":Vector2(306, 67),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null) +] +} +mouse_right={ +"deadzone": 0.5, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":2,"position":Vector2(150, 28),"global_position":Vector2(159, 74),"factor":1.0,"button_index":2,"canceled":false,"pressed":true,"double_click":false,"script":null) +] +} + +[rendering] + +environment/defaults/default_clear_color=Color(0.301961, 0.301961, 0.301961, 0) diff --git a/res/animation/other_character_default.tres b/res/animation/other_character_default.tres new file mode 100644 index 0000000..2092e28 --- /dev/null +++ b/res/animation/other_character_default.tres @@ -0,0 +1,413 @@ +[gd_resource type="SpriteFrames" load_steps=53 format=3 uid="uid://jbsg1umeffu1"] + +[ext_resource type="Texture2D" uid="uid://b8mr80al21rka" path="res://TEST/mystic_woods_free_2.2/sprites/characters/player.png" id="1_ciqw4"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_15036"] +atlas = ExtResource("1_ciqw4") +region = Rect2(0, 432, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l0qjt"] +atlas = ExtResource("1_ciqw4") +region = Rect2(48, 432, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jv6ku"] +atlas = ExtResource("1_ciqw4") +region = Rect2(96, 432, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p5ts7"] +atlas = ExtResource("1_ciqw4") +region = Rect2(0, 144, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fdekw"] +atlas = ExtResource("1_ciqw4") +region = Rect2(48, 144, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uc0b0"] +atlas = ExtResource("1_ciqw4") +region = Rect2(96, 144, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v0bwb"] +atlas = ExtResource("1_ciqw4") +region = Rect2(144, 144, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sfgu1"] +atlas = ExtResource("1_ciqw4") +region = Rect2(192, 144, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pkr8f"] +atlas = ExtResource("1_ciqw4") +region = Rect2(240, 144, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dehdu"] +atlas = ExtResource("1_ciqw4") +region = Rect2(0, 288, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fs2e1"] +atlas = ExtResource("1_ciqw4") +region = Rect2(48, 288, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1swd0"] +atlas = ExtResource("1_ciqw4") +region = Rect2(96, 288, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0nfde"] +atlas = ExtResource("1_ciqw4") +region = Rect2(144, 288, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7lq3f"] +atlas = ExtResource("1_ciqw4") +region = Rect2(0, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_22e3l"] +atlas = ExtResource("1_ciqw4") +region = Rect2(48, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7r7es"] +atlas = ExtResource("1_ciqw4") +region = Rect2(96, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qla58"] +atlas = ExtResource("1_ciqw4") +region = Rect2(144, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j4fw1"] +atlas = ExtResource("1_ciqw4") +region = Rect2(192, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_efry1"] +atlas = ExtResource("1_ciqw4") +region = Rect2(240, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8w6ce"] +atlas = ExtResource("1_ciqw4") +region = Rect2(0, 192, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7lbf3"] +atlas = ExtResource("1_ciqw4") +region = Rect2(48, 192, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kguei"] +atlas = ExtResource("1_ciqw4") +region = Rect2(96, 192, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dwllq"] +atlas = ExtResource("1_ciqw4") +region = Rect2(144, 192, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_25nxc"] +atlas = ExtResource("1_ciqw4") +region = Rect2(192, 192, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0erop"] +atlas = ExtResource("1_ciqw4") +region = Rect2(240, 192, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3tqjp"] +atlas = ExtResource("1_ciqw4") +region = Rect2(0, 336, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_u5img"] +atlas = ExtResource("1_ciqw4") +region = Rect2(48, 336, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p1dr4"] +atlas = ExtResource("1_ciqw4") +region = Rect2(96, 336, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3judn"] +atlas = ExtResource("1_ciqw4") +region = Rect2(144, 336, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wm7vq"] +atlas = ExtResource("1_ciqw4") +region = Rect2(0, 48, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j8ewr"] +atlas = ExtResource("1_ciqw4") +region = Rect2(48, 48, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ubgqn"] +atlas = ExtResource("1_ciqw4") +region = Rect2(96, 48, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_algwd"] +atlas = ExtResource("1_ciqw4") +region = Rect2(144, 48, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_18b3y"] +atlas = ExtResource("1_ciqw4") +region = Rect2(192, 48, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wxhnb"] +atlas = ExtResource("1_ciqw4") +region = Rect2(240, 48, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cut56"] +atlas = ExtResource("1_ciqw4") +region = Rect2(0, 240, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_41mkh"] +atlas = ExtResource("1_ciqw4") +region = Rect2(48, 240, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ixxhs"] +atlas = ExtResource("1_ciqw4") +region = Rect2(96, 240, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_in33l"] +atlas = ExtResource("1_ciqw4") +region = Rect2(144, 240, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vwt1n"] +atlas = ExtResource("1_ciqw4") +region = Rect2(192, 240, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w86to"] +atlas = ExtResource("1_ciqw4") +region = Rect2(240, 240, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_67mfl"] +atlas = ExtResource("1_ciqw4") +region = Rect2(0, 384, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lan5a"] +atlas = ExtResource("1_ciqw4") +region = Rect2(48, 384, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kwvch"] +atlas = ExtResource("1_ciqw4") +region = Rect2(96, 384, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5nl1s"] +atlas = ExtResource("1_ciqw4") +region = Rect2(144, 384, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_k2iw0"] +atlas = ExtResource("1_ciqw4") +region = Rect2(0, 96, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vbv3o"] +atlas = ExtResource("1_ciqw4") +region = Rect2(48, 96, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_df8uv"] +atlas = ExtResource("1_ciqw4") +region = Rect2(96, 96, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ts0ik"] +atlas = ExtResource("1_ciqw4") +region = Rect2(144, 96, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oi8qt"] +atlas = ExtResource("1_ciqw4") +region = Rect2(192, 96, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_725dq"] +atlas = ExtResource("1_ciqw4") +region = Rect2(240, 96, 48, 48) + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_15036") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l0qjt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jv6ku") +}], +"loop": false, +"name": &"dead", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_p5ts7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fdekw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uc0b0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v0bwb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_sfgu1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pkr8f") +}], +"loop": true, +"name": &"down", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_dehdu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fs2e1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1swd0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0nfde") +}], +"loop": false, +"name": &"down_attack", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_7lq3f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_22e3l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7r7es") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qla58") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j4fw1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_efry1") +}], +"loop": true, +"name": &"down_idle", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_8w6ce") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7lbf3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kguei") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dwllq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_25nxc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0erop") +}], +"loop": true, +"name": &"left_right", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_3tqjp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_u5img") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p1dr4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3judn") +}], +"loop": false, +"name": &"left_right_attack", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_wm7vq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j8ewr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ubgqn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_algwd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_18b3y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wxhnb") +}], +"loop": true, +"name": &"left_right_idle", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_cut56") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_41mkh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ixxhs") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_in33l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vwt1n") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w86to") +}], +"loop": true, +"name": &"up", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_67mfl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lan5a") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kwvch") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5nl1s") +}], +"loop": false, +"name": &"up_attack", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_k2iw0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vbv3o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_df8uv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ts0ik") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_oi8qt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_725dq") +}], +"loop": true, +"name": &"up_idle", +"speed": 10.0 +}] diff --git a/res/image/test/tile.png b/res/image/test/tile.png new file mode 100644 index 0000000000000000000000000000000000000000..f6dd89f3f70fecc3f6df8ccb84b4ac8ea315f483 GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%!3HFEH|A#nDaPU;cPEB*=VV?2*^-_vjv*Cu z-rjK(WH8`4ydm$8Wx2tZ8LbDz87z12{=9KD^A@%Xj8V)l7}heDG+bk_a>!bP0l+XkKie7P} literal 0 HcmV?d00001 diff --git a/res/image/test/tile.png.import b/res/image/test/tile.png.import new file mode 100644 index 0000000..a9499b9 --- /dev/null +++ b/res/image/test/tile.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxtu12mw7fsq8" +path="res://.godot/imported/tile.png-9aeae6768d5b314413b30957805abe9e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/image/test/tile.png" +dest_files=["res://.godot/imported/tile.png-9aeae6768d5b314413b30957805abe9e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scene/behavour_tree/action_leaf.gd b/scene/behavour_tree/action_leaf.gd new file mode 100644 index 0000000..bb7b6a6 --- /dev/null +++ b/scene/behavour_tree/action_leaf.gd @@ -0,0 +1 @@ +extends ActionLeaf diff --git a/scene/behavour_tree/await_time.gd b/scene/behavour_tree/await_time.gd new file mode 100644 index 0000000..40343b6 --- /dev/null +++ b/scene/behavour_tree/await_time.gd @@ -0,0 +1,3 @@ +extends SequenceComposite +##等待 +@export var await_time:float diff --git a/scene/behavour_tree/beehave_tree.gd b/scene/behavour_tree/beehave_tree.gd new file mode 100644 index 0000000..eedc09e --- /dev/null +++ b/scene/behavour_tree/beehave_tree.gd @@ -0,0 +1 @@ +extends BeehaveTree diff --git a/scene/behavour_tree/beehave_tree.tscn b/scene/behavour_tree/beehave_tree.tscn new file mode 100644 index 0000000..ae0fc6b --- /dev/null +++ b/scene/behavour_tree/beehave_tree.tscn @@ -0,0 +1,33 @@ +[gd_scene load_steps=7 format=3 uid="uid://w2jggqirpb3q"] + +[ext_resource type="Script" path="res://scene/behavour_tree/beehave_tree.gd" id="1_r1nve"] +[ext_resource type="Script" path="res://addons/beehave/nodes/composites/selector.gd" id="2_hodda"] +[ext_resource type="Script" path="res://addons/beehave/nodes/composites/sequence.gd" id="3_1mypc"] +[ext_resource type="Script" path="res://addons/beehave/nodes/leaves/condition.gd" id="4_58d1f"] +[ext_resource type="Script" path="res://addons/beehave/nodes/leaves/action.gd" id="5_6ttu2"] +[ext_resource type="Script" path="res://scene/behavour_tree/action_leaf.gd" id="5_woxrp"] + +[node name="BeehaveTree" type="Node" node_paths=PackedStringArray("blackboard")] +script = ExtResource("1_r1nve") +blackboard = NodePath("") + +[node name="SelectorComposite" type="Node" parent="."] +script = ExtResource("2_hodda") + +[node name="SequenceComposite" type="Node" parent="SelectorComposite"] +script = ExtResource("3_1mypc") + +[node name="ConditionLeaf" type="Node" parent="SelectorComposite/SequenceComposite"] +script = ExtResource("4_58d1f") + +[node name="ActionLeaf" type="Node" parent="SelectorComposite/SequenceComposite"] +script = ExtResource("5_woxrp") + +[node name="SequenceComposite2" type="Node" parent="SelectorComposite"] +script = ExtResource("3_1mypc") + +[node name="ConditionLeaf" type="Node" parent="SelectorComposite/SequenceComposite2"] +script = ExtResource("4_58d1f") + +[node name="ActionLeaf" type="Node" parent="SelectorComposite/SequenceComposite2"] +script = ExtResource("5_6ttu2") diff --git a/scene/behavour_tree/condition_accuse.gd b/scene/behavour_tree/condition_accuse.gd new file mode 100644 index 0000000..19b1bc8 --- /dev/null +++ b/scene/behavour_tree/condition_accuse.gd @@ -0,0 +1,22 @@ +extends ConditionLeaf + + +func tick(actor:Node,black_board:Blackboard): + var unit:UnitOther=actor + var all_bodys=unit.sense_area.get_overlapping_bodies() + for i in all_bodys: + if i is Unit: + var favour=Global.get_unit_favour(unit.unit_id,i.unit_id) + var res=get_res(favour,unit.get_hungry()) + if res: + black_board.set_value("target_unit_id",i.unit_id) + return SUCCESS + return FAILURE + pass + +#返回true口角判定成功 +func get_res(favour:float,hungry:float=0)->bool: + if favour>0 or favour<-50: + return false + else: + return randf()<=(-favour/100)-hungry/300 diff --git a/scene/character/dead_scene_sprite/dead_scene.gd b/scene/character/dead_scene_sprite/dead_scene.gd new file mode 100644 index 0000000..53ac13d --- /dev/null +++ b/scene/character/dead_scene_sprite/dead_scene.gd @@ -0,0 +1,18 @@ +extends AnimatedSprite2D +@onready var animation_player: AnimationPlayer = $AnimationPlayer + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + + +func _on_animation_finished() -> void: + animation_player.play("mddulutehide") + pass # Replace with function body. + + +func _on_animation_player_animation_finished(anim_name: StringName) -> void: + queue_free() + pass # Replace with function body. diff --git a/scene/character/dead_scene_sprite/dead_scene.tscn b/scene/character/dead_scene_sprite/dead_scene.tscn new file mode 100644 index 0000000..41bda40 --- /dev/null +++ b/scene/character/dead_scene_sprite/dead_scene.tscn @@ -0,0 +1,51 @@ +[gd_scene load_steps=5 format=3 uid="uid://dey5n3rj0355t"] + +[ext_resource type="Script" path="res://scene/character/dead_scene_sprite/dead_scene.gd" id="1_ugaxh"] + +[sub_resource type="Animation" id="Animation_w6wlf"] +resource_name = "modulutehide" +length = 0.5 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} + +[sub_resource type="Animation" id="Animation_mdkhy"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_a2cak"] +_data = { +"RESET": SubResource("Animation_mdkhy"), +"modulutehide": SubResource("Animation_w6wlf") +} + +[node name="DeadScene" type="AnimatedSprite2D"] +script = ExtResource("1_ugaxh") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_a2cak") +} + +[connection signal="animation_finished" from="." to="." method="_on_animation_finished"] +[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_animation_player_animation_finished"] diff --git a/scene/class/food.gd b/scene/class/food.gd new file mode 100644 index 0000000..ebb667b --- /dev/null +++ b/scene/class/food.gd @@ -0,0 +1,17 @@ +extends Area2D +class_name Food + +var hp:float=100 +var hungry:float=100 + + + +func _ready() -> void: + + pass + + +#被吃掉,比如如果要建立一个全局,可以用这个函数删掉 +func eated(): + + self.queue_free() diff --git a/scene/test/action_accuse.gd b/scene/test/action_accuse.gd new file mode 100644 index 0000000..cfc22be --- /dev/null +++ b/scene/test/action_accuse.gd @@ -0,0 +1,10 @@ +extends ActionLeaf + +func tick(actor:Node,black_board:Blackboard): + var unit:UnitOther=actor + if black_board.has_value("target_unit_id"): + unit.accuse(black_board.get_value("target_unit_id")) + black_board.erase_value("target_unit_id") + return SUCCESS + else: + return FAILURE diff --git a/scene/test/action_accuse.tscn b/scene/test/action_accuse.tscn new file mode 100644 index 0000000..83c215b --- /dev/null +++ b/scene/test/action_accuse.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://c3pouwk6mbovv"] + +[ext_resource type="Script" path="res://scene/test/action_accuse.gd" id="1_1jbpf"] + +[node name="action_accuse" type="Node"] +script = ExtResource("1_1jbpf") diff --git a/scene/test/action_attack.gd b/scene/test/action_attack.gd new file mode 100644 index 0000000..8f15b95 --- /dev/null +++ b/scene/test/action_attack.gd @@ -0,0 +1,17 @@ +extends ActionLeaf + + +func tick(actor:Node,black_board:Blackboard): + var unit:Unit=actor + if unit.is_attacking(): + var target_unit:Unit=Global.get_unit_instance(black_board.get_value("target_unit_id")) + unit.set_target(target_unit.global_position) + return RUNNING + if unit.is_attack_finished(): + black_board.erase_value("target_unit_id") + return SUCCESS + if black_board.has_value("target_unit_id") and not unit.is_attacking(): + unit.attack() + var target_unit:Unit=Global.get_unit_instance(black_board.get_value("target_unit_id")) + unit.set_target(target_unit.global_position) + return RUNNING diff --git a/scene/test/action_attack.tscn b/scene/test/action_attack.tscn new file mode 100644 index 0000000..639b2ae --- /dev/null +++ b/scene/test/action_attack.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://bcr5oa32fvxwa"] + +[ext_resource type="Script" path="res://scene/test/action_attack.gd" id="1_ty0vr"] + +[node name="action_attack" type="Node"] +script = ExtResource("1_ty0vr") diff --git a/scene/test/action_await_time.gd b/scene/test/action_await_time.gd new file mode 100644 index 0000000..b24ec29 --- /dev/null +++ b/scene/test/action_await_time.gd @@ -0,0 +1,16 @@ +extends ActionLeaf + +@onready var timer: Timer = $Timer +var is_self_started:bool=false +func tick(actor:Node,blackboard:Blackboard): + if not is_self_started and timer.is_stopped(): + timer.start(get_parent().await_time) + is_self_started=true + return RUNNING + elif is_self_started and not timer.is_stopped(): + return RUNNING + elif is_self_started and timer.is_stopped(): + is_self_started=false + return SUCCESS + else: + return FAILED diff --git a/scene/test/action_eat.gd b/scene/test/action_eat.gd new file mode 100644 index 0000000..2b1dfd4 --- /dev/null +++ b/scene/test/action_eat.gd @@ -0,0 +1,12 @@ +extends ActionLeaf + +func tick(actor:Node,black_board:Blackboard): + var unit:Unit=actor + if black_board.has_value("target"): + + var target=black_board.get_value("target") + if target is Food and unit.is_unit_instance_in_touch_area(target) : + unit.eat(target) + return SUCCESS + return FAILURE + return FAILURE diff --git a/scene/test/action_eat.tscn b/scene/test/action_eat.tscn new file mode 100644 index 0000000..3e78511 --- /dev/null +++ b/scene/test/action_eat.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://k7sldgn2joe0"] + +[ext_resource type="Script" path="res://scene/test/action_eat.gd" id="1_ahrfw"] + +[node name="action_eat" type="Node"] +script = ExtResource("1_ahrfw") diff --git a/scene/test/action_move_to_target.gd b/scene/test/action_move_to_target.gd new file mode 100644 index 0000000..0728da6 --- /dev/null +++ b/scene/test/action_move_to_target.gd @@ -0,0 +1,64 @@ +extends ActionLeaf + +#执行成功后是否抹除黑板目标数据 +@export var should_erase_target:bool=false + +#用于移动到特定单位的可交互范围内 +func tick(actor:Node,black_board:Blackboard): + var unit:Unit=actor + if black_board.has_value("target"): + var target=black_board.get_value("target") + if not is_instance_valid(target) or not target is Node2D: + black_board.erase_value("target") + match unit.get_dir(): + 0: + unit.play_animation("up_idle") + 1: + unit.play_animation("down_idle") + 2: + unit.play_animation("left_right_idle") + 3: + unit.play_animation("left_right_idle") + unit.stop_move() + return FAILURE + #获取要移动到的目标 + if unit.is_unit_instance_in_touch_area(target): + if should_erase_target: + black_board.erase_value("target") + match unit.get_dir(): + 0: + unit.play_animation("up_idle") + 1: + unit.play_animation("down_idle") + 2: + unit.play_animation("left_right_idle") + 3: + unit.play_animation("left_right_idle") + unit.stop_move() + return SUCCESS + unit.set_target_pos(target.global_position) + match unit.get_dir(): + 0: + unit.play_animation("up") + 1: + unit.play_animation("down") + 2: + unit.play_animation("left_right") + 3: + unit.play_animation("left_right") + return RUNNING + else: + black_board.erase_value("target") + match unit.get_dir(): + 0: + unit.play_animation("up_idle") + 1: + unit.play_animation("down_idle") + 2: + unit.play_animation("left_right_idle") + 3: + unit.play_animation("left_right_idle") + unit.stop_move() + return FAILURE + + diff --git a/scene/test/action_move_to_target.tscn b/scene/test/action_move_to_target.tscn new file mode 100644 index 0000000..c61e0ac --- /dev/null +++ b/scene/test/action_move_to_target.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://b65amfq474sv7"] + +[ext_resource type="Script" path="res://scene/test/action_move_to_target.gd" id="1_2p57o"] + +[node name="action_move_to_target" type="Node"] +script = ExtResource("1_2p57o") diff --git a/scene/test/action_move_to_unit.gd b/scene/test/action_move_to_unit.gd new file mode 100644 index 0000000..bb33a19 --- /dev/null +++ b/scene/test/action_move_to_unit.gd @@ -0,0 +1,58 @@ +extends ActionLeaf +#执行成功后是否抹除黑板目标数据 +@export var should_erase_target_id:bool=false + +#用于移动到特定单位的可交互范围内 +func tick(actor:Node,black_board:Blackboard): + var unit:Unit=actor + if black_board.has_value("target_unit_id"): + var target_id:String=black_board.get_value("target_unit_id") + if Global.get_unit_instance(target_id)==null: + #移除目标 + black_board.erase_value("target_unit_id") + return FAILURE + #获取要移动到的目标实例 + var target_instance:Unit=Global.get_unit_instance(target_id) + if not unit.is_unit_instance_in_touch_area(target_instance): + unit.set_target_pos(target_instance.global_position) + match unit.get_dir(): + 0: + unit.play_animation("up") + 1: + unit.play_animation("down") + 2: + unit.play_animation("left_right") + 3: + unit.play_animation("left_right") + return RUNNING + else: + unit.stop_move() + if should_erase_target_id: + black_board.erase_value("target_unit_id") + match unit.get_dir(): + 0: + unit.play_animation("up_idle") + 1: + unit.play_animation("down_idle") + 2: + unit.play_animation("left_right_idle") + 3: + unit.play_animation("left_right_idle") + return SUCCESS + else: + black_board.erase_value("target_unit_id") + match unit.get_dir(): + 0: + unit.play_animation("up_idle") + 1: + unit.play_animation("down_idle") + 2: + unit.play_animation("left_right_idle") + 3: + unit.play_animation("left_right_idle") + return FAILURE + + pass + + + pass diff --git a/scene/test/action_move_to_unit.tscn b/scene/test/action_move_to_unit.tscn new file mode 100644 index 0000000..e7bbf96 --- /dev/null +++ b/scene/test/action_move_to_unit.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://cm7nelq3tbye6"] + +[ext_resource type="Script" path="res://scene/test/action_move_to_unit.gd" id="1_pthy4"] + +[node name="action_move_to_unit" type="Node"] +script = ExtResource("1_pthy4") diff --git a/scene/test/action_set_rand_pos.gd b/scene/test/action_set_rand_pos.gd new file mode 100644 index 0000000..a094bd8 --- /dev/null +++ b/scene/test/action_set_rand_pos.gd @@ -0,0 +1,19 @@ +extends ActionLeaf +##随机进行的距离最大值 +@export var rand_length_max:float=100 +##随机进行的距离最小值 +@export var rand_length_min:float=50 +func tick(actor:Node,black_board:Blackboard): + var unit:Unit=actor + if unit.get_hungry()>50: + rand_length_max=float(unit.get_hungry()-50)/50*2000 + else: + rand_length_max=100 + var now_pos=actor.global_position + #随机距离 + var rand_distance=randf_range(rand_length_min,rand_length_max) + #随机方向 + var rand_dir:Vector2=Vector2(2*randf()-1,2*randf()-1).normalized() + var target_pos=now_pos+rand_dir*rand_distance + black_board.set_value("run_pos",target_pos) + return SUCCESS diff --git a/scene/test/action_set_rand_pos.tscn b/scene/test/action_set_rand_pos.tscn new file mode 100644 index 0000000..e7658b5 --- /dev/null +++ b/scene/test/action_set_rand_pos.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://ldjrnwapxefe"] + +[ext_resource type="Script" path="res://scene/test/action_set_rand_pos.gd" id="1_5ly3l"] + +[node name="action_set_rand_pos" type="Node"] +script = ExtResource("1_5ly3l") diff --git a/scene/test/await_time.tscn b/scene/test/await_time.tscn new file mode 100644 index 0000000..286a8b6 --- /dev/null +++ b/scene/test/await_time.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=3 format=3 uid="uid://jkwn820drv43"] + +[ext_resource type="Script" path="res://scene/behavour_tree/await_time.gd" id="1_g7nf2"] +[ext_resource type="Script" path="res://scene/test/action_await_time.gd" id="2_1ek7g"] + +[node name="await_time" type="Node"] +script = ExtResource("1_g7nf2") + +[node name="action_await_time" type="Node" parent="."] +script = ExtResource("2_1ek7g") + +[node name="Timer" type="Timer" parent="action_await_time"] +one_shot = true diff --git a/scene/test/character.gd b/scene/test/character.gd new file mode 100644 index 0000000..14df247 --- /dev/null +++ b/scene/test/character.gd @@ -0,0 +1,293 @@ +extends CharacterBody2D +class_name Unit +#这里暂时使用中文键debug,方便调试,后会更改 +var action_emoji:Dictionary={ + "生气":"🤯", + "愤怒":"🤬", + "指责":"👈🤯", + "伤害":"😡🔪", + "友好":"🥰", + "被指责":"😟", + "受伤":"😭💔", + "饥饿":"🍽︎", + "好吃":"😋" +} +@export var unit_data:Dictionary={ + "unit_id":"default", + "unit_type":"default", + #动画资源 + "sprite_frames":"res://res/animation/other_character_default.tres", + #动画偏移 + "sprite_offset":Vector2(0,-80), + #动画缩放 + "sprite_scale":Vector2(5,5), + #基础属性 + "hp_base":100, + "atk_base":10, + "speed_base":1, + + + #攻击方式 + "attack_type":"base", + + #下面是临时生成的动态数据 + + #状态值 + #饥饿,疲劳,怒气,紧张,恐慌,压力 + "hungry":0, + "fatigue":0, + "rage":0, + "tensity":0, + + "panic":0, + #压力 + "pressure":0, + + "hp_max":100, + "hp":100, + +} +#允许的状态队列 +var state_value_array:Array=["hungry","fatigue","rage","tensity","panic","pressure","hp_max","hp"] +#设置状态值 +func get_state_value(state_value_name:String): + if state_value_name in state_value_array: + return unit_data[state_value_name] + else: + return null +#状态值改变时发出信号 +signal state_value_changed(state_value_name:String,value) +#设置状态值 +func set_state_value(state_value_name:String,value)->bool: + if state_value_name in state_value_array: + unit_data[state_value_name]=value + state_value_changed.emit(state_value_name,value) + return true + else: + return false +#获取单位ID +func get_unit_id(): + return unit_data["unit_id"] +#获取单位类型 +func get_unit_type(): + return unit_data["unit_type"] + +#快捷获取 +func get_hungry(): + return get_state_value("hungry") +func set_hungry(value): + return set_state_value("hungry",value) + + + + + +##单位的独特ID +@export var unit_id:String="default" +##单位所属族群 +@export var unit_type:String="default" +##每秒触发的timer,用于计算饥饿值积累等 +var second_timer:Timer +@export var animation:AnimatedSprite2D +const unit_speed = 300.0 +const JUMP_VELOCITY = -400.0 +@export var agent: NavigationAgent2D +@export var state_machine: StateMachine +#旋转中心轴 +@export var rotate: Node2D + +##与其他单位交互的范围,目标进入此范围内才进行交互 +@export var touch_area:Area2D +##感知范围 +@export var sense_area:Area2D + +@export var attack_area:Area2D + + + + + + +#var hungry:float=0: + #set(val): + #hungry=val + #if %hungry!=null: + #%hungry.text="饥饿值:"+str(val) +func _ready() -> void: + Global.set_unit_instance(unit_id,self) + agent.max_speed=unit_speed + agent.velocity_computed.connect(safe_speed) + if animation!=null: + animation.frame_changed.connect(frame_changed) + second_timer=Timer.new() + second_timer.autostart=true + second_timer.one_shot=false + second_timer.wait_time=1 + second_timer.timeout.connect(second_timer_time_out) + add_child(second_timer) + + var new_sprite_animation:AnimatedSprite2D=AnimatedSprite2D.new() + new_sprite_animation.sprite_frames=load(unit_data["sprite_frames"]) + + add_child(new_sprite_animation) + new_sprite_animation.position=unit_data["sprite_offset"] + new_sprite_animation.scale=unit_data["sprite_scale"] + animation=new_sprite_animation + + #state_machine.launch() +func set_target_pos(target:Vector2): + agent.target_position=target + +func _physics_process(delta: float) -> void: + if agent!=null and not is_move_finished(): + var current_pos:Vector2=global_position + var next_pos:Vector2=agent.get_next_path_position() + var new_velocity=current_pos.direction_to(next_pos)*unit_speed + if agent.avoidance_enabled: + agent.set_velocity(new_velocity) + rotate.rotation=velocity.angle() + else: + safe_speed(new_velocity) + rotate.rotation=velocity.angle() + if is_move_finished(): + velocity=Vector2.ZERO + else: + cache_velicity=velocity + if animation!=null: + if velocity.x>0: + animation.flip_h=false + if velocity.x<0: + animation.flip_h=true + + move_and_slide() + +func safe_speed(safe_velocity): + velocity=safe_velocity + +func stop_move(): + set_target_pos(self.global_position) + +func is_move_finished(): + #return agent.is_target_reached() + return agent.is_navigation_finished() + +func sent_message(type:String,value): + state_machine.send_message(type,value) + + +#判断unit实例在不在交互范围内 +func is_unit_instance_in_touch_area(instance:Node): + if touch_area==null: + return false + else: + if instance is PhysicsBody2D: + return instance in touch_area.get_overlapping_bodies() + if instance is Area2D: + return instance in touch_area.get_overlapping_areas() +#指责(口角) +func accuse(unit_id:String): + show_action("指责") + var instance=Global.get_unit_instance(unit_id) + if instance is UnitOther: + instance.accused(self.unit_id) + pass +#被指责,调用 +func accused(by_unit_id:String): + show_action("被指责") + Global.set_unit_favour(unit_id,by_unit_id,Global.get_unit_favour(unit_id,by_unit_id)-10) + pass +@export var attack_frames:int=2 + + +#攻击 +func attack(): + show_action("伤害") + match get_dir(): + 0: + play_animation("up_attack") + 1: + play_animation("down_attack") + 2: + play_animation("left_right_attack") + 3: + play_animation("left_right_attack") + pass + +func frame_changed(): + if animation.animation in [&"up_attack",&"down_attack",&"left_right_attack"] and animation.frame==attack_frames: + use_attack_damage() +func is_attack_finished(): + if animation.animation in [&"up_attack",&"down_attack",&"left_right_attack"] and not animation.is_playing(): + return true + else: + return false +func is_attacking(): + return animation.animation in [&"up_attack",&"down_attack",&"left_right_attack"] and animation.is_playing() +#在固定帧使用攻击 +func use_attack_damage(): + + for i in attack_area.get_overlapping_bodies(): + + if i is Unit and i!=self: + i.attacked(unit_id) + + pass +func attacked(by_unit_id:String): + show_action("受伤") + Global.set_unit_favour(unit_id,by_unit_id,Global.get_unit_favour(unit_id,by_unit_id)-20) + + pass +func set_target(global_pos:Vector2): + cache_velicity=global_pos-self.global_position + rotate.look_at(global_pos) + if cache_velicity.x>0: + animation.flip_h=false + if cache_velicity.x<0: + animation.flip_h=true + + pass +func show_action(type:String): + print(type) + if action_emoji.has(type): + %action_show.text=action_emoji[type] + if %action_animation.is_playing(): + %action_animation.stop() + %action_animation.play("show") + + pass +func play_animation(animation_name:String): + if animation !=null: + animation.play(animation_name) + + pass +var cache_velicity:Vector2=Vector2(1,0) +#0上,1下,2左,3右 +func get_dir()->int: + if abs(cache_velicity.y)>abs(cache_velicity.x): + + if cache_velicity.y>0: + return 1 + + else: + return 0 + + else: + if cache_velicity.x>0: + return 3 + + else: + return 2 + pass + pass + +func second_timer_time_out(): + + set_hungry(clamp(get_hungry()+10,0,100)) + + pass +func eat(food:Food): + print("吃") + show_action("好吃") + set_hungry(clamp(get_hungry()-food.hungry,0,100)) + food.eated() + pass diff --git a/scene/test/character.tscn b/scene/test/character.tscn new file mode 100644 index 0000000..4f194f2 --- /dev/null +++ b/scene/test/character.tscn @@ -0,0 +1,136 @@ +[gd_scene load_steps=15 format=3 uid="uid://cf2g2urxaukxb"] + +[ext_resource type="Script" path="res://scene/test/self_character.gd" id="1_d0trv"] +[ext_resource type="Script" path="res://scene/test/state_machine.gd" id="2_v5m4x"] +[ext_resource type="Script" path="res://scene/test/idle.gd" id="3_gcdcj"] +[ext_resource type="Script" path="res://scene/test/run.gd" id="4_c7f2w"] +[ext_resource type="Texture2D" uid="uid://csk8u15wepd1w" path="res://icon.svg" id="5_lkgch"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_740ny"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_7uxj5"] +size = Vector2(41, 34) + +[sub_resource type="Animation" id="Animation_tov45"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("action_show:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_8eva7"] +resource_name = "show" +length = 0.5 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("action_show:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1, 0.5), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [false, true, false] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_a6wya"] +_data = { +"RESET": SubResource("Animation_tov45"), +"show": SubResource("Animation_8eva7") +} + +[sub_resource type="Gradient" id="Gradient_k76nm"] +colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_akajp"] +gradient = SubResource("Gradient_k76nm") + +[sub_resource type="Gradient" id="Gradient_vdy2i"] +colors = PackedColorArray(0, 1, 0, 1, 0, 1, 0, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_jp0r7"] +gradient = SubResource("Gradient_vdy2i") + +[node name="CharacterBody2D" type="CharacterBody2D" node_paths=PackedStringArray("agent", "state_machine", "rotate")] +script = ExtResource("1_d0trv") +agent = NodePath("agent") +state_machine = NodePath("state_machine") +rotate = NodePath("rotate") + +[node name="agent" type="NavigationAgent2D" parent="."] +path_postprocessing = 1 +avoidance_enabled = true +radius = 20.0 +debug_enabled = true + +[node name="Camera2D" type="Camera2D" parent="."] +position_smoothing_enabled = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_740ny") + +[node name="state_machine" type="Node" parent="."] +script = ExtResource("2_v5m4x") +init_state = NodePath("idle") +owner_player = NodePath("..") + +[node name="idle" type="Node" parent="state_machine"] +script = ExtResource("3_gcdcj") + +[node name="run" type="Node" parent="state_machine"] +script = ExtResource("4_c7f2w") + +[node name="Node3" type="Node" parent="state_machine"] + +[node name="rotate" type="Node2D" parent="."] + +[node name="attack_area" type="Area2D" parent="rotate"] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="rotate/attack_area"] +position = Vector2(20.5, 0) +shape = SubResource("RectangleShape2D_7uxj5") + +[node name="Sprite2D" type="Sprite2D" parent="."] +visible = false +texture = ExtResource("5_lkgch") + +[node name="action_show" type="Label" parent="."] +unique_name_in_owner = true +visible = false +z_index = 1 +offset_left = -40.0 +offset_top = -75.0 +offset_right = 39.0 +offset_bottom = -6.0 +theme_override_font_sizes/font_size = 50 +text = "🤬" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="action_animation" type="AnimationPlayer" parent="."] +unique_name_in_owner = true +libraries = { +"": SubResource("AnimationLibrary_a6wya") +} + +[node name="hp" type="TextureProgressBar" parent="."] +unique_name_in_owner = true +modulate = Color(1, 1, 1, 0.580392) +offset_left = -127.0 +offset_top = -260.0 +offset_right = 129.0 +offset_bottom = -220.0 +nine_patch_stretch = true +texture_under = SubResource("GradientTexture1D_akajp") +texture_progress = SubResource("GradientTexture1D_jp0r7") + +[connection signal="state_value_changed" from="." to="." method="_on_state_value_changed"] diff --git a/scene/test/condition_accuse.tscn b/scene/test/condition_accuse.tscn new file mode 100644 index 0000000..25840e3 --- /dev/null +++ b/scene/test/condition_accuse.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://hgsb64hg78m5"] + +[ext_resource type="Script" path="res://scene/behavour_tree/condition_accuse.gd" id="1_nvtrg"] + +[node name="condition_accuse" type="Node"] +script = ExtResource("1_nvtrg") diff --git a/scene/test/condition_attack.gd b/scene/test/condition_attack.gd new file mode 100644 index 0000000..945a649 --- /dev/null +++ b/scene/test/condition_attack.gd @@ -0,0 +1,20 @@ +extends ConditionLeaf +func tick(actor:Node,black_board:Blackboard): + var unit:UnitOther=actor + var all_bodys=unit.sense_area.get_overlapping_bodies() + for i in all_bodys: + if i is Unit: + var favour=Global.get_unit_favour(unit.unit_id,i.unit_id) + var res=get_res(favour,unit.get_hungry()) + if res: + black_board.set_value("target_unit_id",i.unit_id) + return SUCCESS + return FAILURE + pass + +#返回true攻击判定成功 +func get_res(favour:float,hungry:float=0)->bool: + if favour>-50: + return false + else: + return randf()<=(-favour/100)-hungry/300 diff --git a/scene/test/condition_attack.tscn b/scene/test/condition_attack.tscn new file mode 100644 index 0000000..1b30475 --- /dev/null +++ b/scene/test/condition_attack.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://qrl0pc72e3q6"] + +[ext_resource type="Script" path="res://scene/test/condition_attack.gd" id="1_f0v72"] + +[node name="condition_attack" type="Node"] +script = ExtResource("1_f0v72") diff --git a/scene/test/condition_hungry.gd b/scene/test/condition_hungry.gd new file mode 100644 index 0000000..63e0236 --- /dev/null +++ b/scene/test/condition_hungry.gd @@ -0,0 +1,17 @@ +extends ConditionLeaf + + +func tick(actor:Node,black_board:Blackboard): + var unit:UnitOther=actor + if unit.get_hungry()<=50: + return FAILURE + if randf()>float(unit.get_hungry()-50)/50: + return FAILURE + unit.show_action("饥饿") + var all_bodys=unit.sense_area.get_overlapping_areas() + for i in all_bodys: + if i is Food: + black_board.set_value("target",i) + return SUCCESS + return FAILURE + pass diff --git a/scene/test/condition_hungry.tscn b/scene/test/condition_hungry.tscn new file mode 100644 index 0000000..0e95547 --- /dev/null +++ b/scene/test/condition_hungry.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://dukqa6ha8aeic"] + +[ext_resource type="Script" path="res://scene/test/condition_hungry.gd" id="1_7gs6t"] + +[node name="condition_hungry" type="Node"] +script = ExtResource("1_7gs6t") diff --git a/scene/test/food.tscn b/scene/test/food.tscn new file mode 100644 index 0000000..2310944 --- /dev/null +++ b/scene/test/food.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=3 format=3 uid="uid://b4mawovxv402a"] + +[ext_resource type="Script" path="res://scene/class/food.gd" id="1_3mwrm"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_q10t5"] +radius = 55.5428 + +[node name="food" type="Area2D"] +script = ExtResource("1_3mwrm") + +[node name="Label" type="Label" parent="."] +offset_left = -71.0 +offset_top = -107.0 +offset_right = 66.0 +offset_bottom = 30.0 +theme_override_font_sizes/font_size = 100 +text = "🍱" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(-3, -40) +shape = SubResource("CircleShape2D_q10t5") diff --git a/scene/test/idle.gd b/scene/test/idle.gd new file mode 100644 index 0000000..a478a19 --- /dev/null +++ b/scene/test/idle.gd @@ -0,0 +1,29 @@ +extends State + + +func enter_state(n): + pass +func update_state(delta): + + pass +func update_state_phy(delta): + match get_player().get_dir(): + 0: + get_player().play_animation("up_idle") + 1: + get_player().play_animation("down_idle") + 2: + get_player().play_animation("left_right_idle") + 3: + get_player().play_animation("left_right_idle") + pass +func exit_state(): + pass + +func process_message(type:String,n): + match type: + "move": + get_player().set_target_pos(n) + change_to_state("run") + + pass diff --git a/scene/test/other_character.gd b/scene/test/other_character.gd new file mode 100644 index 0000000..2c893b3 --- /dev/null +++ b/scene/test/other_character.gd @@ -0,0 +1,27 @@ +extends Unit +#除了玩家外的单位 +class_name UnitOther + + + +func _on_sense_area_body_entered(body: Node2D) -> void: + if body is Unit: + #自动初始化好感度 + Global.get_unit_favour(unit_id,body.unit_id) + pass # Replace with function body. + +func _ready() -> void: + super._ready() + %hp.max_value=unit_data["hp_max"] + %hp.value=unit_data["hp"] + + +func _on_state_value_changed(state_value_name: String, value: Variant) -> void: + match state_value_name: + "hungry": + %hungry.text="饥饿值:"+str(value) + "hp": + %hp.value=value + "hp_max": + %hp.max_value=value + pass # Replace with function body. diff --git a/scene/test/other_character.tscn b/scene/test/other_character.tscn new file mode 100644 index 0000000..7799e01 --- /dev/null +++ b/scene/test/other_character.tscn @@ -0,0 +1,214 @@ +[gd_scene load_steps=28 format=3 uid="uid://dl1axae8yeeeh"] + +[ext_resource type="Script" path="res://scene/test/other_character.gd" id="1_6f8fy"] +[ext_resource type="Texture2D" uid="uid://csk8u15wepd1w" path="res://icon.svg" id="2_tbr4x"] +[ext_resource type="Script" path="res://addons/beehave/nodes/beehave_tree.gd" id="2_twyt5"] +[ext_resource type="Script" path="res://addons/beehave/nodes/composites/selector.gd" id="3_0pv7j"] +[ext_resource type="PackedScene" uid="uid://ldjrnwapxefe" path="res://scene/test/action_set_rand_pos.tscn" id="3_a6loo"] +[ext_resource type="Script" path="res://addons/beehave/nodes/composites/sequence.gd" id="3_gehdk"] +[ext_resource type="PackedScene" uid="uid://jkwn820drv43" path="res://scene/test/await_time.tscn" id="4_hl4be"] +[ext_resource type="PackedScene" uid="uid://dg0gnl5n62gq6" path="res://scene/test/run_await.tscn" id="4_hydke"] +[ext_resource type="PackedScene" uid="uid://hgsb64hg78m5" path="res://scene/test/condition_accuse.tscn" id="5_tomxt"] +[ext_resource type="PackedScene" uid="uid://dukqa6ha8aeic" path="res://scene/test/condition_hungry.tscn" id="6_qkap5"] +[ext_resource type="PackedScene" uid="uid://cm7nelq3tbye6" path="res://scene/test/action_move_to_unit.tscn" id="6_wkm0p"] +[ext_resource type="PackedScene" uid="uid://b65amfq474sv7" path="res://scene/test/action_move_to_target.tscn" id="7_phvf1"] +[ext_resource type="PackedScene" uid="uid://c3pouwk6mbovv" path="res://scene/test/action_accuse.tscn" id="7_wxwf6"] +[ext_resource type="PackedScene" uid="uid://k7sldgn2joe0" path="res://scene/test/action_eat.tscn" id="8_xfqbv"] +[ext_resource type="PackedScene" uid="uid://qrl0pc72e3q6" path="res://scene/test/condition_attack.tscn" id="10_85ndl"] +[ext_resource type="PackedScene" uid="uid://bcr5oa32fvxwa" path="res://scene/test/action_attack.tscn" id="11_7tlfn"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_s46hi"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_lphpm"] +size = Vector2(121, 136) + +[sub_resource type="CircleShape2D" id="CircleShape2D_fp36j"] +radius = 104.12 + +[sub_resource type="CircleShape2D" id="CircleShape2D_0d77h"] +radius = 472.662 + +[sub_resource type="Animation" id="Animation_tov45"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("action_show:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_8eva7"] +resource_name = "show" +length = 0.5 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("action_show:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1, 0.5), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [false, true, false] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_a6wya"] +_data = { +"RESET": SubResource("Animation_tov45"), +"show": SubResource("Animation_8eva7") +} + +[sub_resource type="Gradient" id="Gradient_uhodq"] +colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_ioncu"] +gradient = SubResource("Gradient_uhodq") + +[sub_resource type="Gradient" id="Gradient_qd3pc"] +colors = PackedColorArray(0, 1, 0, 1, 0, 1, 0, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_6t72h"] +gradient = SubResource("Gradient_qd3pc") + +[node name="other_character" type="CharacterBody2D" node_paths=PackedStringArray("agent", "rotate", "touch_area", "sense_area", "attack_area")] +script = ExtResource("1_6f8fy") +agent = NodePath("agent") +rotate = NodePath("rotate") +touch_area = NodePath("touch_area") +sense_area = NodePath("sense_area") +attack_area = NodePath("rotate/attack_area") + +[node name="Sprite2D" type="Sprite2D" parent="."] +visible = false +texture = ExtResource("2_tbr4x") + +[node name="agent" type="NavigationAgent2D" parent="."] +path_postprocessing = 1 +avoidance_enabled = true +radius = 20.0 +debug_enabled = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_s46hi") + +[node name="rotate" type="Node2D" parent="."] + +[node name="attack_area" type="Area2D" parent="rotate"] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="rotate/attack_area"] +position = Vector2(60.5, 3) +shape = SubResource("RectangleShape2D_lphpm") + +[node name="BeehaveTree" type="Node" parent="." node_paths=PackedStringArray("blackboard", "actor")] +script = ExtResource("2_twyt5") +blackboard = NodePath("@Node@37976") +actor = NodePath("..") + +[node name="SelectorComposite" type="Node" parent="BeehaveTree"] +script = ExtResource("3_0pv7j") + +[node name="eat" type="Node" parent="BeehaveTree/SelectorComposite"] +script = ExtResource("3_gehdk") + +[node name="condition_hungry" parent="BeehaveTree/SelectorComposite/eat" instance=ExtResource("6_qkap5")] + +[node name="action_move_to_target" parent="BeehaveTree/SelectorComposite/eat" instance=ExtResource("7_phvf1")] + +[node name="action_eat" parent="BeehaveTree/SelectorComposite/eat" instance=ExtResource("8_xfqbv")] + +[node name="accuse" type="Node" parent="BeehaveTree/SelectorComposite"] +script = ExtResource("3_gehdk") + +[node name="condition_accuse" parent="BeehaveTree/SelectorComposite/accuse" instance=ExtResource("5_tomxt")] + +[node name="action_move_to_unit" parent="BeehaveTree/SelectorComposite/accuse" instance=ExtResource("6_wkm0p")] + +[node name="action_accuse" parent="BeehaveTree/SelectorComposite/accuse" instance=ExtResource("7_wxwf6")] + +[node name="await_time" parent="BeehaveTree/SelectorComposite/accuse" instance=ExtResource("4_hl4be")] +await_time = 2.0 + +[node name="attack" type="Node" parent="BeehaveTree/SelectorComposite"] +script = ExtResource("3_gehdk") + +[node name="condition_attack" parent="BeehaveTree/SelectorComposite/attack" instance=ExtResource("10_85ndl")] + +[node name="action_move_to_unit" parent="BeehaveTree/SelectorComposite/attack" instance=ExtResource("6_wkm0p")] + +[node name="action_attack" parent="BeehaveTree/SelectorComposite/attack" instance=ExtResource("11_7tlfn")] + +[node name="await_time" parent="BeehaveTree/SelectorComposite/attack" instance=ExtResource("4_hl4be")] +await_time = 1.0 + +[node name="rand_walk" type="Node" parent="BeehaveTree/SelectorComposite"] +script = ExtResource("3_gehdk") + +[node name="await_time" parent="BeehaveTree/SelectorComposite/rand_walk" instance=ExtResource("4_hl4be")] +await_time = 2.0 + +[node name="action_set_rand_pos" parent="BeehaveTree/SelectorComposite/rand_walk" instance=ExtResource("3_a6loo")] + +[node name="run_await" parent="BeehaveTree/SelectorComposite/rand_walk" instance=ExtResource("4_hydke")] + +[node name="touch_area" type="Area2D" parent="."] +unique_name_in_owner = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="touch_area"] +shape = SubResource("CircleShape2D_fp36j") + +[node name="sense_area" type="Area2D" parent="."] +unique_name_in_owner = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="sense_area"] +shape = SubResource("CircleShape2D_0d77h") + +[node name="action_show" type="Label" parent="."] +unique_name_in_owner = true +visible = false +z_index = 1 +offset_left = -40.0 +offset_top = -75.0 +offset_right = 39.0 +offset_bottom = -6.0 +theme_override_font_sizes/font_size = 50 +text = "🤬" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="action_animation" type="AnimationPlayer" parent="."] +unique_name_in_owner = true +libraries = { +"": SubResource("AnimationLibrary_a6wya") +} + +[node name="hungry" type="Label" parent="."] +unique_name_in_owner = true +offset_left = -56.0 +offset_top = -179.0 +offset_right = 48.0 +offset_bottom = -96.0 +theme_override_colors/font_color = Color(0, 0, 0, 1) +theme_override_font_sizes/font_size = 20 +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="hp" type="TextureProgressBar" parent="."] +unique_name_in_owner = true +modulate = Color(1, 1, 1, 0.607843) +offset_left = -128.0 +offset_top = -192.0 +offset_right = 128.0 +offset_bottom = -152.0 +nine_patch_stretch = true +texture_under = SubResource("GradientTexture1D_ioncu") +texture_progress = SubResource("GradientTexture1D_6t72h") + +[connection signal="state_value_changed" from="." to="." method="_on_state_value_changed"] +[connection signal="body_entered" from="sense_area" to="." method="_on_sense_area_body_entered"] diff --git a/scene/test/run.gd b/scene/test/run.gd new file mode 100644 index 0000000..607e1d4 --- /dev/null +++ b/scene/test/run.gd @@ -0,0 +1,32 @@ +extends State +func enter_state(n): + pass +func update_state(delta): + pass +func update_state_phy(delta): + if get_player().is_move_finished(): + + change_to_state("idle") + print("切换为idle") + return + + match get_player().get_dir(): + 0: + get_player().play_animation("up") + 1: + get_player().play_animation("down") + 2: + get_player().play_animation("left_right") + 3: + get_player().play_animation("left_right") + pass +func exit_state(): + pass + +func process_message(type:String,n): + match type: + "move": + get_player().set_target_pos(n) + change_to_state("run") + + pass diff --git a/scene/test/run_action.gd b/scene/test/run_action.gd new file mode 100644 index 0000000..f1e14ad --- /dev/null +++ b/scene/test/run_action.gd @@ -0,0 +1,79 @@ +extends ActionLeaf +#当前是否已经开始运动 +var is_started_self:bool=false +@export var time_out_time:float=2 +var is_time_out:bool=false +@onready var timer: Timer = $Timer + +func tick(actor:Node,black_board:Blackboard): + var unit:Unit=actor + if not is_started_self: + if not black_board.has_value("run_pos"): + return FAILURE + var run_pos:Vector2=black_board.get_value("run_pos") + actor.set_target_pos(run_pos) + is_started_self=true + timer.start(time_out_time) + match unit.get_dir(): + 0: + unit.play_animation("up") + 1: + unit.play_animation("down") + 2: + unit.play_animation("left_right") + 3: + unit.play_animation("left_right") + return RUNNING + + else: + if is_time_out: + is_started_self=false + black_board.erase_value("run_pos") + is_time_out=false + timer.stop() + unit.stop_move() + match unit.get_dir(): + 0: + unit.play_animation("up_idle") + 1: + unit.play_animation("down_idle") + 2: + unit.play_animation("left_right_idle") + 3: + unit.play_animation("left_right_idle") + return FAILURE + + if actor.is_move_finished(): + is_started_self=false + black_board.erase_value("run_pos") + is_time_out=false + timer.stop() + match unit.get_dir(): + 0: + unit.play_animation("up_idle") + 1: + unit.play_animation("down_idle") + 2: + unit.play_animation("left_right_idle") + 3: + unit.play_animation("left_right_idle") + return SUCCESS + else: + match unit.get_dir(): + 0: + unit.play_animation("up") + 1: + unit.play_animation("down") + 2: + unit.play_animation("left_right") + 3: + unit.play_animation("left_right") + return RUNNING + + + pass + + +func _on_timer_timeout() -> void: + is_time_out=true + pass # Replace with function body. diff --git a/scene/test/run_await.tscn b/scene/test/run_await.tscn new file mode 100644 index 0000000..a14b7dd --- /dev/null +++ b/scene/test/run_await.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=4 format=3 uid="uid://dg0gnl5n62gq6"] + +[ext_resource type="Script" path="res://addons/beehave/nodes/composites/sequence.gd" id="1_qv4d0"] +[ext_resource type="Script" path="res://scene/test/run_condition.gd" id="2_e4qcd"] +[ext_resource type="Script" path="res://scene/test/run_action.gd" id="3_w3x7t"] + +[node name="run_await" type="Node"] +script = ExtResource("1_qv4d0") + +[node name="ConditionLeaf" type="Node" parent="."] +script = ExtResource("2_e4qcd") + +[node name="ActionLeaf" type="Node" parent="."] +script = ExtResource("3_w3x7t") + +[node name="Timer" type="Timer" parent="ActionLeaf"] +wait_time = 10.0 +one_shot = true + +[connection signal="timeout" from="ActionLeaf/Timer" to="ActionLeaf" method="_on_timer_timeout"] diff --git a/scene/test/run_condition.gd b/scene/test/run_condition.gd new file mode 100644 index 0000000..8e00491 --- /dev/null +++ b/scene/test/run_condition.gd @@ -0,0 +1,9 @@ +extends ConditionLeaf + +func tick(actor:Node,black_board:Blackboard): + #如果有设置目标地点 + if black_board.has_value("run_pos"): + + return SUCCESS + else: + return FAILURE diff --git a/scene/test/self_character.gd b/scene/test/self_character.gd new file mode 100644 index 0000000..90b8516 --- /dev/null +++ b/scene/test/self_character.gd @@ -0,0 +1,15 @@ +extends Unit + +func _ready() -> void: + + super._ready() + state_machine.launch() + + +func _on_state_value_changed(state_value_name: String, value: Variant) -> void: + match state_value_name: + "hp": + %hp.value=value + "hp_max": + %hp.max_value=value + pass # Replace with function body. diff --git a/scene/test/state_machine.gd b/scene/test/state_machine.gd new file mode 100644 index 0000000..dc29904 --- /dev/null +++ b/scene/test/state_machine.gd @@ -0,0 +1 @@ +extends StateMachine diff --git a/scene/test/test_main.gd b/scene/test/test_main.gd new file mode 100644 index 0000000..87094c8 --- /dev/null +++ b/scene/test/test_main.gd @@ -0,0 +1,14 @@ +extends Node2D +@export var player: CharacterBody2D + +func _physics_process(delta: float) -> void: + %mouse_finder.position=get_global_mouse_position() + + +func _on_control_gui_input(event: InputEvent) -> void: + if event.is_action_pressed("mouse_right"): + if player: + player.sent_message("move",player.get_global_mouse_position()) + pass + + pass # Replace with function body. diff --git a/scene/test/test_main.tscn b/scene/test/test_main.tscn new file mode 100644 index 0000000..4935546 --- /dev/null +++ b/scene/test/test_main.tscn @@ -0,0 +1,137 @@ +[gd_scene load_steps=10 format=4 uid="uid://1wl1fl3qtxc"] + +[ext_resource type="Script" path="res://scene/test/test_main.gd" id="1_aimp4"] +[ext_resource type="Texture2D" uid="uid://dxtu12mw7fsq8" path="res://res/image/test/tile.png" id="1_jp0cd"] +[ext_resource type="PackedScene" uid="uid://cf2g2urxaukxb" path="res://scene/test/character.tscn" id="2_nvm7o"] +[ext_resource type="PackedScene" uid="uid://b4mawovxv402a" path="res://scene/test/food.tscn" id="3_fgsvv"] +[ext_resource type="PackedScene" uid="uid://dl1axae8yeeeh" path="res://scene/test/other_character.tscn" id="4_eyxcn"] + +[sub_resource type="NavigationPolygon" id="NavigationPolygon_tjudi"] +vertices = PackedVector2Array(32, 32, -32, 32, -32, -32, 32, -32) +polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)]) +outlines = Array[PackedVector2Array]([PackedVector2Array(-32, -32, 32, -32, 32, 32, -32, 32)]) +agent_radius = 0.0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_pe5ig"] +texture = ExtResource("1_jp0cd") +texture_region_size = Vector2i(64, 64) +0:0/0 = 0 +0:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_tjudi") +0:1/0 = 0 +0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -32, 32, -32, 32, 32, -32, 32) + +[sub_resource type="TileSet" id="TileSet_jmwcd"] +tile_size = Vector2i(64, 64) +physics_layer_0/collision_layer = 1 +navigation_layer_0/layers = 1 +sources/0 = SubResource("TileSetAtlasSource_pe5ig") + +[sub_resource type="CircleShape2D" id="CircleShape2D_shajf"] + +[node name="main" type="Node2D" node_paths=PackedStringArray("player")] +script = ExtResource("1_aimp4") +player = NodePath("CB_add_pos/CharacterBody2D") + +[node name="Node2D" type="Node2D" parent="."] + +[node name="navigation" type="TileMapLayer" parent="Node2D"] +unique_name_in_owner = true +tile_map_data = PackedByteArray("AAD0//r/AAAAAAAAAAD0//v/AAAAAAEAAAD0//z/AAAAAAEAAAD0//3/AAAAAAAAAAD0//7/AAAAAAAAAAD0////AAAAAAAAAAD0/wAAAAAAAAAAAAD0/wEAAAAAAAAAAAD0/wIAAAAAAAAAAAD0/wMAAAAAAAEAAAD0/wQAAAAAAAEAAAD0/wUAAAAAAAAAAAD1/wYAAAAAAAEAAAD2/wYAAAAAAAEAAAD3/wcAAAAAAAAAAAD4/wcAAAAAAAEAAAD5/wcAAAAAAAAAAAD6/wgAAAAAAAEAAAD7/wgAAAAAAAAAAAD8/wgAAAAAAAAAAAD9/wgAAAAAAAAAAAD+/wgAAAAAAAAAAAD+/wkAAAAAAAEAAAD//wkAAAAAAAAAAAAAAAkAAAAAAAAAAAABAAkAAAAAAAAAAAACAAkAAAAAAAAAAAADAAkAAAAAAAAAAAAEAAkAAAAAAAAAAAAFAAkAAAAAAAEAAAAGAAkAAAAAAAEAAAAHAAkAAAAAAAAAAAAIAAkAAAAAAAAAAAAJAAkAAAAAAAAAAAAKAAkAAAAAAAAAAAALAAkAAAAAAAAAAAAMAAkAAAAAAAAAAAAMAAgAAAAAAAAAAAANAAgAAAAAAAAAAAANAAcAAAAAAAAAAAANAAYAAAAAAAAAAAANAAUAAAAAAAAAAAANAAQAAAAAAAAAAAANAAMAAAAAAAAAAAAMAAMAAAAAAAAAAAAMAAIAAAAAAAAAAAAMAAEAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAP//AAAAAAAAAAALAP//AAAAAAAAAAALAP7/AAAAAAAAAAAKAP7/AAAAAAAAAAAKAP3/AAAAAAAAAAAJAP3/AAAAAAAAAAAIAPz/AAAAAAEAAAAHAPz/AAAAAAEAAAAHAPv/AAAAAAAAAAAGAPv/AAAAAAAAAAAFAPv/AAAAAAEAAAAEAPv/AAAAAAEAAAADAPv/AAAAAAEAAAADAPr/AAAAAAAAAAACAPr/AAAAAAAAAAABAPr/AAAAAAAAAAAAAPr/AAAAAAAAAAD///r/AAAAAAAAAAD+//r/AAAAAAAAAAD+//v/AAAAAAAAAAD9//v/AAAAAAAAAAD9//z/AAAAAAAAAAD9//3/AAAAAAAAAAD9//7/AAAAAAAAAAD+//7/AAAAAAAAAAD+////AAAAAAAAAAD+/wAAAAAAAAAAAAD//wAAAAAAAAAAAAD//wEAAAAAAAAAAAD//wIAAAAAAAAAAAD//wMAAAAAAAAAAAD//wQAAAAAAAEAAAAAAAQAAAAAAAAAAAABAAQAAAAAAAAAAAABAAMAAAAAAAAAAAACAAIAAAAAAAAAAADu//f/AAAAAAAAAADu//j/AAAAAAAAAADu//n/AAAAAAAAAADu//r/AAAAAAAAAADu//v/AAAAAAAAAADu//z/AAAAAAAAAADu//3/AAAAAAAAAADu//7/AAAAAAAAAADu////AAAAAAAAAADu/wAAAAAAAAAAAADu/wEAAAAAAAAAAADu/wIAAAAAAAAAAADu/wMAAAAAAAAAAADu/wQAAAAAAAAAAADu/wUAAAAAAAAAAADu/wYAAAAAAAAAAADu/wcAAAAAAAAAAADu/wgAAAAAAAAAAADu/wkAAAAAAAAAAADu/woAAAAAAAAAAADu/wsAAAAAAAAAAADv//f/AAAAAAAAAADv//j/AAAAAAAAAADv//n/AAAAAAAAAADv//r/AAAAAAAAAADv//v/AAAAAAAAAADv//z/AAAAAAAAAADv//3/AAAAAAAAAADv//7/AAAAAAAAAADv////AAAAAAAAAADv/wAAAAAAAAAAAADv/wEAAAAAAAAAAADv/wIAAAAAAAAAAADv/wMAAAAAAAAAAADv/wQAAAAAAAAAAADv/wUAAAAAAAAAAADv/wYAAAAAAAAAAADv/wcAAAAAAAAAAADv/wgAAAAAAAAAAADv/wkAAAAAAAAAAADv/woAAAAAAAAAAADv/wsAAAAAAAAAAADw//f/AAAAAAAAAADw//j/AAAAAAAAAADw//n/AAAAAAAAAADw//r/AAAAAAAAAADw//v/AAAAAAAAAADw//z/AAAAAAAAAADw//3/AAAAAAAAAADw//7/AAAAAAAAAADw////AAAAAAAAAADw/wAAAAAAAAAAAADw/wEAAAAAAAAAAADw/wIAAAAAAAAAAADw/wMAAAAAAAAAAADw/wQAAAAAAAAAAADw/wUAAAAAAAAAAADw/wYAAAAAAAAAAADw/wcAAAAAAAAAAADw/wgAAAAAAAAAAADw/wkAAAAAAAAAAADw/woAAAAAAAAAAADw/wsAAAAAAAAAAADx//f/AAAAAAAAAADx//j/AAAAAAAAAADx//n/AAAAAAAAAADx//r/AAAAAAAAAADx//v/AAAAAAAAAADx//z/AAAAAAAAAADx//3/AAAAAAAAAADx//7/AAAAAAAAAADx////AAAAAAAAAADx/wAAAAAAAAAAAADx/wEAAAAAAAAAAADx/wIAAAAAAAAAAADx/wMAAAAAAAAAAADx/wQAAAAAAAAAAADx/wUAAAAAAAAAAADx/wYAAAAAAAAAAADx/wcAAAAAAAAAAADx/wgAAAAAAAAAAADx/wkAAAAAAAAAAADx/woAAAAAAAAAAADx/wsAAAAAAAAAAADy//f/AAAAAAAAAADy//j/AAAAAAAAAADy//n/AAAAAAAAAADy//r/AAAAAAAAAADy//v/AAAAAAEAAADy//z/AAAAAAEAAADy//3/AAAAAAEAAADy//7/AAAAAAEAAADy////AAAAAAEAAADy/wAAAAAAAAEAAADy/wEAAAAAAAAAAADy/wIAAAAAAAAAAADy/wMAAAAAAAAAAADy/wQAAAAAAAAAAADy/wUAAAAAAAAAAADy/wYAAAAAAAAAAADy/wcAAAAAAAAAAADy/wgAAAAAAAAAAADy/wkAAAAAAAAAAADy/woAAAAAAAAAAADy/wsAAAAAAAAAAADz//f/AAAAAAAAAADz//j/AAAAAAAAAADz//n/AAAAAAAAAADz//r/AAAAAAAAAADz//v/AAAAAAEAAADz//z/AAAAAAEAAADz//3/AAAAAAAAAADz//7/AAAAAAAAAADz////AAAAAAAAAADz/wAAAAAAAAEAAADz/wEAAAAAAAEAAADz/wIAAAAAAAEAAADz/wMAAAAAAAEAAADz/wQAAAAAAAAAAADz/wUAAAAAAAAAAADz/wYAAAAAAAAAAADz/wcAAAAAAAAAAADz/wgAAAAAAAAAAADz/wkAAAAAAAAAAADz/woAAAAAAAAAAADz/wsAAAAAAAAAAAD0//f/AAAAAAAAAAD0//j/AAAAAAAAAAD0//n/AAAAAAAAAAD0/wYAAAAAAAAAAAD0/wcAAAAAAAAAAAD0/wgAAAAAAAAAAAD0/wkAAAAAAAAAAAD0/woAAAAAAAAAAAD0/wsAAAAAAAAAAAD1//f/AAAAAAAAAAD1//j/AAAAAAAAAAD1//n/AAAAAAAAAAD1//r/AAAAAAAAAAD1//v/AAAAAAEAAAD1//z/AAAAAAEAAAD1//3/AAAAAAAAAAD1//7/AAAAAAAAAAD1////AAAAAAAAAAD1/wAAAAAAAAAAAAD1/wEAAAAAAAAAAAD1/wIAAAAAAAAAAAD1/wMAAAAAAAAAAAD1/wQAAAAAAAEAAAD1/wUAAAAAAAEAAAD1/wcAAAAAAAAAAAD1/wgAAAAAAAAAAAD1/wkAAAAAAAAAAAD1/woAAAAAAAAAAAD1/wsAAAAAAAAAAAD2//f/AAAAAAAAAAD2//j/AAAAAAAAAAD2//n/AAAAAAAAAAD2//r/AAAAAAAAAAD2//v/AAAAAAEAAAD2//z/AAAAAAEAAAD2//3/AAAAAAAAAAD2//7/AAAAAAAAAAD2////AAAAAAAAAAD2/wAAAAAAAAAAAAD2/wEAAAAAAAAAAAD2/wIAAAAAAAAAAAD2/wMAAAAAAAAAAAD2/wQAAAAAAAAAAAD2/wUAAAAAAAAAAAD2/wcAAAAAAAAAAAD2/wgAAAAAAAAAAAD2/wkAAAAAAAAAAAD2/woAAAAAAAAAAAD2/wsAAAAAAAAAAAD3//f/AAAAAAAAAAD3//j/AAAAAAAAAAD3//n/AAAAAAAAAAD3//r/AAAAAAAAAAD3//v/AAAAAAEAAAD3//z/AAAAAAEAAAD3//3/AAAAAAAAAAD3//7/AAAAAAAAAAD3////AAAAAAAAAAD3/wAAAAAAAAAAAAD3/wEAAAAAAAAAAAD3/wIAAAAAAAAAAAD3/wMAAAAAAAAAAAD3/wQAAAAAAAAAAAD3/wUAAAAAAAAAAAD3/wYAAAAAAAEAAAD3/wgAAAAAAAAAAAD3/wkAAAAAAAAAAAD3/woAAAAAAAAAAAD3/wsAAAAAAAAAAAD4//f/AAAAAAAAAAD4//j/AAAAAAAAAAD4//n/AAAAAAAAAAD4//r/AAAAAAAAAAD4//v/AAAAAAEAAAD4//z/AAAAAAEAAAD4//3/AAAAAAAAAAD4//7/AAAAAAAAAAD4////AAAAAAAAAAD4/wAAAAAAAAAAAAD4/wEAAAAAAAAAAAD4/wIAAAAAAAAAAAD4/wMAAAAAAAAAAAD4/wQAAAAAAAAAAAD4/wUAAAAAAAAAAAD4/wYAAAAAAAEAAAD4/wgAAAAAAAEAAAD4/wkAAAAAAAAAAAD4/woAAAAAAAAAAAD4/wsAAAAAAAAAAAD5//f/AAAAAAAAAAD5//j/AAAAAAAAAAD5//n/AAAAAAAAAAD5//r/AAAAAAAAAAD5//v/AAAAAAEAAAD5//z/AAAAAAEAAAD5//3/AAAAAAAAAAD5//7/AAAAAAAAAAD5////AAAAAAAAAAD5/wAAAAAAAAAAAAD5/wEAAAAAAAAAAAD5/wIAAAAAAAAAAAD5/wMAAAAAAAAAAAD5/wQAAAAAAAAAAAD5/wUAAAAAAAAAAAD5/wYAAAAAAAAAAAD5/wgAAAAAAAEAAAD5/wkAAAAAAAAAAAD5/woAAAAAAAAAAAD5/wsAAAAAAAAAAAD6//f/AAAAAAAAAAD6//j/AAAAAAAAAAD6//n/AAAAAAAAAAD6//r/AAAAAAAAAAD6//v/AAAAAAEAAAD6//z/AAAAAAEAAAD6//3/AAAAAAAAAAD6//7/AAAAAAAAAAD6////AAAAAAAAAAD6/wAAAAAAAAAAAAD6/wEAAAAAAAAAAAD6/wIAAAAAAAAAAAD6/wMAAAAAAAAAAAD6/wQAAAAAAAAAAAD6/wUAAAAAAAAAAAD6/wYAAAAAAAAAAAD6/wcAAAAAAAAAAAD6/wkAAAAAAAEAAAD6/woAAAAAAAAAAAD6/wsAAAAAAAAAAAD7//f/AAAAAAAAAAD7//j/AAAAAAAAAAD7//n/AAAAAAAAAAD7//r/AAAAAAAAAAD7//v/AAAAAAEAAAD7//z/AAAAAAEAAAD7//3/AAAAAAAAAAD7//7/AAAAAAAAAAD7////AAAAAAAAAAD7/wAAAAAAAAAAAAD7/wEAAAAAAAAAAAD7/wIAAAAAAAAAAAD7/wMAAAAAAAAAAAD7/wQAAAAAAAAAAAD7/wUAAAAAAAAAAAD7/wYAAAAAAAAAAAD7/wcAAAAAAAAAAAD7/wkAAAAAAAEAAAD7/woAAAAAAAAAAAD7/wsAAAAAAAAAAAD8//f/AAAAAAAAAAD8//j/AAAAAAAAAAD8//n/AAAAAAAAAAD8//r/AAAAAAAAAAD8//v/AAAAAAEAAAD8//z/AAAAAAEAAAD8//3/AAAAAAAAAAD8//7/AAAAAAAAAAD8////AAAAAAAAAAD8/wAAAAAAAAAAAAD8/wEAAAAAAAAAAAD8/wIAAAAAAAAAAAD8/wMAAAAAAAAAAAD8/wQAAAAAAAAAAAD8/wUAAAAAAAAAAAD8/wYAAAAAAAAAAAD8/wcAAAAAAAAAAAD8/wkAAAAAAAEAAAD8/woAAAAAAAAAAAD8/wsAAAAAAAAAAAD9//f/AAAAAAAAAAD9//j/AAAAAAAAAAD9//n/AAAAAAAAAAD9//r/AAAAAAAAAAD9////AAAAAAAAAAD9/wAAAAAAAAAAAAD9/wEAAAAAAAAAAAD9/wIAAAAAAAAAAAD9/wMAAAAAAAAAAAD9/wQAAAAAAAAAAAD9/wUAAAAAAAAAAAD9/wYAAAAAAAAAAAD9/wcAAAAAAAAAAAD9/wkAAAAAAAEAAAD9/woAAAAAAAAAAAD9/wsAAAAAAAAAAAD+//f/AAAAAAAAAAD+//j/AAAAAAAAAAD+//n/AAAAAAAAAAD+//z/AAAAAAAAAAD+//3/AAAAAAAAAAD+/wEAAAAAAAAAAAD+/wIAAAAAAAAAAAD+/wMAAAAAAAAAAAD+/wQAAAAAAAAAAAD+/wUAAAAAAAAAAAD+/wYAAAAAAAAAAAD+/wcAAAAAAAAAAAD+/woAAAAAAAEAAAD+/wsAAAAAAAAAAAD///f/AAAAAAAAAAD///j/AAAAAAAAAAD///n/AAAAAAAAAAD///v/AAAAAAAAAAD///z/AAAAAAAAAAD///3/AAAAAAAAAAD///7/AAAAAAAAAAD/////AAAAAAAAAAD//wUAAAAAAAEAAAD//wYAAAAAAAAAAAD//wcAAAAAAAAAAAD//wgAAAAAAAAAAAD//woAAAAAAAEAAAD//wsAAAAAAAAAAAAAAPf/AAAAAAAAAAAAAPj/AAAAAAAAAAAAAPn/AAAAAAAAAAAAAPv/AAAAAAAAAAAAAPz/AAAAAAAAAAAAAP3/AAAAAAAAAAAAAP7/AAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAUAAAAAAAEAAAAAAAYAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAoAAAAAAAEAAAAAAAsAAAAAAAAAAAABAPf/AAAAAAAAAAABAPj/AAAAAAAAAAABAPn/AAAAAAAAAAABAPv/AAAAAAAAAAABAPz/AAAAAAAAAAABAP3/AAAAAAAAAAABAP7/AAAAAAAAAAABAP//AAAAAAAAAAABAAAAAAAAAAAAAAABAAEAAAAAAAAAAAABAAIAAAAAAAAAAAABAAUAAAAAAAEAAAABAAYAAAAAAAAAAAABAAcAAAAAAAAAAAABAAgAAAAAAAAAAAABAAoAAAAAAAEAAAABAAsAAAAAAAAAAAACAPf/AAAAAAAAAAACAPj/AAAAAAAAAAACAPn/AAAAAAAAAAACAPv/AAAAAAEAAAACAPz/AAAAAAEAAAACAP3/AAAAAAEAAAACAP7/AAAAAAEAAAACAP//AAAAAAAAAAACAAAAAAAAAAAAAAACAAEAAAAAAAAAAAACAAMAAAAAAAAAAAACAAQAAAAAAAAAAAACAAUAAAAAAAEAAAACAAYAAAAAAAAAAAACAAcAAAAAAAAAAAACAAgAAAAAAAAAAAACAAoAAAAAAAEAAAACAAsAAAAAAAAAAAADAPf/AAAAAAAAAAADAPj/AAAAAAAAAAADAPn/AAAAAAAAAAADAPz/AAAAAAAAAAADAP3/AAAAAAAAAAADAP7/AAAAAAEAAAADAP//AAAAAAEAAAADAAAAAAAAAAAAAAADAAEAAAAAAAAAAAADAAIAAAAAAAAAAAADAAMAAAAAAAAAAAADAAQAAAAAAAEAAAADAAUAAAAAAAEAAAADAAYAAAAAAAAAAAADAAcAAAAAAAAAAAADAAgAAAAAAAAAAAADAAoAAAAAAAEAAAADAAsAAAAAAAAAAAAEAPf/AAAAAAAAAAAEAPj/AAAAAAAAAAAEAPn/AAAAAAAAAAAEAPr/AAAAAAAAAAAEAPz/AAAAAAAAAAAEAP3/AAAAAAAAAAAEAP7/AAAAAAAAAAAEAP//AAAAAAEAAAAEAAAAAAAAAAEAAAAEAAEAAAAAAAEAAAAEAAIAAAAAAAEAAAAEAAMAAAAAAAEAAAAEAAQAAAAAAAEAAAAEAAUAAAAAAAEAAAAEAAYAAAAAAAAAAAAEAAcAAAAAAAAAAAAEAAgAAAAAAAAAAAAEAAoAAAAAAAEAAAAEAAsAAAAAAAAAAAAFAPf/AAAAAAAAAAAFAPj/AAAAAAAAAAAFAPn/AAAAAAAAAAAFAPr/AAAAAAAAAAAFAPz/AAAAAAEAAAAFAP3/AAAAAAAAAAAFAP7/AAAAAAAAAAAFAP//AAAAAAAAAAAFAAAAAAAAAAEAAAAFAAEAAAAAAAEAAAAFAAIAAAAAAAAAAAAFAAMAAAAAAAAAAAAFAAQAAAAAAAAAAAAFAAUAAAAAAAAAAAAFAAYAAAAAAAAAAAAFAAcAAAAAAAAAAAAFAAgAAAAAAAAAAAAFAAoAAAAAAAEAAAAFAAsAAAAAAAAAAAAGAPf/AAAAAAAAAAAGAPj/AAAAAAAAAAAGAPn/AAAAAAAAAAAGAPr/AAAAAAAAAAAGAPz/AAAAAAEAAAAGAP3/AAAAAAAAAAAGAP7/AAAAAAAAAAAGAP//AAAAAAAAAAAGAAAAAAAAAAAAAAAGAAEAAAAAAAAAAAAGAAIAAAAAAAAAAAAGAAMAAAAAAAAAAAAGAAQAAAAAAAAAAAAGAAUAAAAAAAAAAAAGAAYAAAAAAAAAAAAGAAcAAAAAAAAAAAAGAAgAAAAAAAEAAAAGAAoAAAAAAAAAAAAGAAsAAAAAAAAAAAAHAPf/AAAAAAAAAAAHAPj/AAAAAAAAAAAHAPn/AAAAAAAAAAAHAPr/AAAAAAAAAAAHAP3/AAAAAAAAAAAHAP7/AAAAAAAAAAAHAP//AAAAAAAAAAAHAAAAAAAAAAAAAAAHAAEAAAAAAAAAAAAHAAIAAAAAAAAAAAAHAAMAAAAAAAAAAAAHAAQAAAAAAAAAAAAHAAUAAAAAAAAAAAAHAAYAAAAAAAAAAAAHAAcAAAAAAAEAAAAHAAgAAAAAAAEAAAAHAAoAAAAAAAAAAAAHAAsAAAAAAAAAAAAIAPf/AAAAAAAAAAAIAPj/AAAAAAAAAAAIAPn/AAAAAAAAAAAIAPr/AAAAAAAAAAAIAPv/AAAAAAAAAAAIAP3/AAAAAAEAAAAIAP7/AAAAAAEAAAAIAP//AAAAAAAAAAAIAAAAAAAAAAAAAAAIAAEAAAAAAAAAAAAIAAIAAAAAAAAAAAAIAAMAAAAAAAAAAAAIAAQAAAAAAAAAAAAIAAUAAAAAAAAAAAAIAAYAAAAAAAEAAAAIAAcAAAAAAAEAAAAIAAgAAAAAAAAAAAAIAAoAAAAAAAAAAAAIAAsAAAAAAAAAAAAJAPf/AAAAAAAAAAAJAPj/AAAAAAAAAAAJAPn/AAAAAAAAAAAJAPr/AAAAAAAAAAAJAPv/AAAAAAAAAAAJAPz/AAAAAAAAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAAAAEAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAAAAEAAAAJAAUAAAAAAAEAAAAJAAYAAAAAAAEAAAAJAAcAAAAAAAAAAAAJAAgAAAAAAAAAAAAJAAoAAAAAAAAAAAAJAAsAAAAAAAAAAAAKAPf/AAAAAAAAAAAKAPj/AAAAAAAAAAAKAPn/AAAAAAAAAAAKAPr/AAAAAAAAAAAKAPv/AAAAAAAAAAAKAPz/AAAAAAAAAAAKAP//AAAAAAAAAAAKAAAAAAAAAAAAAAAKAAEAAAAAAAAAAAAKAAIAAAAAAAAAAAAKAAMAAAAAAAAAAAAKAAQAAAAAAAAAAAAKAAUAAAAAAAAAAAAKAAYAAAAAAAAAAAAKAAcAAAAAAAAAAAAKAAgAAAAAAAAAAAAKAAoAAAAAAAAAAAAKAAsAAAAAAAAAAAALAPf/AAAAAAAAAAALAPj/AAAAAAAAAAALAPn/AAAAAAAAAAALAPr/AAAAAAAAAAALAPv/AAAAAAAAAAALAPz/AAAAAAAAAAALAP3/AAAAAAAAAAALAAAAAAAAAAAAAAALAAEAAAAAAAAAAAALAAIAAAAAAAAAAAALAAMAAAAAAAAAAAALAAQAAAAAAAAAAAALAAUAAAAAAAAAAAALAAYAAAAAAAAAAAALAAcAAAAAAAAAAAALAAgAAAAAAAAAAAALAAoAAAAAAAAAAAALAAsAAAAAAAAAAAAMAPf/AAAAAAAAAAAMAPj/AAAAAAAAAAAMAPn/AAAAAAAAAAAMAPr/AAAAAAAAAAAMAPv/AAAAAAAAAAAMAPz/AAAAAAAAAAAMAP3/AAAAAAAAAAAMAP7/AAAAAAAAAAAMAAQAAAAAAAAAAAAMAAUAAAAAAAAAAAAMAAYAAAAAAAAAAAAMAAcAAAAAAAAAAAAMAAoAAAAAAAAAAAAMAAsAAAAAAAAAAAANAPf/AAAAAAAAAAANAPj/AAAAAAAAAAANAPn/AAAAAAAAAAANAPr/AAAAAAAAAAANAPv/AAAAAAAAAAANAPz/AAAAAAAAAAANAP3/AAAAAAAAAAANAP7/AAAAAAAAAAANAP//AAAAAAAAAAANAAAAAAAAAAAAAAANAAEAAAAAAAAAAAANAAIAAAAAAAAAAAANAAkAAAAAAAAAAAANAAoAAAAAAAAAAAANAAsAAAAAAAAAAAAOAPf/AAAAAAAAAAAOAPj/AAAAAAAAAAAOAPn/AAAAAAAAAAAOAPr/AAAAAAAAAAAOAPv/AAAAAAAAAAAOAPz/AAAAAAEAAAAOAP3/AAAAAAAAAAAOAP7/AAAAAAAAAAAOAP//AAAAAAAAAAAOAAAAAAAAAAAAAAAOAAEAAAAAAAAAAAAOAAIAAAAAAAAAAAAOAAMAAAAAAAAAAAAOAAQAAAAAAAAAAAAOAAUAAAAAAAAAAAAOAAYAAAAAAAAAAAAOAAcAAAAAAAAAAAAOAAgAAAAAAAAAAAAOAAkAAAAAAAAAAAAOAAoAAAAAAAAAAAAOAAsAAAAAAAAAAAAPAPf/AAAAAAAAAAAPAPj/AAAAAAAAAAAPAPn/AAAAAAEAAAAPAPr/AAAAAAEAAAAPAPv/AAAAAAEAAAAPAPz/AAAAAAEAAAAPAP3/AAAAAAEAAAAPAP7/AAAAAAEAAAAPAP//AAAAAAAAAAAPAAAAAAAAAAAAAAAPAAEAAAAAAAAAAAAPAAIAAAAAAAAAAAAPAAMAAAAAAAAAAAAPAAQAAAAAAAAAAAAPAAUAAAAAAAAAAAAPAAYAAAAAAAAAAAAPAAcAAAAAAAAAAAAPAAgAAAAAAAAAAAAPAAkAAAAAAAAAAAAPAAoAAAAAAAAAAAAPAAsAAAAAAAAAAAAQAPf/AAAAAAAAAAAQAPj/AAAAAAAAAAAQAPn/AAAAAAEAAAAQAPr/AAAAAAAAAAAQAPv/AAAAAAAAAAAQAPz/AAAAAAAAAAAQAP3/AAAAAAAAAAAQAP7/AAAAAAEAAAAQAP//AAAAAAAAAAAQAAAAAAAAAAAAAAAQAAEAAAAAAAAAAAAQAAIAAAAAAAAAAAAQAAMAAAAAAAAAAAAQAAQAAAAAAAAAAAAQAAUAAAAAAAAAAAAQAAYAAAAAAAAAAAAQAAcAAAAAAAAAAAAQAAgAAAAAAAAAAAAQAAkAAAAAAAAAAAAQAAoAAAAAAAAAAAAQAAsAAAAAAAAAAAARAPf/AAAAAAAAAAARAPj/AAAAAAAAAAARAPn/AAAAAAEAAAARAPr/AAAAAAAAAAARAPv/AAAAAAAAAAARAPz/AAAAAAAAAAARAP3/AAAAAAAAAAARAP7/AAAAAAEAAAARAP//AAAAAAAAAAARAAAAAAAAAAAAAAARAAEAAAAAAAAAAAARAAIAAAAAAAAAAAARAAMAAAAAAAAAAAARAAQAAAAAAAAAAAARAAUAAAAAAAAAAAARAAYAAAAAAAAAAAARAAcAAAAAAAAAAAARAAgAAAAAAAAAAAARAAkAAAAAAAAAAAARAAoAAAAAAAAAAAARAAsAAAAAAAAAAAASAPf/AAAAAAAAAAASAPj/AAAAAAAAAAASAPn/AAAAAAEAAAASAPr/AAAAAAEAAAASAPv/AAAAAAEAAAASAPz/AAAAAAAAAAASAP3/AAAAAAEAAAASAP7/AAAAAAEAAAASAP//AAAAAAAAAAASAAAAAAAAAAAAAAASAAEAAAAAAAAAAAASAAIAAAAAAAAAAAASAAMAAAAAAAAAAAASAAQAAAAAAAAAAAASAAUAAAAAAAAAAAASAAYAAAAAAAAAAAASAAcAAAAAAAAAAAASAAgAAAAAAAAAAAASAAkAAAAAAAAAAAASAAoAAAAAAAAAAAASAAsAAAAAAAAAAAATAPf/AAAAAAAAAAATAPj/AAAAAAAAAAATAPn/AAAAAAEAAAATAPr/AAAAAAEAAAATAPv/AAAAAAEAAAATAPz/AAAAAAEAAAATAP3/AAAAAAEAAAATAP7/AAAAAAEAAAATAP//AAAAAAAAAAATAAAAAAAAAAAAAAATAAEAAAAAAAAAAAATAAIAAAAAAAAAAAATAAMAAAAAAAAAAAATAAQAAAAAAAAAAAATAAUAAAAAAAAAAAATAAYAAAAAAAAAAAATAAcAAAAAAAAAAAATAAgAAAAAAAAAAAATAAkAAAAAAAAAAAATAAoAAAAAAAAAAAATAAsAAAAAAAAAAAAUAPf/AAAAAAAAAAAUAPj/AAAAAAAAAAAUAPn/AAAAAAAAAAAUAPr/AAAAAAAAAAAUAPv/AAAAAAAAAAAUAPz/AAAAAAAAAAAUAP3/AAAAAAAAAAAUAP7/AAAAAAAAAAAUAP//AAAAAAAAAAAUAAAAAAAAAAAAAAAUAAEAAAAAAAAAAAAUAAIAAAAAAAAAAAAUAAMAAAAAAAAAAAAUAAQAAAAAAAAAAAAUAAUAAAAAAAAAAAAUAAYAAAAAAAAAAAAUAAcAAAAAAAAAAAAUAAgAAAAAAAAAAAAUAAkAAAAAAAAAAAAUAAoAAAAAAAAAAAAUAAsAAAAAAAAAAAAVAPf/AAAAAAAAAAAVAPj/AAAAAAAAAAAVAPn/AAAAAAAAAAAVAPr/AAAAAAAAAAAVAPv/AAAAAAAAAAAVAPz/AAAAAAAAAAAVAP3/AAAAAAAAAAAVAP7/AAAAAAAAAAAVAP//AAAAAAAAAAAVAAAAAAAAAAAAAAAVAAEAAAAAAAAAAAAVAAIAAAAAAAAAAAAVAAMAAAAAAAAAAAAVAAQAAAAAAAAAAAAVAAUAAAAAAAAAAAAVAAYAAAAAAAAAAAAVAAcAAAAAAAAAAAAVAAgAAAAAAAAAAAAVAAkAAAAAAAAAAAAVAAoAAAAAAAAAAAAVAAsAAAAAAAAAAAA=") +tile_set = SubResource("TileSet_jmwcd") + +[node name="back" type="TileMapLayer" parent="Node2D"] + +[node name="build" type="TileMapLayer" parent="Node2D"] + +[node name="CanvasLayer" type="CanvasLayer" parent="."] + +[node name="Control" type="Control" parent="CanvasLayer"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="mouse_finder" type="Area2D" parent="."] +unique_name_in_owner = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="mouse_finder"] +shape = SubResource("CircleShape2D_shajf") + +[node name="CB_add_pos" type="Node2D" parent="."] +unique_name_in_owner = true +y_sort_enabled = true + +[node name="CharacterBody2D" parent="CB_add_pos" instance=ExtResource("2_nvm7o")] +unit_id = "player" +unit_type = "player" + +[node name="other_character" parent="CB_add_pos" instance=ExtResource("4_eyxcn")] +position = Vector2(1048, 119) +unit_id = "test_1_1" +unit_type = "test_1" + +[node name="other_character2" parent="CB_add_pos" instance=ExtResource("4_eyxcn")] +position = Vector2(548, -436) +unit_id = "test_1_2" +unit_type = "test_1" + +[node name="other_character5" parent="CB_add_pos" instance=ExtResource("4_eyxcn")] +position = Vector2(-871, 442) +unit_id = "test_1_3" +unit_type = "test_1" + +[node name="other_character3" parent="CB_add_pos" instance=ExtResource("4_eyxcn")] +position = Vector2(-649, 649) +unit_id = "test_2_1" +unit_type = "test_2" + +[node name="other_character4" parent="CB_add_pos" instance=ExtResource("4_eyxcn")] +position = Vector2(-429, -13) +unit_id = "test_2_2" +unit_type = "test_2" + +[node name="food" parent="CB_add_pos" instance=ExtResource("3_fgsvv")] +position = Vector2(-917, -398) + +[node name="food2" parent="CB_add_pos" instance=ExtResource("3_fgsvv")] +position = Vector2(-986, -147) + +[node name="food3" parent="CB_add_pos" instance=ExtResource("3_fgsvv")] +position = Vector2(-491, -411) + +[node name="food4" parent="CB_add_pos" instance=ExtResource("3_fgsvv")] +position = Vector2(-66, -408) + +[node name="food5" parent="CB_add_pos" instance=ExtResource("3_fgsvv")] +position = Vector2(343, -416) + +[node name="food6" parent="CB_add_pos" instance=ExtResource("3_fgsvv")] +position = Vector2(433, 275) + +[node name="food7" parent="CB_add_pos" instance=ExtResource("3_fgsvv")] +position = Vector2(161, 131) + +[node name="food8" parent="CB_add_pos" instance=ExtResource("3_fgsvv")] +position = Vector2(-176, 192) + +[node name="food9" parent="CB_add_pos" instance=ExtResource("3_fgsvv")] +position = Vector2(-580, 86) + +[node name="food10" parent="CB_add_pos" instance=ExtResource("3_fgsvv")] +position = Vector2(-360, 343) + +[node name="food11" parent="CB_add_pos" instance=ExtResource("3_fgsvv")] +position = Vector2(154, 522) + +[node name="food12" parent="CB_add_pos" instance=ExtResource("3_fgsvv")] +position = Vector2(615, 638) + +[node name="food13" parent="CB_add_pos" instance=ExtResource("3_fgsvv")] +position = Vector2(1091, 597) + +[node name="food14" parent="CB_add_pos" instance=ExtResource("3_fgsvv")] +position = Vector2(464, 0) + +[connection signal="gui_input" from="CanvasLayer/Control" to="." method="_on_control_gui_input"] diff --git a/tool/drawer_container/drawer_container.gd b/tool/drawer_container/drawer_container.gd new file mode 100644 index 0000000..99609d9 --- /dev/null +++ b/tool/drawer_container/drawer_container.gd @@ -0,0 +1,246 @@ +@tool +extends Container +##抽屉容器节点,可以用于将子节点侧滑,开启clip content可以做到完全隐藏子节点 +class_name DrawerContainer +##按钮大小 +@export var custom_button_size:Vector2=Vector2.ZERO: + set(val): + custom_button_size=val + side_button_size_changed() + fit_children() + fit_side_button() +var button_size:Vector2=Vector2(100,200): + set(val): + button_size=val + fit_children() + fit_side_button() +##按钮场景,根节点必须为basebutton或继承自basebutton,留空则使用默认按钮 +@export var button_tscn:PackedScene +##布局模式 +@export var button_model:BUTTON_MODEL=BUTTON_MODEL.TOP +enum BUTTON_MODEL{ + ##按钮在上方,向下收纳 + TOP=0, + ##按钮在下方,向上收纳 + END=1, + ##按钮在左方,向右收纳 + LEFT=2, + ##按钮在右方,向左收纳 + RIGHT=3, +} +##动画时间 +@export var animation_time:float=0.5 +##是否自动隐藏 +@export var is_auto_hide:bool=false +#隐藏计时器 +@onready var hide_timer:Timer=Timer.new() +##是否自动收缩 +@export var is_auto_shrink:bool=false +##是否禁用按钮 +@export var disable_button:bool=false: + set(val): + disable_button=val + fit_side_button() + fit_side_button() + if side_button!=null: + if val : + side_button.hide() + else: + side_button.show() +##动画过渡模式 +@export var animation_model:Tween.TransitionType=Tween.TransitionType.TRANS_BACK +##当前持有的动画 +var now_keep_tween:Tween +##当前是否打开 +@export var is_open:bool=true +##持有的抽屉控制按钮的实例(内部节点) +var side_button:BaseButton + +##获取当前持有的侧边按钮 +func get_side_button()->BaseButton: + return side_button + +##当前动画状态,0为完全打开,1为完全关闭 +@export var rag:float=0: + set(val): + rag=val + fit_side_button() + fit_children() + minimum_size_changed.emit() +func _ready() -> void: + add_child(hide_timer,false,Node.INTERNAL_MODE_FRONT) + hide_timer.one_shot=true + hide_timer.timeout.connect(hide_time_out) + if is_open: + rag=0 + else: + rag=1 + if button_tscn!=null: + var new_btn=button_tscn.instantiate() + if new_btn is BaseButton: + side_button=new_btn + add_child(new_btn,false,Node.INTERNAL_MODE_FRONT) + else: + new_btn=Button.new() + side_button=new_btn + add_child(new_btn,false,Node.INTERNAL_MODE_FRONT) + else: + var new_btn=Button.new() + side_button=new_btn + add_child(new_btn,false,Node.INTERNAL_MODE_FRONT) + side_button.pressed.connect(change_open) + side_button.minimum_size_changed.connect(side_button_size_changed) + side_button_size_changed() + if disable_button: + side_button.hide() + resized.connect(resize) + resize() + _re_ready() + pass # Replace with function body. +##因为占用了ready函数,所以留了一个新的虚函数给使用节点重写 +func _re_ready()->void: + + + + pass +##对侧边栏按钮进行适配 +func fit_side_button()->void: + var rect:Rect2 + if side_button!=null: + match button_model: + BUTTON_MODEL.TOP: + rect=Rect2(0,(size.y-button_size.y)*rag,size.x,button_size.y) + BUTTON_MODEL.END: + rect=Rect2(0,(size.y-button_size.y)*(1-rag),size.x,button_size.y) + BUTTON_MODEL.LEFT: + rect=Rect2((size.x-button_size.x)*rag,0,button_size.x,size.y) + BUTTON_MODEL.RIGHT: + rect=Rect2((size.x-button_size.x)*(1-rag),0,button_size.x,size.y) + + _: + rect=Rect2() + fit_child_in_rect(side_button,rect) +##对子节点进行适配 +func fit_children()->void: + var rect:Rect2 + if !disable_button: + match button_model: + BUTTON_MODEL.TOP: + rect=Rect2(0,(size.y-button_size.y)*rag+button_size.y,size.x,size.y-button_size.y) + BUTTON_MODEL.END: + rect=Rect2(0,(size.y-button_size.y)*(-rag),size.x,size.y-button_size.y) + BUTTON_MODEL.LEFT: + rect=Rect2((size.x-button_size.x)*rag+button_size.x,0,size.x-button_size.x,size.y) + BUTTON_MODEL.RIGHT: + rect=Rect2((size.x-button_size.x)*(-rag),0,size.x-button_size.x,size.y) + _: + rect=Rect2() + else: + match button_model: + BUTTON_MODEL.TOP: + rect=Rect2(0,(size.y)*rag+button_size.y,size.x,size.y) + BUTTON_MODEL.END: + rect=Rect2(0,(size.y)*(-rag),size.x,size.y) + BUTTON_MODEL.LEFT: + rect=Rect2((size.x)*rag,0,size.x,size.y) + BUTTON_MODEL.RIGHT: + rect=Rect2((size.x)*(-rag),0,size.x,size.y) + _: + rect=Rect2() + + + pass + for i in get_children(): + if i is Control: + fit_child_in_rect(i,rect) + +##更改窗口的开闭状态,使用动画 +func change_open(opened:bool=false): + if opened==is_open: + return + if now_keep_tween!=null: + now_keep_tween.kill() + if !opened: + if is_auto_hide: + hide_timer.start(animation_time) + pass + now_keep_tween=create_tween() + now_keep_tween.set_trans(animation_model) + now_keep_tween.tween_property(self,"rag",1,animation_time) + else: + now_keep_tween=create_tween() + now_keep_tween.set_trans(animation_model) + now_keep_tween.tween_property(self,"rag",0,animation_time) + if is_auto_hide: + show() + hide_timer.stop() + is_open=opened + + + + pass +##当此节点大小改变时触发 +func resize(): + fit_side_button() + fit_children() +##重写的虚函数,用于获取当前节点的最小大小 +func _get_minimum_size() -> Vector2: + var res:Vector2=Vector2.ZERO + + for i in get_children(): + if i is Control: + var i_size:Vector2=i.get_minimum_size() + res=Vector2(max(res.x,i_size.x),max(res.y,i_size.y)) + if not is_auto_shrink: + if !disable_button: + match button_model: + BUTTON_MODEL.TOP: + res=Vector2(max(res.x,button_size.x),res.y+button_size.y) + BUTTON_MODEL.END: + res=Vector2(max(res.x,button_size.x),res.y+button_size.y) + BUTTON_MODEL.LEFT: + res=Vector2(res.x+button_size.x,max(res.y,button_size.y)) + BUTTON_MODEL.RIGHT: + res=Vector2(res.x+button_size.x,max(res.y,button_size.y)) + _: + res=Vector2.ZERO + else: + if !disable_button: + match button_model: + BUTTON_MODEL.TOP: + res=Vector2(max(res.x,button_size.x),res.y*rag+button_size.y) + BUTTON_MODEL.END: + res=Vector2(max(res.x,button_size.x),res.y*rag+button_size.y) + BUTTON_MODEL.LEFT: + res=Vector2(res.x*rag+button_size.x,max(res.y,button_size.y)) + BUTTON_MODEL.RIGHT: + res=Vector2(res.x*rag+button_size.x,max(res.y,button_size.y)) + _: + res=Vector2.ZERO + else: + match button_model: + BUTTON_MODEL.TOP: + res=Vector2(res.x,res.y*(1-rag)) + BUTTON_MODEL.END: + res=Vector2(res.x*rag,res.y*(1-rag)) + BUTTON_MODEL.LEFT: + res=Vector2(res.x*(1-rag),res.y) + BUTTON_MODEL.RIGHT: + res=Vector2(res.x*rag,res.y*(1-rag)) + _: + res=Vector2.ZERO + pass + + return res +##当侧边栏按钮大小更改时调用 +func side_button_size_changed()->void: + if side_button: + var new_size=side_button.get_minimum_size() + button_size=Vector2(max(custom_button_size.x,new_size.x),max(custom_button_size.y,new_size.y)) + +func _process(delta: float) -> void: + if Engine.is_editor_hint(): + fit_children() + pass +func hide_time_out(): + hide() diff --git a/tool/state_machine/state.gd b/tool/state_machine/state.gd new file mode 100644 index 0000000..517612b --- /dev/null +++ b/tool/state_machine/state.gd @@ -0,0 +1,45 @@ +extends Node +##状态机根节点类 +class_name StateMachine +##状态机进入时候的状态 +@export var init_state:NodePath="stable_1"##进入时的状态 +@export var owner_player:NodePath="stable_1"##拥有此状态机的节点路径 +@onready var state_list=get_children() ##所拥有的状态节点的数组 +@onready var state_now:State=get_node(init_state) ##当前的状态节点 +@onready var player =get_node(owner_player) ##通过角色路径获取到的节点 +func _ready(): + set_process(false) +##启动状态机 +func launch(): + state_now=get_node(init_state) + state_now.enter_state(1) + set_process(true) +func _process(delta): + if state_now!=null: + state_now.update_state(delta) +func _physics_process(delta): + if state_now!=null: + state_now.update_state_phy(delta) +##判断n节点是否在状态机节点所拥有的状态中 +func is_in_list(n)->bool: + if n in state_list: + return true + return false +##将状态节点切换为n,并调用对应的init stable方法和exit stable方法,传入s +func change_state(n:String,s): + var change_to=get_node(n) + if change_to&&is_in_list(change_to)&&state_now!=change_to: + state_now.exit_state() + state_now=change_to + state_now.enter_state(s) + +##获取当前状态的状态名 +func get_state_name()->String: + return self.state_now.state_name + +func get_state(state_name:String): + return self.get_node(state_name) +func send_message(type:String,n=0): + if state_now!=null: + state_now.process_message(type,n) + pass diff --git a/tool/state_machine/state_root.gd b/tool/state_machine/state_root.gd new file mode 100644 index 0000000..5a5ffde --- /dev/null +++ b/tool/state_machine/state_root.gd @@ -0,0 +1,32 @@ +extends Node +class_name State +var timer +@onready var root=get_node("..") as StateMachine +@export var need_timer:bool=false +func _ready(): + if need_timer: + timer=Timer.new() + timer.set_one_shot(true) + self.add_child(timer) + timer.timeout.connect(Callable(self,"time_out")) + +func enter_state(n): + pass +func update_state(delta): + pass +func update_state_phy(delta): + pass +func exit_state(): + pass +func change_to_state(state_name:String,s=0): + root.change_state(state_name,s) + pass + +func time_out(): + pass +func get_player(): + return root.player +func process_message(type:String,n): + + + pass

6D>S;huY$z*e2`xMM_A}DJ6_(<@Y*lQw> zhRGd^a>l#Hal)W@i1!}jAe9EcM-B>Q9c|Z(=goR4(g0<38h9x5xgb4Sj54dRRydd zhH=DlQE1yP05)TDhEc}EbQNTFIf-|H3ot0bE>^I%?Pn2csv~A5ezIEPL7yh`K|AR4 z8kI~Lg`zemD}1fu=~#(v#hdd@|KG&S|J6?v&?|jK(T_?@m}SQ=a0Qa3LNka?CEC4w7^dN*!(GLf0?Q8f*QVKVy_ukCe~ zCeqd&8e3}=TzVzX^}}pD&rL}@i7N9*@hFn?*tXG*x9j>Vg9>?XkyY?}m6AB+?=aou zP&WvaoY!=cK!RY;%qIt`;0jFpd;_PLmjy+XI5YVNpl|F<)C8 zMS{b2ox&)Af#R(i%F!dr*(6vlu{52NQ^;*1SB&zOGS84_Qu*-nX9pCXpRON=$`eSG zUQP>*i5N>135cZ&h}cl7z#AV_Lty%d$;sQ6tsDQFc8!4(JSa`&RE%^1$SFG7f+S|d zWDSAN&8Xqw7rM=Bsp^gu!)2&ZkC|b z8qvm~A0#<|xBFZ*NN;TFeg)p;#vQ>(BBxkSnhHU2yQ{#+T~-@nWicojPe4}MdCV+h zXayHsS*%H{QW6gXN7)+Gts0OGqv@}jw#Q0=;7Hp;nWlxN?-4y#hxb4F3{PKdaOc)_ zn~X{&;f&$Uwtxi9L0R!U@b`z>Bp_sB9|P9XqW4<8kpJS$EDc&Y^NUu&a-fbzgd}** zO3h>ZK(7}O@lTqo(N8K?{Eu-!Z9mv_lx_vo-mwj%a{{M!eJ{VS*Xik~ z;5?LDV}f4iY&1_|FR{Nkl5sot*6vX2ffL~Q#YTaA*!%9a;^v{mOg4VtWO-ZlLrtB! z3XBSi1c4AeIY=QbM})O8hJGHbc<=xWvutXEp++ z+aDk%;fZ1nd6r^-s4?4O&b~2xC_yMab+6(?dhOUj!}5KYBZHhS5RQilQu2LL&cX_e z%xwaIn_VSI97iT&GEop(fY;lS)tNAm#juSwAlys@+JnI1=fCOM9 z4qYc+zm4jYw);w*5@R#20)R44jr+n;F*kP{hj{nBkMOsDdIJFP&X1qqU;N+=+dOUC zn`EVFd#gO+IMh+?WV$Bj#BZrAGLx?G-y24WV6GdHpB!Ug4p-M)u7D~%#`|HI36om= zaT7YNpvmZ;TdhE?TI6TDu16emup-a`X$!34rE8#R+hAT+MJ{ng+kK^`eZ3MP#UqMI zENsUu8AiEGa&W8Iw2S}%AOJ~3K~#_C58ZWxU2^O+NF!lzVi?XQcZ3mW*+B|RRW~x( zbwW5bB5XZRWof-jISk{hoJlK&xgC!}{d`CK{m*~>jrI4&gS$5F_uu#~fV;O}LKG-h zLemvFYNjYo%-gTJ{~dJ1Dv`Bw?i6vMQAdqQ9NTHjajH9Fa8g3RQ$9^1vxr@2zPaRB zg$kw(rfcHn-~^8#Dv4PX`~R|H&-h-rcp3N84`QU1Br%$%MV_Zt&NIh~ z-a6E<6-SA)rM?FoX_q+a^-8Mbrk5LP)Ku14O2UWDSQ`p=C96sn&Aac<2g32!J3oGc zAHMm}7RRH9ckzo~e*yq_^VNIE(*%F}?)&!huiw9eVHohir(b^Ca>1Lg-a{0I_=jJ9 zaOIGz>K5;R^ceu)2X8#UAlFI;7m*Q8DQ&6LK#KtMFbZwp{A_JBienoKwzPoKHT2oZA<~=w z5n%@h*u^En=)|h%QQaGPfb{)fM)|yG7hXH96o3@LrO*tXw@*e>DUT)x4B@gs8<_+StN@1_b zQ+XWcm}C(}M#!_+ZXx==h@FFAJe^_&oCJ{CPJ!Mqjz9?0l`(j)%u7okkTz2OPO=pI zixIm?9N~1m#Pf>{mTHMGPaH-wZZbh$aFn0bNqmvW7(^1o+$zQ-u^MPQF$I^yE5d}? zaZ<>W(Kntc0Q~Kr-oW4f=?%Q|<6j?DE1w+w?~m>0=D+*tH~#GE@BX&G^Xn^r_Rfz# z_}YJe@f&{M=XmqsJvlhkONoGR7&3s+8Mw>M!=XZ=?gyNP)wPV(MOQT^+zO~a$3kUU zDz|bNm=0{N@FO9^>VQSKV`A*S&`Qlu6Z#-P5K2qbbh}0i&!b z@~M(kI6zStBGszvWVOKlAYk;Qt?4jIID>fkga|{a^7?TyGc^WJ_Wfv=DS>_-gv8Zo zgUpF?9EFGj(d!v!Zkh~~4)ijto7SiVX7ll#>+fR(U;pOu5B>aCAA?G1QHMM0%jse$ z8#6OP+Mv7-PL}BRLcLF}yq!U{R#np)JM=jIIf*09ArkCly((>F%`q`FU1M-%UDJ&w zwr$(a#I|kTIGNa(*tYG7ZQIGjp4j$xpRelul}hT~s*`>8?%ln5t<`ovUqHt$_icT8 zb&|t_*6Mhrhdxf%$5H$EGho1|$UE(s8L%Qe*!97T)N#EHSj}Du6*WpcKkVH^HmlAx zMtU<#I0>b}hcqRUUyJAO3&dTB9wak%cun+E_etikj-oILF(hk1A%KUuK-`*cbc{A>;hd8HgFUTCzXKnBg8+rM(3+>5e!Wmv38__)a z*3m0Z52S)vY;yi0Zxlfc@HoMn$s*Y8jY=n~NHG9y$mBnM+=Jw=^h67!Ju1wtlKQ$J z4a@A7$XaBINk~wvVZ@$ya>Sxvx_74uNXy8pw_-2pgfPr=%MfnKQ1xe{s!Y*azx4B` zM$(HfHvQFXHfuTk%E>|deWa&q%@OWxQJeCUZgA%TYuXLs0wN;R{To%zkERMIn6H+Mj3OTp|ZXs@(W74})FRBwlI>pc; zgKGhW6*&A#$Qj|kv%G-A)#bCpGvQl(sA+d~>TiGF1b=d<5G7=;v7vg9t8&*w@XWTUE2W6IHdOVs zlz2RsgO4fRU@gPe=k4&cw2fdZmM|1X)J*xx%a3B0SYcrw4Y?vzq_ng5!RP14ItN{U zO~ibM&hGGcGe%Ah2K@zIa}COfhH$!iL*FNpq9Vt&p(s+(qR)x|kHL#s@U=~4Op}D; zCr8no^b-Sx27fE-z2JgC0uxDsiTeu2mKC*&$;b=mb>B{-WV>80hqwgG@_{cUK;pU41C-A1>LiunnXkyyD`$71-E4yu6LI`Xoa~d{A-6Ul zI2>4<(qOW4fw0R+NUl4uzdu)bk7BDxC9R{Y1t|QbZj4<7E{@U}nPUrFb8Ru9c;r02I z<3JA*+j^YOGQENbhBw$qZqf4kdb(Z;xuop*qa-{q-Wy%Qnz%NJ24|4h#sS+~l;pt8 zUr76Kpi=FL!A^ZqEWl33a*m7}R#Z2;MnM8v$dA3xMTY1mHc85 zLs$_R2l>m{BR6-7#fh~g z*>J;mQM&}%Y)(S|?$d5TkNf$~P&jMHk#wP2 z46r#$o_I0O-Ev;%7P;_*$A1!Rv&>D({mb##^}}qaWPKrnX|BgFW%fPwCzOQo!B0Ek z!;c`_O~`}YV5P2?!8)8-d-? z?xvD#_^T=%$?ux8&FuLZn;J1-LCr2x0S}ERv|@`2*N&DR;?2)(CM{e7q%yJIKBqL6Ca55o|W{>hv^gMhrT zEcn%ZP3DN0C*T>{*;mJZmb&EC2Uo@5Gv*U zD;D1W+nsQ2`f=V;@xOv?aqr``_nR)89xHVlxnkjE*uv6?IKq0g)qNMt_6bT%n3(oa zM{Q}7*@f%W%%UJWziBztoZ}XR1IZSWyh&whk?{&Q5bPdN>}A@8DQYl zt75-L2qtEGLZ>CO$t1;~ldVc&UHGCB_dF#2qq0LeNT(WpZ>r0E%$GNJb6MUJ=r(n`-q51kbIQJf>b)1h`{DnvhSueCujkk@eo*KC26r$GBG*I>3}t-~ zdO3g4 z`)?QHY@VMo95^E=f}YR5OO>B=4Qf(B@3_k7>B#BlDKqh-+lvMJyuf<}Ut9zG4{DiP zJm~_xykq_HoRA#>o&2a(=gc+|(v$nP*H)Vs(5MNWX@@_p^(-*2>zxq9l9-QbV-%}n z*Lh%F@!)SRn))-n#+&ek)qti!&#gyeRWuF0IEmlW*Qm$aK5E@&d*Ek5e*qx6n+A@! znRD-N_a)NKDt*k@*9DHQ=YGouWvcd&)ROcR`H2(xq_I-mhf9n({cR!#_|sdooSTYg zMk@)%R=i6kxA*nRO4DtrYA8K)$bXD;O$1*jIoAhIF*Y8K$CR~(e8R{O9`Ezun>|hl zz{Ob_`I;0rUZGYRpdNg(s_PdY`L;Nx(IB3~)5Cn^mV0@v`#I7Wg$Z*r#x4$5<;+kb=J>#~rV zV4zX_-6p?;W{n#n?$wh2{I|zsPX4*h_5F+;zCNz9#2RZ{8aU=oC0~oeM4vjmQXfhm zU7+MRYo?nYFkzylva==?SeHXZ16tg|sf__x-9F}#h%%0TOt%^Ic*f4=@ej(bD%{q6 zpSa(y3V#0R@atO}N1ZjWT{2J)H|komBHD{hA6mGhwqeKkn(e7nwm^#{RehF>V4qlk z@XQd|PZVoRJ?-b(C{&Okj6xXu))e&Gkho^QeiQt^JOhbqmg6a9Rg6`|6Rjm z4zcb1u_5>#RkU+|eY5kO^$nZncZ*@r<7EHFw0!}*3(owY3tNYs)f-O>*dH0OPz=({oDHKqy9yT=xm4GA2)t&l|pHY6M0207$h| zj`K_+_ke|AMZvaQwVAHl^FLRgk73o#b|-rXJ&-oH4#>~0Eaeq5{iJxh2s~-jy+N}5 zGn;2aiQOQ&!MN~G&YMeOcKqpH^Ms}vkM6N_#Ro0cH&+W$C)?h$UEsEEKXHFZjtf$H zl&H5a^;}fhN48lW*a)RpI9m|w&K=;{HEF~`D8WO~e7Q?{)c^cAs-trf>hOh2B2SWVWc-!knbFwoo)A3#GvC-(fsQ>j3P%M@=#` zh#{soq5*JhmfcdsEld?~=%UuMlb}>iUwIROb(==C ze{Kl;-b;)i+#s^My@BQiT06E?rTscH69!Wi8>pNv#+Aj&O3PNjIGoR}fUR8bmS(9i z9+l@mCQd%G9>U5Ild!lNX)ghf2~xJrAL(?&I+#1Xzf{dR3OZCqcq8w+{(=l1m~yiCU>p*HSPvM8y`g6w)^%=g&xKPS*CZ8|Rv0LvXu0d9)L+=k=eU(= zuu6yZ!%AVw;oLLuHpC^_8s*Msvs1cQ+z>yRjVr`-Cn3jFVNUP_iUO%|@ll}mJ1jFZ z`?A7Nwh%lW!S3FxI_ih(C*qF}vbUT)0Suh+B#p1Q2ta3ZHQ00r4^uFIAmY;PSS|z+^UL&ejO+2+ZhW z^%P`_HucQCd*%-k3aQfBTd>44C~c6n^EKhXD$>O2_S4&)Vv7<1k^urVm;kJ0ZHdv+ zx_T|UfilTMToW1mH1HI8F&Lak^wvv-)Jvj2IWUGD-e9+1ZPY*{{hgc`XMIovt{RbV`Znq>MBs5MK!NW64O98rVq*YrL@AO81&&23BvMSCb;$U_*xN%C9TOMREf`t_3) zAZs_#v8Fz77RDAPm*_8`D@*`c|4!olz3&{=_rq#KVG!L5t$?$##&%m6@( z$H80#&XkQ6tFt*%32CsLY(uXNH4OG$w5Han(KJ( z2Qgb4_wqTn;L0xn<{vFefE%;Yjmn1g8n?{hiu8r z;-G52>`~>N#w}tsnUHo&;}!5cK-v;6)$p{5H)Vl@WCErTZeO|jx|_RD1GUm&hOzRH zp%lDXw)+Om4L^cG%$cq#j9il0m^*Jo^ugRm=30ldp@F@5=CS%AZ1^l%6W(7MysV@l z1%c`jK+|Lf@`N16%k=rRE)p>#@1FHZOo0=JF!LI`e~H{IO{@|+PD>bUSch;frN+8~ zf%Cy6DHjV+nzkztQ*4pX)A)kuuU3c%-j0@Ir`N;sPbFap3qs_u5IAvLS4BfLK>?N= zF4wIPi1bOUUy3`h!qUbtae5m&RS8Zq$7(SQHGO%o&sL6mPr;tBb9TmuC>()s>B^o= z%fuZ&Hq4z$#LBz>IfdJy;;_!vsuwvMg<)cB;nrt5q`cpDQTsk3`X&S(*&V$KssD=6 zk4HuS+Zf9)yZ-`yfV4>9j1$ ztV<^XF6BVN{!&R`wYNdv1?=B-+h^9hGPwO=3-=$BFzi08^FHjR2Us|W>ZUV^ewnJ) zrQ@c}^nbQ0ep4p|b1E)}l0Q)9mu`yOUHrHv2@$*NPA$WdA^tc=3Ij-pCmuNkcdcTRsQ3X zG&gW_b%FykN&Yr(G_D!Ngc6$nUIOs4w#34#FIP+AP+*y|BAmO^lG|8?Ln*3dFTPTe z{rBWW@!(xPw(PAnx9O#xnK#KU4}3f;zFYNm%^-xBB9F6(@Y~^=aF(&9 z&HotEK06P{#=2qhe*otm3t9Q_b=_@WxmqhXlBY}N?uzgWF8@iiLtq+ zWAlo^*&>^gtWCz81T0 z5Z6T<<1{sb>)zXNP>{MVAMmRfD0d(1&=EgBk84i9&)Z`VGq8cCK%ATGr5ino=EIWz z3a*!j$+EUz=M)jBq1eX0-!bnCMAt|!cWXZkI^2SQEm*m?vD(2xdghZRsc@4Vc|0lf z=z}q4Jm=q-=JrIWR3O49$dCoMW>UpIPbR_aD4lAdf19l#XXb#yGfx~tpGPpJ9q!Tb zN{DRWbQj;>T!dZlLiTY?c|CnG_o^QkKs^F@_NG}5p<{LIn6wFflct2&B0%`3;63+`;4YO>2Lr9)#jN>#*HTrj)b6vh|d zdAV-|CL}XF@Av;bG%z@X1C#u35Rexx|GT;yOMk}iccdLpIESBIQO4Ph<<>qgYiMG| z;e1@Pw{h3L#Xt83RIZ=^pdi>8DPQa8s7X?7I_MUp5;(y%M=hiINz4+DYU(x*kU{T* z+}ce~Rdt(~@RdY2chl!U%YgyvA>hJ95LJL{)xYn%u=CHS|f{~)wl9by_&@t;pwTaBmSAf>lVA1t7SLhL4NE$LIJBh zRqkWQcM9$APv-q@B*9@|D-i9)%)JkIZo=~T?RWS`XSd&>2if<5qA)lAxyW)6{83^{ znpspS)=)L)Ykz80=8RI<`4xdS?@1^HZmyKnCtty&g*QLu1bltS?mRN7atF`jn$>zf zHJ~<4M7#XItwqZn1rpEt4}O%619diIxl6| zAaodbQH49hBWnpA+_$f?GP!`MlsP12dP}5}+%Cm~dKz+iGd8ZDTLP@yMQxvctNgjHHk zk>}D+pJDv@D9qcx! z41GefR%dUj;shnj&?31JmH#zFw6}A1PPCCty+xuQ7ox8J*sljaf=iIXkxXbVkz=fn zZfjv{WHMHm)Ojm%-yYzOc{%U>rkGLC)T%o1%%se&#=;IonPqBi`@WM$pJ00hwq&iA zndLk1jd-aPjBq$EvKv7H`*>^uCqzaj%o8>&W%Kc9)$^s=F1^s+7os{Vbw7>;-#|YO zZ(FZ>!o;=HjSW_xfi+#|FGMEB);6b0^s@6GddRziAEUio3Nt{`WNW>z6a%q%$wy%n zC6$p+PBK)6o>&Q*F*Y`*s6JM`OvI1KTd3Z5fj(LFkE2Db1roJ=!5&&Tk87v;wS$s- zwCvh6XuW{%^Y7OP^3m7^f5sMX?r@8QRJJ7_RQDQJriI8SB@XC2`uYhnO<^2U`x3ib z55M{Zc4#VWs_FbhZjlYQ(Dm>AU`0p2774*r%865rgh5&CWQnh_C?Nnk}G(A4;y|rOT*DYKRS)x69*{R>Tfx)he zktu;*=q!3Q8lBPw2i`t6e;EG28Q{oI=hqLy}g zw57rlRXCQAV6+yKj2@r<-gqON4-f=oe!RP{%RM-~m*w+WnG9LGg7vf?xKg6QzK)IF zmBa%?-RC%#VK=p{5yIo=#;hJiVPh;}waB=@xgN?k`Wi5rJk#uN-6vtZ8TSo(w*r@G zv$Rec$&1c+)RqER$ z4+??#QyTF->gmogR0R%;@pqo?;VNYBOta6;?oZU(yjrJEmze*y^VK_1gtPu z$}+2%vD$_vrQw*ls4fzKNc{2I7FBDx=H~pNF>QxxdFM)Lqc~O#SEr^y{1@WODU)B! z23M^yK2;YG0ME{=b~^Y#XVT{zzRWrXT0b*UkPAoT13B8*PwV3gtS8)&mdE75@jS`w z(xewp&LknLvkHW0^F)%;E96GvzZf%v(!@iB$Cc2(N@Vii@7Ca0=qFU@;l_Kst_Kwv znw^{JZytszetuohnS!zLh9woLysz=gBA}6s(Hc5?*gZkH_WgQV*OEtZ1Zs5T*x}|_ ziJM~>F3!j7yMdVn-d^pp&u2H%Pmb47FYW!J+1%YlraZvoaWs_pKnX~;GxIz=o!V6X zIRrljf`UU5+p%NF1}WOexII(QdQpQeoq&rb9E;#Vzw7%5&)3+F8B`oQ+JGFkB_zA6hA+3+5z&&9AWiRgd#*TT^Xk(4Uu+&7%@gcTn>ElX z{IPLYdp#^uaz5oA20-70x2<60^sb7P5X8a5QyTRC@pZ%#!mUt#l$n`alUKs>^X&m9 zm%kGv$q^{$WR`zf^CsGJVF-)^rfA2Cxd)9*d3&!%m;quAqmgMIOlZ|HxS{HA0_)qw z0Qy{YSpbo|c3qlKDrG9J^s0apV^ z)dK#4Z_ZfJetraI$nP8YEck^Fyz5O;PsAD@S;B;~4QA^FW)ig(H7FRlya!DNj|zR{ z>M1-S9@PFxXPDP3f0uaS%()eYn~!HvB#yoA&d39w`zDObE8DrP@ z$Ex#7^F`ZG(UGyhHhQWptmH4kO7|YB*%7}gIzXB5v#P^Q!*88)yDOWWbb!iJQ7T27 z(lnq)k&ae9+mp$g0t4bZ5AcX-GBMr)(be=)m^?wx(B??vaf(8oH8(?T@;iG&63ysn zU}M!R@!X|+$l@v7gAx^8%TPh^*t9n_n6kN6lfwG)6vvxgfh?E5x6fL6e}0h9<4FW@ z5y(w}HP5v{^o?NZ@%nF=C@m(Ix}AN3Q#Is)yu(ZSFV-tW5t0mfj(S7#fiA z3;{qTQyF|^R?3ZI#p7F!9FxbMl31z4jw_Pt7DBy;Gtnu1M)f2seVBt0x0O!FpxqHy zCbA-ri&jRH_eiI-Z5N|+2V5YQtQxDt6M^N;9e>z^!4cGpqM8*z9(jmdld18UP@>YaDO1cw z74{x%Ho~O#I9rUtlAJ|FJs?`qCwLO3Tv|*!iY)<{r)kefhST_$5i^-FgVM$Wo7sjb zzsp@IsLNDCk;_u!I086Zk&5L<$B~wcyIw9_T5(j`)u9btTvl=3%6MFU+<*DQmv66A zomP_Ik^_#Y9s}&Nso#&HY3|pn(J^yHbK;JQTmv$P@H)q${lz9tbyk$>GAw~LF?)ps zQpab(2(Sh-M16*Pv<<5iPM9X&cS5DFRU_l}Q^?Wj?Pw(uc<^CHJ-~yzGi+^n`GHT6 zd_blJD&T!4F%q$0$TqlPOpFa@nM7PF<)Y8j5?>ikA)hOEY9MV)j z%4!3}Mdjkfq-`DzXEI=c9~BoTSD=$!qY3GwiZr-c z{>LHdVQ5Hx!>Iy73~$e)#ROLH3*Z~~pc&$V(CoVPb4xBqj$8}0=A1HY(#AmZC z;zO7dl&9;`uzLe;A3Dx>??2e+Ayw(?0_2Sd^c{~ITBqR14r&KBittcvv3q~K7 z?{m}2bH0jalVyf7UCGjjK@_cGEY9_g{VaW*(prZCu_%3~3=lL}AW^ewcLTuMci=1v%rg7=6UO?C2kc*={4(t zJRsv#tB|hr%h~)}W@8PhF~t`jYY>}$GEbBQrQ;f8j&7_-hnqwA%zmv6c>4IsF|anR ztp=n4%A5AkvB)bSKi21~p0a$Aif5X6zC;3Yp zu;|E;pGglMLS1+Bdp8eXzRyQ5pDHi91=kEJv0yOjz@UYLGI^v22lRx=WV2Z=dxl?r zl5)hN{y9MjNf2khWit(;`B6Ot^!<%so>hsMkukZCFJx4r zebf->h8#Te7)z)W!u*y0#%JAKI$l+5)i6s755{Nq@)`**z0R`lJw%H`D`cmS%pGB& zuy6Gf*@d@n3DT>Wo9i8GQNy*7&qzVv#R8Njsanoqti9}5eh9v7dnD*CsQq-URU$G> zE-Cwsv<{oWJmtXU*hoSis4(yDe^JsY+2(_0);lx_&N!|}S*tD-^JmwlLx#MfHWzkq z6gXltSCP!bAAo_FE)F&B>p@kDzizx7O3Rcmv>gt0vX_lTieiSJZy}fvLFKf1nHJ}= zo}Gz+Wx;*=Du(;B(7h?+s>P9rwEavrB25{))aS`iB%Pv#jsxO8EGT{99e9cHPZb$YO(*A2mbJij_zuC#bkC;!b87Y`c(v7?C6gEOKfv)^?=Kk}p3WG)-VM zc8~o@1Pox@cw`^mp>huzqWDGmyGBpfCYBRi*L4{*j%6Iq{<1sQ^2PA9z(!nkPlb&+ z5~5q_Tif0b_zfkS$b84sLK=d0DYZ(^r0sE=a-3^9r1{@b;g4>V2T>Gb#B5RMrgiHM z!wEr|Dstj?;Mue0ro)QRhG1mA)@`xar2atG@=Oq*PY_CURR=7X6T=Ft22T#SXw)Ff zI;F>CjQ~U{m+{}-TKEz7zbLuVvFdY+hWpH3x1~wRONLAy;D$7gOc|e@|<|E>ug0ypKSIrFJ;>2}`+fl-R%5AG6{4)o~a;lsSj5hoS$aR%x+!W&NCkPNIm3{N3YRnR<3v<{Rz*W0m3yhM{Bdc z4cG1952)jZ*>Q(MR9RXk6slxf4)@Q&Z36FHT8@u|yOm_|2nlC+x=+l*QLQOxM63Z+ zJezxBX$q+4>JgRp7kB9&zZaJm5Ix?s<+sWB^%)2oC1ufW%P5RviDZfoY(cb`;4bq_ zJ4r&qq0z-ddy>#$Zm;HbXL)`nbb;dN&f0C>M&L`50Fj;FB~9@zw6%x(a*1n4u@05j zKlrROSN=rE>Eqaua>;2i$dD-!j9$0ooM>2iPoU*-`BkFvTX0a&mOu}J6u==%1Oj@k zgmEi7GP%eFEUYFNTJ;={cCl=b*N8uSlC%=pfGG2f;;PC&FKpu3E=mQ=npw@coY)@# zRBapVkU)j`E>A%|s%@E0(HJ?l&5VZi$L^zsgt4(KW&9V`L6Cf2;!yChVmS|0&rFj> z!M`z+6*RA^8@}cqGb|`c>m_0tOM~pB%YaknSm;NKnFWa1WbR2hj}9&~9fUoXBiNl>Exp;aC9 zgaREtNm9k+0hVF+o)l3HD=Hbc6!LU<+3K@SQ;7W%8y@SrqdGmke=quhf~)&Sr%dM4 zLA=m@1y_mqp?YrW+SC$xKo^!^5j_eD;jhkhdu9=B?C{nIu`e~CWNul8X7sG(lb9`QFn){2U(Ay5Fss%BUdn~mxVmsa?Uhsf$V)QmZ<$^46;>Li2*1Cw zC7Vg*YY5;IdPDt5&*AD&RKj50@)O)5L?g;(97SsD`*DL~CZPW&N!h*$ThNR7wva2~S4*(^ts1>p3XjapR4}k-5#z z9>vOoYlzqOfG-nhn$>*WG`CA3-449APMU0PXg4Y7i04QN1=h92;f+`37lb1ki2Z|8@ zdsW7bnfA}vePm_oy&$u=84-DasSHOxRjU!UkmPXXDejN7&UVVOYKv8Dp4y-;U!8a>CezW_%$B^05RsO)WEA zT9#IT8?;3zLeEhp!mNV%_qZYKL%_Jn+K}BUO`s}m1W^AgB(;s+4)$*<8fz=PDL+xC zy>)>X8h_pI&tOU$dOiA{3_%HxTtnxf5|Q$9q#?C^gHAH*`bq^PU5`XPn?j}*j50Fc znHaUB!t!yFM!Eu5tC3+e3GdTK?%IP1DH7AVs0zK53*S#>9_V}${-T0Z^8$t;qqG9E z25FypZh2m#TS~JlsDf0-vy}2)$CRb4#*u;7ogU6AbZjx1#jCkc@YY=oVP~H z1j9qZ#2Q2v3Ht$$&IJkc2J+AN;gilLa)DG_S2{(()WLt*ysXicys<68@^2C{Gcbi? zvrIe++_1MN#aCTPJqSLF)nG35@YUk4YWDFVVJJL+4JPhrp(;IY=-R)sV(6>+&tL`2 z9aR50jJX9`1zO$yrPi9ra&P3rrkTL=;EB7n5?y-~U~Lw`&}>@r8oKO3%}r>5IK&UH z&^B$UK42#aNUhu6c(BE$)U7T+eVE{HrT$wB%-+G790(DCoxICKB9}qcZRRA9AHh6o zF?Z%>>^;=5-hFCqnszpLEb=Dwk(&)&(z4wD*5}l+OV!Q75C^R|v1(L6sVz$I!Q!pb zM7IJ;U%-N*1SIh#IGgvhTE6Jh6)+K&&mDEuAwO6Laa9# zG0=K@muS$D^ffHHw(z#Xhq$>b75D%C#ELDU`s6#rng{W1*yIBpjODHf_zfk$H3;D)1^y@4wO6y(AVry z6qJXFd_?lH3UZKIgK+P&lZ&Wve-E-1T+I9xf(#~b?Qmk2CmIP*^vtqIf8+FEsJ4E`Q#S-?w!$(L45TkU0?># z$w7WOqzp?nr?@N881Tzbj)`o=qGeDsS$3Hn3nExxMk!^8r3w*cg&S=S` z;pA0nVg;;r()&`upNFEh8#9g=U-l<}ZA5saalHfl^2`M~BH39O+$ zeYanH*AcZ|i6nf}QMhRP7NRQx76fK5Te)37w|t}W2D8Znnw&GM=awUDMiK%J&d>M~ zlW5MEZED2!e-mZWCPl{9mf;Qwc&rLZKL$|PV+wB~HCaE6ppAa%0d-#eiR1}^CDH1n z;(0Z&90A2Fj;vysm&Iu)#AGHDC?23ko{_+$jNw68I%?ElPo7MN_QX3NQ8{C{#71M? z*meA{Aj`5s!8T_c=cJehO!^fERq=9HlRwySbEq44g5@A)kvjH+uX$#d9ZAW4?Xb=R z3WbT>wT})diUxC_5^MgSn^k9f=Q-Fp(JV$ON<0$+K+SK3+Ps`G0&~7B zk^-;5;l@g;xcJw_C$MNpv{Jn+#VWykr8Y@~jJJ0?l*pW9vDTD2w60w>fp?V-%^;3t zgIcYm|Mm2Yr3~c){GMHSXrwRCmYYrDJHq?`(d8Xw8@jhf@9Y~>j-(ew|W$G&xJ2d)@$?RN1E)+d8O+F ziMab^Puk^Ki6inBxh;)u9UazZDh-gZH6<=2+3x!?Kg`sDNs_)iSJontw@|{sz)H0W z8kZMct4!D74@~adLXW)R&_nh@cUPm6K3@Oxz{9DA3O-_u`j2M>kf z1D%m!3FGj|%k2RDZH*L_1D@RCN&TWSt}^t|f9FHW9*xq&`5rR-c~fRjyvIt-HH@V* zoNP$abr>q>AyNlguXGWoULe?r>Rc+6nA#Tf8$jc(w%poZ*?rI_jEfb_@Y5K7&VTfg z2Rg;-rcM-`e+iy#S8F!V@u9sxWrT&dsUpf*utFtf$SH7W!dPqD^##zs%i9e)aKgWY zp`$)3!oRHjA+iJYbJVrgWl*n(6vrGj1Ah9SM;Z2vPYcn?+e(Bi<=Ro|<{xlmwJy)= zn6~4K#%G6k5IWKCXmT1IvN6 zB@vEk#})Gsp~5{((PM(=$Uh2T0=jF7TAG@h^#dm?t&TVH$Jk6oWPi|{|FJ*Zb9AK4 z+C@+PE$wV7g|hcp0*wx$gU~?UYB7;;FL9X;7^bYgv7eMtU#U6jc_s(*^7ikS>n?V& zvPl!GHx@lKtABh1Ar)|>PT4oc4rL#ER)s6?;&YyQ*@SVU9E{<{tOVmQQloZ^oDdEL zzu<9IC{{4uwLQbIF*o31*GsZqiet`@YfDdY2jilMyBopC?E7QK(pPD$W-lceJ@zn! z1g4GM^oKlO)5fepbt<5wiaMX?=^69z_>&!sGL;m`+^PmoA0#I!CUGU%R*}|DacmL0 zn+py)vxaADx`>z=Byo{}5vg;4E`qVjOE(>wC8kFlH8`MrV(+2F*A=Tu&5Mm!q-0RV7%@1ZueUWRnuw&)$ zv^9U}Lq$c7J4To)C6`V(> zRUuF%@^h~w3d$W)03n@Fh|B?XyMex+*{kz?w{_@$Tma;(4o;yoJoE!QGtDOr*u*Ak z-gtwzUmyVdtX?+x1S>X~1&rGm`UrVUp-*`EBCB{zD;|K69V*_h)GWGwv2C-fFB=3_ zd`TMJMRv})oHr~a2e?$z@miwlY_c+ndB6a(M+!kQc8U`aQfSuw*f7!WlO|>NO*}Sh zVo;@)%~nUwyKb$(JDgbmSIUqQr$*ES57UfG1BardawE+jyBzWYKj~6kiY~%62eWi3 zUq%%hI$w;bX&Zit2U1m8{u%iSLQN?u69{oE{U}N(x1%T~_u5$oG=5Lk@Dz1q)YMD+}VEg#e}F53#%J8M?HfhGdRys6YpOCIX*I7OQP749jmj>N7Y#=8~)fY0$O%v zreC_VPT1OgMVfkl`ExrJmOzxFwKIZwj9`JIbwq3{*LPEmu@Ukn)h0E{eP!DC^0wAW zYZ_rQry=6@pzP8I%B^_b--hJE!05~g%t$nvU#bp0O-g(+N1%yUDj}?RhKbt|9HDpF z8#LUMRC^^0V$DLTe)-Ve{a!9@KoB>>+wUK!z|yWTCWcF*DTSDWQHX*{)En1P+$kJu zp%mWl?5x`!-Vo97+CRfIwf;rZ3Z*nXgPL8_=c8d%)Nb75LajEm*2Dl*XL_JaRcGUI z5q!0IW;wVDR>rf;WA90H8;o7vsp?{dE^;h{g{r~Jnl3M9)-yaL(ZB(u-|gpQjQiTV z3HWZo^r^OG2}m#Q75aZ!?lMdJFS#ZBYEDma{?liQEoRu(NX-C9=0?WZgy4C%kG}~t zW6e<9hxW^Mk(I_Lon`%HS3E_fsG7tg1kPl@{gq$^S&_w_YWVy{+ z{<|N$7i1^O8!^J5kqTwdt~kk}<65}c1dZ9`3N?0ilk-bLmB7@gmuU;t(C~}DFfwtM z(@_aulX1y?UVLd+#onNhX~3sd2d>bs&?XG)PQrpD)eI{6RXB=X4PAsFf3(=7N-`6x z5`Hv#9@1mTWk9=(K0FboPI0L;yrT)4c&TEcP^$S)-#VVRE43A%P1st5l4Ytn&7Ge8 zPr6o(AD;Sx)JUS7tuo_@E|KRQhzg3_W$9|=Lt^W5U?Ng_ryR&(l4qm8^=Se54Y%e1 z>!1DECgCok6WR)voa%IlsmcMQlTA=@)pmvRKDmldh1D0f#wU<=ndE)x&0RepYPu^y zJ@ZXF4{r`;0QWcMHV`-BIpf3y_?{LHizsctBBsYFM26^3poFJ;AuKqntZA)gPbC2r zpNwJx%z*1)&epj`MuStZYt%N?w7FJpWI%fMFj9&OY|jkgt??HHPo!eQZ)McYQaJM+ zBx=|Qmmm$!jJKajUAzhMuBuX`zJJQB(?J}|3RPQ9B&p~wE~lo+vTQP&FsaibeaNmu z^2e7@G^|TXe=%<+ed&Y5pFiLEYKybph1+LtR{z4Vjw&cHirIVp%;5`!yZCM7O;VB? z`VK(U!j{{`#A#DPjdeUw`or=vKfYk1-?adJVlx0IdWTEpx3mBpy&{)Gl9Njc@uqdlZf7|l z6y$ml2je%Ja?5*G{0GnMK7AI}3_vO-bL4AgjWNl8U1?w6nqB~)$`xO93k@y-6pHZz z^#8V|P2kbqY+e89S}q3alO3b|cZq-WYO|d zDLQ3$Jl5ZdTnt15G6@9g()IW(?c zpw){*a-~rqO?h-|Fce%~`qrKWDw-=#>XX0X3)j!4;0EM9sF*@7#2A;!AzGN}>or#_ zbBMs?>M$`#iL!MY&QT)*8lR)cHL*ufK-I$lSMR@b-2(3(z&P-ck~CL}Sog+a18p$f@wxHD2ii$(GV z3{{;PlvnL5k_p1%c!q;dub+t(lP-e&M#Wd?DR1?*qEQ+F3rm^|eZo|YEHW%~<}B+n zfa#nQ5*Z?O*osW55<0sAs38SybirwKxSMAwKYhRB!Gt84GiwLFr*WGKtI?zofmEhi z4ptxkgbYW`PMB^Cq~84vRf0vPl_n;)mGq8(ulcPvZXdy%8n%+*po}YK8u%v`&!m>O z$MUxXGg*rjm}*Y0EikV68 zoa|bGEaf@Ar4~j{`X(0`f{W6WTmGS@-YLBRf!t)n`by8Oo&b{Lr+wL{AD_8fcIE?cl|69dT)IXw9c zGxnv^l0xyRLBIQe#E>Z&2wiIe%_B+&mfDHcaxA=FOQpTf?O0q)I)*s1#@$(o)%>Dk zf_O+~8DvmuGt&l=6S4^;TM7&83m=4P`E)cQ zD?(dwu3T*s5!4h&0euJ$1yq8~os1pAvk2*-+6(LCF?{4IxVf6*2<>ph@C}8qwKM)4uy7-$U|g@IKv8xSnJ!yBu(Q`sG~RU+w-JQ$;&oj z8JhB=U=)on*6q{gaDdU{&r9R}o!Pbch-V<07O&c+DQIl=9~(`XBowgaQ-P{*0~G11 zbtT= zE5hC}%W~s^zDflS1|`s#hzvzP3EmCw)Qcz756tmg{!cM3xOS>p%KXdmZfqfyAxpaoTBDjU4AvcZb7)o}0 zkx0L7RD_={msX{&HMX2J+hA_HD}p0*mTFp3OFSiH`cIzPMKKlFFJND7wBEdyvCU+% zXDP#E@SGLSR$QtgpXb=w6iJWJ_cp0={Lc^zl~C3F7nBTb3tD32zpx_Wwo<8hVae2h zGmjQBS!Iy3Qh^zEj<{9Wh3+bJ>jl=!f)(^@et!kardkzSL@#+7anr&yTNDVn^7TE~ z*qK{)1JD!~ID}6q;?r403z&W5t~pUV{$hpiocNinnbP4a`G8Z6*iohP)G` zbE;)_2AJX4x%Djxxe&TlI10R8#Ef@)xmFw_6~eis>1b__i;^{FPYezi*)jWVN(*vf zq~0Y9|3cmqZVM_h(L1=90V9oO5rXc8A*!au(el${>szcXgt6%OX%CEy-*@>13~J|C zWE#=@3Q-CqpDc>sgnr1F6mx80N$?wbO8(Aq)O+jHvQdGjd*?}@7yBz}V%hO`DN`{C zR6Ap53yAXhlp;OkpTfvEk6i|HaREUrnM#WeVL4K zhFM{}TE8JC#4yNB#Ks^p)=;pHs#mpr#a1M7ggs3EEH33~%h^EVFA8v3`3H=$}M#?WGp+pkJi31C${-ERpS?Z;3 zl@w*?>O>jL+LgAeL2TA}Dmo}oryOH>B9&`vCrF#Gdv1{`96p53ts&`yCdeS^Kmz{P z`H(NJB10zJGRCB;Gfu0xc@lKNoWz955e+#Nb%M@6-NSjsxPed0V`s9cB zYNgbTpf#lUD52@;S>~Rx4D%!#gpfGgx8FH53g&Cmm7>v=#)89@WYHj>-v={ykGEiu z9bC(x6UM=>$*oiM7oMU9}s=9>^_Fdk((RatCJC`npy1v3v;VG1r*bq z#N(#$M!k(Ne?~;WlLq*$<=Ii8wDsSa=v0#+Du$^g3Yn+9lAF^%`uL+T`fR16f0-c= zJQ-OKt+xo4X$Rp?Z6)1|phC)ezPO$Ul0p-6?Y?$(-8<8$(W23$%m5XH`kwANGw=6N z%oEwQQ`s)}d<~en-+yAJ(Oqur7A{CEx5zL>q%X2A+gPbUBh;!QfF(*Z*YtO~a?4OR zq_x}BoDzHmsw2^A|NR3F2a>VeVq-_yI|zEwJ_p(bAtbAoHO^{O8r5Wj@Uncd!cESL zb7l9I@8r-}oCMUY88F%Vio2O0F@Etewi-=NW*o8J6tNUH_SFGzk+~X@GA@EydgJGf zu;bn3`_;gx-iB4phGuGF0EGJ`e%`K95%5|4k45rkDsuAT=jXPO{w_;T2Mp-*H7)M$ z_+kY}A6w6ItcP~@NJz}uzpGO{Fu8>Q1Vg$=oo`EBmMzg-GKL_6QOXDx4*-zlYK7KV zY6^c;J_)6oe%>rZQ(I@|% zWcS9E4k9R%&&^<|*YJn&YUv`JmBE0(yFrn8MxFF_uY@6Wm7uINn!3_bBIRg(JtM6= z6G9^~+kpd>C$Gr}ews=tlCw&5{oD%y&&TUar^8yq1^H$%ldjSNY}ov%Tj?EOXA3+n z+M@tqg|&*+(|jFo`ZAtgu5s9+IksE6RG0&PfmJDgPHAS=e2kqWHISYILhXqUh(0^k z$dUDi2FYy(Ru|BO?Ak8awME0s4?4Y_0;aNz6*v^F+aUw+rj?rBbGBu2q%mmId@`$0 z@4;Dd=`Xw=hWdTf+r(8U4)T3MWn!gn2xaTFCP5eyd#QZdnMCG){bFu68*ppBU;jPr z_ooTKsB<+S{|hzUhLHQ=s>GqMxvh`qFS~AEI0J&EsVH5$oz7ST%)7lU`YWqey{yK@V}Z(t4GZ{kgP)05=u(Jg&?S}7S;Gj~Xz;=A%OlFpb+KIT55_fM&zX;XBp6c- zI|iK{3+A9YpkRd}U9=BR1ISx=&7Mv021KDRkIC3FVMCR${u-eSJ^_$8_=Yh4t!${0 zGL<%>j(m3;^Ue)SIgido%_-KP8?^(FfL3?_N^d!a`t{XG1BXqwEqLa}500O;Y|d-* z>%PF}rv|5v00vZx3$SDz&$!3A`5M2s-Jj6dPj2_j?wea}bqClzKW=c;bo)=}S8;&> zEjH8;;-JzuXawnZOV)dBrvC!wGKmRIFF<(w!B!?4!AR(pGzE;j@Mtb7MN>&6yK$@c z(QxaSG6jSWihIG$CY!`^6yvP~n5lqR@m`9=5YH$$X61WRNeP{Se;p)s6GeXml|nK~ z4IO0Ex5AQm&&fdg?|hyU`94%dz24FHtaH-h*?ir6Jo_xn_}GI97?~xIbwpw1;^F<8 zt?U+bz%5k#jUhJX$|vY?8)_hYQmm3qsV=@YP_9V`Bt8&Vn@;lt0|og(lh?ZKU94Tlh6YC=&%tz~0bct7F?mlIdU_v#9p-JmPhN1@-z zO3&NP=gm)99mZETpZ9yn9DD-_5~*u-0<%E=!6)8@OpJ_*mKVW4fiT}>O1O&GtjJA7 zPGVPdO|?TqrrbfK)C-t^U-sVZ5ISe&&*+;X@80`1iz^`kG?UV0b}V>tg@`8zuGT)` z&8LSsC?kZKEzJt7%*SjlM#ymEbo&&@VIzGT!KS+Cqe^%1h5y_a8}e?}n&w4oms4a7 ziW9B8JotC>(d&zbs3YiGq)|^yY-`YdOl6%g%Y-L(la63iwy4Oj90ZPG+6IYVgXTE0FYNE633CYd9}6^n4+lzX z|C(w@Tw8jWTUYTM)kJURng`I`DCG+p@e(cb(M9*=np)HM!dV-0c9|_QcW+-&KRSM; zpbe=yz-$+gT?RE}(d)7I?u{uX3bpF~_-XrDPh@F6niVsJ&-*o$uPwsS;a&o|LV;B- z#0@jtEvThH`COS;chW%dKzs^;xl5`)LcV0feIdtjYeVBPXfF+bob`LC-sLd(W(-^Em zvii=Tp^f%+S7CU3+Y$_VOIdpiGMYlLZxX2w+_B9XVa_1o5;r;5&YZG^k%zh#AE(BY zG_U6xY#G8{sTzH>Yp9twiOeE{VD?$F+8M7gIXD*|Xw`5IhO4XAn~V~c10d&l+xf7Mj_aF? z6}p23`svypz_HxOdiJqAi2q>s!~5S3)Xcl0NZhPnI1(ivX^5Da&>mdyi5qAcxHc@U zXzdr`H!e0n zy$EH1k>-#ZCItdy9B)6}D;97(Ks}h>UJMW?PmS9$4^b<##+2pRfU8nc41@4`YeXiO$U(s_$t{2<(wej1D8b7_EPO0nu zym|pl2V-@HEc=X-P9B#Di)k>pc|g~D2` z%gJBde4Hvu+z}bq&Yl<|0h;5zgG(EAR%!J6fRi}ps^iOY1MfeXkk{>W5vS>AcNYAV zXZ6+PbTQo8O|~#Lh&;u#V*G>+onwNLpWQ-$^xfR%dXx);y@G#^ulvdd@Gc*gYontsJIUtiVV2Yj3hzuYg@X37QmyC#men{sHBs zYW8sIglMt5{r1W`{GTy|ITs#09-r6=jF|z21*ly+zpri?SN702qdwbZ90Pf`^M7KS zK}#kpFYCIs3WpWZ-Bs8%!yDF>!~W{~GXBWbrS z-C=_z9%pKt>f>-DqfL3{^2o$2qlhJP`LLeKP{y2A^kLO8BeI{DTh4liP3j&c6-nXM z^N*+Hh{e!VgmVKt%I(QPRBi1^sp=GVW%RW{d(}X6Hz}}w&R}4L#r?kW!q13>MttXKtZa2EI*YL8{OfBqS%;F-fOtopgok+|v|s3N3@xkt z4?8r#BSl>A9Co$@Zgj@)Hni(z1<;u}9|BtS`hDGspBc2n4n=M#2B6?tu$-P~OiJ>< zF&|<^M0^dFt?y(2suGijd5I{5lA)qEe4M(O*EUStL6nnSkme)&y2(mwy?0~h(GcM( zq;J%Q{<<4uWH_A+wi&|~y(R=o6E39QRf>(9kV{x|_l8_uE~=Wi8iGgBD=kxiD!BUE{ zWPa9Zg%a|>3>s7L+}}A+TD)i;VYih;2io z0NV@rm(9dExO+!3pb}`3fNx83LmH@!v{SmLz#nqz0MNr?FO==w%sXq9whRjne!0-H zeZu0pEbHC22gLnY3Fv170JPN&021N0u7Es{WJ z8e;5$aA0h|#PXZh?-oif7k>}12+;n>7V_nSJf0mrk>I2!MhlFjPCP*joHD}i9uUUN4KWl*=i9o9Hg{_rWL&O=2%*-hHyP4gwzMr3 zfIl!l;5skEw06h$abNJ2yYs!*Xwev?)Pomy zBw2g1Fn|)}P1stZP$mrXBEF82g$Qhm@a#&)hfn{RR%v_tfWOH)l|Z8N`0sw6gWLTP z6~4FUbxdoV1m4;yAKeCX$in{_UzeJ)a+HH{e-I2_6a0~4VluocTUr5U)iz`3X+XdF zT=c6G;G}2mdI1s5t6o;8V%0dty7v153nQ0W8+@O0)*8tSxBTW)FvnEgHP#u+FaFb= zG%7sk7@EL!^6Uz>xeVioDXhNL@|(Bq1qk2o8|Vd(J8%W`6(P?z0D<=n1b?fmZgrtt zC}WO9AX&E4@vKwZ?_|<}NXqDPQYyv)S^MZ<=4PY)?eyA*na^s`GDO9rtlI7TUKQtV zxUdT*qNC?+N#yg(3qK-Op{(lIWE*aH0a>+;q0;YtdWsoaymxQEjc3#E6^zdQ6@$-b zqtwiV4jAY$Iq|OjRfIV(($GTj&#_5uU#VeWnlKU(KRKf26mDK*icv{$BTI||l}aZ* z1c^d%y1dci{gr!ijz>h#$5xp6242tWp3Uc8BRwN5XstG<-TbeLOtSe+22Y&d%!M41 z5sA6sm?AuoUHx?CQx@pwIA!vKdqAmky1_F;uSUaiztTJ3^eepU5+ zI%Q|q)~Bbv-u#UG97*5!TnwXK(wM$}yzut3=^5+W_56D%bFgM@G$4TnkwC7Xe_SUE zd|c42rDCy(;+Co5DT)Er=$?lkU?6Oib3i$p<_H6XWvySLU&tG61nI%C#nT7_$zDV0 zWU_)KOqAr!9r#G)Z*BS%{dbyYfI_e?cAl`LyLyU!1M0m6qPVLzA{73S9Uu$?Fd%$i zV_L7fjr53ONVR$%W0S4@480My-__ESMcPwOuWbVqKoD!yD_PhRf6L9(w-i_M_z90zVBxkV~M{{dcJXhdiB1B^7i~b*m{70KH2=9 zFrd2ohW##{tRTefzq))L+S`)u-5#C*xdOzIxnEdI^qPJFPEd>ODPe@5OProJmzpfls19uxdzdAJUyt z$w9=)9$O(#a0l*%+Yds{Il=h~2Z3O!CSY`&%;&~$l8MM?yIs%MHP6K;>vvmqc9MU5 zKPNhN)JgQbPe9(U>%Of1lgqDLVQzZ-1YWl_H+kPz->u!EqOI1rV;Wa#xM#*xEZHPV zNzA!;EYT;Z;Y&h=MW!G={(rUQ)U0gcIB_qpDMX2rq%w;}Do+Y&2B;~M(PWTE#9anC zV~I*4mTvO~73Y3&g7p>m9$Qct8jO*oxoV91Rmqg#CISmo4{O16FFbfCJD68>%fmJs zMI*flWRFI7y>d5Gu^wR;(w1wRd1h5z=phn_|M^xYx2eAGtTofD`|QxI)^1suUVD0B z)B5?S)BC&JJvIAtM}LDgb+~bH(}DE`c*ciOcWaHVSWI~M5E;G*UEDttE+&8bzNfX@ zQJ1*s#`{^nuJmQ~BiD&4l2VK-=FvI)O}1=L&cJO}q~^^wG~zZZZ<$ne;^ZsDmhfcg zEDn7TABh4k#q7Fb^Lo5+4o?3QQ+pVEoi%~WbFPMw>>PxZ7t6?E7JcVkBUyENUVEc= z9hk*GbVRGqFG@2H&ovi2o^e-GVLKm%J1;&z5YoK!P0ffsn9UMULPm#?M)S@s!1}QxdnEmrGC+l?~ zuM_+P*Y~c7?XHZ^>5tB3hhXL9qNQY&lPCTEr=N9$#%T94z9Ea!YS+=r~)Dw)Y5eTj&O~J z?#8Y;F0-CFa%#P0gtPX~>lzXOY*RgXcX~#s>+uGH$L$>%b@B`VB?IyhfHTLq5QV+i zpn9Pmh$lFWA;VF|fnvvnx#vdIZYTdn4+_El;XUQ%v+HLOV*@)BdcHD{I~)K|9MG28 zFhoWaap>_`FLsC)9l)pbu!qm|XJ8(Kki)+*2#Dq;iPUb=sd?x0GSOzU2@|GHC`ePx z#wK8_8kYtUaB{+rh#5#$L0@MHqcN|)PeBiA=YuiXsBMIyixlMM;$)m2A0THE@O=IR zqtDqH0mua-eNaUn2w88ZRcuACV;+Vk!>T#Ui8gtN+fJI^S1j2&W6xHBgc5)$VnH}& zTdV56@K4j%`-`66iv!@Ur&Z=xtCm`#>JhEk$4a%Wqt^VJ2&j7gniCE}ezI;p2Xq1)FII)cg94))(ca<~O;DB_Obi3T5r0~LP>^#!PJYhOuy~g+XNT}2E$wVV+dT(w)C|JNh zj<+X{Na}9s!0Z?}$6VsZ*+xlN21cl`)Sihz-1rr^uVECUF~K1-yiau(6$dnu=+E#! zM6DUsLA%cPaV(m^6#=QoC$i#ZPX|O?lEjXT9VGj&opxou_G0c$VC7LC zz&V3vuvOb3M(&q4szKbHi)Dh=pco06t9L-fYTc~{#=0fv^F#rtinug-Tugzxftl+f z8s<&+qeO)py)IAap6@U6#MyL`Qx}p9GbSc8dI>W=(P8fg6}GF4n6nROPJagVouAij zw@8qlF@6(^kCD%7yY3doGJv925l%har--uzBbzI2M?5@dhX%UcCt`y&)alTcsdk!+ z=RkR4+PDNf#>q(B2aN!;F!I$Mo!#vqG54=`6Wkn{`U>m=-)tH-zybwSYWeAn>6G;= zx#bp1{1c;n^#|i|c^@+3H^Jl*Q4(b%Av=BnQc;!05wManr|i_EZ-$K2w-0VRyNe;e7ce5p$D;b`z(rdp}A271f!Z*jB)(XkiJvh^mI8#(;#@ zMT^hlgba_52MkDt2kx)74MU!U^98`YHaYz4hVlCOy+US7+TDvo&*Qhh+kP&hY z)hLydtJ4m+vd{mp(S%&MmAL*>LA4KeXD}kU*y^ugay|SNO62^N5YS={&Y=q(QV?Us3)R{aNyQG4oAqjxOiC+tA?t*9AQaE znwMHUf3@x8TYuN;w)?;Ewp$qs$gTnDx79wH0Uu{F69#P-0Op;(&t>CPmL^E@LA5lT zb|T@QP!(Ul1N*JE*8y2Oin%iD{apForLppS)%~2)S4X`*M%CT6_W1rxzID+DAklg^uv@EsikIyJi# zrDZcDkwyLiM7n{^PLtmE{RO!_e0inlm92@TMiu6k01TRCk9Zfs^FRQMTr0QK-gcYI z0A#>`V{?L|x)h@WHk2!mQq_k;rKevTH~E-s+B(0^?hTbIWzmP+=|-WK72 zfa)XedV7T4*B!@y_8iM9$*h8rzv9RtU_ewP;8?yD-1k@`@~NHG$!6U{p03xyk1u@W z`k@G=7|Zs-8-JrdvZzr~S%ku8lj8ub)&+ljpghgy-Ss^(Y6K%>=@IW(ERj1uw zJsETI_>^?Astl*wg(&`{ zwXU3%vBYDdW{0s#V}W5}sU)R$MmU3TwKiU#Yct!xog;vK3)<=PfDH&9dOV(?8VLvb zb^*SagUsfnbXzrn@)SbT83&%p$@B>DRnC8aP%4N2>=YL>kO6>spEY=SCbQ&AG?tQe`HyI-wO zKm`FI;PVY!tk56q9h|7E{Q=BN0HkLcKKVW`r5Hy4-arBp()ATq93(}v(kHAcMj8e+ z?|n|Yy<;Zwtu?$9d&L@&N6Eh-JcJCee$`LfRcN8WRUhDEP=&kvT#!>l!Mfe}#hi$d z19782D3Y6S6CRo7)-F5VG4F-XMq&6%>#@jYAQ1q1-Q`H#XrPV`c~-SB|6z&r%afHZ zy70iurLwQ?^qq=uOlLblW^~6CjqLQiFamk*!~gR=BJFgx#RpWa91Q$000|U8V$B{9 zfmMB(>?8|)jBG>|y0XB5$y2?4Ivs3Hoj-bZM;3FEL zE0Q4<)H^^m%7rQV|7AeCz5h_B@GdT3PaD~p#r_9H>xjzGUhw@Z?It<}t0^)xo_^(} zz>t*KM=;KfhH%(!Go@#SNsb}Hd+V}M$zxfE`V&!n{8&(MtHJaS_nvz|EiTub%J1T>o#Ifhr#}-*YgFM4XR2t ze;Ecm6Dw;koALt-O(IK#)2Y^-JW7iGAgJlcuPITp4A9RJ#jr%>6y?}hu(2i9ZnjW@?N^o zN01UP7e6O5>o_E+i%Xi>dgk#q3NehYW z!_(dnH$1U&s_YuIck^$c(FfrGhr`~ha|k^?FXJpTJb1pQo#ou~pi&~3Pu5yils!|c zb(Ia541c(f^9+jKA?6pw!XLW%tLQiJHWGi#ELuBr!|gfn+C`&IRu;chs@XJSL<4X{cU9)IdhEZc}hu#Glk)Eo2w&=$ieXwT6Gz!GPk0>N+!0teW2csxUZ zMWMm<21s7Mjv(-cI3*7L0`l28Sh?{Fti$8Wx}W&Ko202yIdF4sXnG~K{5;h`3w31A zsbxivI20TEMvhf5re%84^`W1%Wham$zhsUztWiF~P6^RYqlmOWDtTbnsk!Sbdr=N0 z3BBw2d39nwDO!S#c^?AzXB=0e%e7AfI|K*A(5|zRDx!_55Q;YlkQOvidTD1JLiyU< zj#VX6)R@!g>noUa$`Zu89Do0LeSm}j2asVGj<9ch9y!eA<^FhMg0ET^izisI%IIi3 zAuSuU4#+Tb`~CGA(SA|35>%=CG!QI;Ao=6MNI%Px(+tK$mRhk~J?ikb&jD6oADoMq zlYay0{q%|j$SW$>MwRMPsbh)}2Hw&@*Vt+vL_BW!6QDXhGNn0s;EqrluFCbxpEV!# zm3gq)2!`v-tr&06?07{;PA{N#a3SO0-vP4d9e4njwsw~{Fdm+oUU&G8?`y`}8tgf; z7=jU5K5Gup8I8yqRf>t}wz$lOmc@kguLNNzL>d9_uCZV3whTR_Fp?A8%*Y1$oz+`I zuz(xx?H%*uKzPtr2v&v<;CBMPlk0KvVlB)%hlZl9jPOWD zxYATPX&kK0s_C3I36C1G>?I}z_Q|xzo(uW~{qtpE8nki# zj=2tUm=OX=phmdA2>+$8wcunr)QALByi4T6C3LM<(v!9gZqGef)`R*nn!PS$LMVv7 z$!PZh<%=;yGW*xo9+cA0xjW=2kBIIY!2K`*(FTnuA3e&GUQ~82F3cOJwqU550b?An zCzqa#xAsMVCYl8RGj8G2?`ej{&R|R^L%=~PGF9P&0dW>^4@gS=v~|zTih+F zYyrrdc!s*i=9~$f4w_uB#D(n2XrE1F5ukT?qz)uGQL2sxh(w+4f8E0JNo@$)1q6?v zRmbrUCp)#7f;DF&g`&q%xVgCd+P;3bDL6zQ9Kk#^Fa(ggs5SXaJ@#!V$2dT~caL<^ z2)`WZ``9Cou(p`NfUEQu;n%RigL2eMun_C`YnMniHfV^hWa7q~QO3%uxxe)T&$A!} z*yQ$c?3O%ykPUl#x<`w{EsFP}%qF66Rm{hxSrJvy) z&%9=_N7^?eVwx~gCe6^Lr|;s7lu2>>_(sbEU#-;XEr+AUnTe67V{p7Xz{G-P4CfRYC5Lv41+h%wIR?bd zDD6sq1JLgdCk6y!PrMY7P$DUZhj)_t?pJstP01l|qKq%#+v##T=xk_VU(W9d_k7Eyt<35Q}>- zm^gt4s9O%!XUEU-W<39jW;g8zmCJHb$?EyDbXUAHvp6Y<`mA`aNIkS_q8hfzz8VO9 zdUDAVAtce8MPu6+MA8&ffyBMW4fY6*Ygz&&Z!|>4PI(|o-a?$*DxCygKe1?Oi(B(k z_C+n{uIe-BBc4Uxh9oOJvAR7kB^HQ(^gCSW$npY+JW%1@%J?%!olCm2OihHltL$u@ zJr6CiuE|v<+~*DmB<>4Jb1Yc@zh(O~RUSL;+6xqZ2lQXD4A-aQu5k6_B zN?@;fH3P#Kpp-zxlP-EQm7v&U2gH2Z`69jmW`LMppl3{rglN5|>|8L~I9M%fo=+bT zhkeEEiQ=p1eAR_FtzZtxxOQkj(B8Qudc>pYvh10MrOuzywKETQtYJ8lRsvm>_i+fa zn_LBMBEXDqFS)7@CRfQR>NtG5P@F6j3`nB%94OD8GLllw|MuG`9;eJ{wfFb(P|ImZ!K#}VljP#LSx)CC0VTnIi;CbsGF#cjBjFzk^$~7 zGgvrFBlcl1?f{~H1xGACDplAW2}a$91k$YqmG4yQK>Uv?cdTpfqYK1tgO}Es_HfWp zd0n7JJzCuyg5YaxvV+JW#kd1<7dFUq(Uo6TgX1WPrA2ib)Uv%h!J3>0F?8+%^ky+p zFumrpL(`^}RDvkGa!MZP48;WpDv*Cc(L{(q6oVaF8Z}$6l1o*}Wnn$MTLm7Ix|<~d zF4z%YcVZwZWsfm?7+JaI93n~s`ljnO8=>e7&dJ2Lt~n9s3)LS}q~P6Ijs=9N-((@R ztW^G7tT2o1j($uoNGGg$81HWOcNeV6@SK+T4tuO9+um@N8D*!f`C@OqBZ;d-4M71Y z)+LmQA=gceKda0kQ?q>lZxn1%x*+ip^PR>9S@!*GkQ2a3q@v-^ZDm0P2`mJbK1Zf4 z;L#0wG7HBfgWB68;O^`90?((98hm`w|Er%b9Kj`*EI(-*j3JT{OX}T4XCSU&HLJGK zvY*2&8&T6s+E9x2M2UmP;zqv(Wjzm47IY5vAs?SnN(rP&aqNxOYkp4LbX$r>JpY?c zp_qu<#M|u)h%a`1fKw(Mvu3|g!y|DJy>GL^4T(C@0JrALKH!$dT?jK|YIMUF(-l$;RX-9c(`5yU;o z0&%p|BV`CKF3GNWm#)ahzsWHKV5-WYDU*o3mvXmbgOPTmT1E&8d8)7E(SaGAfD8np z8o83zAY`X`p~#eeY?3Jo)M`QHc*0U5RuIjRDdz^WVs@yiqTa(2zoq941uUIXhIXnOV1A|21q#Nv?` zDAdMy7}57*S<2VK<_WmK011D%!mN_RWoQ609`m}%r=3-DB@!R<8$&=ivFT9WI~ zX-{j~L$c8Uq^cV0R5I*1+>MyMu~7*EAg97#LKV}-?IfNRG-!qd8~FwJw6USQ>|YG} zVrA-y=F|uVwE^*T_O5Yb?$5-~UVmFM5#m;?CVItfZ{@GW%FBLQmM+E|iS_NMbO#=7 zp8@5C%6jI!3D8LbWD?q1@>;p8ovSBPiIWB9ZSukzh6fIGKp8GUCj&7OF!w$2@9+a zi&jHs;kL+^cu*FLGGR1PF%&Q*N$Gj5yep3RBM>S4aOZ=QdVf1eVr%jNHkis{rWqGn z_Nvt}YqH&*t4IEQnj}vTf7O^*#;Hi$y}s>z*{vp5$z!ao8|9LkD7)FDEe?IvLv~Iy znr0MZ)x+Td0{Hk7=vWmUn?C2rp4;U3WpfaQh~MsfGE}A}bn1#L zMs1oK1ImXPGSKca9W~>@9=eAuP`hWBdj(3s1Q6fHw5XAzE{xPAH45Cdl{oGU)KcrB zb51d=q|WL7@}2}-Y#Qu;sjeXiv%shO;udD0R6&WgTXgJDP&qL@Zy4zvbw2TAR%}R1 z$3-QTJal(rjirWsN39qOb5!ZMrI}1VAPR2VpIuM17r~RIXDny0K#pM=|l<=LoY)B!vC zp`4h|T}>=Eo2DPK!>D)5FcKQ50;%%E zSlZ{QtMOkaSMPvjX@0hF)yzh6H?ruyPp#O5{he&&ifUV}V=_#!fy0-lV~?$0$OMS713YyW~^N zlGJ1ya!O~OIm6MS-#ee|B|%JFXtDUJp88#C?dhlwl5?maJT6HDOVV9TWBgE2nVBB| z?3*RIZ&5w~UDT_Y8I7aEps?c6Pa47CX%RMFEMLBc{*YEkAzW&>(v2TezzeIy&EnMA z@jovBOMN;83@uo1TQ88^y*J>Jx&T{ZnISN%>dw&BoM7DMNnem0txLq3R+hMdHl+AA zIS%5ofC-g(s(IE9Y?4t>Yw~YzH`$E!Ed11)o!W6i1VAH^UZ`pZ6vza53cWzpIqI|1 z+9Z&n{@gm7;*7;82=^C+zCZ_Nm{ml#ur!L9CZ{V{eV!>A{Y*3!6ojE3$W3~Zb4~2HdOi6o+x(GhXbR9;yu}4}o}Fsc6}v&1 zOA^vPYazDO1hosBZyLAr1d7f{gbxY~H~wDlW`3q-gn=YKzSRg6kZ@6k)B2kyTiB`i zwPw3mBMoILLKl5ZAiOk+8p3g1lzL>6F=1?k*pu@n{f|W?cU?Wn#2HtP<4R>q-_Na9 zHmJWN9+pw#vP#Cpo2EkDW871oRIe4e!YWTB2l0VB;Dukq7`<6oQI}8L<7%YBv+Lqc6c}(swiAQ!}eIiLAd%EqyfvF`M*681B#@oUP2iZ+~4#ymg$Q?K{8$AL_#%t zP+-w(roXJ(*=Uj^2=V5R%`^-pzgn&q{jBB@czL+{a_^hM+h|u(;w^(_bHP<39auPc z$KN$5x(eBTF6F7qeB(*h8%7zT8+bbmm|za=!}8LMCE@8#M@T?Jhbui5Y5%p+n}(=l z`|v@baLR;C%UX$-uf#o76|s%@3Y?>8t;*6PmOz5snqsdNq9e4w*)t7?Ox^K@_(z8l z`mdgWmmK!kcrj1fwZp3rx71n#8-gPlJu$3LmupT6zx@scE+lA5Abn!vZu`)cWkQIn zy*e^jNvgEaBsB5db?#yuk$G|3=GLTI?ogJ+w2FoZA6>O=u zE4YQ#j9;xG`AvtGC7w*Bm?`{{rL@$lHwJlPnz8G>GL|jv-6P(ryUxw2sseYZsuoz< z-T-g;!gS%{v)sCKZhug0yhfKZPmS!6^VNrdmZRAXl30R>aAR?rWPPUQh5Ty&EG5kk zE15&EDd^mq1ANhExJSr*R`_S zO4r|HH!Vm}K!F55XgHX0l@P=jok=y@aqHOpWu~7x2;(x#98AQ3gElsD1dM2LSuixy zHPl%#b9It%j1TLx@Y`_y?TRiKxL+7uI4YXZ**2S$8erDQ)OrT-#*3SQqW%jcY~cyw zqr)kiW(8et0HxNpczvJ643mrw{7J(a0X+Fvfg&p?kH}-@f6w_$^whe@hwXTvLu_`19%lz<~=@Q-fG%+}Co?(ma)$L}Vyh&E8f4 zC26c6Ae%kds4551;x#)4hS81bAb?R<{^Ewg ztSnQMZ)SW{6fFdf%iY@A+ip226Hk29p2O|Q{vIpXrfwC(Io&uZTxyaFeWt)cu7Fxj zpc0&6J)t>(WXwGsV*sG|5i%xnG`nyX+!cxOjR#jOCnfaD$zC_G{2@s6Z}Y!iSS(f2 z6iFy)VU%01>l^+H=ohU=i$CS*Jw((!QScBXk&)yg2EdkP>Qy-)E8s1tgj>3ANZ(i_ z)`fQv{*Nu+LZw{Lnmyr9@z{*R_>ijK7FnlWc$CllM6I1}5P*tRFOI<{@w zwr$(C@%Q_!^Jp1fjRl6$Ro8`_qHXo*(bE)a`=0w>ZwseV81P^+2E>0*I zJurjN2qnJ1A6Bo#@I@GLg(rS8n{K~EDW`|iIUwTa{Xq{Xl6q_m{h~rnY(OY_j@c{e z?!X1zPR|Ueq^Ez6x|rZxxwY?_sG_1ki9fM2axI3dgKGq9k`Mtt+y!)#!2LfbFIz0T z;^$~JS~ox3%9IoJEYniv*Ua0}0-39yEQf2G2%sgnRK$Hi3HO$Ms@u?-;&=lPRsmsL zEj%+v4~DCw-UV>~rh|pSIy!Tdo;AofJXADvgJgk4I;V__&~=}c=Od3L==5_jj@87L z8e;Ap6oAz+CTf++u;W*NGnWF}r+E0(TO;!KQrWa>WU1riFpNQH+F6!txev?b925nS z)}gkMM1v7D$7Zt_>{V6_UaVzCzSJy|^`4S_w>gHuFW30uf_xi`paBrndYj= z`c?5L^)N<3Q+V;UgVwHXZDoZIV5~8`qUQ%mdi`g9j4n*@u`;PCl!qeCuJ*Ti+LW)k zI`|!@0pzu5p&4R6rSJ(DaGkjI9yJPkjVn$7oWhdTHT^2l>PD7~#yn1si3SJ~!b33r z2!3s(uEmD7RT9O7khv5hU3BQcqvQl2(?qc1`KOsjkL;Z!~xic zoucPV*DH&6g`vm(+@i|91U@Ks)$RtJEV}Yw?5M15r(iX|=|%X%?QEIaS(H2}R7|L) z77p9`IwmgDVR?{UF?!q^AWZ@V2cteHZM^R5(+baf!}0jk_J$n+9E#`K8_D(p+! zjt^~<(}c}bKLpb&kT^^=DSFI`ifxQgp<5~ZIqj7g9)%6AWdOm_cqH0pTe1xtamZZp zmQt1Cxh4jQviWSz`Bl#H+s2f^dsBGyiK0s|%a+Q2B&yHuF*xH9{Chqu#IHz#lgcR` zPk6O*=2Dx)GKATD4m#0lJUQY)BtIzUPt!8$kn5B)c#n;%ewdi+atccr7Dc#nZ%SOz z-g`RywF9G?Fm2_c>A9i6NAZKN*-#d>*Q4o6Qs;3WQFm|&RforbGt`=+c3&^aXiBba z($~jQtHQ|+r%WhyEJ&2vY*RlI|m{g+v5)P`#vqiO1 zUW%@LNW^4gfVVo+P>?d!;@|U=_6m|EN=2a!2~oDQ<9D_3d5(IBh)psbBUN!AtRyVy z(f-Sd5O8%y3vUb|27!mrXL-Vf3#jALgM$|P=SF_zw9to@zaWRm;3098KTesk|1tIU zr5{sPq6!Zdj30M-dEq#q@g-$@-FRrZK)qz1js^*)!)9#>cj1jyv$YV$0ugM!s9{pg zhJIvB##w$}fxf{&onorWusRxhXpgk<$m`-d>w-6aeqJ1YRo(=SAz#x?{ zu56=r_c{R|Y*$+XCW&~=aAf$B%gM+(jl@vs8Y^EE+ivOXI;ZeyRsbiO}qhW```#(;SD8d(bdm4;wjt1YFkmFe}y6h&~#3XWco ze;S;Kq54paHV_SmU28}$k7FWSHE7%J^^yX9q!3dC`*5U=N>At|?&D#P&V?{b7~+Wq z(leSEqm4t-EMzBJNyKffKLtY(Ql6 zRySwh&DOz^L|u+9s})DNgsONG$QsqS7%0+8YZBB1Qt;is28md0#I1JDzvCRp-Ob9ec7%-r zH&tVh2eqQgoSWBc5g0*Fo)D>;Qz=O@P{rD`#H6~!g2+-dhf)_~d8xb?m!cIQ2`Z~z zT+ioJ^ceYWX=}%;vId(rwVIVt7Xr(tQ;hD`dg7a; z9$J~eWAGGkQYI4r8t3_yfInqV;cJq2{u!vJ5-4I&f{tZUv~ez7vh9E#NKx#a1eGj` z;wEAoyVHZ$v4qVjj4T%lr%pR+!DMrDBdlV0J=ypRjh0hW^E^?z%wKj^k0&u|7_H_E z>}S$5XEVO&EX(RZX1J9*u?Yc!FrIX-OB+UBolB%zI`mkb2aXh2@s%BkpVDNf1&&FQh`KIEc|T!?ad21%PflhBx|wEW z77)#ZQ6o|}azPCatk?!xmLH$K zi@}OeYSd8Ho}JHn(lZW?0wv432wbHmV8=i{p4|%@vLGleZE_sUivb+L6>B>zk*!g; z;%K*nDS?D{W=?qJ8n2}0aaV}XOoTWw2QSW&j7U;>mep4xegKMz$4P2(`m7BhbuAP) z70`VKLZc!M(?(W$=|2KTRTX43PxnIa2`58@exy`5M<9Ks)WjML5B3nYY{zoSh0Vq) zW4S?I4Wf`^q})p;hGx-cODf5*!KC+wtNt@wTaKdDAxzueLi8N@*q0JbQquMQ?U37Y zbF?(wU^J6diEnhUFFs0I*`65YK(@?;IF>@RMX zlaet%YaG!$9>Z!y0^$X|3C1cgcnicFwKZlQhRU=v@`5Um4!-oFPd;NO zC35mqW&63Wc4li!zl_vOQ(zKLZeSK3AUm}pwQJP46lv1dEwirA#2{SSRVpn-N}+AG&GM!|u9K>aop?4RzC#K+%~_0> z0J2G#Xp}~(F)BRdwHrLiMg)L}$og@3K!iXwFrmof<_&R6mn`F~4Is13Dpo6Rjyfp> z)2u((=O-XG@TidF?4)&^onCw+RD|eQQx@&{UDS;7z}ARzg%(Ke6FLWu!rb}XCJ<(P z-a%{R&LgQQ%+x%BZnU2`rbW%^P`oG352Or@F2HB38YNk}$!Q{c#}||`AO!dKW2*#? zCFh7fP9`q}@Yn{k&6!Z+jFQMh`;qdS=8S4tV&Xv9vY8})NHoBq&Nm;H)s>pfH~Bik z%#*hEKM_R{AC9_mpAKet*1%6FrWFE1T48n~+IXXgC8hVpKYb33egq(~n%TA^80fF* z7tIr&2!|UErIM8tv0dVPmgtNIWT9XKm+1(X<2n?D++}6^2y0q!%l3uBc=p8y(l-y< z_tA%ab;jyO7Fumsbx_&SP9i7n7uYcQB-?APb*9pZ-Uw~kr=$D&SFMD9XAJC-O_mb2 z;sFC?J#LHcjVQ|5XTBNqIOR5SD`ojSyGKKrc#YjhIdKJr`6vvtpOE{_e@APK&)5eRjx&AJ% zH%FUiod+Yvm4BmFsfj9ybw(19YQdn05TIG^JE=a9$R&Q?!Mm;Lv7oDQdi}=gWo637 z#wNyb(#)&S*q7&5oyB|}9yLqNQ(i`l^Kn1_*r8*$h5P;D&u49Wg=xI8) z@6Z8^vUNr$PBYtL0?qm^XgBk0H1I0_a&T_rAjh5`t6DQ+s`xeGvhF(TZ?p4@0!BS9 zo+@8KL4CtP$bZP^U^$Wh*{Xts(YxrQXZU*K#2kCZz9u@y;Pfm=rA^@YCd z;!k@7LvenedlB_C7?leR&BxfZ2ziMsv~VL8G}RZ1>)K5~Dpoj4CRCa%9^nhuwWW>) zVNAbk5l0%4nm2tP>rlL<53IDM z8(C{1bimxmH-F}bXprI5{W?zTSY+hR9Svvy7dzWvMIHgnc|Uu(zr_C=y~MG7rGO4* zVWMu3L#b{JU4Vrl{>NX5UtRx%^hR zKoGi?fXKril}5Da@rL5Zgk9q5h_HDe5mAC#hyo=HA#GJ{$eQWqX){#DzU%A8Dq|~G zrr-bQi6a7vm6LSrwT4{DBp~4Wl{Rfq7>-iQ#`4&ZAuM)8cEKosy&ig=nbYOG(U2L>A$$EU>67TMDmPBPT9bgco6=WT>62Z|Ru6QZdu@|te9`XkrJ|~l%Y97i$r>7Zjhgrf)h-((7Lunf>EW4*jX%V2gT^8uXBibn3BW_zC^0UQG!o zi)r~KG&jk@N$jfSkjaG&(|dk(QXh!iWA6T#7F%>I`aCOOl0G2fntA$?h#X@K4gKx4 z;xTW(Q1l`unTlQhqs{HlvAaa^<>h?=AjM77F3zjT_8>w@R`6x;-S@2r9wIj&Hawxh@O@MrydzEdE3t>9OF1qqqIc zwT8&Zxis1aZbKzJ>9~Q^r*)WfH&{pKPmUEJX$9T8bhvl075zT^Vl!N;97nKV9S61l z9U;BT6BWOQ8y6xneV+d~rbsA~9`8F9V)b2`HiZUr+<%s#bQ-3{q-;zi;vOe7)6gk$ zBYQ?N-;g;92~&qFCc#8_MG891@4HACuX$-uPMPYH2Ur@efS_Pjv^Wpg7A3ej8cb+`R+F{_qQoI`a0u{zieH&y#LYN86}5$m#^jfQp`S1c zvzmUG(4n*BNt7<3wmR(&$!`@Wdhnu*b4H(~c!bdEx3cjQ)xw?QJi|8IdfTiqYDlJe zT+H^c%A#xb;*|OYoBYAXWLK63Tx^(G-U;c4x2Hk7WC{m0)!ev0N2GF&Lh0y09HERB zSn4|^QX=-nm3P;?p?`s&7L2I0IPOtWme0IC>eq?Qusf>y%0XF#q2~DZGbQe~IgiyZ zK$Kq$WJHD1%Ay@yJy*(OwWY=f5hmqmLh?|d(S=*dVyL7+0zwtF2GFb*uGLSZbxV1v znW#BTr=YCHgD4WPlrp3@#gD(dv33z_dbI>>j|Y^iF1Ze`M*=#uVnp!Q!9@|N;uv1n zv`QAOlgLCj^}KNy!X#8>j%<~ZIGfrv^!&iPCNI_xOlV+>$2@76`zDT?nnqaqO!fj7r7s z^&ly$YMWtAJlLZSick-#kOK#M zi6T+;m$FRN8=|u>Yqv-AVzg-i3TkYnc1-iC+C$8?5OhNTQu~PTPN>0Oo=PU%M4_Kx zbbmtq9i77RThlogj##xB@EKB_kotBG;nuK0mS|2ye&migu5ZNF39}DOoIUf;udbg(? znOpD`B>>y{yiv-?vIY7JKs`|XnIPqEU-9!xf=JYy1RS?zw9y`wDPXmg7xwR0{w%R6 zOB^5Zu&qj@HSsOGeY`J4fHsK;2T(fb7)=}oP#$b7aB27Zqxs}>B=Rs=pqk5yiM$b^ zrfH)!r;?i9(T2xnLLe8_I$4pH-`$-zhEv{eVDL*FUJur?L@>-tCA~GOX460gnwa~C zdl_mmFag3BFpQ5L2Wul%WtP_=C86gzQc>mCT&AE7O2pHK^qrKm3PWwRxVxmRa+YeC zx@Hn+7TOGozw4Bk4UF?sU8jL2?g|)Z^uw=n2e*da|E~pD74@xeZ*Z*<>Yoyq|0i%x z)nvpib<9&&dQZ#5fXDCKs}~~EBXp-63VpL=)sA0^fpa!oLUi`Fl`-- zmWR`R>dGvGy7j(!{PLQ;J>c_cD)qtsJ^#1G+Zep~7XyiNm6a-1C*#R#;v!cR7(Y8q zNX4}nYWiIBag4rg6VV#7s~7*|gbw$fcM9X%C?g+1hr`msRH7`xE~B8R?{eM9E_%Gt zT>v6+^$N9e&(%KCJaQY95XtWnIfg;6&7Rhg3m;JRT~l+51QZ*ha9W||=c5yQb4Tba8re3#G3|vS>KeyW>`FEya46flV7UM)R5T{B=}bT2-jFs ze4kL&FM;!I&l{>MKCa&VdB^{rJ%^^j#{5VJSQ&Dc*Zs=Bx{OEHC3#X+;;T(yy-kP< z-yni$`8CXcy~EK!IMtLRmBivK$jD2?is%qYD#@vCGUy|jz`ch>gLF-VlCOvkww6T>MXf(c+h(PMs$Y;Gs z#ui>F$1;5pkz}o@f7Zl&o!Lfc#Ci|BH@jQe@vV#Ce`{sOKHm4Z*VpUUJU!B(v-N(y(UC(b)H6Y`pP1~usn%9Gq@-1?+##ynBq9nPVAzJ8X zPjjqHE`J!(v^UixrP4^%%DP#8uC#ZFWtozX92);C*~orWj}-*D3$8mD%%{PRX{8YJp>VpJ6~3-I{#E8ZmRkH$o>n& z`|Ftf_MWdB(7c@*KEHmw!Ts{h*F4S5gQ)vmKd$>;U;L3CP5-&d{{6mn{pwDz4?N3s zX<@doT9oU878XCq&>sv|zsZua#y~1&24Y#HW;w#FIOQ==MultX{1#Lj{do({ryP-u z6s2i3@r?`QVs{lTaNGdo_6F3TE)EH_4c4Z01;R|}btAEDs{yHo?1UA297zvYE$XBh zLuZ(kR2Uao@Smyb8{&S1>aoG*ed*_jOP4>~BdqGhvr?py>nj4%rMu+j4-}g79^XHY zucd@_zsLLK-d@7rMG*;{X%bBP;$s_zMwT|v!}$*ma2+A5t(pHu0RPe$1WonJFupJr zsACRUjxAcI5@Nnt1(VK-A1|zb6u4NJ%~ccSjQH#(_lbpasw zIayR=PCo_Kj4VH$--Y!HNC6`y4eAWa((Bm4f?24QNKY~}&00xn>|_t#zHE36n8xjv z)^1t)bIXiP3PP%d=7Kz8tajgWd|f&)N5r=~r9R&c_YOc;tS$n%cXtAB2RR+FpVC;t z3KH=+uSy37Jk^>qqSv$-kQgHR=>#CE5iMT3Ej?F7)FQ%}1c6v6!|}5&O{%9UcLWME@X5oJMWPDnL4g3Wlx1TH|209Fu*BOYd!@DY zyADr*+R1^I4A8U(K7RAJl9(&9;A19hIp#b+m8+9lj1NiRk~h}mdx-SaWLcbzoPNso zbL>a1oSm<^@W{i(Tkk-b{|;iCpzfYQd$KsB;#_aUIMB4Zy^pA3BF_dAMu8ZbSyb|y5}9*sM^?bPm3 zt#9?syQiQdPBrmhsu06c5KM0#Z|3`68PO>$-1_JB;8vWTF5iTu6>t$sRVoH-=3F#p zFcBBu00#pFD_r#W_LNidbCU{D|BV{N5H8xg?LkN9N|qio%$A0Adnxzh`;kaCsQ%|! z&XJ*tI#$$>joJ;@WfFKHjsH*W3yX^6MJsz;lOnIIX+W#dMDb|GN7}EKy^R)^2qo>q ze`D5yF;nMjw@{ee>V~L#*CEKJ>%2gJ0gYl9=CFCzCYw|n)bvCv!(#Kfac%|NWmzhe zO0#mbb1H{h>$DDNr%rk#af>V111Gw%4N8WAm6cUq&i0y>VjC3yi-W;^i-l~FnkAUx zV@)ky9q<7NbR{WNWY}hH+rXv%=;F+7DaaG^=H(J%QGT6*%`Smz!#N9uDH^WLh}AF- zWZfk5JL-w~_0>^aK6jJG=(1iE#Dk{uLNkuGK>@RM>yZ0!-Y7OHnO`xQ#LLK04*pHo zvBEeE=Yhw)nlbeMNbx11#9na?G$tcohiwB$eG&+cVi>YQ0lB-xEDM?|Kqa;s88C3F5_4TU1>x&f;d``V@zu9(u-4d)_e!P2jl13fUnxnv>avDn@Q+4vI zE}O^g+@7{Zwtz_Y0MzI@H6$q=bxa#OYHDoX%v z4$Vjg<>=J1uSlw1;7X;G5)WrPV{^ZG#za<-00>QFHSs^$o0&d-*Vzi=-~h0iLB&!{ zi?>9U{44WohTHCw8&n;y-6y4}pbg+!{$~0lrOIwd@I?Y|!r;YTla6YVpNuX#xW)WH z1x->ois|~V4AjJXMcaC^T5;L~H9Y-(H{~G4mh@pKRvRtX??(3AOA|@wDv{dgK{gKu zv@?8?8w>%h&{ycw2V}y`w3%#VmNNL1AVXel-iITelkGPA^RR?opRNJMDsUKR5_x0p zjUd*R8S&TK4V~IWvEc~~G?sUw!(2M9MB-<3geiy#+#RRwSgAHl60YxUuhF z@!S{j!|M0(tYr_mJ|jn(4Jr2qU83_BQ6e<=Mov1VsX9DiZBrOs)Tt0HvYbZ7-`-MR z_X#@8zpXWEjeW55aUd zd;-_mt5@06I)*fDH|r^7p!@BhJLM zQ6tpu?tH4;_;UV?7= zr_kG>2Z8ndpoz* zyPr2=#*hQNzRDT4M3)g?;t4tc-@Do01R%cOXWcK;6LCQ0Soh1hF4Z66r|gI+b!7ui z!E!wmxzSJms!EE@vpA>r_2s5fqWctq@Puzyf*Lh6*O!AIB1x$kftvcG&8R7U6=v%A z1tsek$Cz`ybLt5jHENh-5q(^o?fftT({YTmZcuQMTwo3B^23ltZg!h82#A1MQb1KQ zN~MUdWg9o+NlXGl9OO7p^8i{`@PI2`hWQB$9ql4hzQS$OM{1xtP^x5lH2F7+9lY_e zu5Yj_*yH~27~Bnx2qN~1MuKu$F@e?fU*FjVO?M!{d)sf{$H?UCov~S*c-0-?X6$|{ z?qBOlyg}rzy=ouxzyVT#Ji6d_QBuTUzOqx6W~KOd)`DZ8Z}~8;>vbVgYbpvuTlPc^ z+TCx6m#K&|e58rK_=HDxUAL_QcwNs&n15NFxvro$K3^Aq_k@%tn8t|fE@a?(Tvk#V zxVYn4F-4FyHl1LC1mG}lp$&{su4%F6ZMLx*vwl&uDge!BFFYwO?D?=6sbks5rs$vA zdIR)v!AipSG_b}ZnUwOy=NMXgfs2^2FNRucJF_F@HX1VpVOoS)g-C(9UJgy@0tHP6 zbJiT(LR#3}Uw6MM7Dy*50ZM0dg z*0w+1noTx_txeRAI5^kOIP#ZjxPXm}6($d-^?@OiwaIn^vwxW>2D|RWyQGQ>F=mC+ z$APsCn2fZpusc_?Dd~BnH#x}NPXv$+P>;X(cE7(6K#i$JvqG|1 zE?)Cew4z>nU$<}>^y{@&K>0N2ZU;Zb-sB-VT;DOS`2N&(>(WsJC$J!=!+^;HT9=Ki z*hF~#-@1-kk9jEgi2*F@@i}_~k>p8Z)3|;*3kkmb0MEEPD#RC>X})mG?Dil`n{70d z97osv#AEyOH>Ur<1V<6tu!%ToHvxGbsd97|69dDtoJz-(kAkb@co)+-i|*(4=^J6l z{wdDzoFW1w222bBNiH+>+qLj!WD(@A_U~ICpsC4`(1#e`7k!uKjT%FsFA~ocuPZGZ ze*BKP2OX>50UsU2g}A%1^E}?T$ka!&>$&4RhDa<^EU+6nNv*<_ZWBOAriC0iMmF2! zuI|jK0Ua$>|~zHOr?4dX?ZQoK(wEq8Ud&C0C>g2hvsC`aes}>nlv?6y+tNp?K~!D^#i?T?e@=@1YuksgVtS- zhR{7fR{!dONoPr1ZFSiM(XPUh`6X|c;EDqd>_xMQifb-~!BZID!*d@)1{#~UU+Hwb zZktv$?o2>@Ntb^5H+3eM#*BG8xcdQjvKw@O-fILoa}oAwX~ybd_2HR~1tAU~dQaKE zoZ9tMHTy%g$IED!Du8-N_8z)^0|mWyOX+RpGYyxtjv9kbp+urU$Suvj(}S?)=WDUXWbuQsK#S^*KFDB2K?SEkq? zVoseY@ApFijg~z0DUCipAk~yA%jXCRBeCJVp#8i2``or-{)ORtm9KZ&`*B?gqMyL~ z7@ef+XPao2GK54%gy!zRe0TJ8mwRAiFb^EEY(t0)4YERAWU6(58@%I20f+k?>f02J z{JBg;yBZp~AyJd6IdR!@FB|s&TMHolK_DN_v%W%Fae!{|zvH>?HRO4oaNc(?Huo1H zn+lsC**`?+>8Mu|A8>PIR_SqB)~hcYU=aUom}Yn~u_P|PA;Xdo#*1r+^+vh?3bY`z z2NNF(kF$E+8*9LRzrs#$w1hDLU+nwotscI&c>-XCee9yQ6uurjP7KFs4Vey3JV-CN$ZBr=8g z(EYOJ!^h7T;riFq3FPGqm%;E3|JsWbx2{>oqqoVpy2}+8%RZIp^9-Jxg0SXeshk08 z=QSO%tHmj6%k>o@*q#~cX?J*i+v^h7=V`b2`DXvRGs@@r-?irO-N`8S9L-*A#hCsj zF`V{2W0$H2{Gts}4@5N)47nKM9Y+{r8|+MY=CokJg-IOZ zX&}}xa#pK7I_A2DaDiLd5?MVYlQFvIAB0j!!4;KQn~DswO;IVu;QrS^okL-H;35^E zJRbeG|3wHPtH6OWLw)(MWxTU1UuyU%3wu>s^#h|cxjaRp$zOKL`ycHZO)U^tQqFZB zZ2sp!%%^1{(EB~JczzEXMa{@SV`v0b4k~gY-nL6R4`zL-_!lR zxRy_Z^nO^PasAGpmT?!jPU8SeVH!G60SQJtOhx-cy=?k(kro#OLOwCz;?j>YTuWf9 zui>`?5{ad3*YI12kUh;Z$Qq>Sh2TNiU+W-4m|R ztJfGwVRL_EayUAkfM53<)8^N0CWkfGkkGE>I3=t~&hyL$83|2Lprv)UAh`q^K%wE` zH(6nF1u-+G7n;>fs2(nAk8#&B)x{rqyuOYAdq zRzaz&f(Jpw;#uD6;0&nA^~_@*1u+Qz=@RJMlPPt7OaTT0(-nuV2s~jQ&Oz>_5&$^><_ohj|;T@ zGB}_M1~w2JoKpI`wLPTwB_ur1Kkf6L3Egr(;oR}G=eYfXfBkt?Z|iwA-?c@+<>T`m z-4#L_bu-`G9YE0e2q(+nBI@0_vRDR)myOdT@0AZ!v2oU6*H>N?o6>K$1UhC6vNX08 zl#KN)?PxP(E!&gw5WmHN*Q{r6Rvj$N`YE(IO4L1aw6AE-c|De??5oMO8@{&P4>Cmo zDG?2?C8c-mLB+w1@9 zSI>{vzyIBpaT-V>EiMg1pTos1ZkI68atvr_DgovC{L9fMmHZeCG>-?z>3;s~4iP|` zjS7me%(UraC{L!d6k-;{(91UL^{`P4nKYzw7YTkCcQU03x{!8$D#W!@B{`VGGuz*fF)P}EB zOqVFl!CKiYS%7t(vO0<&s0dtiJ(uc*-AHf2Geeo@3}p<3y$b`1Uo)WX$!I^`yb=3D z!!Nf!hW9Clw%>0xK?bplXS8OMrZer{3?~4p?hv z6-oYvVuBCO~(;IIVkhbt{Ytry;`u#z9vV zg&nK*d4IHYdmekt{zT;gNy5}-C_+e}xBH)dT!!u0#rpn9V7Ik%TN| z7N8*O+L4cCD7@IjADzwHf*^M1Z|FcsWm}6H$LAw}{bsq_^Bed2b^ed{N9XeG6L!pi+;e@68p<%n(l=id?}KbWdLT$o@iBKe zwr)ZYc~^mCj*P%F3i%wEKelz!+-U40tqWt1oX^8A>8<}cOh^0NKy@I#jO%v%2NoLF z&&7o3#Y~*wg^_}j6Cto`M>9{~o`pAele>8P5_G&Wd%tdpC8y5l@~IJc-UTtCgCF=t zx4A%MPyuI2m6SMLURN-X7Wam}#r#HqQa14F%=YxwdI%(qtA$#l(eEI!NgwXUsF}*#DIHqKKnhXo^A3(>fv^MJKwzBXVNIY zn>G9?Msbt}4H7LoCB4rQK>~bwq}x;rj!a6E(jHbK6YzS|;}Aj)#%PmKsM$;98D)$t zm6v~wF^4!an^(|7IF%+W^1}a3BL9y>DM`lw{>*MXPCSF%@ha}NYjk?ka^GDD z_O$cn-n(swk?ZU{*5tP>*37oc*Vpm)<@Q?HD-f^3F<6E!d5h#w37EH=R3o@|5~{MwL<9xp(#N$Fmdw z#KVe4_ru?#Wf(JzsqlIJ{BA{b6Bo3PsR9~nGMYQJQX*T992O*1{2;s`&6eG>adqkH zXOzCbuD;!`H++A z5+Z$1iSf(T|>Zux%=VR2pHpb?{jlBo z3*p41{G4q4{NSOF|NSs8j)|;i;sq$&*h(h# zA44IPF{+3p4pFWB6Ga2~x^_^oVB2siU6084NGF!Njlb^pLlUNT_`ZexufIGu4)S;= z*biD~|L;9-@qUB>Rs}S-Fx{@_*jVi3a1`rxP1>p4@1(*M3vadRs^m{fqoKjPp3&7M zQl6u^97DzJXoucQBN8zW3~C57rTK?eNm@mQ~H?)PINmj^W3|;Ge z92i;1ws>304Y0X#5snCaUhi~T7f=78Yt2=^_6`2-FFn$P=8xcqeSdC$RjzW)NU{=Y z5pO6&s3o?J>VVW{Kc;yymOhm!_+XuVG`-`T7Zw0eb_j+?@tJMFf=Z~_k8{g1b(k6c z{DYTSS3f4#6ktkz-`Qul2tbHtpiT8PyS}e5icdbwe?5gSl2N{EhdRKk4AF%6p9@ibtXU(T_v6=a z5-7Wj4n!UG`05o9QJVyfO-A2_wppVFhFq>~4HO<_7JMm0bOM*oDULP6m$^vwirN-G z_X)aS`P@7oPhi7%`fav%f{txKiFS75S+u(AdIzh9Ji6Z}HVBa*LUrk+)(@^Mm`DOK zX52_JaFFY8q3|k`3@V;3Cd>b|x)I$nNEpB$(kwhX=axHgy!I(WLigl(bbH=Fgi9hE z0V986NCAiLmuFDXvh)j%Zc+b=07*ChNP}2qfTT?;m(vu$pJQ4c4STAIn`P>_LzalV zKJm$!?7KZ=hBK!VRaRmobZ}qrKe3dkn!)Xf~aq zU0ZNvwAH#CsrG8FyFW0zoLIQ}Ux3l*2ftE}LlIR18Kc_Fw|Q+%E*|DHzaCMrfE8GlZgp zllpabwMy#zLjoH^K@gNl>hpKdZJ$pvAc4^{{x1vp+R(XcgZ<;=W8i_F}mmtsO}$Ee;`K!G-Le_ zGTG#V5JP!7$5`5U$LQVzU=hl?>C6sRHxpgG0L%Y^wt8RT#9e~`xP@vXLs z$3p~x-4?(;P&Z z>ek*|IczL}T&4%dhM=h_q zH|n)y+f?U`c!p60YN-|iG zxHM$K5T|;blF2ij{=*J+*qY0Np+c2fVkg$K$KKNrP?6a1=Eko~L@-)-CG~=z=f;qj zoWOGdJ^ruJ;^FK@;`V1%aco++$p>n^XNATRU|hsOCh`j@nRz(Z$Aoxf#P?T-a{-9< z?Ski0MXC6jWr_LK~&Yy5VFb@m(=m7aRyz0Md36NpL!-+GN3RZUyO{pk)WUy1ai z+0f_~*h&uhp=3pSUVRQzEJ4B(sYIS;w&2rC)>;!ubuB|mz#z>L6aLzIMR*9wTCfQg zHOO=q5VH?tMIYuL3x~VZm=i7`@Vp6fB)0?R(YCmBFr9BoG^+A_KSGQCf{m$>2x|$F zB5iWn64AjK>Z zNVij?g?8rki(qE65Z)Z8tXwFb3;$RM0ZCyDDq}mC4g9KY%m{KxBIst5c?1QwI_GAISlMLJ+}1z4DfV2 zMzl2BBpNaaGHUKB8UjulR!giQ_T9jgTX4%81pa_id|YpXD8MD@f1w=aZqz{5+g# zl)i~To?jN$#kBqOjBF#dqt*q^Z^QY5t@7dXb_n_Ps(Bvj)al__+-p)Lc;$B!4Yv>l z)gd5#(!0;n;d!hsJhjWB{F}ABBXyIEXkWY2XJE2g`lFyj zDIubb`TLNkssF_Iek4IiAbqLo)sE)chQy{EC4Jr;S6$-mt4nkaJNd&9Ab(_z`2PS0LHNG8{fgrVP18|dsA-Fu zJLcp8*w-zFVZimPN1$uJ%)jGI)Y8oz$D3Xwko$f_RppjcAW0pARdRx?nX;;B5?1RL zERJG}H#t4uX$JRfzd?g3N&$9tYd6+3c^l`*_-3pRM??NTWMA{36C0zotJqLvm^6Oo za6Cxj*hbJpAka^<{ph5dKvEV8<%!Tbg%<*CANX^{u@s)B>6Edaf+3B}26sA6AM$6C zIJQIzjyWu{0L*iTB2oT)&HX z@5orBEK4wsvvVee#ljoXq*CWJMc5lv!vPvnDOx@0=!L+SW%6DoQ7q#M$k-pi#2A{u zdmpgd*GQEOeaKa!nY<)@^q9POjq|;ur&gSZY-$`OB7L>2gn_MNa?|yQBP#vp=<-Or z??L^i#z`h6g5F+>qDhfP;olZHmLibq)}w1%BBM%eR1T_L}tT5*Z)Y19*x>r zamga)*EH=)U5Lek4DG(^ zR`SU6JVhGoZK=j)ycq!4SV@}vpnxbXHUVLz`pFyM?^Mg=_5JGx2@;?gf0D$AwaBDN zjIG*^?wZEjuuc@+k>rslihIz9hE#${^+pU~oD?79 zr6W3|aB1N%s-H2>(5TiFd6wb)Vy~-shUP`4)nb8?f)?iPY#59yR<|88P1K#;7o?EV zr&;h&Z=*7uC`TQaw$Uh#+?*5<$H;X1h7fGy6+*C$bEkn0#D(H`4kBRK z!?G&v+;Hm)K+`R9Yao&&hM&YMiDw>8Vz7e`_C6|IN0%9LHnKD|&nFqTyfziF31(^1 zZ_IK*JK)2i8Ju9sY*a{#0K~ymF4}7}I)`rEITm6;SF$cnQpb4;T@xDgy`^;PEDkgkb5#56;4dW%Y@ z5L?lq9!3ad@`gJXDbdRr&|bHl{mux$u4%2C5rh0WK#?m*#+R^Tv-HuJCi6jsw1sK9 zs8?eYt{jM9oes5c?4an?;vC?oVBLdLDn9jbohDvRleEL5;%nUY(A=JBwoDG?I+;RV zzLvxk7`kYfg>F%pdYb8qb-5@I02?WYFUUGy0v`_}X1ot}COF<$-kR#>TD`HU%WJyM zR_rXw6bW;y({_V(6SV&D-Xl-Nhe^hO##Y)PK-JrsT(~K7z(oEa{!JqyNCsJ}qZW&2 zmZmDBkoWdnr5m+&@?AfmA4lx=HL`3@PNjw`ikymQCmEa6GGkDmqOzpks<&t>rpBak zVhZ@O$R$Ly$VHZ-nek39l1wE-WQ_x}^$c;PD3T-$THiEXZ*&|0CN%H0qv8}o>I;h^ zx2t}VNOY+Kqjt=LZW<@VSB}eVpGpeLN zQZ;M{KpNA@&4Wn=nF5cs1{bnL17J5+({_mUVYB@6w#SjCPmH6t_*uCry%s06jC6BK zq*#XJwyLc(lX_RTsN2>y6+uDdvXH|u=nc>G0P->TL1G|vWugGi)Z50*s(J)#kE2-L zEXRW9HBFX5h0fXcwQRLG7JxiWu-!Mdij}TnP97OYX^)wb$D4F%M!Za>J(LA*03F46W4HiI@|uC0Z3jTF2^SlNJ!nHiDQ7r7?qc86?q>X-j9x zC=y{ODFksOH+`H$cDVWdr~%`p$YlU=lSL^Ur6du)OyAFTEzE%%$H_V}cDG$Wn7s!9!l@d4RIU#Fe8}*oe-Tg zLoEdx6IFWOk2bo?8zle7qLC!@zn1ZlW4O~z7J@{N)9**RQMnK}ZIJyvjN;K>80rNP8dI$`+6j zpww}Rj&ar<1pyroZ8hcJr`FmnD&g`_(VWB*V@uK@`6P5?3?3Gg7}U}-_<%S$NHW!y zcVD--dbG9{mY`x$WZ3Q718zg7uKo_pyQhm`QDpGbOx+h7%X#HqC~2*N-YmSqS$fo+Ff4aG;&cqz{d# zyJNw+vdr8ArKl^9X%Y`3E*#1-N7HrIF?iKR(RiOXC^0%Ilu~RX-I6i!mX<8+Q2SxP zYEgmCmV7-KSLCF!i66Ia%ghEAVRk-nLiCjLBb!uqC|8bFsGHtwLfd|he4;?st2++=riuXueOr_hZ3XRUmQyX2YvcS2zlaewamuIZcfLtov zV44Tg0q2g;3$0=uq?pBVjAb>auSzE+oqT-j`jxv80W-ZB>3}#*b8sGQ7Ox#|P`Bbk zD?glcDontzA6~JE!-x|JHWRK*Vii$7|9rbcrZ$gTO~2$VCS!uED0g*ZsJ}36y^acE z^Ey5SRAt6^0I*pL35p38X)K(MVNj3Vx|uN*z5VN^1>MLhRo&B^@`=kq9FBkTjcpaT+mL(%mVk_Q&U_?~_)fRr~#`zUR) zvj?3_;muMi+n_&qP+-Y9r@}Vbj&burl9k{)((2Z22L{?(w2E3su2&UyJ89QCwXUQ# zj3;@i5yXo!w>2mrBLQ9c$)TY!8NUxnXyZ5<>dzK7OH=gyfCb}Z6&K)|cN|A!JEsb2 z#!+mmP8N{5Z8hhqv+YBkC5FWmxy_<&#(1Qp_d`#qI zTv{zk!$3r_E-m|_EO2tZMV_W6*RV~CYUrw>P$6S#c-If3UN7eQ{m}#|8p4GA{ zm7y)7(b9yLTS*I1$_5J`J0W?$g@`LkZ%H9xmvy{Z;r^o&HRjXKE0Y*#@4b?D3q6kl z4={>coCFiIb4}vJMpH&rElRNwX4g8XbA$I@0vZ4;7li@jWszgItBt@(Eto`8kIKlO zGw9dL3U%Ab_qF0YnWwk+-hl4D9|VupXJDz%g-&aN<2fic0fP zh^)JT-p=fRNPtTYgso;_;^jS|c8nUQt{W7q*t-- zmL4+dLwm8WEsSp*<$X;e!Epqm2+DAlF`C#8bgVStrj9g6>m@FBdvz#Ka9%N@ES-~8 zx2g=UTaKm@!%T@s5=;CKna;UxTFYEWfYinDGMb;88A~C3M9!*ogd;~WUG}tXZxj)6 zg~&{220-)XMtjd3i~cC0TZT=LpA&7 z41%B>4G5%3tJ~np(Hh%bgS7&|iGr%r6l`tDmX56Bvdpywo)x{(0hnmk6nyd9PQl$- z;!pE4{sM`8EqRf4>gCHe(K%-i7?g7Y2qsfEt%7YZzZAB_fee!X z^})~n*o#UYc!KX{SUw7I4~i|&!EP9YchL_cvMezLv{411-HB>_id?i~)Zy`smb@kp zE>w$LidNV6*sPXP*qoD~#(kp&C&G4DE07Npi#AQCoRN84vr8z*Ydd{p#f{ z?RaFk0K1w}4}a51M>r~TnS7!Ef~gK&KN@gal{}>G(ul;UrLG^4q~dC@UR7$!E^B1w zxs@6}Jb8~IOU1EL@e`62S>UrYLDO{dJ$1BnDqC4CDm*zoS6kxLwsNtq&83qPkejCO zOVxI<+mN8Z%-&#E9t>ziJM}u#^Nuphnt^hih#;U6#QL$4Kwe7C95ssLNpS&UYG^4ld zEycvDQpi*U{enJ>UDv~@C~>u@4D%rcASiK9=KuHrfMoKfXw2kR6>?dcNaAN%WQGx> zX@WA(EiPCJp0LR?^>$&QI{c6=NwArl%6a;CUpZPS2${)Px396Ug*L%4dAX>JlnB7O zDUQU%Tk5W}0?iA9Ivh_mv1ib{xeYNHW)Al?J8S4MZXvg18nuIlIs;ANfg?`e4S4^z3+* zC=J7eB=1KBn*LWk^X66pBa3wSMK+4+TpPG(BQpbr$|wc{v)*J4R9pB+M?^na)0B{3zk zp06COaj~nh+t*h3qew)gWZ99%KyoR^#WWQ=4VvQ35k!;mvo_0xQAVao1j`%`DI6v# zmicm=0BDa}QRS|ILP5^D0RJ`WZ2|<%1V%HD0 zm?BKWOCkW+?rXt-@;tRl#ntpeY5TN)kZ9Hnv;;6`zt~ySEn883En8db=8NmiMOoUa zvB-tQwpvyqlGHXj%cLm5iQNYQF$zv+JZ8Xpxv(~!+n<$!)o^m7G@1rLHZDJpTLQL~ zNs=IroY`bdlgCE=koZ~z1sfSX!-%4;AK|A7P77X^CI}w38Ds%FQOXdKBo@J_3WzUuwJDINNpPZ0SHy#Es92apII1?d zN~W|e*Fm!8r0?~jDou?|D-SBWi#)R=%xRMM5y2UsXz~+^Tsln>F0(Y%5m#`+BFnJd z*H&DmGcNJ?^jwLMiFHN9i^w+`^+6XVx?E=DWJS(lx2rV^YbJsgd5YDtQcl=t%x9jT zIEroa$L^LO`g&OzKZ;!+WeGF|o0O%@3&lDRC5c9H1P92NtCL4dlBs@9(5}!=K`-F} zNg_>zDEGyZm|i?48usM!c!M?A&5$b7tBx;@ggCodEf7T!&bKwPG)0=mYD3eS5}?v> z2eEq1AiuLT81d0+d6(-t5~0dmI5E^X9a84`Lza1_QO&K*ha@D*nabaTq{iIQ_sC7M! z*t~o%6>W0E=ae`H2!=(^C#IF0fKjiZc*1k`XKI87FzNGz7-1h*l~fhzE8Q&7MLdg9n`+W@oq!{aX0_xOJcmA?W5S zie#g*s~a4zmo^fyGbq%Nk-k2$;xzOw5;9(Fx;J8RQ6zbwOD1kU3Lz(Xo$6Q;kXJ2fw=7$h#A|2LQItftX2*j^=1Tz*|o6N za*L`oTL=D(`=*s~Qn!ssEL$nQkHvi(o=78akKQ7;r7ZLQ;xZnEtL41>If!!#k+LszRu(#1~Q4$|1Vz^?C= zrOqD3G?6|)001BWNkl#gpis@( z6Y&+Jlfn?lPv2Q6e3Bu-N~9Eo&UyL~I| zt%Al}#jdJS+#VJD%vH|8{3imRxo*GqN}i;V6n{o`0;J|sGD2(8B#!5FS;a5N#^%UN zhfNYRshp-CHdpVYYB0@{x-ou!r{kqp#(P3{{e?v+zhH?69@6I%{&(d!~{4nqofrnvzB zq?vkJbA!pNhd_6H?Rax{QI*&=jrkjk`&x#!9S(N-k>U)~43=q&PM(KTHt*abdYkS2 ze+gP z?PfnH4+mkkB}s&4zE&4Lb|GF@&~4WlNXmJ8Qrn22*o1cQAhUd$gby-l%OAz^v&m|D zGQ)nl0+0qznZTs_xLi{bIJP!zH@j7GEw4=W)pB7Yw%}Cann%l0QuFzKB(VezkkKvO zS!ANr5Tw(|6ql;10^>NsxyVG7r2Gre9E3BYqFu7$eFzv8YolD`P-xlfgO_C~PEIe3 z+Y>^-dbzO7F9Dl{jL8R`t^ZaP=xM4CxbbA1jp|%1WYK=8;QWpy; zZBZ{5D2|^_7Y-%v;HvziK?RX2M)^gmj|64dOr-p zV;e_Y(MT*x9%O`dU`#qmy7Ki|x)*{k8=sl>&6MT4K9zR69v~+sU{_ zWcm|(r27Ile1H_g_=VfI?w)OTlHf2(m$0iF_$io&a;#Vne>nPw40;pp>c&9S2-K)Z z^{-TQOdO;vB%=s`Yyw8|eqtk@0eU+so0lkhswBKz{foplq*Qf&YKS{^U({m}%;c8u za4W@eiwBRyJg)%ZY9Txg@#meH-M#Xqk~qTIc5g+pDn-UHj{cHsBbDieZX5{~(qKG} z-RvFIbke~rE92|%aMR9!GLI;p4dlkjTbDwjU!G+aXUv9m-QMb`P`gLRjSssO!s=&8f8i5o1Q!KUq$EK1WeXQq3UOYk+HMZ3=QZL*=7 zJ)C1L9)Q!azcaIZVnKaBqAW8sjfg@i*3B}ZP*9CPiVQF0UN^VhAnu+=t0lI(MuB^E zOU%Shq|(=buN%87st@R#Smc7o6j`b)?O+9+CU(3O7(^OEFuou!^;9>d2r!d5VPgxq zm*hllmm?P;UR32>ZjZ7wQSQWKo~?X?*bC77Gb%6T8O2 zRPfAww=|4Kg5l($;)+^HhvO)8^I^0$T+#%*kr)AoPB#XY)Y$cQt3ZoJq=0oC#a8W; zIKoarN(Q+Nn)0w&E{s7+-!*+{3jL79uj zX0@!eBMU}>;0;dI9W$^>X9nVq%&6jfvD-H|K3dt@xzLMI#xUt{+O|ij;!ut%TwQatY1-bP ziE)&XHA%#Wywp{AP<|4}PvSXE+ndLA*UM&kRAoGMUD7+t`R#D8LAJ9{`@PNNq~UW*K@AM$19J;oC}A?#%FhRH4`{SI5tgz@c^|OVq!ngb@qrnJK@)Jj39um?+}W63!ChmD$If^@?6Pyk=J>vH z%f}Aa`+$pmZANU|7*Zy&P~oz~Rf!&tJiSc285W-`O{`dOSwh|76g<*+_JrbP4oK{k zjAo)-m(Waa^oo8Mk;bvPH6(G2wwDpjVyKj3mFeZe4%7#6#pE-#DAoDl=C$Lybd{sl zWv{e!(*LP#AuH6j2b4FA6Bb2opqcnO_o$mj*Tbo8*LX|v(1j4N-PKqvD$T7Dph|#Z zns38eTd^$2akkxCcfk>gIu+h7q`Eh4Ct}xT9(@kAS(E1$Fa|9VPSmqE%Tf_@YMTr= z`(H*W%lA#qWelM1bx2@gb&%#4W9)(V%D2v>FCypm9jPz##fbFiq z(Rz7c(3Mz0r~ffKv?y}8*w(@cQ9T<0U2Z%lFI&u971&jgtHx+Vt?mQFsTNg42Rv@3}t;}=V zQc-2TURHv4Y4L8`4pmhma?bG10NBkhV|fKeB=I52veY)7gdI}VneCenovy_BI&#BA zq9R%N<0P^Tc!*19B=37! zSfH!2&>+vf0q&$6j4Drxlq^Xu8_A0D`iRNd>DkuON9ZZVO)bIeahwn@7v)_t7kR_R z3Mg^@q}kYdDR08O`j*ix=%4XnJKyeYL=fJN*Thd4fr}D@*Ag^JZCeuR+X2TIKn86vx8==k@cyw}RAo(zg(;~f@+5YoI zG&OtVuvsllMK2q|%vPuL&>^l90E?92wvY#n zncVtip6l2pThc=!Cdqhw;E3UHvs!4e3qhWhwi}SfF_LuFr!6XpF3J=ywHR}Ko%T&* zNx=O$YCxl0W{ZVP3-o7l4w$sKQ{F+dFKR2fG~n;X--{zTalN+dv0RpB^>V1aM8d)Oa3as^QyFnv_ zJ0Jv5_Q9>fzHZ@Z|Ku zxIwkP`Dq#}-X)*6SMer0f+Ekb-PPJ^m&PRu0qTPs+vW23qn=`ID&r;NF&xX(d&wbt4h~AGQmb&d^kz>aw zO9RpF(L0)#g^d&HSHp{dg-EPAB=nFQA^IduI-(bOhSjpf*~K1F9HH+96JgGjfXt*9 zaI`>9k)^TuYFihXNEe0xjs1!3{IOU9f^9V_)1ahc^qQ5XoE#`u2VoYN&dIFu{scY$ zySh>Nji2F$Brv6nZ8s&sOL%eL3%Th5bfU)24^{YpBGX+Zp zZ;4bzoGFDr*eEgT>?#lHUI01mCRWSJR)%Cn3IgwKy&XJk)F9X=wg?iy zbsJ?jgX(UmajDeHcJeYlZTF4&Kl4L!h{SOFc(XEs9rbD))fm7Rv|A%l&N8_xk-{l07o^YzGn)k^P}qq%NVQ5+>HO1ixS&i zqr8jRrI4KgFPT`!oI?gT9STQX;V&zCxxhS<=-0&Ao<(Z4sNkH8!I^fe>>T=DRQXZ_ z1X~iaUM}_>X`(oiGvOrJ#Di`)nG8+&4T-5_Mw4|b9jwDJjsG`wZ`LHqm7R%w*LU~W zGP71x6$+?Ap|CX2Y;;q@5hgDt zHhaOoRsmJ0Ju@T1!*{=WIOjVa37{7aIb%}10F_H*ru+4K&-u=`sJAhcULX(p(Q2{B z2MV=SfmL?W9?CGqdl-j^B)xv<)#s-%Q#?{QgcvK;1f2n6{k_PI3Y;@cM{G6*BN?vC zow4UQ8Wn%RrvofvFII%y&wg>4ltihzcbb!Dx2 zOVqkJ=S<^dF8-qe-{daoB!-p=Ho{g6Wf%s0_}Q0u{PYCp4_9(ZMN@!Z7zGoFZm%7( zmz&C8o}&Af6oHn^i4x?zE{=UuFK&AMAgv3hWfUsX2G%*5NF{M3(+V#b4R3s)g9Qpy zca=y4ScQa2ZezQ{@j88INW0)h+;@Y;X^ZetFr`MpM#?QF)2qlpQMokEHq54_mP<}U zGN_3)nT|;DH4nwDR4WGT9Uy}UNU1^NCP3x(=ryn}4D6c73Eh}wOu4HuQ`teH*Fc6I zsfwQ`T#n?sK<``KNb2aetoEco&e+YYsKUS*X;iFh61y${ltk+A^Y=f+(~~tWUpP7= zMQU~3)@=(1hnX^(DPh^SB%v2jk_eODX`8q2t;MPKIBJrL9xQD8g{ZkNC>;#?uu-~J zc;bDX!09?;;!3X$0{t+WnWU^!N_Qg1>lSi zO4s#5(#kTkn*~9{L0kn%>`cM{o1HMdp%enaXS|qvpiHGuU8b7d?T(?0ESCNL1Xh}Y#c`uMD~MNpYS23 z4^g5m&*;4}vqw7x`GAoF#pF(c`V^~FW-gk}*(OW2Z?ElT+jdh`pj{`VCflyZ=U;ve0Qla^FCvK}{Or9?cKM0p- zP;DeV)yd))U+f-1D1_7q5Wiajnn@ht*~v!YWX3^*?gubuirOKLJS90)6FXZ4{#0kg zg+W*UrfE$X&AvNeb)Zu*89yfWpndbE1HjLIdl)0n+@gc| z8dY1ymJE;wEzc6nT)OAO)Z5ACAz=5s$V{LrDt2YHDmcw45kXfv28`O$48vgj6z3f3 zw#8yrXmtWR8O1AjKoAGkmN__;%QQx;Bu9r;C=u6T9Ifn!gH_JbS`Aj&*dgXS6;}@E z`Vq4{)zeq1vV8-*rQ(!g+?FbcJldKby~oMA6u@1pmEXMn?w_far~f~@Zut4%y#BuZ z`ERbtx8DBZTmSy`?{^=+_u5N#9n(0*vr~z)9{SO$(l`pubdbQfaJhP*hgF4~h_MZ> zn^wJ+V!#Io+}UVtNCnNa5uo4-a4&v>qBU_m?$RCj= z5f*CK2+)o+GTut7wDB+!JShsN$Y4Nv`799=vbt_jsMQ0@^55n4%^NY@q=(=6d4Bwx zpXa~-zOV0kzfbPm69#M7V=>QlWGbK?4ZzsCk(Af89fn>kZ6`{>6jn$k@HkG^sDcB< zh=S0reVT}I6y*Zs>R^wROLMiRZLO?N;uy<$ftltwaoV_?&m_!m7z|@*yG}`Y4)Y>2 zFB?(M3yHNK2Hgaty`(=dmFy&%GVX}7o3`r(OVAR29Oa;+T`u4i?~?YL>i2C~VYQek z)jfpA6p`)^Xu=@C z`J)wR?-7L|(j>t`jpoQJS}kT^+U{0ca$YC4^-Uw~8!eSN^^@cmPM1a2)3zO=ER79p zqyI@M7j$&6KoUz5CW&kCGH$Et7Doqilc|4UU&;V9J~(kK9hTnc z;|K?v)RX29h`am`qq34TX zcczJ@y-r5jw#RZ&oZ){ogE|qYM=%`+NSXs=%uZ&l_;UwJpNO&DNly8CyTie94jS|a zfkPZ6!d?ynl@=sY=`hk-NrHi!v_k@3Pw~|BiXpY&=wN}9(=FmCQrE$$yyqt2oamF< zz^VFMs>Cc78VA!W1RPhUJREjqg^TA7u-OWEkA`;MdsK~Zq`IzG*Utt+C4xz@8iBFC z!%$*|*{{2^P z;ujx$cINXhUB802-oF29zvr8;|J>8&@AH1b!p_uNsK#uT*@Q7vE{k&#*)uPMgHt!% zly~L=%!|a*NlrJV35SWRIUVD-okYt#JK0$O4M=Ict7~nQomD|yH<;A|ga4kMtf&4S za&HM{ZpsSh4_DZ1cM7^nJ57OU6b2KwioL#bHXY-^M0w6y8SsoNetNRT(Q1KbryB&l zY+T!2g<%*qX|zYvv})@L^Gq6*jePOk0iGP6B1;mRLW#C;#I~%BthX&IO}&L-S#*MM zDz}NF2wi>F%zgj%Oau{!OLw@4fcYw?3Au2M*c9Z7Y#Br|WXc`ck&>>84b*a%fTs=Y&9cbhxxh z9>u!U-Vxj%h7p^sh%7k@WxUel-6O<44iw0hnW+bL8jB#9EbhPsXDo1^o~*H$7e;>M zn3;GV6KTmrr{D2ReWi#awo20ECd#otQ#(8+r92t6la@`UbCqsJZP(+RCie1Y7I`Xs zF-;etwaUqQi=%^uj<;o`oe(!u@}BoXf+QCC%{BAdtryPZ=J6G{054s?f*-wk`*&P_ z&;O&YzgsU}{np3&kuXV&s%mV25V!z`2MZgz{%?&5if*R%YxfBo|h&S+p*q7$tbqxjZZL3&1i{Dqt<-+%Qc%3W=u z!K!ZX-X{Y1z4^)wv)TXzm-z6rFVEbJ{i^Au>sL$y!ISL9^UvADVgGyjVZeJI-#PQ~ zS8hI!w(an_PRMTGxMo!KUw$Y*<9jc^h|^7pgXP@vpEl*r^m4nZF`7VGHKyxo+RoZE z7l;SW>AEzxJx+oEnMkl|lrjHkO7it~XJ60Hv(*+~7L`K~&%q=p9r_VWdLV6{9y&oN z`QlyQTa<6EG6hbvrU8YBjh`K_k!7h(<+^S#b}l1`nx?}a{^)xMg8+B$Kf-etk8Cs? z1_A!VPkxC+34c)(*a<95ZfU#nEU^JeSvAPCy=dAF2g?}%n3$P-s{Q0$^2EdeQ%-rV zi5u50n>>a0g6rbdm#!<9ra_jbSk4Rl^j9DK+Vyw)#`9oms=deFRF|*UUw#3B3vBYr z*N@)3jcr-k8h`br>qZ!UU!RHFH=aj73^-IPT4IX*Akq#R`d4);ZIm+j>qb=in{uaA z2Eq2mL7va~tT45|1Pw|uO+O4)aWT?*pF@?aV`>zISj{D4(0%{aoBnvc#ZsBZLXno9 zJ_-XXnJn@~$yJQXr43`-cKD+oy&(^Vp2}Z-{TNp+owM=rFpl`iFF&%=z3ZkpUGHH$ z6UO86W>;$YLBbtNz#@~_8cFLETwrHln@mEe*%HB{?9SAO&5F#XMpRn=@QvHXBl+s# z6I{J`4jxh={`D_Dum_sPN;D>uq*q2(duyR~Regs1*6QdyQfmFStSsiI?Rv9ZsG8P% zW!9UWMx@N;J!>Hpak|`UU;cB->>NHL4pdf`H zSMzz^Lt?1=wl4Hn&(Z{2l~s_}Myp@a5LU|>Hrt&!MpC3q_WruuNfN3aP+<_-^FV$T zBd)1Yl(gLzVH9FHE9`5CE6w$qB#D6D;%g-Lf+3l46k;(e5MH}{;T|M{U@^zN2TyRYoSQK5!Q*FUxIHf<-L%n| zS$dVwL7x?ZXka=!3CWBeR2D)CImwYc2^Mpq%r{+U6Qj26FpM4tOG&dZZ(#57-p6dIYh4?h5W^!b-~;MCg9001BW zNkly4i;tz&Ku6wk>l(l6J>v(y><{do!&$S98)|?abp}!V{`iSlGOM6Z@z*T zuU*FV=Puyf;S%HM@%pV7aOL88e0ukuZtBu@&1bn@{tmg1us<^Mdeqxp0 zq0&dVVN|u~04seULan?BDA!G6S~^NeWCQ8UfsvESw(YT46nOCX7-^DNOTl(moC>By z-Ekc8Pv3eSOl5(S+_R}N45dZXSv0NH*Jqk@7%|urzbdA&J91I zdjXuZo#ykc2STwg4vvJh`Pr9W*ztTCp&Dj~&mC-h2gDFP_7d zOXqRv{2_*M#A~;%tfqYUS5e-qE4$L`n(53r<-KNj}d zJhghQFuJb8CwK1QmmhwP&+gtgPR$3O-Nh$&?%{(^@1kl%Ajlv)I9P7cc2^6y)=#pC>#_g*fBioYIN>H;y?h?`A3il5)vl_A-5dsZdb~dKumZrxUwmcn z^WMjI&<_*t)%L;$CFox_EjDF^a|cVqN&sim!Lq7Ntt_V$EVY3t4sj%=;qzIJAAav; zYe5Hn(4W6@5%(TGf%hK&><@ov9H7OlFg3n&PKC&WrIqZ|+lbRLVDdQvARurY;mPq@ zoe5OE1$OIXs)T!)zuS(^n53HzRz2kZMf%>AX8wtzXkZm{G!EWkgc)Quj-v)XZg7Bh$8O zpPGL5-w)wOkH3BQW7`1UeB~yBz~Lvq{15=}gV%52@02pTj&&@zYg}(VBzK~~PiCHzOlk2AkpZHf0On_je zL3&{nXa(X>?K-qUuha;k#tWfw3NPf(qXF4Cj8hw<_)yb!sG3IYPD1;*c)Lt_X;s~v z@!6@z5lP^TTLMT+wN?Cu_+T7GI62)yQa!~0F3Xb10zxe(czs%(meG`-{}n^`2v;wi zGueUODr|R^9XgFp4H<1+?>Z!jmn4Qx5 zQ5ir|#3s9EI~8hKPTYu8d~Q(A0ig?RVam8vl^#mGL5 zV+|^VF^NgT0E97H)-@LD_q`~@H<%ML^iW}G07eX1YOJ>Afpc)7obm<|0}5_Sa3xvu zWZ(9^U=QR84f?wYI4+Fcs%~waIp?Mnh;c;Vfx%BwBeq(qAkGJ0b%f0{q zi|<%#_rBv}ckt#bH}U>A*0y}^@3;Quv)qC~xuFDs!_doy&Vz>^9|stFeX@%2W+vvG zn=s3r>iV2SEzvE5E*eo7B2HymIVcgi?RvXEP1_-mvQ-3<6U$UYXw2UVwI`-i8wpxe z2a8;zS4#@{W0)V#6P=6I%%}Pr03#tfFcN4q`%AWV z#4My;8&to=Aj1|=8azM+c#CoHc>MHa@1BHq>d}{*9#2xGMOG!3Rc(ieL{WR2AbG{! zW?5zjmQ>0DPB)t95UTS56BN7(G~t|v-@#bgY-Iw)|Ei`j^|w@EYAqVluRO7nx>wRA z*IGnN8C8%oaB)A{hBA+F^k}*cufBBszwG*Z={jy)yZo)6@yicC`$t)S>^K1Wl27)r zwAr9b!#Hw)6dIKRe$sh1ZHM)yMBR!DMMk%TUNi00?`aAwmG{h&1X(6UMUkgQ3yI?p z5zBS5Kl3!P{+>oo!nc>xjUX?)_}(;aXC_j|>#e#b`pNk)42}4<-j+7$qPab@nM$>a zm~1gaizWGWH}f~$==~e?n-{`eyngG2U;DoQ(3hN|qsb6hS<1;Re}7dsfYK4NG%@au zWT#P6Ba<5Oijl8365{Bwnio>RD1K&ID6Np9FfePBIF59J)oH8Mnth7v1?Lbm{>i7B zm2DVG435~K2n)-n zw02+|#bzT{8V5H>8tXBuOe!T07dmSf$Yl$I0ELc|$tW-K%s~D9D*V6H`ui?E&_C9T zLQ>KxxMs*)7bd;a>DgfJ0}`X{3|wY=PxsV7twkbDQ;|%-(1882s?l}c$c)6OI7kX3 z;dVu0HkH{lgcBq(S!p!X4=^V=Ba`XokZ0mp`0mGF;1%T_P*XB`uTF0nKK|mK7)XsC zi=}|XX&M+{MIx9~46s(=^;<9Ct+(%-IT611@{4$P&nDqFu}b;(!Xy2aHQHoRKBNrnJPkX>WM*kXlnI~vys`1+$L}3R2jYwr4aPVhKFC7O* z>o!T@g@jiT<8-dbkwRQ>cL84Z&YIf?R0JrxJ}hRKirty}@I4939Qqgw7w+uCk33HH zylES?LP`U5FNcO3%_;7DTJFCnGM1Et1xMFNN*=DyC-6F z-lac@JDq_4SX8w2uW{f_&JE#^7WJ$KxO{jn zNZ(tAw8S~~FXi{Ve@bZtBKI#4_<{KY6o!zXQSO{~?`HPBd1Yx}VjZLN z;XT)E8`HT3wVC=@Yg&6ZOl-F9`s0za80Vp)bWQ3ZZPe7w>GJ5U1GCxs)em2ss9Juu z0>S>J$zu+Uv?t)QwZCR**ykPY7NziZlCb_FxT4EywIJ_ZJvDxIXi6kqOqc~1k~Wq{ zp{Y`ZtA@L`F@Qa*%nMC>(gcUD>!g4yU32iuDXt_R=jipSxT;QZD|e-F z=lqk3OPBu6Hf! z`uOiLJL%t~=wCovlfzhI}tf<;U=+!pZ7~ZU28-7iVk!dO*=t!BPDA z`vWxHmC*pHr$=c^IDVW@V#g)$q^UXWjCu14#aNxa=`JNa%%%|ifON4a;PgDaOg^au zJ(B%bfq;B4Cyj(z5wC8ZbucbO7C4fSD83Q7ro0hGP+Ixe4Ua3o`e$BAXX;N%T2HVf zIHaXWU-3+rLfNVtZC|wu?fC$58IO?n8!B*da{l(8SPjhI0zAha*L@%0d|gQ@*mXD9 zTRTMgPaxptENXHQOo#(D#Qvzu#Z@zWle6+?UyQWSBuk z6i>Xl|2*=On_qknkM0mdW8UAClIlvA1~({9J2m<8pXIQSvEDuo0{11fNdqUZHM7YA z_v62kZ)w|pc>iuHuc&k&{dxtaIxCUS?8Z6Y-03TcS&kywH}ih89Rcuqe7bw9?+|aJ zZ!sx$DYEQ1gGNrh0<{zc0DN~Jp>cDtdt-NZ-#W`S%M{W94ss86A#ri-9s$1lxZQ(x zO!5~pyY*?s16uj8+9n|V)+r%0w+x=f$;IW^mMLETFc7!KvP4=86IoxS7E+VxisdL@ zin(+ZEc!A}>mYe0kxB z45));O4fk4qZj!glLsT8AV`Feq)H2)UI%K*A_algn5em zb*48e>jU8}i*$;@Q_(OP+|%{l$NHR_CApi`Q<)R;5JX;n!qvwuN_>ciFuJyzkgu9y`@yR3S&-AYGhTX=Xn~>~yxR5c4vkD#!A7wkn*u&un^{>hX!}D=%MOUA=sP-dArqfuD-Vs!i znH2bAs04%Mw7&U1Lz9ULievxuK7GO4@Vh3^+T1xLUcm%MX&B`KmQ5hR4WH;gkfjl| z3J%LLR|L0!rWQ44jBd*|FekZ5B{jnKuZkISqp*3U?l^o%D@}q6Ny7J^)tNdyms*=+ zV{xy*6AVya^iuXsI94V+N-yp*I2P^{Q-eFdudUT|+fLj49H{=MZpLb|@|cD9&1BGn znirkr+o36*0>o8kD2XiBfv4H^Av|s$vvvg4y^eSktI*#C1E>-7(cGB5cxK31{=2Lf ze0NvwXC+;6>`KMw0dfK8mC zI$BX2CfO*+L%!!M3aT*Zp`WeK4gEhU4)_A@F@-;^z7H)a99v4NY1j>7tH!|bSQsO^+N*%^ds3Weh2o$7cpsRT2 z*PUjyW6)fY(zm0Dv8d*<#Ywi!GvUH^!3CQ-`YpX-osdOB&5C+q0iyP3`=qz4f9yz) zSPl(XWOb+XV_#l)yS|#XRv6&ZENEJA%qsJpybP!-e^DCCuSRpigw_4o@ky@Z zsl3gBy&rV!MxRYw>2iJU84vMQ(j@G4PM9!CK#5}3)CvQRRlp5jA<7WmnTOy2)Uo(R za^d#$Sa!_74~)?Cx%I9dGAtjs;O-EXwz1;Q%gqQsY22&uHnt4>*)Qs{wW(LjkzE_@ z8LOmO>j$=P1M_&3zt0GTd;5Zq&X0eod%Q0>m6vI??+8Ij`w-T(hMyy)FrXIg?|nZz zHu9TuEgz)@X(;iJ(m2F`*1JRfJW>7L*1~9cvz)Br%A*g$z5(n+#cNR^1S^$tp~d7k zPpga|C>1A>AULCy{Q&?U_jWIpinHU~&3H4Sg8@LCxeg}kj+6)^)qXB=K17FNii0ob zVCn7@!<&^W#TE;jCIGx`3UpN-KH5;U(zl`Kp^Rrpi|_T;{)`R=0M6z}RN?D#{tfzQ z*c<-L@^kYQ{XXCY{V@HnoczEpBJa=fn?HbeWxJM`RJ0K@bu(v zzJ&B?euzOR$1(ZI=Bl!ejT+rIX$iQi4XMBIzsIpi^D!8g+c|XTg-Ux9 zkE9I*wQNzznZ*mZ??$gOtMMY!r#%WOc$h(ABoDw$g|hY59-Lri&b+!#XXQG9Bk4qd z^BTNj+?_}@>kQaiTkj_*8$tK5g`4kdk#H848Zf#wq8gaWOIoT&kIMn^k5EY2Y1OfaAHDe0UjqBZ<( z4Zqda%UMQCyE`%BCJTXW6&ebopH<}}1zyL2Qu?2=TAH6|-@u8fl4WnyiP74M$we~^gHbO7T%Fq4$>x^!wy5$~On*89rdjbMVgWvB_-kvQ3 zxs6-H;6(3#`+`p|^BNo9{>||^<{Tm&%mKwya)UX^h2E9lF5!$de}^UQYpevE+RCF9 zD)}d@4$J!aiG%>GQd>ad1FZB2NkW4^2~Usej6G_CiZ`aG!>?A_Hi=&mWgy(aU-Gf> zd#!L2D#nD3zH&luYMsb9^?gK$<3H=>nTrqbU3pmed}cN3|HR-)cR)NYiU?z`z!A8e zE=UtIEJ9w7kC-ua%wApoF;B2*niVy#OtS{;*~@r2*m?#$)L1{8^X@08cVouOvZw;R=6F(W6u3n(f3eoZ19m|n6&_))Zu$_Erg|o{O5FUVao;aYXL40%C#CGV8eUo-mAG+68Nni$=sOA;7gY^V36nm>UlFh3u0<7H2#?Q3Y{ z!9ecWls-+n!6oIeNLF?DS={n}PWwC}?~ey%FEhr8Z3p4phI%^S$H_~?Kli?Fp2a9Wi+!uz z!3BA&-CEk3l?f)B7l+DcA8{`S!iMBsAPF z&ZX694c$_!bWGhX+(K~TPj&{nfvr`R2EC4Ud)ZCRSUOI_w5N5yJ#J)XJ>62gohwmxZbd^Z8thUT)_pQNfw%()3hqm#N@3>$`j~=pJ zlc)=hiIX2c&Mq_k9O7g#|$`8;C`)?sE8Vn3Pe+dEVTOF$aZ&;tri57jlGF!7wy?n(p}H zj^Evj0y7Q2pZ&XT$k($xx$3y5zzAL;7vF!m+5+W5=6_!)5K7jvE}Zt_Q-M+IsI-yQ zr`@*wC9g8xzn!1aKcai+kIo~?3WT2uGf0(!T;}jgulyivDP6K}VZNzAi0$zTx7-@3 z`$zM)ep3?78S;oxgJ^T4k2L%X=b`dcBB&t=A0XVkr%-5f(bIE(-4+pIFwmfG8qOVJ z2aG!}hm*Xw_p^E!7hu7R2cabihuUaaHf21CWThgA@u$U;rnu4+mIWOo#YdiU_t&^e zLrUrBQF%vmI?=0#?-Ud*VfIstAWJ)Ryff3?Je!et;u7MCCNH!q${M_{MM7U(=lEjeeX?OJsNxc(+>Z<`T>qRX;SWN7~Jp97^3 z$>3AA(ClbSU=Vq%c}HyJxQsFz3BLwS;BPx9*EFy;wIDwMI5{|q_BS9r8EGlxuKXF5 z)^}3y0FlPCcRT$#q%7NRek|K7aDDuR)UPDt zspw7Giy1a)lu&U_F9075pldI`Dpzn@_1XLuxcg^1KR^W=OnO`0k-ghK`C)5!W_+F* zX1EKa(Q7-5a)LFyDY7uvETp9QV+djbU6Ze^7m|6@v#}S?m-SapCMk88<79}5qNP*O z8^kM6xzhaDQsraXHK}g%Q#~7}mRpXy(lAw%pR~2PvS8vZNPmt~T&t#YU=6IT=DoVLd>T*UoHOhurgX<`tm&FoB#VP+&YN=gVIEnhJ}kYFn#?a7hs9`|kb zU*8{#F%;`^vG|(Q&AYxkvJ-1?(4kyB7E@d0D2MZ=$SU|qoX?B%seS)A(8fNV=Q%?u zhiyLVD|(6%C&WdFNbY-FCP4A`pto}s5?;!Jk*2Dz_^XRBT2x^A zU&iHuyRVo2>wolF;!U9KQYwKeRpJZkI=N>~w1m09Rfsb`^OhVgE>(0^MYD_OuYXvu zR`Ibv^;&R0&5>zbuyg%n;`xprRzIg(V^2A?ZgtOqY>F6V8m(Qur>-%^I(-VZ=#XmZ%O@!?s^ zyLN2mo+D)N9wlj~Dvlk^rUcPO70UiCnk7k1e4dAqpB_3)#IlVVg_IO=c<&bqQDo>= zvf{5~eP}~6hr&9N4M{9!V=bfOeR~liUFImo*p1vAplrA0v0Mr&w4q!|Xvu^UQWinh z=m_f4lfA-vP8^AY9D`f9>gY{V*Gzlrb)moHIfFL*ZuEV9TRMth7Jzl{A25rotR%+S zYq7L8Sa#31Jvku(qjJxm?SfdWBlHbrwUnU`!SdSLT6~D@Xde1#Ah8wCOs0X%@JKte zAgZW$SL2=4Q}|}%6|sEOWy^@6!@)X3cv><2lVIh?oCZm)m??T^XiG)aa7|YlM?gW) z6<#>+9_blt=e)}q;jLMDFhQU~dq#Ru`DVHh$a>6$#*gMsfNO9wz(^8B;6g&x<9qrh zsHx?4&y2#&K_Wr$9Xr;#_Z^JPTY6}+?qRbQlfCLGd{)854YWX}(OR!O=(1U*!Zh;P zW}--f<4@v`?Kzh^QWazjVi}M#O3U;#hl=KhsIzJ~Ugp7kB%+g5Mil~Y!m_c%pH@v& zI?F?R>g0*upAErz(cpfu*Fi%#_^UE!fZ<< zWj@*k?$M47LY3MpxTnVRWue4M7ttv;9TrPsDLc7lR^~4u;EJyRMmqlB%W4Z4v8ne8 zM$rz6BfgKk-rc%Z)^Qb_s5^CdU@63j(e6FFZLNL4G?jnxS+0F2oh^}SDh_pe3-~}? zhtJiFe{;`@ULTuQwF4D38IgUJ5Qd;368?qvSDAHj{ik(6eNdIelmc&XuPs0Bb&SQB zte`OsT1hke6Fhr6VpJbEj$hGCDqP)VdgNV zD+M%A)j9m`yxlW8+OVfbZGD8!`rH5uG5S|G;%#|pitpyQjO-QmKY_?~1sO-Y8>NpU zNpAwvDoiS3XBHj?c+5L2S1ew;pt+y@SCjqB74n& z*lOvEao(RXNjeT`7aFrwF?#%sD(TtO0Y;EME}>^lRPhPMMxOhD5NfI4`@SsPU}X`t*X@z$5~_^#`j& z5mcB^cCix+P5-VO^Lja~4H}k@Z0bo=<)q0}&L%*NBr*JO>w<}t@Jp?lHV=9xSK3a~ znsS=%8h<@SL^tIMIELCnE>ua6FpG^yND&6J-sF_BZ(fo@j*6HTqm(bXQ-?pw9X6(A z%>XJf<0qVhFjxssM=qKxMA^5LVoqBvI`u$N33jeGtEd5TR@5rjST``YMkrqicHu!% z6f*6&w>OiQ+4NL@=DV~|!H(+qO}%-c%frU)Nxyck-FAl;O`FJ_rOM=DH&|04o^p(c zSG&1{hD_GdP3al%gAWN1D_M@OFr5=i=hoxG zFDPw2JvN8KaoJ)=zRxdQNJ(07zqdUDk1hXu?1pu)Ju)QcXHqAqS5U{WS! zxG%*NjRImFou1Lyeg~9dQ`nd-d*8xnUyAws*`0A}a~ufxnpYJWNcSmtsnxg%uUlWN zYVkg$+(eM%ky5yKXxc2JyC6g@xmxAInWlB)W4P=YHYXlO1?G9n3ZR-k4k#feHdHMX z%-$+S4;eLXh<>BHkd;-T*y>}o95(jU*`!Nw+8y?b$*-Nt`^GW+n@(3j%C6To>1|k| zQeagoYcODj{*&+~?9NcMghk6vW1IRq!uSzET5)5HQ_o3)S+> z?4TBAfJ$@=emi%m+b;d68+IH~0LSDsPa)nAI94W#o;Aj@no|)<53w|H^Xpx909r`% zJc^&2$mA4VaK#DiGPDEnX}3+T4fdrAgFXoh?Q}Ymd86XK?qr~2Fm9)|2TILzeMY!H zh6_O>#^?11T~;0;)oQ5t!0H@r2}&Mt(jm_WVZKi8#CbG{XlAd3cO5Z{>;lgIrIru7DWa9~tb%BSGt1oXU6g4x)e&TW$I_E z-3HSHbZ2NKR$~^!AXPFDCCeOMEZLYS7l&n~FPd-_W%Bnako1*da4^qfjG7I#G##{I zwmp+6?yX1Nmddh$+TInGG1Nf(_r6bESs$*N==VRUjsDoOOYZ$(G;YVi1+A4cK{tGx zWVe4R9`gLp)mLIX402|pAz$dI7OV6|TsVs2(k-ik0+aPranh{Q@{hwf=zdMR-yI;obvmS+lhAI|9}e}qXQ z?Rhn)T7OrT*-?OuiyLs6a4@svKI2**vuJdaQucjY zzd@C0;#%An>)bjXUoV zGs@IM{*;k0YA001dVSYt3rRcC!G?Pl<9ceCS3B(cidc)qG*OwUOje`KhgMKvp~O`X zaqrO)WS_7=lOwYyZX*;sAGZW5hc*u3B4W8b)4xVhhiz*y&ls_bQtK6RkySnb2lQ?d z;s9;eye>2W!s?{BTAL)38te)MF>ZdQA+IYsBR@EgF6+7J*S+tlFtB*Mg9j$5cBRUR zEkMnpVu&!5j~>X5@`WF9GHEgsR+7{i=Z|<6{9wck5^T9jy;DKtdXGZ1jN^>8Yjg?0 zEPE|={RepRfn^Cuio0wn8@;3gb!G-=60&IoK{-%i zcwKBWV>@g_L;1J-x<=>MkyP+&qcMpmiz=_MDoHbwp`cFGHz~lb=y(*COE@(-LX+51 z6JFTVH%MI2CXcK!R4{qx-R-v|=#k^zqDYd{h}--$b|t(JxUa)E;nQW+?MQyUA(RBB*^B5Xl+!QiZ9=-fOhUuYbWVfXViHr3 zfOK-+gopGI&rL-IUOb&D_D3B1YR(-fHr73WN{zx$HU(-w8!t)D<9EVlIHkz*kw&p~ zLuM_qu)L;@6xK(>2#CvP<7A&+Ryi(h`FFTA8yj!#ogIwSPw-2I>t&wIdrd}6p-GIq zL52fUU@XSFjq|Qj{@vp}+wLc&5*0+XnRNW&9!;_t!)VI7h$20R;B;$d0N<|&g*{PH zs@UEt<(6IdEMaRMX0@$X8MOkHOJq3RqD){!!HiMOOJCY2gD6>=IV*EVW{4q9CUn(A z%u6)BB8KXDmY>0jE@Mg4>XD$mhDghS4WlLgD-PU(bP_I+V8%vf2#Xdbh{T?A?DlgL z1Bd^|+j~@YVw-;$V_iN5+M_+RI^nSV%6V0-CFWG*`a~KjX%eW31h~TeyTY7~c6C-g zCtayDgH@8)m0F)6o=l6V4mncesyXtnTkfu*g^u#(M4!}(3N-u%l1+|YsyMS%_sj71 zNf2NL`3KS6@90@+5lJ%RvJI~s#g@3u>?$0m9i@*A*(yOval`L5{d~i$><>Z14_c_hwa@B36(eIW3POt3%lMi zJp?Z`7uzM;<>S(hTU-v@kOtU?RI{G@VPi*t+P@I3OZyO|#qF{4H;tEMZWXfXkVFCb zni%vMe&P=(%eYxxDN@5NH7T^ssfb>@jJ(O zF2C%sjUmy=pl-ya-W$C#W0J<)a7BU3Qh6E4wQ3K6qFBJ`Ska7YeIdddn@J_OqteiJ zZA7SP3oK=N8RyR}VE)l*1?@Lh-i~+2MlJVa9<1bSb{MB-A@ zQ_DevZ^1FzEhS@?GD-|ao?rEAh%pB3$vB?6Lll_xbN#O5FgS;{W+odHRQ{#L=9D!)`m z0(>&fss;EmPm4R4w^U4sTQfa#C?@`hP0RpCa&T)@4t`fF6_)^v5i|wn@IQWXu0Nt0R0a^W2dUohcAmD=iG@V?+N zue9Mz8ZW&gHnVZ3(lCp+#D3eo<~|abY{flSVtgqVgC|xXjRrUa?3mL=*hqBTXN+WU zgUmz@@`TI;tf*Gn7&P$9N|m4=Wih(J#b&nlTJjz@dHy98yqUyQrNM*js-!yBk?#is zi*_?~_9w$tELxj6SNN-|`0ho2g#m_J{K<()@shT8cO7SP+7yQ$zr*)aP0s>j#%Rj#{am4Cx)I>p!jF z4*NUNM3?P8sPb3v_3a~N?8NL*RxX}8Nrb$kd)6$c5MX|D$8Z!LR^bsGGx*(#Ay;UB zYVP()DJ4f3vX=eGfcrHh?Lm(xA>j-{!z+i3whP_+*IwmYN4ao1a-_wUnupGt(XHWy zZdV{$<&7)5sIYNuWjbF2W)B}3i6BDtiA*j<%C(?I0T}{SZ{joaLxAJDazz(YklqZ+ z7dO2OUsAJQt)&E-IfyX+y{rS_DVi(9d@6hOp=$6N(r{`Ls!dbYbyt;)zfOb)OUAZR z5QH>4>hsP5@BbvjLkcL~U1}sBbAUYfY%Ua>(s-A^;xIPL-;ucxK^KzzWC@j4X1Q`x*pmUDs#zMfXJkp7TPSDIayk>Lg9(gX1@^@QEEMt`!-9xg4%xJN+xctE$BO_|1 z3X&>ttb1N#hYfS&xs-HKdKuB|V7Fq6!peKrasX~f_)=YVr^j8k-uEnZYz3~!v z+Lw}o`)0P8%Z3(ho$%tc07h0e{U!Y77FI8wqt**lc*#Dz&jF(P>?TEzQ>Q}(l`--D ztGYTLy;QMh!qX$6_>w4hgc^H!T&S9EW8vOOF ziqkr@g2Pn5!?yQhN+!-i`&kY7HZ?Q!qqN`wl5wEv8o?TUnQb2tLtPn^bt71y?~xKsXbMqJ8uNXshulQvHf zc3EhkZCT3ubYoW#RzxopC%y!;LC5^UXwznuwRE+C+?{EJm|iH1MZw*7As084f?g#- zO1c2p3%zW}qb;fhpT^n+7Pw4a^FqJ!0cX20g)w$o@HK}IUh#GUkx-OH# z?^MGeWu-xOO{X%sFGI_8v)J|>)&sYSDx|4r021A#+rf|J=v#9LX_0Pb)r{UIe5}#* zqD=uVlrr`=7xm|j$Dx8oCHSjPL(*9)Bepow!*aN$yyn9RZ2|`Qnb7Pg1`}?PYBp%K zhl+FwyA~b;XjB@r*QV(SwPUn8iQ!6nJZ*$2;_nq;}Dxh?lTmuONJJF5r5Q!61bStEwF%aFjDPCE}-c9tP>w~qY)76)CmW`|QcG`^HWl*~Z` zOjk}nbD&e2CCROXCF^Ca7=QnZT_sI7CM^}7l9>61#OBA0$>@@6qIx?&ES`fr2#RU- zRZvW(p*uxQjcw^`{P<7t>)LLI<}AFi1p>=*Iiz5hfIMvp@=Y|`JIc`iUB2IG^|X^q-r!ZRUcq26Y5t1YDpN%*O(wyA$niE)}^iQB-dM(tVs zn(A*;AeOz+*++aYq7;Xle3c+kojjsXHR7lPv?IPwLB0dPPqu``2())8sd8F?*y&Sp zDI(oK!iu9=@T9iY=2*8F(Zxi3I$-9Qh43s!X4W~V_6G>Y0C_+msy!vODz@Nv3utS6 z1_$en5`6?BTkN<4IcAKtXD9Is1Hdbie_moW)X<)W=d)DrOdz_F8)S=TnHmznX z()S`|Q(UqhS5cXPGTagu0i+M8t-K>*1QSwuZKMK*@nNtZJ&owWnWx- z1JEEL`5xc6Iwb`+p}y!0r>HLW+3U5?a5!MOu*tFEIm`elylxxwp*UEQe_YIc2pAcc1iOInWq_`A7VB^75uLp4l3m9I6?3L(ozjchMu1MHh zYopl4#C;q%*$Y;}Uhn2f)@zpRX z+fysx7SYVx>+ooY9{Jdfr^U}uM$xL^;KeG#a<9f8{Ie7wU~K;!_*0^it3I@oB%(0S zar(VMT_423V71sF=Vb968=1*EsV3l%FH2eFog^oBB>Wg#}X^4Fp`14tmlCVUp$XrHl2q~ z$kBK;U=cqqr>Xy{cIvG&a za0w@jA|x`-!qLa@_GU{jqEL_7^A_wmJ=8M>FlJyN3&iRqN`5BXGu%F%RcODpd9P^{g{+l;0) zh2jJ33_GK#xF1&v6@6q%FM#kk1m!*bKMU~rGGM3s>XZ58t+bFhQ!wUG|7kG`bhl)x z+tB#9GE$J+bY-Y91|{{xsNo8$P@Wbg4InU-2_-`}spz9fM6t*@`*&mY`_5LRd#e{Y za6YU3*U3|mUk9}ImBHtqgtne%{1dE9~rVcB-t+U>_$l)TGM~^QxuoGzUe? zYRoKR>iT6NW-Bb_^xQqnpb;(7fcePqOv;MnGCR|XjL>EGU#(gPbzI}bB)ir z@FFP_RXRJ!_8Hn14IJNa3pALdrqV9?YK_rlTew3I?)#A(Vr}wT-;J03Zmp-$;Vaj% z@2L1%TLOas<^pYrd_l=gae)?6W*;4to;d(rYj< zYQ3t7iL3vj?NL&eX!+Xvp|yP84_4j^ri_Z;kadoMBl&lvtF@^X&VbvMa7_!3aeNQL z$J+xqr4?aHsKkjssA&E;VjbcImioUZ7j5pv+G{T~Tb4^4<~#lG>uB>K()7U$jIW@zU$@Df@s&7b$K^c-B)3~|X zdWHQDrUvRaaM~VHSZUPdCHT2RgU!p$|F~5XE5~~IkUWous=f)^tkEQ@j!_Asmf4)5 zza+Or;YOhbu`~9$6ynQ)`3b6MaJrbrD^t|jqU;hp439v^tIlq_CY(4y;? zk?ZCBwxydT56=Zcj`Qp{^qSojd@ksv&}ms0wwe6`*d%G1>6L zExwqjd>KJd2FMghi(MjFnoGm*VBh#b%yZW$Ati@UY}gPmf!&;GiUK*=&lEP*5xR+T6kDW^5-?YU~{_85Vm;4pf`|w9{!}o?sp{B-d<0MuXqp|RxL zcjMdR^^~u3$k1!y#&g4AD1ha`K#0N+`R;f0AFGGn>%e*gXp>VT*b@#&(s42ty?c0V z{13OdL@U1Gg7K7x%~&R2DbFVC0*12JuST{B8I)&Fq^iE(q-m?rPKp9eKg+0~ss+35 zTUURl5_|A2A(O2Bg_5*IH%fzKC1;i%^G=CS1R3e(@mlcsHUy9u&3Dq|!NGJP>Al0v zLXrS3-Gl>Y$(Qzxt=qAsWI~Hv=eM0k7i2g=t5_!+k>4@z1W^7MZFvy$wS=$1Fa~dX zVY7jkFMgNHDA9fAX}54*H$b12ESKIG=mP5Ch}uUo?eVIjj>Yw7t&muJr$Fms^dO@O z(;AmZrF%dBMRUc{TaDv%G@0_7%2@}O0d(bCsZUCb(>Oz=hE``}K)il&)AsMzfzf1J zPC^fee5OA0F-fE+cb~M8on{NPJ=I0p*))s|?x(fP3{E-AFxp99j>!irTZ;U@BB_!E zHBQQ=!aaH{Csn!7;_le6*~3`)FYI7T9fJok+vzPOgy6#WC+xsK`wBoCtDoP}#5-38 z$`8jNVgEaG>+RRc?H6I7(RGRMZ@}Y!@Imjp4B{h2UA`@*C`0Bi2n3Bx*E4IYeS}jH zpk(d%3vX>$P?=V1>}Px)C|k$9#VZaBVL7VxJd4GvbOHwd{0iJHz0C6Enx=XyJPAia zKA3?i-&KPBm_ljduTrMT9aop;8;aFF7T&u+^H6cBOV22lQfd~|sUfGQDb_1tgl(?jh3OwW_#K2i~)M7rlRo z%4!mMdU2D(0`k8iSN)_bq1)Mf9Bg5yD`uhyM}yz8U;@7_{+Ll=SiQ zkXgng1`5OYn1+}yHwJO~`=o|P9%#w?y#3DmU%pecba2UCNa86=f+hyfEDqF`MXK(h z+7gY{Y+F86RT5-xnblN@yP~d-bL-1N@9@eej!peUw7&lu`?Z$~+HLd;c%~r0h(VZre>|@LIxYH7^F)Z311t2 zwZg(bxoyG=R9Lll^Ar+j+#@beEF-DxG^&(iuW$b}spSY}(hwuiwAJWiXekL+n~!mYgW2W^Y4b+F zJJFW|J-4X7oEr}`zJhXeu`J}%2>d29IP7eHw;LX-pYgPq#@38>ZhK1ye>}XW8P7@( zxtIETD03oMomCO#8BY1FcsfUg%R@5V`Bm`{sCKg6sd3;l&q)j*NXrq5dA}+MVfd9Z za>%OMN~G6O65E7x*UG~Fb~&t@rqb{dmNqtHG6>$4QcChCQq|o_^lzIkRdLTiu zg_6g2x)dFq;gWOmhaQ=62SW#k3A)v-ly9Xc=%*smJq(68x>c1&| z=Ycm7RQG`oYB^y z4{6I%#J;Fs<{Tea_tSP*F*Sf8jX*plbb!O;;w73>`vgV}Q&Je&K#6>oHVwA3nPQpd zr$Cj)%=^*}KYfX;jG`Hj@2%T_tVoZv$H1BU$+tTh1qWUo-D#Hom%$O!pZL0AqXyS-qDuwE zh=rtvbJo|>)vX2Cny@X-=8nMg5~<8#-7~2=TY;W`Gr+N)B-$OXYS0KyH)OLi(|}GM zZdUxY2%h4n#EMLb|6F*%=4|rCN;zs6GN>vPyO!8*%+*m!R*AyeVKsPE(Vfqjd9k|Q z!9{Mn{fJuYyLBh*x5v=1+4tjWd)w#Tvge_9^7AV{&=UEoE%-0JamACgg&}hYY{E1K zjxe2|qqx}aVW<~CT2g9pFu;-GB1yVpJ)~^4rIW@W(xGyNYr(OEfd}wn%EgqqsPk$%an6OC5d1J(UPY@H*f@ zdRB3nBcH~TJv^j~3l(OrbAhhmZs9FUF}EBO1TS}Dqrdy-l2v<+&^y@*$L0lHl6eTr zx5K)?e^!oH|5yOw4%=_*uGjlFjmURjlvk0xhdApWEg*jt*uYk~$Z~l!|IbX6bSmI_Ysp3 z1M?nh4aZv-C1}`0YtdX&IC-*DQ4J>s=CtRe?SQWqB4UzNqpWHJvWH>7d*6Hofbd}Q zvchs**mNjM#lyPmdIX*?I7}@(nO1MxO@D0XurD%)Mr(kyTBI46Wrd?4S0;?xv#G@d zle==qR(W@fclz?{(#vP??i&}47iLqi z*Uq1o5qI0;@-+bzUp{+6g?l3T2Lv^jtSVuI!a2)LdgmJ#jQ)Q2;bXjb_@DySus8E3 zzxdoH2^6J;L4f5dw*!R-1xL<+M%pMY5(c6QrWiHweXQ1nn$xQ@T$YHLlE&z)Rt2g? z2#J6j7qd<>_z?fux8HyRaP#g%oH=pS%&vd|Kl<>pjA@5K7nAx!N$;^6jB}o~OoWa?_=0Eb@vtk`|+G4EUxDgutXQt9>MKh>Pb= z!8zcM|K!gB$mo*?TA%_@KI^k5j>35!CTVPGwZHs)|HSLH3#aYx-hKU|C8lu9|MJ-r zxP0yQS3W0=WBmBz{gu@#FP*~geCI9v@Bili1OWWc|Lwno?|Il;t?{q_k3Rzd{P%zG zUqJG|L@)Q@r&rXEr!?)6-1;f{evtJLhKA*knnAmdu9w3iFDo3}nF}LWFIX~{(=;}6 zD%bnY*35KZ)Nt_tk=UHhrn7)lFBCIVpv@^78O99$Ynsj|7CF!)76(w9kc1Ar4+w*{`9~Rv-6xK9}ZexN$B3n zCJ3ZZ^UaRJ5PPdNe*3*Qg*fOrQ2BoU(Ni2hdPolw!0BQ1bZ?2DeEhjoD`|qIp6cAx zlzJp_gmo_bl(y^4uP84oOwvT@{%l?3=PJrd^PW0;xU0M{JsBX{wm6DRsLJ2%+i$#L zw0I1_od=I`{Kz5D1k5>yUwnSu5;6sli=-M;%}$`W&MKESiwDo3cmlnseP8SvimEc! zc-_#Jp)-*tg|Td1!_YVTlDZaa1Ijdpe!y?M^_me6Z{2%{6E7aNl+qvn;xcHo&rP|r zHN$e9Tg3?oqd8V^R00j<@}bubDFyV3sZ?j@;7lDZz^M>fiMf$L82CPZ_x-nR^v$UX z+h-yNcOO2+vBQVptBwc`_?sVoWE%nicIIL?K|wAl3JlX@_3U|)B$7mtUPKZVv()65 zN;Q5ASCERr$84I3d`1=BB;k%O0F511f$!nn*DosZalq|+k8t9}7tFfmuYd4!dxnKl z0p?Q){UjNf(O9frspqTe8qao@c;Vo-Nh#)2p~f`o1|i_Eymx!cHL^4|Vk#%25;xV@ zxV-Co^X&TP?|svt6act+@1eZ^8)Ddh_k$1Zy=HMDAr77mdVEhJk7x(OK@~}>Jbcq6 zhJWV7(GRLxuo4oQe);)zJbbc?vnO9vtf2v8iZ@4x6xIFKyRREgv%6eN=1rDu~2 zWi2-ZmGQhCxyl`68q&2rP98gKprx2$rMUCpF%E3ajLCfS-a}J9vmNj}M%xM#o3$*;y>o97Oat%3*<51--rCGglQ?ptllb6J`_uhOJp0Rgj#Cq%QLrDR3 z9*!S9ggf^in-Fk&K1HPyKHgZFM&Qsye{YprFTd7Y_gFLAoRbzws$7SUFJHsc-31OG z+_q@tz2(~UKqOT9o`-X%UNlV