diff --git a/Hiro/hiro_ai.tscn b/Hiro/hiro_ai.tscn new file mode 100644 index 0000000..c4bb148 --- /dev/null +++ b/Hiro/hiro_ai.tscn @@ -0,0 +1,1786 @@ +[gd_scene load_steps=73 format=3 uid="uid://dd2km6qhpdicx"] + +[ext_resource type="Script" path="res://Scripts/hiro_ai.gd" id="1_inmen"] +[ext_resource type="Texture2D" uid="uid://cm7tgomrcvq30" path="res://Hiro/Hiro Walk Sprite Cycle Line Up.png" id="2_ctdbh"] +[ext_resource type="Texture2D" uid="uid://bio3egs7q7wog" path="res://Hiro/Hiro Melee Sprites.png" id="3_n6t5d"] +[ext_resource type="Script" path="res://Scripts/hiro_brain.gd" id="3_psrg3"] +[ext_resource type="Texture2D" uid="uid://rcidedgcjqg6" path="res://Hiro/Hiro Hurt Sprites.png" id="3_rs4b3"] + +[sub_resource type="Animation" id="Animation_04piu"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:texture") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("2_ctdbh")] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:hframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [20] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:vframes") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [1] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationTree:parameters/conditions/melee") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_3oagy"] +resource_name = "idle_east" +length = 0.6 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [5] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [20] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [1] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:texture") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("2_ctdbh")] +} + +[sub_resource type="Animation" id="Animation_pjwlc"] +resource_name = "idle_north" +length = 0.3 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [10] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [20] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [1] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:texture") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("2_ctdbh")] +} + +[sub_resource type="Animation" id="Animation_x2yda"] +resource_name = "idle_south" +length = 0.6 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [20] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [1] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:texture") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("2_ctdbh")] +} + +[sub_resource type="Animation" id="Animation_w1ari"] +resource_name = "idle_west" +length = 0.6 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [15] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:vframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [1] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:hframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [20] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:texture") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("2_ctdbh")] +} + +[sub_resource type="Animation" id="Animation_ji461"] +resource_name = "kick_east" +length = 0.266673 +loop_mode = 1 +step = 0.0666667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_n6t5d")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [13] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [22, 23, 24, 25] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationTree:parameters/conditions/melee") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.266667), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_cuaji"] +resource_name = "kick_north" +length = 0.266673 +loop_mode = 1 +step = 0.0666667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_n6t5d")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [13] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [35, 36, 37, 38] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationTree:parameters/conditions/melee") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.266667), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_hqga6"] +resource_name = "kick_south" +length = 0.266673 +loop_mode = 1 +step = 0.0666667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_n6t5d")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [13] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [9, 10, 11, 12] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationTree:parameters/conditions/melee") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.266667), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_s8xim"] +resource_name = "kick_west" +length = 0.266673 +loop_mode = 1 +step = 0.0666667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_n6t5d")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [13] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [48, 49, 50, 51] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationTree:parameters/conditions/melee") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.266667), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_o0diw"] +resource_name = "punch_east_left" +length = 0.266673 +loop_mode = 1 +step = 0.0666667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_n6t5d")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [13] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [18, 19, 20, 21] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationTree:parameters/conditions/melee") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.266667), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_ar6r3"] +resource_name = "punch_east_rigth" +length = 0.266673 +loop_mode = 1 +step = 0.0666667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_n6t5d")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [13] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [14, 15, 16, 17] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationTree:parameters/conditions/melee") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.266667), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_1e0v6"] +resource_name = "punch_north_left" +length = 0.266673 +loop_mode = 1 +step = 0.0666667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_n6t5d")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [13] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [31, 32, 33, 34] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationTree:parameters/conditions/melee") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.266667), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_bwm5c"] +resource_name = "punch_north_rigth" +length = 0.266673 +loop_mode = 1 +step = 0.0666667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_n6t5d")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [13] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [27, 28, 29, 30] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationTree:parameters/conditions/melee") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.266667), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_qmuik"] +resource_name = "punch_south_left" +length = 0.266673 +loop_mode = 1 +step = 0.0666667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_n6t5d")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [13] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [5, 6, 7, 8] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationTree:parameters/conditions/melee") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.266667), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_bw220"] +resource_name = "punch_south_rigth" +length = 0.266673 +loop_mode = 1 +step = 0.0666667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_n6t5d")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [13] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [1, 2, 3, 4] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationTree:parameters/conditions/melee") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.266667), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_wjl2t"] +resource_name = "punch_west_left" +length = 0.266673 +loop_mode = 1 +step = 0.0666667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_n6t5d")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [13] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [40, 41, 42, 43] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationTree:parameters/conditions/melee") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.266667), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_e4rxs"] +resource_name = "punch_west_rigth" +length = 0.266673 +loop_mode = 1 +step = 0.0666667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_n6t5d")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [13] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [44, 45, 46, 47] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationTree:parameters/conditions/melee") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.266667), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_de3xn"] +resource_name = "walking_east" +length = 0.500013 +loop_mode = 1 +step = 0.125 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.125, 0.25, 0.375), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [6, 7, 8, 9] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [20] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [1] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:texture") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("2_ctdbh")] +} + +[sub_resource type="Animation" id="Animation_bg701"] +resource_name = "walking_north" +length = 0.500013 +loop_mode = 1 +step = 0.125 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.125, 0.25, 0.375), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [11, 12, 13, 14] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [20] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [1] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:texture") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("2_ctdbh")] +} + +[sub_resource type="Animation" id="Animation_sroq6"] +resource_name = "walking_south" +length = 0.500013 +loop_mode = 1 +step = 0.125 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.125, 0.25, 0.375), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [1, 2, 3, 4] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [20] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [1] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:texture") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("2_ctdbh")] +} + +[sub_resource type="Animation" id="Animation_d3phq"] +resource_name = "walking_west" +length = 0.500013 +loop_mode = 1 +step = 0.125 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.125, 0.25, 0.375), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [16, 17, 18, 19] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [20] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [1] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:texture") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("2_ctdbh")] +} + +[sub_resource type="Animation" id="Animation_kvnht"] +resource_name = "hurt_east" +length = 0.500013 +step = 0.125 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_rs4b3")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [5] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.125, 0.25, 0.375), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [6, 7, 8, 9] +} + +[sub_resource type="Animation" id="Animation_htnmm"] +resource_name = "hurt_west" +length = 0.500013 +step = 0.125 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_rs4b3")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [5] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.125, 0.25, 0.375), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [16, 17, 18, 19] +} + +[sub_resource type="Animation" id="Animation_fytkh"] +resource_name = "hurt_north" +length = 0.500013 +step = 0.125 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_rs4b3")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [5] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.125, 0.25, 0.375), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [10, 11, 12, 13] +} + +[sub_resource type="Animation" id="Animation_lw5of"] +resource_name = "hurt_south" +length = 0.500013 +step = 0.125 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_rs4b3")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:hframes") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [5] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:vframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.125, 0.25, 0.375), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [1, 2, 3, 4] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_prr1g"] +_data = { +"RESET": SubResource("Animation_04piu"), +"hurt_east": SubResource("Animation_kvnht"), +"hurt_north": SubResource("Animation_fytkh"), +"hurt_south": SubResource("Animation_lw5of"), +"hurt_west": SubResource("Animation_htnmm"), +"idle_east": SubResource("Animation_3oagy"), +"idle_north": SubResource("Animation_pjwlc"), +"idle_south": SubResource("Animation_x2yda"), +"idle_west": SubResource("Animation_w1ari"), +"kick_east": SubResource("Animation_ji461"), +"kick_north": SubResource("Animation_cuaji"), +"kick_south": SubResource("Animation_hqga6"), +"kick_west": SubResource("Animation_s8xim"), +"punch_east_left": SubResource("Animation_o0diw"), +"punch_east_rigth": SubResource("Animation_ar6r3"), +"punch_north_left": SubResource("Animation_1e0v6"), +"punch_north_rigth": SubResource("Animation_bwm5c"), +"punch_south_left": SubResource("Animation_qmuik"), +"punch_south_rigth": SubResource("Animation_bw220"), +"punch_west_left": SubResource("Animation_wjl2t"), +"punch_west_rigth": SubResource("Animation_e4rxs"), +"walking_east": SubResource("Animation_de3xn"), +"walking_north": SubResource("Animation_bg701"), +"walking_south": SubResource("Animation_sroq6"), +"walking_west": SubResource("Animation_d3phq") +} + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_mv45g"] +animation = &"hurt_west" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_veqx1"] +animation = &"hurt_south" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_uxa6u"] +animation = &"hurt_east" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_08tp5"] +animation = &"hurt_north" + +[sub_resource type="AnimationNodeBlendSpace2D" id="AnimationNodeBlendSpace2D_h2vkc"] +blend_point_0/node = SubResource("AnimationNodeAnimation_mv45g") +blend_point_0/pos = Vector2(-1, 0) +blend_point_1/node = SubResource("AnimationNodeAnimation_veqx1") +blend_point_1/pos = Vector2(0, 1) +blend_point_2/node = SubResource("AnimationNodeAnimation_uxa6u") +blend_point_2/pos = Vector2(1, 0) +blend_point_3/node = SubResource("AnimationNodeAnimation_08tp5") +blend_point_3/pos = Vector2(0, -1) +blend_mode = 1 + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x1ach"] +animation = &"idle_west" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_bt5hk"] +animation = &"idle_east" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_d37x4"] +animation = &"idle_north" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_2vw4b"] +animation = &"idle_south" + +[sub_resource type="AnimationNodeBlendSpace2D" id="AnimationNodeBlendSpace2D_bd8j1"] +blend_point_0/node = SubResource("AnimationNodeAnimation_x1ach") +blend_point_0/pos = Vector2(-1, 0) +blend_point_1/node = SubResource("AnimationNodeAnimation_bt5hk") +blend_point_1/pos = Vector2(1, 0) +blend_point_2/node = SubResource("AnimationNodeAnimation_d37x4") +blend_point_2/pos = Vector2(0, -1) +blend_point_3/node = SubResource("AnimationNodeAnimation_2vw4b") +blend_point_3/pos = Vector2(0, 1) +blend_mode = 1 + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_f740i"] +animation = &"punch_south_rigth" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_bwovr"] +animation = &"punch_west_rigth" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qqbt6"] +animation = &"punch_east_rigth" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_y3tw5"] +animation = &"punch_north_rigth" + +[sub_resource type="AnimationNodeBlendSpace2D" id="AnimationNodeBlendSpace2D_flbdw"] +blend_point_0/node = SubResource("AnimationNodeAnimation_f740i") +blend_point_0/pos = Vector2(0, 1) +blend_point_1/node = SubResource("AnimationNodeAnimation_bwovr") +blend_point_1/pos = Vector2(-1, 0) +blend_point_2/node = SubResource("AnimationNodeAnimation_qqbt6") +blend_point_2/pos = Vector2(1, 0) +blend_point_3/node = SubResource("AnimationNodeAnimation_y3tw5") +blend_point_3/pos = Vector2(0, -1) +blend_mode = 1 + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ruw2d"] +animation = &"punch_west_left" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_iu52b"] +animation = &"punch_north_left" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_sotly"] +animation = &"punch_east_left" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ryihd"] +animation = &"punch_south_left" + +[sub_resource type="AnimationNodeBlendSpace2D" id="AnimationNodeBlendSpace2D_c2jh5"] +blend_point_0/node = SubResource("AnimationNodeAnimation_ruw2d") +blend_point_0/pos = Vector2(-1, 0) +blend_point_1/node = SubResource("AnimationNodeAnimation_iu52b") +blend_point_1/pos = Vector2(0, -1) +blend_point_2/node = SubResource("AnimationNodeAnimation_sotly") +blend_point_2/pos = Vector2(1, 0) +blend_point_3/node = SubResource("AnimationNodeAnimation_ryihd") +blend_point_3/pos = Vector2(0, 1) +blend_mode = 1 + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_p4b5o"] +animation = &"kick_east" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vay80"] +animation = &"kick_north" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_1svn8"] +animation = &"kick_west" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_awga0"] +animation = &"kick_south" + +[sub_resource type="AnimationNodeBlendSpace2D" id="AnimationNodeBlendSpace2D_iktiu"] +blend_point_0/node = SubResource("AnimationNodeAnimation_p4b5o") +blend_point_0/pos = Vector2(1, 0) +blend_point_1/node = SubResource("AnimationNodeAnimation_vay80") +blend_point_1/pos = Vector2(0, -1) +blend_point_2/node = SubResource("AnimationNodeAnimation_1svn8") +blend_point_2/pos = Vector2(-1, 0) +blend_point_3/node = SubResource("AnimationNodeAnimation_awga0") +blend_point_3/pos = Vector2(0, 1) +blend_mode = 1 + +[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_dc3kp"] +blend_point_0/node = SubResource("AnimationNodeBlendSpace2D_flbdw") +blend_point_0/pos = 0.0 +blend_point_1/node = SubResource("AnimationNodeBlendSpace2D_c2jh5") +blend_point_1/pos = 0.5 +blend_point_2/node = SubResource("AnimationNodeBlendSpace2D_iktiu") +blend_point_2/pos = 1.0 +blend_mode = 1 + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_e3il4"] +animation = &"walking_north" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ul1hc"] +animation = &"walking_south" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ns4dm"] +animation = &"walking_west" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ck8m6"] +animation = &"walking_east" + +[sub_resource type="AnimationNodeBlendSpace2D" id="AnimationNodeBlendSpace2D_vunsg"] +blend_point_0/node = SubResource("AnimationNodeAnimation_e3il4") +blend_point_0/pos = Vector2(0, -1) +blend_point_1/node = SubResource("AnimationNodeAnimation_ul1hc") +blend_point_1/pos = Vector2(0, 1) +blend_point_2/node = SubResource("AnimationNodeAnimation_ns4dm") +blend_point_2/pos = Vector2(-1, 0) +blend_point_3/node = SubResource("AnimationNodeAnimation_ck8m6") +blend_point_3/pos = Vector2(1, 0) +blend_mode = 1 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_akmuq"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_sn1tm"] +advance_mode = 2 +advance_condition = &"is_moving" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5i3fu"] +advance_mode = 2 +advance_expression = "get(\"parameters/conditions/is_moving\") == false" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_y8p74"] +advance_mode = 2 +advance_condition = &"melee" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l17k0"] +advance_mode = 2 +advance_expression = "get(\"parameters/conditions/melee\") == false" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ln3pc"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_b0avg"] +allow_transition_to_self = true +states/Start/position = Vector2(197, 108) +states/hurt/node = SubResource("AnimationNodeBlendSpace2D_h2vkc") +states/hurt/position = Vector2(329, -13) +states/idle/node = SubResource("AnimationNodeBlendSpace2D_bd8j1") +states/idle/position = Vector2(329, 108) +states/melee/node = SubResource("AnimationNodeBlendSpace1D_dc3kp") +states/melee/position = Vector2(329, 224) +states/walk/node = SubResource("AnimationNodeBlendSpace2D_vunsg") +states/walk/position = Vector2(520, 108) +transitions = ["Start", "idle", SubResource("AnimationNodeStateMachineTransition_akmuq"), "idle", "walk", SubResource("AnimationNodeStateMachineTransition_sn1tm"), "walk", "idle", SubResource("AnimationNodeStateMachineTransition_5i3fu"), "idle", "melee", SubResource("AnimationNodeStateMachineTransition_y8p74"), "melee", "idle", SubResource("AnimationNodeStateMachineTransition_l17k0"), "hurt", "idle", SubResource("AnimationNodeStateMachineTransition_ln3pc")] +graph_offset = Vector2(-222, -37) + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_vm050"] +radius = 8.0 +height = 36.0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_bdqvd"] +size = Vector2(13, 8) + +[sub_resource type="CircleShape2D" id="CircleShape2D_md645"] + +[node name="HiroAI" type="CharacterBody2D"] +y_sort_enabled = true +collision_layer = 5 +script = ExtResource("1_inmen") + +[node name="Sprite2D" type="Sprite2D" parent="."] +modulate = Color(0.498039, 0.498039, 0.498039, 1) +texture_filter = 1 +position = Vector2(0, -13) +texture = ExtResource("2_ctdbh") +hframes = 20 + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +reset_on_save = false +libraries = { +"": SubResource("AnimationLibrary_prr1g") +} + +[node name="AnimationTree" type="AnimationTree" parent="."] +libraries = { +"": SubResource("AnimationLibrary_prr1g") +} +tree_root = SubResource("AnimationNodeStateMachine_b0avg") +anim_player = NodePath("../AnimationPlayer") +parameters/conditions/is_moving = false +parameters/conditions/melee = false +parameters/hurt/blend_position = Vector2(0.949916, -0.0132159) +parameters/idle/blend_position = Vector2(-0.0243112, 0.73545) +parameters/melee/blend_position = 0.0 +parameters/melee/0/blend_position = Vector2(0.66778, -0.765217) +parameters/melee/1/blend_position = Vector2(-0.218698, 0.0434783) +parameters/melee/2/blend_position = Vector2(0, 0) +parameters/walk/blend_position = Vector2(-0.0100167, -0.0729166) + +[node name="Hitbox" type="Area2D" parent="."] +position = Vector2(0, 1) +collision_layer = 2 +collision_mask = 10 + +[node name="Collider" type="CollisionShape2D" parent="Hitbox"] +position = Vector2(0, -14) +shape = SubResource("CapsuleShape2D_vm050") +debug_color = Color(1, 0.133333, 0.321569, 0.419608) + +[node name="MovementCollider" type="CollisionShape2D" parent="."] +position = Vector2(-0.5, -1) +shape = SubResource("RectangleShape2D_bdqvd") + +[node name="Attackbox" type="Area2D" parent="."] +position = Vector2(0, 1) +collision_layer = 8 +collision_mask = 2 +input_pickable = false + +[node name="Collider" type="CollisionShape2D" parent="Attackbox"] +position = Vector2(8, -15) +shape = SubResource("CircleShape2D_md645") +disabled = true +debug_color = Color(0.745098, 0.462745, 0, 0.419608) + +[node name="Brain" type="Node" parent="."] +script = ExtResource("3_psrg3") + +[connection signal="got_hurt" from="." to="Brain" method="_on_ai_got_hurt"] +[connection signal="health_depleted" from="Brain" to="." method="_on_health_depleted"] diff --git a/Hiro/hiro_player.tscn b/Hiro/hiro_player.tscn index edc035a..91b6572 100644 --- a/Hiro/hiro_player.tscn +++ b/Hiro/hiro_player.tscn @@ -1457,11 +1457,11 @@ states/Start/position = Vector2(197, 108) states/idle/node = SubResource("AnimationNodeBlendSpace2D_bd8j1") states/idle/position = Vector2(329, 108) states/melee/node = SubResource("AnimationNodeBlendSpace1D_dc3kp") -states/melee/position = Vector2(425, 213) +states/melee/position = Vector2(329, 212) states/walk/node = SubResource("AnimationNodeBlendSpace2D_vunsg") states/walk/position = Vector2(520, 108) transitions = ["Start", "idle", SubResource("AnimationNodeStateMachineTransition_akmuq"), "idle", "walk", SubResource("AnimationNodeStateMachineTransition_sn1tm"), "walk", "idle", SubResource("AnimationNodeStateMachineTransition_5i3fu"), "idle", "melee", SubResource("AnimationNodeStateMachineTransition_y8p74"), "melee", "idle", SubResource("AnimationNodeStateMachineTransition_l17k0")] -graph_offset = Vector2(-129, 11) +graph_offset = Vector2(-159, -33) [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_vm050"] radius = 8.0 diff --git a/Scripts/hiro_ai.gd b/Scripts/hiro_ai.gd new file mode 100644 index 0000000..cf9663c --- /dev/null +++ b/Scripts/hiro_ai.gd @@ -0,0 +1,15 @@ +extends CharacterBody2D + +@export var health = 100 + +signal got_hurt(damage: int, attack_direction: Vector2) +signal defeated + +func _on_player_attack_did_hit(other, attack_power, attack_direction: Vector2): + if other.get_parent().get_instance_id() == get_instance_id() : + got_hurt.emit(attack_power, attack_direction) + + +func _on_health_depleted(): + defeated.emit() + queue_free() diff --git a/Scripts/hiro_brain.gd b/Scripts/hiro_brain.gd new file mode 100644 index 0000000..e6afec0 --- /dev/null +++ b/Scripts/hiro_brain.gd @@ -0,0 +1,21 @@ +extends Node + +@onready var health = $"..".health +@onready var anim_tree: AnimationTree = $".."/AnimationTree +@onready var anim_playback: AnimationNodeStateMachinePlayback = anim_tree["parameters/playback"] + +signal health_depleted + +func _on_ai_got_hurt(damage, attack_direction): + var facing_direction = attack_direction * -1 + health = health - damage + if health <= 0: + health_depleted.emit() + else: + anim_tree.set("parameters/idle/blend_position", facing_direction) + anim_tree.set("parameters/walk/blend_position", facing_direction) + anim_tree.set("parameters/melee/0/blend_position", facing_direction) + anim_tree.set("parameters/melee/1/blend_position", facing_direction) + anim_tree.set("parameters/melee/2/blend_position", facing_direction) + anim_tree.set("parameters/hurt/blend_position", facing_direction) + anim_playback.travel("hurt") diff --git a/Scripts/hiro_player.gd b/Scripts/hiro_player.gd index 5ea7711..d5c1331 100644 --- a/Scripts/hiro_player.gd +++ b/Scripts/hiro_player.gd @@ -4,7 +4,8 @@ extends CharacterBody2D var last_dpad: Array[Vector2] = [Vector2.ZERO,Vector2.ZERO] const FACING_ANGLE_EPSILON = 15 -signal attack_did_hit(other: Area2D) +signal attack_did_hit(other: Area2D, power: int, attack_direction: Vector2) +signal defeated func _process(_delta): if Input.is_action_pressed("melee") and $AnimationTree.get("parameters/conditions/melee") == false: @@ -56,4 +57,9 @@ func get_input(): func _on_attackbox_area_entered(area: Area2D): - attack_did_hit.emit(area) + var attack_vector: Vector2 = $AnimationTree.get("parameters/melee/0/blend_position") + attack_did_hit.emit(area, 15, attack_vector) + + +func _on_hiro_dummy_defeated(): + print("Yaaaaay!!") diff --git a/world/world.tscn b/world/world.tscn index b09d5c7..79d5b39 100644 --- a/world/world.tscn +++ b/world/world.tscn @@ -3,7 +3,7 @@ [ext_resource type="PackedScene" uid="uid://di21xheryhp0k" path="res://Hiro/hiro_player.tscn" id="1_c1gpq"] [ext_resource type="PackedScene" uid="uid://b8sfype1vx5ad" path="res://Nem/nem_npc.tscn" id="1_sqt7d"] [ext_resource type="Texture2D" uid="uid://b40la2vyf4rn6" path="res://world/Fighting Dojo BG.png" id="4_elb6q"] -[ext_resource type="Script" path="res://Scripts/reed_player.gd" id="5_df088"] +[ext_resource type="PackedScene" uid="uid://dd2km6qhpdicx" path="res://Hiro/hiro_ai.tscn" id="5_r7nw4"] [ext_resource type="PackedScene" uid="uid://bakb5a7xe4qby" path="res://Reed/reed_player.tscn" id="6_cn8e2"] [node name="Node2D" type="Node2D"] @@ -32,10 +32,9 @@ position = Vector2(-1341, -243) scale = Vector2(8.83789, 4.22585) polygon = PackedVector2Array(157.843, 76.9076, 161.464, 75.961, 172.213, 75.7244, 176.513, 76.9076, 179.22, 82.4429, 180.012, 85.7558, 180.238, 91.9084, 180.012, 107.053, 178.549, 113.823, 176.739, 116.426, 175.042, 118.083, 169.497, 118.319, 169.497, 123.525, 164.745, 123.525, 164.858, 118.319, 158.975, 117.846, 157.504, 116.663, 155.806, 114.533, 154.109, 108.617, 154.109, 94.4188, 154.222, 83.2968, 152.186, 83.0602, 152.412, 80.9304, 146.181, 70.3743, 139.513, 85.4266, 135.779, 90.8692, 147.66, 124.945, 187.367, 125.038, 195.514, 91.4351, 192.232, 66.1148, 173.676, 53.3363, 157.382, 53.8096, 152.404, 63.2751, 153.317, 81.6403, 154.222, 83.7701, 155.92, 79.9839) -[node name="HiroDummy" parent="." instance=ExtResource("1_c1gpq")] -modulate = Color(0.603922, 0.603922, 0.603922, 1) -position = Vector2(139, 203) -script = ExtResource("5_df088") +[node name="HiroDummy" parent="." instance=ExtResource("5_r7nw4")] +position = Vector2(138, 216) [connection signal="attack_did_hit" from="HiroPlayer" to="ReedPlayer" method="_on_player_attack_did_hit"] [connection signal="attack_did_hit" from="HiroPlayer" to="HiroDummy" method="_on_player_attack_did_hit"] +[connection signal="defeated" from="HiroDummy" to="HiroPlayer" method="_on_hiro_dummy_defeated"]