From 5b744fa1e6f4d8003605d86ed887b41b15e62af8 Mon Sep 17 00:00:00 2001 From: Nathan Date: Sun, 10 Jun 2018 16:45:02 +0900 Subject: [PATCH] Add HFSM + pushdown automaton demo --- 2d/finite_state_machine/Demo.tscn | 20 ++ .../autoload/global_constants.gd | 3 + .../debug/ControlsPanel.tscn | 77 +++++ .../debug/Explanations.tscn | 59 ++++ .../debug/StatesStackDiplayer.tscn | 107 +++++++ .../debug/states-stack-displayer.gd | 18 ++ 2d/finite_state_machine/debug/top_level_ui.gd | 5 + 2d/finite_state_machine/default_env.tres | 101 +++++++ .../fonts/SourceCodePro-Black.ttf | Bin 0 -> 211460 bytes .../fonts/SourceCodePro-Bold.ttf | Bin 0 -> 211716 bytes .../fonts/source_code_pro_explanations.tres | 12 + .../source_code_pro_explanations_bold.tres | 12 + 2d/finite_state_machine/icon.png | Bin 0 -> 3230 bytes 2d/finite_state_machine/icon.png.import | 32 ++ 2d/finite_state_machine/player/Player.tscn | 198 +++++++++++++ 2d/finite_state_machine/player/body.png | Bin 0 -> 1890 bytes .../player/body.png.import | 32 ++ .../player/bullet/Bullet.tscn | 25 ++ .../player/bullet/bullet.gd | 28 ++ .../player/bullet/bullet_spawner.gd | 16 + .../player/health/Health.tscn | 17 ++ .../player/health/health.gd | 62 ++++ 2d/finite_state_machine/player/shadow.png | Bin 0 -> 967 bytes .../player/shadow.png.import | 32 ++ .../player/state-machine-bad-use.gd | 60 ++++ .../player/state-machine.gd | 133 +++++++++ .../player/states/combat/attack.gd | 14 + .../player/states/combat/stagger.gd | 16 + .../states/debug/state-name-displayer.gd | 12 + 2d/finite_state_machine/player/states/die.gd | 10 + .../player/states/motion/in_air/jump.gd | 70 +++++ .../player/states/motion/motion.gd | 22 ++ .../player/states/motion/on_ground/idle.gd | 14 + .../player/states/motion/on_ground/move.gd | 38 +++ .../states/motion/on_ground/on_ground.gd | 9 + .../player/states/state.gd | 29 ++ .../player/weapon/Sword.tscn | 278 ++++++++++++++++++ .../player/weapon/sword.gd | 107 +++++++ .../player/weapon/sword.png | Bin 0 -> 2827 bytes .../player/weapon/sword.png.import | 32 ++ .../player/weapon/weapon_pivot.gd | 16 + 2d/finite_state_machine/project.godot | 68 +++++ 42 files changed, 1784 insertions(+) create mode 100644 2d/finite_state_machine/Demo.tscn create mode 100644 2d/finite_state_machine/autoload/global_constants.gd create mode 100644 2d/finite_state_machine/debug/ControlsPanel.tscn create mode 100644 2d/finite_state_machine/debug/Explanations.tscn create mode 100644 2d/finite_state_machine/debug/StatesStackDiplayer.tscn create mode 100644 2d/finite_state_machine/debug/states-stack-displayer.gd create mode 100644 2d/finite_state_machine/debug/top_level_ui.gd create mode 100644 2d/finite_state_machine/default_env.tres create mode 100644 2d/finite_state_machine/fonts/SourceCodePro-Black.ttf create mode 100644 2d/finite_state_machine/fonts/SourceCodePro-Bold.ttf create mode 100644 2d/finite_state_machine/fonts/source_code_pro_explanations.tres create mode 100644 2d/finite_state_machine/fonts/source_code_pro_explanations_bold.tres create mode 100644 2d/finite_state_machine/icon.png create mode 100644 2d/finite_state_machine/icon.png.import create mode 100644 2d/finite_state_machine/player/Player.tscn create mode 100644 2d/finite_state_machine/player/body.png create mode 100644 2d/finite_state_machine/player/body.png.import create mode 100644 2d/finite_state_machine/player/bullet/Bullet.tscn create mode 100644 2d/finite_state_machine/player/bullet/bullet.gd create mode 100644 2d/finite_state_machine/player/bullet/bullet_spawner.gd create mode 100644 2d/finite_state_machine/player/health/Health.tscn create mode 100644 2d/finite_state_machine/player/health/health.gd create mode 100644 2d/finite_state_machine/player/shadow.png create mode 100644 2d/finite_state_machine/player/shadow.png.import create mode 100644 2d/finite_state_machine/player/state-machine-bad-use.gd create mode 100644 2d/finite_state_machine/player/state-machine.gd create mode 100644 2d/finite_state_machine/player/states/combat/attack.gd create mode 100644 2d/finite_state_machine/player/states/combat/stagger.gd create mode 100644 2d/finite_state_machine/player/states/debug/state-name-displayer.gd create mode 100644 2d/finite_state_machine/player/states/die.gd create mode 100644 2d/finite_state_machine/player/states/motion/in_air/jump.gd create mode 100644 2d/finite_state_machine/player/states/motion/motion.gd create mode 100644 2d/finite_state_machine/player/states/motion/on_ground/idle.gd create mode 100644 2d/finite_state_machine/player/states/motion/on_ground/move.gd create mode 100644 2d/finite_state_machine/player/states/motion/on_ground/on_ground.gd create mode 100644 2d/finite_state_machine/player/states/state.gd create mode 100644 2d/finite_state_machine/player/weapon/Sword.tscn create mode 100644 2d/finite_state_machine/player/weapon/sword.gd create mode 100644 2d/finite_state_machine/player/weapon/sword.png create mode 100644 2d/finite_state_machine/player/weapon/sword.png.import create mode 100644 2d/finite_state_machine/player/weapon/weapon_pivot.gd create mode 100644 2d/finite_state_machine/project.godot diff --git a/2d/finite_state_machine/Demo.tscn b/2d/finite_state_machine/Demo.tscn new file mode 100644 index 00000000..89c17f63 --- /dev/null +++ b/2d/finite_state_machine/Demo.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://player/Player.tscn" type="PackedScene" id=1] +[ext_resource path="res://debug/StatesStackDiplayer.tscn" type="PackedScene" id=2] +[ext_resource path="res://debug/ControlsPanel.tscn" type="PackedScene" id=3] +[ext_resource path="res://debug/Explanations.tscn" type="PackedScene" id=4] + +[node name="Demo" type="Node" index="0"] + +[node name="Player" parent="." index="0" instance=ExtResource( 1 )] + +[node name="StatesStackDiplayer" parent="." index="1" instance=ExtResource( 2 )] + +[node name="ControlsPanel" parent="." index="2" instance=ExtResource( 3 )] + +[node name="Explanations" parent="." index="3" instance=ExtResource( 4 )] + +[connection signal="state_changed" from="Player" to="StatesStackDiplayer" method="_on_Player_state_changed"] + + diff --git a/2d/finite_state_machine/autoload/global_constants.gd b/2d/finite_state_machine/autoload/global_constants.gd new file mode 100644 index 00000000..e7e34afc --- /dev/null +++ b/2d/finite_state_machine/autoload/global_constants.gd @@ -0,0 +1,3 @@ +extends Node + +enum STATUSES { STATUS_NONE, STATUS_INVINCIBLE, STATUS_POISONED, STATUS_STUNNED } diff --git a/2d/finite_state_machine/debug/ControlsPanel.tscn b/2d/finite_state_machine/debug/ControlsPanel.tscn new file mode 100644 index 00000000..4b55cac4 --- /dev/null +++ b/2d/finite_state_machine/debug/ControlsPanel.tscn @@ -0,0 +1,77 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://debug/top_level_ui.gd" type="Script" id=1] +[ext_resource path="res://fonts/source_code_pro_explanations.tres" type="DynamicFont" id=2] + +[node name="ControlsPanel" type="Panel" index="0"] + +anchor_left = 1.0 +anchor_top = 0.0 +anchor_right = 1.0 +anchor_bottom = 0.0 +margin_left = -220.0 +margin_bottom = 170.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +script = ExtResource( 1 ) + +[node name="Keys" type="Label" parent="." index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 10.0 +margin_top = 10.0 +margin_right = -10.0 +margin_bottom = -10.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 +custom_fonts/font = ExtResource( 2 ) +text = "Shoot: +Attack: +Stagger: +Jump: +Sprint:" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 +_sections_unfolded = [ "BBCode", "custom_fonts" ] + +[node name="Keys2" type="Label" parent="." index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 10.0 +margin_top = 10.0 +margin_right = -10.0 +margin_bottom = -10.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 +custom_fonts/font = ExtResource( 2 ) +text = "R +F +X +Space +Shift" +align = 2 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 +_sections_unfolded = [ "BBCode", "custom_fonts" ] + + diff --git a/2d/finite_state_machine/debug/Explanations.tscn b/2d/finite_state_machine/debug/Explanations.tscn new file mode 100644 index 00000000..f37b6a3a --- /dev/null +++ b/2d/finite_state_machine/debug/Explanations.tscn @@ -0,0 +1,59 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://fonts/source_code_pro_explanations_bold.tres" type="DynamicFont" id=1] +[ext_resource path="res://fonts/source_code_pro_explanations.tres" type="DynamicFont" id=2] +[ext_resource path="res://debug/top_level_ui.gd" type="Script" id=3] + + +[node name="Explanations" type="RichTextLabel"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 10.0 +margin_top = -370.0 +margin_right = -10.0 +margin_bottom = -730.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 +custom_fonts/bold_font = ExtResource( 1 ) +custom_fonts/normal_font = ExtResource( 2 ) +bbcode_enabled = true +bbcode_text = "This example shows how to apply the State programming pattern in GDscript, including Hierarchical States, and a pushdown automaton. + +States are common in games. You can use the pattern to: + +1. Separate each behavior and transitions between behaviors, thus make scripts shorter and easier to manage +2. Respect the Single Responsibility Principle. Each State object represents [b]one[/b] action +3. Improve your code's structure. Look at the scene tree and FileSystem tab: without looking at the code, you'll know what the Player can or cannot do. + +You can read more about States in the excellent [url=http://gameprogrammingpatterns.com/state.html]Game Programming Patterns ebook[/url]." +visible_characters = -1 +percent_visible = 1.0 +meta_underlined = true +tab_size = 4 +text = "This example shows how to apply the State programming pattern in GDscript, including Hierarchical States, and a pushdown automaton. + +States are common in games. You can use the pattern to: + +1. Separate each behavior and transitions between behaviors, thus make scripts shorter and easier to manage +2. Respect the Single Responsibility Principle. Each State object represents one action +3. Improve your code's structure. Look at the scene tree and FileSystem tab: without looking at the code, you'll know what the Player can or cannot do. + +You can read more about States in the excellent Game Programming Patterns ebook." +scroll_active = true +scroll_following = false +selection_enabled = false +override_selected_font_color = false +script = ExtResource( 3 ) +_sections_unfolded = [ "BBCode", "custom_fonts" ] +__meta__ = { +"_edit_lock_": true +} + + diff --git a/2d/finite_state_machine/debug/StatesStackDiplayer.tscn b/2d/finite_state_machine/debug/StatesStackDiplayer.tscn new file mode 100644 index 00000000..04cb7297 --- /dev/null +++ b/2d/finite_state_machine/debug/StatesStackDiplayer.tscn @@ -0,0 +1,107 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://debug/states-stack-displayer.gd" type="Script" id=1] +[ext_resource path="res://fonts/SourceCodePro-Bold.ttf" type="DynamicFontData" id=2] + +[sub_resource type="DynamicFont" id=1] + +size = 20 +use_mipmaps = false +use_filter = true +font_data = ExtResource( 2 ) +_sections_unfolded = [ "Font", "Settings" ] + +[node name="StatesStackDiplayer" type="Panel"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 210.0 +margin_bottom = 170.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +script = ExtResource( 1 ) +__meta__ = { +"_edit_group_": true +} + +[node name="Title" type="Label" parent="." index="0"] + +anchor_left = 0.5 +anchor_top = 0.0 +anchor_right = 0.5 +anchor_bottom = 0.0 +margin_left = -105.0 +margin_right = 105.0 +margin_bottom = 40.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 +custom_fonts/font = SubResource( 1 ) +text = "Pushown" +align = 1 +valign = 1 +uppercase = true +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 +_sections_unfolded = [ "custom_fonts" ] + +[node name="States" type="Label" parent="." index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 20.0 +margin_top = 50.0 +margin_right = 190.0 +margin_bottom = 170.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 +custom_fonts/font = SubResource( 1 ) +text = "Jump +Test" +align = 1 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 +_sections_unfolded = [ "custom_fonts" ] + +[node name="Numbers" type="Label" parent="." index="2"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 20.0 +margin_top = 50.0 +margin_right = 190.0 +margin_bottom = 170.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 +custom_fonts/font = SubResource( 1 ) +text = "1. +2." +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 +_sections_unfolded = [ "custom_fonts" ] + + diff --git a/2d/finite_state_machine/debug/states-stack-displayer.gd b/2d/finite_state_machine/debug/states-stack-displayer.gd new file mode 100644 index 00000000..6a816811 --- /dev/null +++ b/2d/finite_state_machine/debug/states-stack-displayer.gd @@ -0,0 +1,18 @@ +tool +extends Panel + +func _ready(): + set_as_toplevel(true) + +func _on_Player_state_changed(states_stack): + var states_names = '' + var numbers = '' + var index = 0 + for state in states_stack: + states_names += state.get_name() + '\n' + numbers += str(index) + '\n' + index += 1 + + $States.text = states_names + $Numbers.text = numbers + diff --git a/2d/finite_state_machine/debug/top_level_ui.gd b/2d/finite_state_machine/debug/top_level_ui.gd new file mode 100644 index 00000000..d489249b --- /dev/null +++ b/2d/finite_state_machine/debug/top_level_ui.gd @@ -0,0 +1,5 @@ +tool +extends Control + +func _ready(): + set_as_toplevel(true) diff --git a/2d/finite_state_machine/default_env.tres b/2d/finite_state_machine/default_env.tres new file mode 100644 index 00000000..ad86b722 --- /dev/null +++ b/2d/finite_state_machine/default_env.tres @@ -0,0 +1,101 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +radiance_size = 4 +sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 ) +sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 ) +sky_curve = 0.25 +sky_energy = 1.0 +ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 ) +ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 ) +ground_curve = 0.01 +ground_energy = 1.0 +sun_color = Color( 1, 1, 1, 1 ) +sun_latitude = 35.0 +sun_longitude = 0.0 +sun_angle_min = 1.0 +sun_angle_max = 100.0 +sun_curve = 0.05 +sun_energy = 16.0 +texture_size = 2 + +[resource] + +background_mode = 2 +background_sky = SubResource( 1 ) +background_sky_custom_fov = 0.0 +background_color = Color( 0, 0, 0, 1 ) +background_energy = 1.0 +background_canvas_max_layer = 0 +ambient_light_color = Color( 0, 0, 0, 1 ) +ambient_light_energy = 1.0 +ambient_light_sky_contribution = 1.0 +fog_enabled = false +fog_color = Color( 0.5, 0.6, 0.7, 1 ) +fog_sun_color = Color( 1, 0.9, 0.7, 1 ) +fog_sun_amount = 0.0 +fog_depth_enabled = true +fog_depth_begin = 10.0 +fog_depth_curve = 1.0 +fog_transmit_enabled = false +fog_transmit_curve = 1.0 +fog_height_enabled = false +fog_height_min = 0.0 +fog_height_max = 100.0 +fog_height_curve = 1.0 +tonemap_mode = 0 +tonemap_exposure = 1.0 +tonemap_white = 1.0 +auto_exposure_enabled = false +auto_exposure_scale = 0.4 +auto_exposure_min_luma = 0.05 +auto_exposure_max_luma = 8.0 +auto_exposure_speed = 0.5 +ss_reflections_enabled = false +ss_reflections_max_steps = 64 +ss_reflections_fade_in = 0.15 +ss_reflections_fade_out = 2.0 +ss_reflections_depth_tolerance = 0.2 +ss_reflections_roughness = true +ssao_enabled = false +ssao_radius = 1.0 +ssao_intensity = 1.0 +ssao_radius2 = 0.0 +ssao_intensity2 = 1.0 +ssao_bias = 0.01 +ssao_light_affect = 0.0 +ssao_color = Color( 0, 0, 0, 1 ) +ssao_quality = 0 +ssao_blur = 3 +ssao_edge_sharpness = 4.0 +dof_blur_far_enabled = false +dof_blur_far_distance = 10.0 +dof_blur_far_transition = 5.0 +dof_blur_far_amount = 0.1 +dof_blur_far_quality = 1 +dof_blur_near_enabled = false +dof_blur_near_distance = 2.0 +dof_blur_near_transition = 1.0 +dof_blur_near_amount = 0.1 +dof_blur_near_quality = 1 +glow_enabled = false +glow_levels/1 = false +glow_levels/2 = false +glow_levels/3 = true +glow_levels/4 = false +glow_levels/5 = true +glow_levels/6 = false +glow_levels/7 = false +glow_intensity = 0.8 +glow_strength = 1.0 +glow_bloom = 0.0 +glow_blend_mode = 2 +glow_hdr_threshold = 1.0 +glow_hdr_scale = 2.0 +glow_bicubic_upscale = false +adjustment_enabled = false +adjustment_brightness = 1.0 +adjustment_contrast = 1.0 +adjustment_saturation = 1.0 + diff --git a/2d/finite_state_machine/fonts/SourceCodePro-Black.ttf b/2d/finite_state_machine/fonts/SourceCodePro-Black.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0bcfec63cf46a9a9e10e8eab3e5f01d85f2cfe2a GIT binary patch literal 211460 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 z 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 M)yMT{cKG-I507?Mu>b%7 literal 0 HcmV?d00001 diff --git a/2d/finite_state_machine/fonts/SourceCodePro-Bold.ttf b/2d/finite_state_machine/fonts/SourceCodePro-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5a5be2fd45660d800b3d68a946e21ba4779cce70 GIT binary patch literal 211716 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 wr0On2#mx1nXj)~#sUaF^W3q1e|~ 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

`W){@e#k$hXpn&+yOkP@AP&g;D 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 T$2+{Z>i*#8_^|AkNs<2_x>;}6 literal 0 HcmV?d00001 diff --git a/2d/finite_state_machine/fonts/source_code_pro_explanations.tres b/2d/finite_state_machine/fonts/source_code_pro_explanations.tres new file mode 100644 index 00000000..d94a0e4b --- /dev/null +++ b/2d/finite_state_machine/fonts/source_code_pro_explanations.tres @@ -0,0 +1,12 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://fonts/SourceCodePro-Bold.ttf" type="DynamicFontData" id=1] + +[resource] + +size = 20 +use_mipmaps = false +use_filter = true +font_data = ExtResource( 1 ) +_sections_unfolded = [ "Font", "Settings" ] + diff --git a/2d/finite_state_machine/fonts/source_code_pro_explanations_bold.tres b/2d/finite_state_machine/fonts/source_code_pro_explanations_bold.tres new file mode 100644 index 00000000..f02d2560 --- /dev/null +++ b/2d/finite_state_machine/fonts/source_code_pro_explanations_bold.tres @@ -0,0 +1,12 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://fonts/SourceCodePro-Black.ttf" type="DynamicFontData" id=1] + +[resource] + +size = 24 +use_mipmaps = false +use_filter = true +font_data = ExtResource( 1 ) +_sections_unfolded = [ "Font", "Settings" ] + diff --git a/2d/finite_state_machine/icon.png b/2d/finite_state_machine/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7534de67cf465e26f8cf85663faa4f550f6c482c GIT binary patch literal 3230 zcmV;P3}N$$P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 Qy#N3J07*qoM6N<$f;NaRnE(I) literal 0 HcmV?d00001 diff --git a/2d/finite_state_machine/icon.png.import b/2d/finite_state_machine/icon.png.import new file mode 100644 index 00000000..3156ab78 --- /dev/null +++ b/2d/finite_state_machine/icon.png.import @@ -0,0 +1,32 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" + +[deps] + +source_file="res://icon.png" +source_md5="66cdb591455c91e0e285218a159ee4a1" + +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] +dest_md5="302305b1ae85287055e65e5202170a74" + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/2d/finite_state_machine/player/Player.tscn b/2d/finite_state_machine/player/Player.tscn new file mode 100644 index 00000000..090d42b6 --- /dev/null +++ b/2d/finite_state_machine/player/Player.tscn @@ -0,0 +1,198 @@ +[gd_scene load_steps=20 format=2] + +[ext_resource path="res://player/state-machine.gd" type="Script" id=1] +[ext_resource path="res://player/shadow.png" type="Texture" id=2] +[ext_resource path="res://player/body.png" type="Texture" id=3] +[ext_resource path="res://player/weapon/weapon_pivot.gd" type="Script" id=4] +[ext_resource path="res://player/weapon/Sword.tscn" type="PackedScene" id=5] +[ext_resource path="res://player/health/Health.tscn" type="PackedScene" id=6] +[ext_resource path="res://player/states/motion/on_ground/idle.gd" type="Script" id=7] +[ext_resource path="res://player/states/motion/on_ground/move.gd" type="Script" id=8] +[ext_resource path="res://player/states/motion/in_air/jump.gd" type="Script" id=9] +[ext_resource path="res://player/states/combat/stagger.gd" type="Script" id=10] +[ext_resource path="res://player/states/combat/attack.gd" type="Script" id=11] +[ext_resource path="res://player/states/die.gd" type="Script" id=12] +[ext_resource path="res://player/bullet/bullet_spawner.gd" type="Script" id=13] +[ext_resource path="res://fonts/SourceCodePro-Bold.ttf" type="DynamicFontData" id=14] +[ext_resource path="res://player/states/debug/state-name-displayer.gd" type="Script" id=15] + + +[sub_resource type="Animation" id=1] + +length = 1.0 +loop = false +step = 0.1 + +[sub_resource type="Animation" id=2] + +length = 0.6 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("BodyPivot/Body:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.4 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 1 ), Color( 1, 0, 0, 1 ), Color( 1, 1, 1, 1 ), Color( 1, 0, 0, 1 ), Color( 1, 1, 1, 1 ), Color( 1, 0, 0, 1 ), Color( 1, 1, 1, 1 ) ] +} + +[sub_resource type="Animation" id=3] + +length = 1.0 +loop = false +step = 0.1 + +[sub_resource type="DynamicFont" id=4] + +size = 20 +use_mipmaps = false +use_filter = true +font_data = ExtResource( 14 ) +_sections_unfolded = [ "Font", "Settings" ] + +[node name="Player" type="KinematicBody2D"] + +position = Vector2( 628.826, 391.266 ) +input_pickable = false +collision_layer = 1 +collision_mask = 1 +collision/safe_margin = 0.08 +script = ExtResource( 1 ) +_sections_unfolded = [ "Visibility" ] +__meta__ = { +"_edit_horizontal_guides_": [ ] +} + +[node name="AnimationPlayer" type="AnimationPlayer" parent="." index="0"] + +root_node = NodePath("..") +autoplay = "" +playback_process_mode = 1 +playback_default_blend_time = 0.0 +playback_speed = 1.0 +anims/idle = SubResource( 1 ) +anims/stagger = SubResource( 2 ) +anims/walk = SubResource( 3 ) +blend_times = [ ] + +[node name="Shadow" type="Sprite" parent="." index="1"] + +self_modulate = Color( 1, 1, 1, 0.361098 ) +position = Vector2( 0, -4 ) +texture = ExtResource( 2 ) +_sections_unfolded = [ "Visibility" ] + +[node name="BodyPivot" type="Position2D" parent="." index="2"] + +[node name="Body" type="Sprite" parent="BodyPivot" index="0"] + +position = Vector2( 0, -58.8242 ) +texture = ExtResource( 3 ) + +[node name="WeaponPivot" type="Position2D" parent="." index="3"] + +position = Vector2( 1.17401, -61.266 ) +script = ExtResource( 4 ) + +[node name="Offset" type="Position2D" parent="WeaponPivot" index="0"] + +position = Vector2( 110, 0 ) + +[node name="Sword" parent="WeaponPivot/Offset" index="0" instance=ExtResource( 5 )] + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="." index="4"] + +build_mode = 0 +polygon = PoolVector2Array( -20, 0, -20, -20, 20, -20, 20, 0 ) + +[node name="Health" parent="." index="5" instance=ExtResource( 6 )] + +[node name="States" type="Node" parent="." index="6"] + +[node name="Idle" type="Node" parent="States" index="0"] + +script = ExtResource( 7 ) + +[node name="Move" type="Node" parent="States" index="1"] + +script = ExtResource( 8 ) +MAX_WALK_SPEED = 450 +MAX_RUN_SPEED = 700 + +[node name="Jump" type="Node" parent="States" index="2"] + +script = ExtResource( 9 ) +BASE_MAX_HORIZONTAL_SPEED = 400.0 +AIR_ACCELERATION = 1000.0 +AIR_DECCELERATION = 2000.0 +AIR_STEERING_POWER = 50.0 +JUMP_HEIGHT = 120.0 +JUMP_DURATION = 0.8 +GRAVITY = 1600.0 + +[node name="Stagger" type="Node" parent="States" index="3"] + +script = ExtResource( 10 ) + +[node name="Attack" type="Node" parent="States" index="4"] + +script = ExtResource( 11 ) + +[node name="Die" type="Node" parent="States" index="5"] + +script = ExtResource( 12 ) + +[node name="BulletSpawn" type="Node2D" parent="." index="7"] + +editor/display_folded = true +position = Vector2( 1.17401, -61.266 ) +script = ExtResource( 13 ) +_sections_unfolded = [ "Transform" ] + +[node name="CooldownTimer" type="Timer" parent="BulletSpawn" index="0"] + +process_mode = 1 +wait_time = 0.2 +one_shot = true +autostart = false + +[node name="StateNameDisplayer" type="Label" parent="." index="8"] + +editor/display_folded = true +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = -109.0 +margin_top = -172.0 +margin_right = 110.0 +margin_bottom = -138.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 +custom_fonts/font = SubResource( 4 ) +text = "Test" +align = 1 +valign = 1 +uppercase = true +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 +script = ExtResource( 15 ) +_sections_unfolded = [ "Rect", "custom_fonts" ] + +[connection signal="state_changed" from="." to="StateNameDisplayer" method="_on_Player_state_changed"] + +[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_animation_finished"] + +[connection signal="attack_finished" from="WeaponPivot/Offset/Sword" to="States/Attack" method="_on_Sword_attack_finished"] + + diff --git a/2d/finite_state_machine/player/body.png b/2d/finite_state_machine/player/body.png new file mode 100644 index 0000000000000000000000000000000000000000..229c12910a099acc486c60e0047fdc68a3f6f143 GIT binary patch literal 1890 zcmchX=|9_v7RG-OTWwWLP*f~~w3ZgJua(%>2qlsVTB@~$+G-g=?Tn}`2DOD2of2AW zMlw~kPt_WV7)z^+r6@+#b^n0-_P+R@=f(3m=kqzwiznUD-h!X!G7kU%{8p9-)VUg- zlgrI{KD$^xOaK7g@HaDabhdLuBUQ`*K#Amo$5Z>QMpb-;@c90bYcQVBNK{%{77E`( zr!(jy&|!QZKCc*yWl3y8{sh>gkE5USiLvJ3oaTaY?xJ@fwFbB81z1NkTg@5J>|}kP zpbiFCgK}}G+bBT956gBZQ~queQ{QB>Di`VpJ>kn8DH8Bn1T{Z_ZfZj#F1;5v(dxG) zJ-jZlVpgFm_?jmTmxlpSix|2+6;ve+!)gShpH4Sn-1ylT<|5NhZI_3)xiK`9495o6f=rs5@eDY1*SzHRa;%)Em!h^uAt;-mbagv zH+L=;gXX-et}ZUTCO6z)(o4q^5{SeO0hvN-9?^?e6r2<#d($>f3!Ky>4t^tG3?%0` zEpTaO{5a3>LWre%7y$4J{}&KYQYr=j9Me_^Q*>16KV^2o5=gOxr?@$*&02YPjb;NQmSNn4K7J z!W`APn9i>Z5Ll2M-s_df{f$F?df`AywG0P0SQ=ExHPiz8OrK7uMLvva$@$GXwYsvJ zuFHD-@9I=YJeSdX*?%b*DT7y+{~UWSZc@E3)+W?NY`a({X=`gYiX&_|!pE2HSyD8+ zwq3$qD}KQjERjUwPQ|~2l5zxuUFP@w>#r43a)+V^d}HMyY{R{sZp9nD5e`cRJC%?z z6~FfzA9kIw$%mVEyPIKz@-Ktaa)(^zE`e;IBolf?o7x*jGyApY5&OnT=c`w{o>E%Z zKABKuZKDjILrTBm)2;07OoISpyd!JT3rK3zHeNTb;| z7Bs@HI0{BH#J-b`Qupo1S`2ngNkKzdSx2$1ck2rKrd=EPIO<0q$U-SdQ|rvcdfwf1W_2!y}yl_&u1J%i` zFqJt2qLS^uZJlr-!_V$ahs(7DK9-oyY0YnXa>qM&V>-w2!An9xISoEI7#b|McVFk) z5N){695+{Av!`pkw@XS)GqGC3&_jA$ym; zA{72-Apa-BZ9Pi^@BRX}^HQk6Z8hu`1>OBfYCMXXkxce2aKKWkK2+`|TXh|MbS1+4 zd<8|Wt00;XQX+a_9*O>?4$1P7zZ7XyaDBi?5k5R z5(DStpSZwP6j=*4Q-}FHGi;Rbru={x_j?PJe-10yU;^<8aDSC52k@d^jJ%LIl|0o* zAP%j92q=1@uG;e_1isk}D2e@}UUkLC&d77+TReR6gn90%1Zt8$BjM%Q8QO5)89h|dQ)8dB{A*t$_UOs$%6j<3hEQc|}K z%HM6TV3b5U!ak{HrU$I@fn#ft``e|UwwoNDKpfrOF9eRmpI;N)8Dlb27PsGSxa>x` zz#$kO$*p_uVD6Z<<(%v_* z^0B~7kxP*%*wke@08bpEpMUK6Y|?9-qaL|$L(io9o4gDT3jd^L9eo8i)TJ OS.get_screen_size().x or position.x < 0.0 \ + or position.y > OS.get_screen_size().y or position.y < 0.0 + + +func _draw(): + draw_circle(Vector2(), $CollisionShape2D.shape.radius, Color('#ffffff')) diff --git a/2d/finite_state_machine/player/bullet/bullet_spawner.gd b/2d/finite_state_machine/player/bullet/bullet_spawner.gd new file mode 100644 index 00000000..fa34d52e --- /dev/null +++ b/2d/finite_state_machine/player/bullet/bullet_spawner.gd @@ -0,0 +1,16 @@ +extends Node2D + +var bullet = preload("Bullet.tscn") + +func fire(direction): + if not $CooldownTimer.is_stopped(): + return + + $CooldownTimer.start() + var new_bullet = bullet.instance() + new_bullet.direction = direction + add_child(new_bullet) + + +func update(host, delta): + return 'previous' diff --git a/2d/finite_state_machine/player/health/Health.tscn b/2d/finite_state_machine/player/health/Health.tscn new file mode 100644 index 00000000..4307d68b --- /dev/null +++ b/2d/finite_state_machine/player/health/Health.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://player/health/health.gd" type="Script" id=1] + +[node name="Health" type="Node"] + +script = ExtResource( 1 ) +max_health = 9 + +[node name="PoisonTimer" type="Timer" parent="." index="0"] + +process_mode = 1 +wait_time = 0.6 +one_shot = false +autostart = false + + diff --git a/2d/finite_state_machine/player/health/health.gd b/2d/finite_state_machine/player/health/health.gd new file mode 100644 index 00000000..bda1f70f --- /dev/null +++ b/2d/finite_state_machine/player/health/health.gd @@ -0,0 +1,62 @@ +extends Node + +signal health_changed +signal health_depleted +signal status_changed + +var health = 0 +export(int) var max_health = 9 + +var status = null +const POISON_DAMAGE = 1 +var poison_cycles = 0 + + +func _ready(): + health = max_health + $PoisonTimer.connect('timeout', self, '_on_PoisonTimer_timeout') + + +func _change_status(new_status): + match status: + GlobalConstants.STATUS_POISONED: + $PoisonTimer.stop() + + match new_status: + GlobalConstants.STATUS_POISONED: + poison_cycles = 0 + $PoisonTimer.start() + status = new_status + emit_signal('status_changed', new_status) + + +func take_damage(amount, effect=null): + if status == GlobalConstants.STATUS_INVINCIBLE: + return + health -= amount + health = max(0, health) + emit_signal("health_changed", health) + + if not effect: + return + match effect[0]: + GlobalConstants.STATUS_POISONED: + _change_status(GlobalConstants.STATUS_POISONED) + poison_cycles = effect[1] +# print("%s got hit and took %s damage. Health: %s/%s" % [get_name(), amount, health, max_health]) + + +func heal(amount): + health += amount + health = max(health, max_health) + emit_signal("health_changed", health) +# print("%s got healed by %s points. Health: %s/%s" % [get_name(), amount, health, max_health]) + + +func _on_PoisonTimer_timeout(): + take_damage(POISON_DAMAGE) + poison_cycles -= 1 + if poison_cycles == 0: + _change_status(GlobalConstants.STATUS_NONE) + return + $PoisonTimer.start() diff --git a/2d/finite_state_machine/player/shadow.png b/2d/finite_state_machine/player/shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..e448a7934727e589e95883c6bb755e8b521ddef6 GIT binary patch literal 967 zcmV;&133JNP)TKTzreu3z|A1cV8&pQm|R@o8|)Us z00epYd8rH-;M+9@Mi6~j7i1QuJYK++Tu@X3r2hc1QA%oYG6Msn0gzo%UQz%QXIuhg zizH=(**ie&qL3hGAo~oE&6f^g-vP0cAnZ3Fb`j7MKsLxsk#sN{ zvX{X*zo4=xGd-h3!N|bCK*2F3KPgoqxU#q;HMdy7GcP&6s35;6u_QGGs21WrFyILG z4G3}7b%yzagCUr~mmz>5gu#_TmjNzJIRM26g!MTP9L|hlXAoitkX%|+24ylb858Cs z%*dL=z+iEJfq}UWA(pa|fnf_51A}-XLQH)&1B0*`1H%qK0ECWF-Ul>_{r~^~32;bR za{vGf6951U69E94oEQKA0z64XK~!jg?VG(y98nmCpE;7mU}0f))s3YFf6@hF6nxJVCK^HcwNpa4i%+9hq*2T#KT8{&+eiB?m-Tn?`R%nlz}Cn zu3*qKsXPC2R)x$1=L!bPBIjAyYs@ftX|(z$AcirF;N- zqD?(8dVr4rflCMsNg65PC-B?=)A&M~3 z?)AYBfBKHE*j-A@CCS5Fh~};cJpL%BKiv0 zRxs3EvhC)`oLTHk&V9K>S#!R#NrnuPeE1f9?m=_F820AEFz__xdRb7zUe5}FBkUXc p7I2Ytp|qv6qaV3HLH)^UvHv^Z5RS!eQi}ip002ovPDHLkV1huulq>)M literal 0 HcmV?d00001 diff --git a/2d/finite_state_machine/player/shadow.png.import b/2d/finite_state_machine/player/shadow.png.import new file mode 100644 index 00000000..28afd560 --- /dev/null +++ b/2d/finite_state_machine/player/shadow.png.import @@ -0,0 +1,32 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/shadow.png-493c4635eca1ce8bdece629560617dc7.stex" + +[deps] + +source_file="res://player/shadow.png" +source_md5="ba1c3f4ef3a93dcd980bc4d020c4a22c" + +dest_files=[ "res://.import/shadow.png-493c4635eca1ce8bdece629560617dc7.stex" ] +dest_md5="7dd3fb33b53c00ce76edd77833bce15d" + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/2d/finite_state_machine/player/state-machine-bad-use.gd b/2d/finite_state_machine/player/state-machine-bad-use.gd new file mode 100644 index 00000000..e62488e3 --- /dev/null +++ b/2d/finite_state_machine/player/state-machine-bad-use.gd @@ -0,0 +1,60 @@ +extends KinematicBody2D + +signal state_changed + +var look_direction = Vector2() + +var current_state = null +var states_stack = [] + +onready var states_map = { + 'idle': $States/Idle, + 'move': $States/Move, + 'jump': $States/Jump, + 'shoot': $States/Shoot, +} + +func _ready(): + states_stack.push_front($States/Idle) + current_state = states_stack[0] + _change_state('idle') + + +# Delegate the call to the state +func _physics_process(delta): + var new_state = current_state.update(self, delta) + if new_state: + _change_state(new_state) + + +func _input(event): + var new_state = current_state.handle_input(self, event) + if new_state: + _change_state(new_state) + + +# Exit the current state, change it and enter the new one +func _change_state(state_name): + # The pushdown mechanism isn't very useful in this example. + # If the player stops moving mid-air Jump will still return to move +# print('Exiting %s and enterig %s' % [current_state.get_name(), new_state.get_name()]) + current_state.exit(self) + + # removing state previously pushed on the stack + if state_name == 'previous': + states_stack.pop_front() + elif state_name in ['jump', 'shoot']: + states_stack.push_front(states_map[state_name]) + if state_name == 'jump': + $States/Jump.initialize(current_state.speed, current_state.velocity) + else: + # pushing new state on to the stack + var new_state = states_map[state_name] + states_stack[0] = new_state + + # We only reinitialize the state when we don't use the pushdown automaton + if state_name != 'previous': + current_state.enter(self) + + current_state = states_stack[0] + emit_signal('state_changed', current_state.get_name()) diff --git a/2d/finite_state_machine/player/state-machine.gd b/2d/finite_state_machine/player/state-machine.gd new file mode 100644 index 00000000..9eb0faf7 --- /dev/null +++ b/2d/finite_state_machine/player/state-machine.gd @@ -0,0 +1,133 @@ +""" +The point of the State pattern is to separate concerns, to help follow +the single responsibility principle. Each state describes an action or +behavior. + +The state machine is the only entity that"s aware of the states. +That"s why this script receives strings from the states: it maps +these strings to actual state objects: the states (Move, Jump, etc.) +are not aware of their siblings. This way you can change any of +the states anytime without breaking the game. +""" +extends KinematicBody2D + +signal state_changed +signal direction_changed(new_direction) + +var look_direction = Vector2(1, 0) setget set_look_direction + + +""" +This example keeps a history of some states so e.g. after taking a hit, +the character can return to the previous state. The states_stack is +an Array, and we use Array.push_front() and Array.pop_front() to add and +remove states from the history. +""" +var states_stack = [] +var current_state = null + +onready var states_map = { + "idle": $States/Idle, + "move": $States/Move, + "jump": $States/Jump, + "stagger": $States/Stagger, + "attack": $States/Attack, +} + +func _ready(): + for state_node in $States.get_children(): + state_node.connect("finished", self, "_change_state") + + states_stack.push_front($States/Idle) + current_state = states_stack[0] + _change_state("idle") + + +# The state machine delegates process and input callbacks to the current state +# The state object, e.g. Move, then handles input, calculates velocity +# and moves what I called its "host", the Player node (KinematicBody2D) in this case. +func _physics_process(delta): + current_state.update(self, delta) + + +func _input(event): + """ + If you make a shooter game, you may want the player to be able to + fire bullets anytime. + If that"s the case you don"t want to use the states. They"ll add micro + freezes in the gameplay and/or make your code more complex + Firing is the weapon"s responsibility (BulletSpawn here) so the weapon should handle it + """ + if event.is_action_pressed("fire"): + $BulletSpawn.fire(look_direction) + return + elif event.is_action_pressed("attack"): + if current_state == $States/Attack: + return + _change_state("attack") + return + current_state.handle_input(self, event) + + +func _on_animation_finished(anim_name): + """ + We want to delegate every method or callback that could trigger + a state change to the state objects. The base script state.gd, + that all states extend, makes sure that all states have the same + interface, that is to say access to the same base methods, including + _on_animation_finished. See state.gd + """ + current_state._on_animation_finished(anim_name) + + +func _change_state(state_name): + """ + We use this method to: + 1. Clean up the current state with its the exit method + 2. Manage the flow and the history of states + 3. Initialize the new state with its enter method + Note that to go back to the previous state in the states history, + the state objects return the "previous" keyword and not a specific + state name. + """ + current_state.exit(self) + + if state_name == "previous": + states_stack.pop_front() + elif state_name in ["stagger", "jump", "attack"]: + states_stack.push_front(states_map[state_name]) + elif state_name == "dead": + queue_free() + return + else: + var new_state = states_map[state_name] + states_stack[0] = new_state + + if state_name == "attack": + $WeaponPivot/Offset/Sword.attack() + if state_name == "jump": + $States/Jump.initialize(current_state.speed, current_state.velocity) + + current_state = states_stack[0] + if state_name != "previous": + # We don"t want to reinitialize the state if we"re going back to the previous state + current_state.enter(self) + emit_signal("state_changed", states_stack) + + +func take_damage(attacker, amount, effect=null): + if self.is_a_parent_of(attacker): + return + $States/Stagger.knockback_direction = (attacker.global_position - global_position).normalized() + $Health.take_damage(amount, effect) + + +func set_dead(value): + set_process_input(not value) + set_physics_process(not value) + $CollisionPolygon2D.disabled = value + + +func set_look_direction(value): + look_direction = value + emit_signal("direction_changed", value) diff --git a/2d/finite_state_machine/player/states/combat/attack.gd b/2d/finite_state_machine/player/states/combat/attack.gd new file mode 100644 index 00000000..bc90aa42 --- /dev/null +++ b/2d/finite_state_machine/player/states/combat/attack.gd @@ -0,0 +1,14 @@ +""" +The stagger state end with the stagger animation from the AnimationPlayer +The animation only affects the Body Sprite"s modulate property so +it could stack with other animations if we had two AnimationPlayer nodes +""" +extends "../state.gd" + + +func enter(host): + host.get_node("AnimationPlayer").play("idle") + + +func _on_Sword_attack_finished(): + emit_signal("finished", "previous") diff --git a/2d/finite_state_machine/player/states/combat/stagger.gd b/2d/finite_state_machine/player/states/combat/stagger.gd new file mode 100644 index 00000000..449b1d46 --- /dev/null +++ b/2d/finite_state_machine/player/states/combat/stagger.gd @@ -0,0 +1,16 @@ +""" +The stagger state end with the stagger animation from the AnimationPlayer +The animation only affects the Body Sprite"s modulate property so +it could stack with other animations if we had two AnimationPlayer nodes +""" +extends "../state.gd" + +var knockback_direction = Vector2() + +func enter(host): + host.get_node("AnimationPlayer").play("stagger") + + +func _on_animation_finished(anim_name): + assert anim_name == "stagger" + emit_signal("finished", "previous") diff --git a/2d/finite_state_machine/player/states/debug/state-name-displayer.gd b/2d/finite_state_machine/player/states/debug/state-name-displayer.gd new file mode 100644 index 00000000..369b16fc --- /dev/null +++ b/2d/finite_state_machine/player/states/debug/state-name-displayer.gd @@ -0,0 +1,12 @@ +extends Label + +var start_position = Vector2() + +func _ready(): + start_position = rect_position + +func _physics_process(delta): + rect_position = $"../BodyPivot".position + start_position + +func _on_Player_state_changed(states_stack): + text = states_stack[0].get_name() diff --git a/2d/finite_state_machine/player/states/die.gd b/2d/finite_state_machine/player/states/die.gd new file mode 100644 index 00000000..b44c018d --- /dev/null +++ b/2d/finite_state_machine/player/states/die.gd @@ -0,0 +1,10 @@ +extends "state.gd" + + +# Initialize the state. E.g. change the animation +func enter(host): + host.set_dead(true) + host.get_node("AnimationPlayer").play("die") + +func _on_animation_finished(anim_name): + emit_signal("finished", "dead") diff --git a/2d/finite_state_machine/player/states/motion/in_air/jump.gd b/2d/finite_state_machine/player/states/motion/in_air/jump.gd new file mode 100644 index 00000000..58d69d4e --- /dev/null +++ b/2d/finite_state_machine/player/states/motion/in_air/jump.gd @@ -0,0 +1,70 @@ +extends "../motion.gd" + +export(float) var BASE_MAX_HORIZONTAL_SPEED = 400.0 + +export(float) var AIR_ACCELERATION = 1000.0 +export(float) var AIR_DECCELERATION = 2000.0 +export(float) var AIR_STEERING_POWER = 50.0 + +export(float) var JUMP_HEIGHT = 120.0 +export(float) var JUMP_DURATION = 0.8 + +export(float) var GRAVITY = 1600.0 + + +var enter_velocity = Vector2() + +var max_horizontal_speed = 0.0 +var horizontal_speed = 0.0 +var horizontal_velocity = Vector2() + +var vertical_speed = 0.0 +var height = 0.0 + + +func initialize(speed, velocity): + horizontal_speed = speed + max_horizontal_speed = speed if speed > 0.0 else BASE_MAX_HORIZONTAL_SPEED + enter_velocity = velocity + + +func enter(host): + var input_direction = get_input_direction() + update_look_direction(host, input_direction) + + horizontal_velocity = enter_velocity if input_direction else Vector2() + vertical_speed = 600.0 + + host.get_node("AnimationPlayer").play("idle") + + +func update(host, delta): + var input_direction = get_input_direction() + update_look_direction(host, input_direction) + + move_horizontally(host, delta, input_direction) + animate_jump_height(host, delta) + if height <= 0.0: + emit_signal("finished", "previous") + + +func move_horizontally(host, delta, direction): + if direction: + horizontal_speed += AIR_ACCELERATION * delta + else: + horizontal_speed -= AIR_DECCELERATION * delta + horizontal_speed = clamp(horizontal_speed, 0, max_horizontal_speed) + + var target_velocity = horizontal_speed * direction.normalized() + var steering_velocity = (target_velocity - horizontal_velocity).normalized() * AIR_STEERING_POWER + horizontal_velocity += steering_velocity + + host.move_and_slide(horizontal_velocity) + + +func animate_jump_height(host, delta): + vertical_speed -= GRAVITY * delta + height += vertical_speed * delta + height = max(0.0, height) + + host.get_node("BodyPivot").position.y = -height diff --git a/2d/finite_state_machine/player/states/motion/motion.gd b/2d/finite_state_machine/player/states/motion/motion.gd new file mode 100644 index 00000000..b5e94f19 --- /dev/null +++ b/2d/finite_state_machine/player/states/motion/motion.gd @@ -0,0 +1,22 @@ +# Collection of important methods to handle direction and animation +extends "../state.gd" + + +func handle_input(host, event): + if event.is_action_pressed("simulate_damage"): + emit_signal("finished", "stagger") + + +func get_input_direction(): + var input_direction = Vector2() + input_direction.x = int(Input.is_action_pressed("move_right")) - int(Input.is_action_pressed("move_left")) + input_direction.y = int(Input.is_action_pressed("move_down")) - int(Input.is_action_pressed("move_up")) + return input_direction + + +func update_look_direction(host, direction): + if direction and host.look_direction != direction: + host.look_direction = direction + if not direction.x in [-1, 1]: + return + host.get_node("BodyPivot").set_scale(Vector2(direction.x, 1)) diff --git a/2d/finite_state_machine/player/states/motion/on_ground/idle.gd b/2d/finite_state_machine/player/states/motion/on_ground/idle.gd new file mode 100644 index 00000000..649b59c6 --- /dev/null +++ b/2d/finite_state_machine/player/states/motion/on_ground/idle.gd @@ -0,0 +1,14 @@ +extends "on_ground.gd" + +func enter(host): + host.get_node("AnimationPlayer").play("idle") + + +func handle_input(host, event): + return .handle_input(host, event) + + +func update(host, delta): + var input_direction = get_input_direction() + if input_direction: + emit_signal("finished", "move") diff --git a/2d/finite_state_machine/player/states/motion/on_ground/move.gd b/2d/finite_state_machine/player/states/motion/on_ground/move.gd new file mode 100644 index 00000000..477a4495 --- /dev/null +++ b/2d/finite_state_machine/player/states/motion/on_ground/move.gd @@ -0,0 +1,38 @@ +extends "on_ground.gd" + +export(float) var MAX_WALK_SPEED = 450 +export(float) var MAX_RUN_SPEED = 700 + +func enter(host): + speed = 0.0 + velocity = Vector2() + + var input_direction = get_input_direction() + update_look_direction(host, input_direction) + host.get_node("AnimationPlayer").play("walk") + + +func handle_input(host, event): + return .handle_input(host, event) + + +func update(host, delta): + var input_direction = get_input_direction() + if not input_direction: + emit_signal("finished", "idle") + update_look_direction(host, input_direction) + + speed = MAX_RUN_SPEED if Input.is_action_pressed("run") else MAX_WALK_SPEED + var collision_info = move(host, speed, input_direction) + if not collision_info: + return + if speed == MAX_RUN_SPEED and collision_info.collider.is_in_group("environment"): + return null + + +func move(host, speed, direction): + velocity = direction.normalized() * speed + host.move_and_slide(velocity, Vector2(), 5, 2) + if host.get_slide_count() == 0: + return + return host.get_slide_collision(0) diff --git a/2d/finite_state_machine/player/states/motion/on_ground/on_ground.gd b/2d/finite_state_machine/player/states/motion/on_ground/on_ground.gd new file mode 100644 index 00000000..17e905ad --- /dev/null +++ b/2d/finite_state_machine/player/states/motion/on_ground/on_ground.gd @@ -0,0 +1,9 @@ +extends "../motion.gd" + +var speed = 0.0 +var velocity = Vector2() + +func handle_input(host, event): + if event.is_action_pressed("jump"): + emit_signal("finished", "jump") + return .handle_input(host, event) diff --git a/2d/finite_state_machine/player/states/state.gd b/2d/finite_state_machine/player/states/state.gd new file mode 100644 index 00000000..c6d18205 --- /dev/null +++ b/2d/finite_state_machine/player/states/state.gd @@ -0,0 +1,29 @@ +""" +Base interface for all states: it doesn't do anything in itself +but forces us to pass the right arguments to the methods below +and makes sure every State object had all of these methods. +""" +extends Node + +signal finished(next_state_name) + +# Initialize the state. E.g. change the animation +func enter(host): + return + + +# Clean up the state. Reinitialize values like a timer +func exit(host): + return + + +func handle_input(host, event): + return + + +func update(host, delta): + return + + +func _on_animation_finished(anim_name): + return diff --git a/2d/finite_state_machine/player/weapon/Sword.tscn b/2d/finite_state_machine/player/weapon/Sword.tscn new file mode 100644 index 00000000..afd6118a --- /dev/null +++ b/2d/finite_state_machine/player/weapon/Sword.tscn @@ -0,0 +1,278 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://player/weapon/sword.gd" type="Script" id=1] +[ext_resource path="res://player/weapon/sword.png" type="Texture" id=2] + +[sub_resource type="Animation" id=1] + +resource_name = "SETUP" +length = 1.0 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:rotation_degrees") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0.0 ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 1, 1 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath(".:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ true ] +} +tracks/3/type = "value" +tracks/3/path = NodePath(".:monitoring") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ true ] +} +tracks/4/type = "value" +tracks/4/path = NodePath(".:monitorable") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ false ] +} + +[sub_resource type="Animation" id=2] + +resource_name = "attack_circular" +length = 0.3 +loop = false +step = 0.05 +tracks/0/type = "value" +tracks/0/path = NodePath(".:rotation_degrees") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.15, 0.2 ), +"transitions": PoolRealArray( 0.439427, 1, 1 ), +"update": 0, +"values": [ -100.0, 100.0, 90.0 ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 0.05, 0.15, 0.2 ), +"transitions": PoolRealArray( 1, 2.50795, 1, 1 ), +"update": 0, +"values": [ Vector2( 1, 1 ), Vector2( 1, 1.3 ), Vector2( 1, 1 ), Vector2( 1, 1 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath(".:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ true ] +} + +[sub_resource type="Animation" id=3] + +length = 0.45 +loop = false +step = 0.05 +tracks/0/type = "value" +tracks/0/path = NodePath(".:rotation_degrees") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.15, 0.2 ), +"transitions": PoolRealArray( 0.439427, 1, 1 ), +"update": 0, +"values": [ -80.0, 85.0, 75.0 ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 0.05, 0.15, 0.2 ), +"transitions": PoolRealArray( 1, 2.50795, 1, 1 ), +"update": 0, +"values": [ Vector2( 1, 1 ), Vector2( 1, 1.3 ), Vector2( 1, 1 ), Vector2( 1, 1 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath(".:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ true ] +} +tracks/3/type = "method" +tracks/3/path = NodePath(".") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0.1, 0.25 ), +"transitions": PoolRealArray( 1, 1 ), +"values": [ { +"args": [ ], +"method": "set_attack_input_listening" +}, { +"args": [ ], +"method": "set_ready_for_next_attack" +} ] +} + +[sub_resource type="Animation" id=4] + +resource_name = "attack_medium" +length = 0.5 +loop = false +step = 0.05 +tracks/0/type = "value" +tracks/0/path = NodePath(".:rotation_degrees") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0.05, 0.25, 0.35 ), +"transitions": PoolRealArray( 0.439427, 1, 1 ), +"update": 0, +"values": [ 95.0, -95.0, -90.0 ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 0.1, 0.2, 0.25 ), +"transitions": PoolRealArray( 1, 2.50795, 1, 1 ), +"update": 0, +"values": [ Vector2( 1, 1 ), Vector2( 1, 1.3 ), Vector2( 1, 1 ), Vector2( 1, 1 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath(".:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ true ] +} + +[sub_resource type="Animation" id=5] + +length = 0.01 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ false ] +} + +[node name="Sword" type="Area2D"] + +input_pickable = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +monitorable = false +collision_layer = 16 +collision_mask = 3 +audio_bus_override = false +audio_bus_name = "Master" +script = ExtResource( 1 ) +_sections_unfolded = [ "Transform" ] + +[node name="AnimationPlayer" type="AnimationPlayer" parent="." index="0"] + +root_node = NodePath("..") +autoplay = "" +playback_process_mode = 1 +playback_default_blend_time = 0.0 +playback_speed = 1.0 +anims/SETUP = SubResource( 1 ) +anims/attack_circular = SubResource( 2 ) +anims/attack_fast = SubResource( 3 ) +anims/attack_medium = SubResource( 4 ) +anims/idle = SubResource( 5 ) +blend_times = [ ] +_sections_unfolded = [ "Playback Options" ] + +[node name="sword" type="Sprite" parent="." index="1"] + +position = Vector2( 4, 0 ) +texture = ExtResource( 2 ) +offset = Vector2( 67, 0 ) +_sections_unfolded = [ "Offset", "Transform" ] + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="." index="2"] + +build_mode = 0 +polygon = PoolVector2Array( 28.0001, -15.9999, 136, -15.9995, 160, 0, 136, 16.0005, 27.9999, 16.0001 ) + + diff --git a/2d/finite_state_machine/player/weapon/sword.gd b/2d/finite_state_machine/player/weapon/sword.gd new file mode 100644 index 00000000..f9209c7d --- /dev/null +++ b/2d/finite_state_machine/player/weapon/sword.gd @@ -0,0 +1,107 @@ +extends Area2D + +signal attack_finished + +enum STATES { IDLE, ATTACK } +var state = null + +enum ATTACK_INPUT_STATES { IDLE, LISTENING, REGISTERED } +var attack_input_state = IDLE +var ready_for_next_attack = false +const MAX_COMBO_COUNT = 3 +var combo_count = 0 + +var attack_current = {} +var combo = [{ + 'damage': 1, + 'animation': 'attack_fast', + 'effect': null + }, + { + 'damage': 1, + 'animation': 'attack_fast', + 'effect': null + }, + { + 'damage': 3, + 'animation': 'attack_medium', + 'effect': null + }] + +var hit_objects = [] + + +func _ready(): + $AnimationPlayer.connect('animation_finished', self, "_on_animation_finished") + self.connect("body_entered", self, "_on_body_entered") + _change_state(IDLE) + + +func _change_state(new_state): + match state: + ATTACK: + hit_objects = [] + attack_input_state = IDLE + ready_for_next_attack = false + + match new_state: + IDLE: + combo_count = 0 + $AnimationPlayer.stop() + visible = false + monitoring = false + ATTACK: + attack_current = combo[combo_count -1] + $AnimationPlayer.play(attack_current['animation']) + visible = true + monitoring = true + state = new_state + + +func _input(event): + if not state == ATTACK: + return + if attack_input_state != LISTENING: + return + if event.is_action_pressed('attack'): + attack_input_state = REGISTERED + + +func _physics_process(delta): + if attack_input_state == REGISTERED and ready_for_next_attack: + attack() + + +func attack(): + combo_count += 1 + _change_state(ATTACK) + + +# use with AnimationPlayer func track +func set_attack_input_listening(): + attack_input_state = LISTENING + + +# use with AnimationPlayer func track +func set_ready_for_next_attack(): + ready_for_next_attack = true + + +func _on_body_entered(body): + if not body.has_node('Health'): + return + if body.get_rid().get_id() in hit_objects: + return + hit_objects.append(body.get_rid().get_id()) + body.take_damage(self, attack_current['damage'], attack_current['effect']) + + +func _on_animation_finished(name): + if not attack_current: + return + + if attack_input_state == REGISTERED and combo_count < MAX_COMBO_COUNT: + attack() + else: + _change_state(IDLE) + emit_signal("attack_finished") diff --git a/2d/finite_state_machine/player/weapon/sword.png b/2d/finite_state_machine/player/weapon/sword.png new file mode 100644 index 0000000000000000000000000000000000000000..13e8112237d692c31efcbbe9599df2b5956d8fcc GIT binary patch literal 2827 zcmV+m3-t7fP)TKTzreu3z|A1cV8&pQm|R@o8|)Us z00epYd8rH-;M+9@Mi6~j7i1QuJYK++Tu@X3r2hc1QA%oYG6Msn0gzo%UQz%QXIuhg zizH=(**ie&qL3hGAo~oE&6f^g-vP0cAnZ3Fb`j7MKsLxsk#sN{ zvX{X*zo4=xGd-h3!N|bCK*2F3KPgoqxU#q;HMdy7GcP&6s35;6u_QGGs21WrFyILG z4G3}7b%yzagCUr~mmz>5gu#_TmjNzJIRM26g!MTP9L|hlXAoitkX%|+24ylb858Cs z%*dL=z+iEJfq}UWA(pa|fnf_51A}-XLQH)&1B0*`1H%qK0ECWF-Ul>_{r~^~32;bR za{vGf6951U69E94oEQKA34lpNK~#90?VWpUTUQ;&Ki7{qahzxKXu77$y0W!}b#9x^ zn9)UIuxR{~KZZ0Rp|NU6)Ba+De-PrKA%TFQAx+aJZId!667UBCPdsEafwEWe)^%Cg zw62dVZ4xJr^KcwHe%*Tye>iC!$959;y4SepBU#G1_xN{ycFy;n*Y6yIL?V$$Boc{4 zBDtAR%ywW6_rUNW;4z>da0AXw-jV`708RrZM@LTlr?MVOY7x@~;2s#Z0pA0D1lY?o zqXWMJempvIB59OwlG?{q0k{W-t-wElFBxR=3~;X$fn=*#OfLUB7+3iLjsQ;?Xirk( znAQTg2Zj#-?*optYXauAUiUez^Y*>eH}#Y>kc!V*=f^Ku$4~buh}^t7*;YV~2_&0h zW()8z>nndGedKEyt=E0;rj;MS(b%Q!`m8s7?BNE1GM#hB0(`@GcO|umnF8p~O=vv_ z&QkB%xos=<`c|#4f4r1!iKG~23gGVCgx;}t^QV3hv>ko7=UsA_YfEx-VKcGp`rL$Y zxOS9n$qL;!C;1=LX;7QNm&}+a8z^ehjPpyPMH7kHS4ttK6?SrH^ zY9_r935U)thNkUmCf!frMcFT}zNS2bLoWg^1^mA00{P0u%$49U(6N?I^*_8oT|;}h z_8f1&vM#;v&=QJ8;A~P+Ob_{!lp>u>OogtDU5rH*?*dBI0TuW&@H{YL#Gtum1+Ye4 zy+%h*lJ=b`Y<9g|^O75YuIuT=Q1J9zaH2`qw7WLR{xMl0oDBGVOXZeXQ~+MDR{ZwPdr)3X0BhJCItTArkgdW02`jPa`OxLDP%<7n zO6k2Jao~5r3jx3HgYA}6usV3X-cGWEkB7EvaH}Ni9zo=+g{2Qah-m08+g`o^8d|KR z<0_hZ?IYfHFiJ~Dy6iF}Hy%w@m%~$6-jB>q?-oMr-6Z>4WLt$l1^m9$R_t2~UF_}c z{TJ|+?YX)=RO{X3j={B_&w$-kwmsX#=(=?L=r_@N4$`E4N+y=cmXWd0-o2&oMN%bL zEEb2Wwe8l9TlTcoI~zw6@z}VosXY{)LE1z1q5b&oef!&X@7sTI>e44AyGI*Z0I%2E z54>xL_a&%w3y}K4qX1ZAVQgprb}e6nR(2W1u+`}_HmSH;Gq_qZSgbdELGz{}lS+j` z6Q7=2UYOetl&UlWcoBG_*nqjvH0Tq#2?a5>)6TNPLXVN%=W~J%k)vXZP;{*V3v-&Q zbKQqbB?>lr*F`E}CB9^5cCrCQ0cVqnt0jZ0HBDo)Dg|LMc88;T_rCqzLf6&Ba40Z0 zb-7Mc)x!m{D!}8wn`Flc8z>}zujeK@ZOpr@9J_9>^RS5Q&XqM3i>QfJX(1pUwGofn z2u)-K(bkn>&z;L=yH;~37K^RDyT{Ys-9s`S8w*_-n_O9r9tN87vOeb-92yDueG~aM z3JIVgH_>e6sDVD4j&juCp^ea~OH5;1nnYcSl8Wcu7O)Uw!aibxm8D3r@T-KRtPjYZ1pSz_4d<=z)OWw{9+c)0JRFsjYaSq~jLjZPxcf+dTl- z)FqtJb6BI3sF7vTt95>6+=Q?O62ObV_qiG-p)|&I z2I5BlFYDGX4hgi1RDS!y`Kx~`3bc0{d}^Ws_BtI`Ylg<=jO^xA2wm5b;fc%dEQEsl zfG?KF`WLbl|MXVuZVP}qUhhfZ(Xu?PBAoG0um=OIRr$8A6uozteh`6V8)%vu zpS|+w=}0(q5V)^MHXZmQ@Uwv5_u+Qz7aIgWMm8SkX*NHmyee_L{R$e8+w<<&l_-{7 zQe|jrW@%>p(r9#H?rvb9NH!Jt4e*PA-*=&$ataFI)TvWC@VwXS{VOm?1@;37VR;B8 z_h>|08mKd}j9i-A(>R+dvaM8NAZj{2KRtfo!&qeTD8(y&itJeR>44vN<$B7i=^bH; zMbOrnrejw^R{km{lS-SzbCuUN}w;akBCL&jkFw86(QA*@ZCoeRF2JAlU+` z#L7f)?EH8#9{W7S`}h&yS>V}#-#2e$`86v5Np+&@S~8tT1efN+Q;~3}Wp&lIw@CId z**W~@1Abq$68_Yz06u=_P1)zEJ}hJ-H21E)iZKQJ5_mb__f<56wq^xDZGW~}WeoT^ z@Y}8K>AhZLC6QDE0pK~{50yFrt{74Pk{eA1m<2upUI%_3@cYKha;Ay|Aj%K65JIqV zO1ENb3X<{(_PDA$m6`lI|9=l2R`lt}V0QvmDE9lf>_t!B zfrf$a0=rhz7W;)aj_OnYeM{eQ8^YOIau=GCjILPbFKd?A+`X(9a)j)Rf<&?@rbe&3 z2ZkR6{%)|@M@C0ZoHW>`q((9IREW`$6aN67B720L5j;nc6Tl>rLR7{6CHKJaak5>a z{NMZCDnZ~|tAdh9woFwB0Kh#k+(`E4aQcD6u<1z@Nnn)hfcLf0krQSANP