From ed333f373b33ae0375813c7be4a01426c2b15778 Mon Sep 17 00:00:00 2001 From: Zenny Date: Thu, 3 Oct 2024 01:07:05 -0700 Subject: [PATCH] Add hit animations and death for bosses --- src/boss/Boss.cs | 45 ++ src/boss/state/BossLogic.Input.cs | 4 + src/boss/state/BossLogic.Output.cs | 2 + src/boss/state/BossLogic.g.puml | 10 +- .../state/states/BossLogic.State.Alive.cs | 31 + .../states/BossLogic.State.ApproachPlayer.cs | 2 +- .../state/states/BossLogic.State.Defeated.cs | 15 + .../states/BossLogic.State.EngagePlayer.cs | 2 +- src/boss/state/states/BossLogic.State.Idle.cs | 5 +- src/boss/vfx/BossHit.tres | 2 +- .../enemy_types/horse_head/HorseFace.tscn | 600 ++++++++++-------- .../enemy_types/ox_face/BossDie.gdshader | 33 + src/enemy/enemy_types/ox_face/OxFace.tscn | 162 +++-- 13 files changed, 584 insertions(+), 329 deletions(-) create mode 100644 src/boss/state/states/BossLogic.State.Alive.cs create mode 100644 src/boss/state/states/BossLogic.State.Defeated.cs create mode 100644 src/enemy/enemy_types/ox_face/BossDie.gdshader diff --git a/src/boss/Boss.cs b/src/boss/Boss.cs index 6e415904..42be0d51 100644 --- a/src/boss/Boss.cs +++ b/src/boss/Boss.cs @@ -1,4 +1,5 @@ using Chickensoft.AutoInject; +using Chickensoft.Collections; using Chickensoft.GodotNodeInterfaces; using Chickensoft.Introspection; using Godot; @@ -12,6 +13,8 @@ namespace GameJamDungeon public Timer AttackTimer { get; } public void Activate(); + + public AutoProp CurrentHP { get; } } [Meta(typeof(IAutoNode))] @@ -21,6 +24,8 @@ namespace GameJamDungeon public IBossLogic BossLogic { get; set; } = default!; + [Export] public EnemyStatResource BossResource { get; set; } = default!; + IBossLogic IProvide.Value() => BossLogic; public BossLogic.IBinding BossBinding { get; set; } = default!; @@ -31,6 +36,12 @@ namespace GameJamDungeon [Node] public Timer AttackTimer { get; set; } = default!; + [Node] public AnimationPlayer HitAnimation { get; set; } = default!; + + [Node] public Area3D Hitbox { get; set; } = default!; + + public AutoProp CurrentHP { get; set; } + public void Setup() { BossLogic = new BossLogic(); @@ -44,10 +55,38 @@ namespace GameJamDungeon public void OnResolved() { BossBinding = BossLogic.Bind(); + BossBinding + .Handle((in BossLogic.Output.HitByPlayer output) => + { + }) + .Handle((in BossLogic.Output.Defeated output) => + { + QueueFree(); + }); this.Provide(); BossLogic.Start(); + CurrentHP = new AutoProp(BossResource.MaximumHP); + CurrentHP.Sync += OnHPChanged; AttackTimer.Timeout += AttackTimer_Timeout; + Hitbox.AreaEntered += Hitbox_AreaEntered; + } + + private void Hitbox_AreaEntered(Area3D area) + { + if (area is IHitbox) + { + HitAnimation.Play("Hit"); + var isCriticalHit = false; + var rng = new RandomNumberGenerator(); + rng.Randomize(); + var roll = rng.Randf(); + if (roll <= GameRepo.PlayerData.Inventory.EquippedWeapon.Value.WeaponStats.Luck) + isCriticalHit = true; + var damage = DamageCalculator.CalculateWeaponAttackDamage(GameRepo.PlayerData.CurrentAttack.Value + GameRepo.PlayerData.BonusAttack, BossResource, GameRepo.PlayerData.Inventory.EquippedWeapon.Value.WeaponStats, isCriticalHit); + GD.Print($"Enemy Hit for {damage} damage."); + BossLogic.Input(new BossLogic.Input.HitByPlayer(damage)); + } } public void Activate() @@ -71,5 +110,11 @@ namespace GameJamDungeon BossLogic.Input(new BossLogic.Input.PhysicsTick(delta)); MoveAndSlide(); } + + private void OnHPChanged(double newHP) + { + if (newHP <= 0) + BossLogic.Input(new BossLogic.Input.BossDefeated()); + } } } diff --git a/src/boss/state/BossLogic.Input.cs b/src/boss/state/BossLogic.Input.cs index 62811c7d..fdb80c17 100644 --- a/src/boss/state/BossLogic.Input.cs +++ b/src/boss/state/BossLogic.Input.cs @@ -11,6 +11,10 @@ public readonly record struct PrimaryAttack(); public readonly record struct SecondaryAttack(); + + public readonly record struct HitByPlayer(double Damage); + + public readonly record struct BossDefeated(); } } } diff --git a/src/boss/state/BossLogic.Output.cs b/src/boss/state/BossLogic.Output.cs index e37f4d8e..a7f1b50d 100644 --- a/src/boss/state/BossLogic.Output.cs +++ b/src/boss/state/BossLogic.Output.cs @@ -4,7 +4,9 @@ { public static class Output { + public readonly record struct HitByPlayer(double CurrentHP); + public readonly record struct Defeated(); } } } diff --git a/src/boss/state/BossLogic.g.puml b/src/boss/state/BossLogic.g.puml index d515616b..e744798b 100644 --- a/src/boss/state/BossLogic.g.puml +++ b/src/boss/state/BossLogic.g.puml @@ -1,10 +1,14 @@ @startuml BossLogic state "BossLogic State" as GameJamDungeon_BossLogic_State { + state "Alive" as GameJamDungeon_BossLogic_State_Alive { + state "Idle" as GameJamDungeon_BossLogic_State_Idle + } state "ApproachPlayer" as GameJamDungeon_BossLogic_State_ApproachPlayer + state "Defeated" as GameJamDungeon_BossLogic_State_Defeated state "EngagePlayer" as GameJamDungeon_BossLogic_State_EngagePlayer - state "Idle" as GameJamDungeon_BossLogic_State_Idle } +GameJamDungeon_BossLogic_State_Alive --> GameJamDungeon_BossLogic_State_Alive : HitByPlayer GameJamDungeon_BossLogic_State_ApproachPlayer --> GameJamDungeon_BossLogic_State_ApproachPlayer : PhysicsTick GameJamDungeon_BossLogic_State_ApproachPlayer --> GameJamDungeon_BossLogic_State_EngagePlayer : PhysicsTick GameJamDungeon_BossLogic_State_EngagePlayer --> GameJamDungeon_BossLogic_State_ApproachPlayer : PhysicsTick @@ -12,5 +16,9 @@ GameJamDungeon_BossLogic_State_EngagePlayer --> GameJamDungeon_BossLogic_State_E GameJamDungeon_BossLogic_State_EngagePlayer --> GameJamDungeon_BossLogic_State_EngagePlayer : PrimaryAttack GameJamDungeon_BossLogic_State_EngagePlayer --> GameJamDungeon_BossLogic_State_EngagePlayer : SecondaryAttack GameJamDungeon_BossLogic_State_Idle --> GameJamDungeon_BossLogic_State_ApproachPlayer : Activate + +GameJamDungeon_BossLogic_State : On() → HitByPlayer +GameJamDungeon_BossLogic_State_Alive : OnHitByPlayer → HitByPlayer + [*] --> GameJamDungeon_BossLogic_State_Idle @enduml \ No newline at end of file diff --git a/src/boss/state/states/BossLogic.State.Alive.cs b/src/boss/state/states/BossLogic.State.Alive.cs new file mode 100644 index 00000000..5e2f36f6 --- /dev/null +++ b/src/boss/state/states/BossLogic.State.Alive.cs @@ -0,0 +1,31 @@ +using Chickensoft.Introspection; +using Godot; + +namespace GameJamDungeon +{ + public partial class BossLogic + { + public partial record State + { + [Meta, Id("boss_logic_state_alive")] + public abstract partial record Alive : State, IGet, IGet + { + } + + public Transition On(in Input.HitByPlayer input) + { + var enemy = Get(); + enemy.CurrentHP.OnNext(enemy.CurrentHP.Value - input.Damage); + GD.Print("Current HP: " + enemy.CurrentHP.Value); + Output(new Output.HitByPlayer()); + return ToSelf(); + } + + public Transition On(in Input.BossDefeated input) + { + Output(new Output.Defeated()); + return To(); + } + } + } +} diff --git a/src/boss/state/states/BossLogic.State.ApproachPlayer.cs b/src/boss/state/states/BossLogic.State.ApproachPlayer.cs index 35500bef..57ec0586 100644 --- a/src/boss/state/states/BossLogic.State.ApproachPlayer.cs +++ b/src/boss/state/states/BossLogic.State.ApproachPlayer.cs @@ -8,7 +8,7 @@ namespace GameJamDungeon public partial record State { [Meta, Id("boss_logic_state_approach_player")] - public partial record ApproachPlayer : State, IGet + public partial record ApproachPlayer : Alive, IGet { public Transition On(in Input.PhysicsTick input) { diff --git a/src/boss/state/states/BossLogic.State.Defeated.cs b/src/boss/state/states/BossLogic.State.Defeated.cs new file mode 100644 index 00000000..c02ec993 --- /dev/null +++ b/src/boss/state/states/BossLogic.State.Defeated.cs @@ -0,0 +1,15 @@ +using Chickensoft.Introspection; + +namespace GameJamDungeon +{ + public partial class BossLogic + { + public partial record State + { + [Meta, Id("boss_logic_state_defeated")] + public partial record Defeated : State + { + } + } + } +} diff --git a/src/boss/state/states/BossLogic.State.EngagePlayer.cs b/src/boss/state/states/BossLogic.State.EngagePlayer.cs index 666be6af..db679729 100644 --- a/src/boss/state/states/BossLogic.State.EngagePlayer.cs +++ b/src/boss/state/states/BossLogic.State.EngagePlayer.cs @@ -8,7 +8,7 @@ namespace GameJamDungeon public partial record State { [Meta, Id("boss_logic_state_engage_player")] - public partial record EngagePlayer : State, IGet, IGet, IGet + public partial record EngagePlayer : Alive, IGet, IGet, IGet { public EngagePlayer() { diff --git a/src/boss/state/states/BossLogic.State.Idle.cs b/src/boss/state/states/BossLogic.State.Idle.cs index a2379076..d5538364 100644 --- a/src/boss/state/states/BossLogic.State.Idle.cs +++ b/src/boss/state/states/BossLogic.State.Idle.cs @@ -1,5 +1,4 @@ using Chickensoft.Introspection; -using static GameJamDungeon.BossLogic.Input; namespace GameJamDungeon { @@ -8,7 +7,7 @@ namespace GameJamDungeon public partial record State { [Meta, Id("boss_logic_state_idle")] - public partial record Idle : State, IGet + public partial record Idle : Alive, IGet { public Idle() { @@ -21,7 +20,7 @@ namespace GameJamDungeon } ); } - public Transition On(in Activate input) + public Transition On(in Input.Activate input) { return To(); } diff --git a/src/boss/vfx/BossHit.tres b/src/boss/vfx/BossHit.tres index 28105309..2acb6c92 100644 --- a/src/boss/vfx/BossHit.tres +++ b/src/boss/vfx/BossHit.tres @@ -47,7 +47,7 @@ void fragment() { [resource] render_priority = 0 shader = SubResource("Shader_veoq4") -shader_parameter/albedo = Color(0.784314, 0, 0, 1) +shader_parameter/albedo = Color(0.784314, 0, 0, 0.00784314) shader_parameter/point_size = 1.0 shader_parameter/roughness = 1.0 shader_parameter/metallic_texture_channel = null diff --git a/src/enemy/enemy_types/horse_head/HorseFace.tscn b/src/enemy/enemy_types/horse_head/HorseFace.tscn index 5194c301..77775d51 100644 --- a/src/enemy/enemy_types/horse_head/HorseFace.tscn +++ b/src/enemy/enemy_types/horse_head/HorseFace.tscn @@ -1,13 +1,41 @@ -[gd_scene load_steps=26 format=4 uid="uid://2wibfnu2jvlv"] +[gd_scene load_steps=33 format=4 uid="uid://2wibfnu2jvlv"] [ext_resource type="Texture2D" uid="uid://csj3kjwyn3s2u" path="res://src/enemy/enemy_types/horse_head/HORSE-FACE 1_Metal054C_1K-JPG_Color.jpg" id="1_56gxx"] [ext_resource type="Script" path="res://src/boss/Boss.cs" id="1_hjyt5"] +[ext_resource type="Script" path="res://src/enemy/EnemyStatResource.cs" id="2_o3rh6"] [ext_resource type="Texture2D" uid="uid://dd7ocxanos2o7" path="res://src/enemy/enemy_types/horse_head/HORSE-FACE 1_Metal054C_1K-JPG_Displacement.jpg" id="2_qia0h"] +[sub_resource type="Resource" id="Resource_f6ggm"] +script = ExtResource("2_o3rh6") +CurrentHP = 80.0 +MaximumHP = 80.0 +CurrentAttack = 0 +CurrentDefense = 0 +MaxAttack = 0 +MaxDefense = 0 +Luck = 0.05 +TelluricResistance = 0.0 +AeolicResistance = 0.0 +HydricResistance = 0.0 +IgneousResistance = 0.0 +FerrumResistance = 0.0 +TelluricDamageBonus = 0.0 +AeolicDamageBonus = 0.0 +BaseHydricDamageBonus = 0.0 +IgneousDamageBonus = 0.0 +FerrumDamageBonus = 0.0 +DropsSoulGemChance = 0.75 + [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_c0n4w"] radius = 9.4071 height = 34.1332 +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_c6tju"] +transparency = 1 +blend_mode = 1 +cull_mode = 2 +albedo_color = Color(1, 0, 0, 0) + [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0a2k1"] resource_name = "Material" cull_mode = 2 @@ -161,6 +189,249 @@ bind/32/name = &"heelIK_R" bind/32/bone = -1 bind/32/pose = Transform3D(-0.16376, 0.9865, -2.58876e-07, 1.58082e-06, 2.84217e-14, -1, -0.9865, -0.16376, -1.55948e-06, 0.296279, -1.51158, -0.141545) +[sub_resource type="Animation" id="Animation_dbceu"] +resource_name = "IDLE" +length = 0.833333 +loop_mode = 1 +tracks/0/type = "position_3d" +tracks/0/imported = true +tracks/0/enabled = true +tracks/0/path = NodePath("Armature/Skeleton3D:spine1") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = PackedFloat32Array(0, 1, 0.0996386, -0.273442, -1.53144, 0.0333333, 1, 0.0996386, -0.277056, -1.53144, 0.0666667, 1, 0.0996386, -0.285318, -1.53144, 0.1, 1, 0.0996386, -0.297452, -1.53144, 0.133333, 1, 0.0996386, -0.312684, -1.53144, 0.166667, 1, 0.0996386, -0.330239, -1.53144, 0.233333, 1, 0.0996387, -0.368448, -1.53144, 0.266667, 1, 0.0996386, -0.386778, -1.53144, 0.3, 1, 0.0996386, -0.403559, -1.53144, 0.333333, 1, 0.0996386, -0.418017, -1.53144, 0.366667, 1, 0.0996386, -0.427827, -1.53144, 0.4, 1, 0.0996386, -0.432991, -1.53144, 0.433333, 1, 0.0996386, -0.432991, -1.53144, 0.466667, 1, 0.0996386, -0.427827, -1.53144, 0.5, 1, 0.0996386, -0.418017, -1.53144, 0.533333, 1, 0.0996386, -0.403559, -1.53144, 0.566667, 1, 0.0996386, -0.386778, -1.53144, 0.6, 1, 0.0996387, -0.368448, -1.53144, 0.666667, 1, 0.0996386, -0.330239, -1.53144, 0.7, 1, 0.0996386, -0.312684, -1.53144, 0.733333, 1, 0.0996386, -0.297452, -1.53144, 0.766667, 1, 0.0996386, -0.285318, -1.53144, 0.8, 1, 0.0996386, -0.277056, -1.53144, 0.833333, 1, 0.0996386, -0.273442, -1.53144) +tracks/1/type = "rotation_3d" +tracks/1/imported = true +tracks/1/enabled = true +tracks/1/path = NodePath("Armature/Skeleton3D:spine1") +tracks/1/interp = 0 +tracks/1/loop_wrap = true +tracks/1/keys = PackedFloat32Array(0, 1, 0.0256267, -0.805691, 0.0118477, 0.591662) +tracks/2/type = "rotation_3d" +tracks/2/imported = true +tracks/2/enabled = true +tracks/2/path = NodePath("Armature/Skeleton3D:spine0") +tracks/2/interp = 0 +tracks/2/loop_wrap = true +tracks/2/keys = PackedFloat32Array(0, 1, -0.0145981, -0.120534, -0.248151, 0.961082) +tracks/3/type = "rotation_3d" +tracks/3/imported = true +tracks/3/enabled = true +tracks/3/path = NodePath("Armature/Skeleton3D:neck1") +tracks/3/interp = 0 +tracks/3/loop_wrap = true +tracks/3/keys = PackedFloat32Array(0, 1, -0.00164717, -0.070092, -0.171953, 0.982607) +tracks/4/type = "rotation_3d" +tracks/4/imported = true +tracks/4/enabled = true +tracks/4/path = NodePath("Armature/Skeleton3D:neck2") +tracks/4/interp = 0 +tracks/4/loop_wrap = true +tracks/4/keys = PackedFloat32Array(0, 1, -0.00793817, 0.0237057, 0.0155337, 0.999567) +tracks/5/type = "rotation_3d" +tracks/5/imported = true +tracks/5/enabled = true +tracks/5/path = NodePath("Armature/Skeleton3D:neck3") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = PackedFloat32Array(0, 1, 0.0084299, 0.0676487, 0.210882, 0.975131, 0.0333333, 1, 0.00809813, 0.0674569, 0.210267, 0.97528, 0.0666667, 1, 0.00733975, 0.0670185, 0.208859, 0.975619, 0.1, 1, 0.00622579, 0.0663741, 0.206791, 0.976111, 0.133333, 1, 0.00482728, 0.0655646, 0.204193, 0.976721, 0.166667, 1, 0.0032153, 0.0646307, 0.201197, 0.977411, 0.233333, 1, -0.000293402, 0.0625953, 0.194665, 0.978871, 0.266667, 1, -0.00197661, 0.0616175, 0.191527, 0.979549, 0.3, 1, -0.00351748, 0.0607216, 0.188652, 0.980159, 0.333333, 1, -0.00484489, 0.0599492, 0.186174, 0.980674, 0.366667, 1, -0.00574554, 0.0594248, 0.184491, 0.981019, 0.4, 1, -0.00621955, 0.0591488, 0.183605, 0.981199, 0.433333, 1, -0.00621955, 0.0591488, 0.183605, 0.981199, 0.466667, 1, -0.00574554, 0.0594248, 0.184491, 0.981019, 0.5, 1, -0.0048449, 0.0599492, 0.186174, 0.980674, 0.533333, 1, -0.00351748, 0.0607216, 0.188652, 0.980159, 0.566667, 1, -0.00197661, 0.0616175, 0.191527, 0.979549, 0.6, 1, -0.000293405, 0.0625953, 0.194665, 0.978871, 0.666667, 1, 0.00321529, 0.0646307, 0.201197, 0.977411, 0.7, 1, 0.00482728, 0.0655646, 0.204193, 0.976721, 0.733333, 1, 0.0062258, 0.0663741, 0.206791, 0.976111, 0.766667, 1, 0.00733975, 0.0670185, 0.208859, 0.975619, 0.8, 1, 0.00809813, 0.0674569, 0.210267, 0.97528, 0.833333, 1, 0.0084299, 0.0676487, 0.210882, 0.975131) +tracks/6/type = "rotation_3d" +tracks/6/imported = true +tracks/6/enabled = true +tracks/6/path = NodePath("Armature/Skeleton3D:neck4") +tracks/6/interp = 0 +tracks/6/loop_wrap = true +tracks/6/keys = PackedFloat32Array(0, 1, -0.0503622, -0.000903181, 0.0112395, 0.998667) +tracks/7/type = "rotation_3d" +tracks/7/imported = true +tracks/7/enabled = true +tracks/7/path = NodePath("Armature/Skeleton3D:head1") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = PackedFloat32Array(0, 1, -0.343621, 0.0521605, -0.496465, 0.795441, 0.0333333, 1, -0.343266, 0.0521274, -0.495445, 0.796232, 0.0666667, 1, -0.34245, 0.0520513, -0.493109, 0.798036, 0.1, 1, -0.341246, 0.0519387, -0.48967, 0.800673, 0.133333, 1, -0.339724, 0.0517958, -0.485337, 0.803961, 0.166667, 1, -0.337956, 0.051629, -0.480323, 0.807719, 0.233333, 1, -0.334059, 0.0512583, -0.46934, 0.81578, 0.266667, 1, -0.332166, 0.0510769, -0.464037, 0.819589, 0.3, 1, -0.330419, 0.0509087, -0.459165, 0.823043, 0.333333, 1, -0.328904, 0.0507623, -0.454953, 0.825992, 0.366667, 1, -0.327872, 0.0506621, -0.452089, 0.827979, 0.4, 1, -0.327326, 0.0506092, -0.450579, 0.829021, 0.433333, 1, -0.327326, 0.0506092, -0.450579, 0.829021, 0.466667, 1, -0.327872, 0.0506622, -0.452089, 0.827979, 0.5, 1, -0.328904, 0.0507623, -0.454953, 0.825992, 0.533333, 1, -0.330419, 0.0509087, -0.459165, 0.823043, 0.566667, 1, -0.332166, 0.0510769, -0.464037, 0.819589, 0.6, 1, -0.334059, 0.0512584, -0.46934, 0.81578, 0.666667, 1, -0.337956, 0.051629, -0.480323, 0.807719, 0.7, 1, -0.339724, 0.0517958, -0.485337, 0.803961, 0.733333, 1, -0.341246, 0.0519387, -0.48967, 0.800673, 0.766667, 1, -0.34245, 0.0520513, -0.493109, 0.798036, 0.8, 1, -0.343266, 0.0521274, -0.495445, 0.796232, 0.833333, 1, -0.343621, 0.0521605, -0.496465, 0.795441) +tracks/8/type = "rotation_3d" +tracks/8/imported = true +tracks/8/enabled = true +tracks/8/path = NodePath("Armature/Skeleton3D:arm1_L") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = PackedFloat32Array(0, 1, -0.805738, -0.0791136, -0.0234744, 0.586495, 0.0333333, 1, -0.805938, -0.0794798, -0.0234829, 0.58617, 0.0666667, 1, -0.806395, -0.0803168, -0.0235025, 0.585427, 0.1, 1, -0.807063, -0.0815459, -0.0235311, 0.584333, 0.133333, 1, -0.807899, -0.0830886, -0.023567, 0.582958, 0.166667, 1, -0.808858, -0.0848661, -0.0236081, 0.581369, 0.233333, 1, -0.810925, -0.0887329, -0.0236972, 0.577897, 0.266667, 1, -0.811908, -0.0905869, -0.0237397, 0.576226, 0.3, 1, -0.812803, -0.0922837, -0.0237784, 0.574691, 0.333333, 1, -0.813569, -0.093745, -0.0238117, 0.573367, 0.366667, 1, -0.814088, -0.0947363, -0.0238342, 0.572467, 0.466667, 1, -0.814088, -0.0947363, -0.0238342, 0.572467, 0.5, 1, -0.813569, -0.093745, -0.0238117, 0.573367, 0.533333, 1, -0.812803, -0.0922837, -0.0237784, 0.574691, 0.566667, 1, -0.811908, -0.0905869, -0.0237397, 0.576226, 0.6, 1, -0.810925, -0.0887329, -0.0236972, 0.577897, 0.666667, 1, -0.808858, -0.0848661, -0.0236081, 0.581369, 0.7, 1, -0.807899, -0.0830886, -0.023567, 0.582958, 0.733333, 1, -0.807063, -0.0815459, -0.0235311, 0.584333, 0.766667, 1, -0.806395, -0.0803168, -0.0235025, 0.585427, 0.8, 1, -0.805938, -0.0794798, -0.0234829, 0.58617, 0.833333, 1, -0.805738, -0.0791136, -0.0234744, 0.586496) +tracks/9/type = "rotation_3d" +tracks/9/imported = true +tracks/9/enabled = true +tracks/9/path = NodePath("Armature/Skeleton3D:arm2_L") +tracks/9/interp = 0 +tracks/9/loop_wrap = true +tracks/9/keys = PackedFloat32Array(0, 1, -0.115057, 0.109368, -0.147698, 0.97621) +tracks/10/type = "rotation_3d" +tracks/10/imported = true +tracks/10/enabled = true +tracks/10/path = NodePath("Armature/Skeleton3D:arm3_L") +tracks/10/interp = 0 +tracks/10/loop_wrap = true +tracks/10/keys = PackedFloat32Array(0, 1, -0.198666, -0.526459, -0.59096, 0.578047) +tracks/11/type = "rotation_3d" +tracks/11/imported = true +tracks/11/enabled = true +tracks/11/path = NodePath("Armature/Skeleton3D:hand_L") +tracks/11/interp = 0 +tracks/11/loop_wrap = true +tracks/11/keys = PackedFloat32Array(0, 1, -0.27629, -0.0267945, -0.027508, 0.960307) +tracks/12/type = "position_3d" +tracks/12/imported = true +tracks/12/enabled = true +tracks/12/path = NodePath("Armature/Skeleton3D:arm1_R") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = PackedFloat32Array(0, 1, -0.203939, 3.66122, 0.0735636, 0.0333333, 1, -0.203149, 3.65514, 0.0747129, 0.0666667, 1, -0.201342, 3.64125, 0.0773398, 0.1, 1, -0.198689, 3.62084, 0.0811979, 0.133333, 1, -0.195358, 3.59523, 0.0860411, 0.166667, 1, -0.191519, 3.56571, 0.0916231, 0.233333, 1, -0.183164, 3.50145, 0.103772, 0.266667, 1, -0.179156, 3.47063, 0.1096, 0.3, 1, -0.175487, 3.44241, 0.114936, 0.333333, 1, -0.172325, 3.4181, 0.119533, 0.366667, 1, -0.17018, 3.4016, 0.122653, 0.4, 1, -0.169051, 3.39292, 0.124294, 0.433333, 1, -0.169051, 3.39292, 0.124294, 0.466667, 1, -0.17018, 3.4016, 0.122653, 0.5, 1, -0.172325, 3.4181, 0.119533, 0.533333, 1, -0.175486, 3.44241, 0.114936, 0.566667, 1, -0.179156, 3.47063, 0.1096, 0.6, 1, -0.183164, 3.50145, 0.103772, 0.666667, 1, -0.191519, 3.56571, 0.0916231, 0.7, 1, -0.195358, 3.59523, 0.0860411, 0.733333, 1, -0.198689, 3.62084, 0.0811979, 0.766667, 1, -0.201342, 3.64125, 0.0773398, 0.8, 1, -0.203149, 3.65514, 0.0747129, 0.833333, 1, -0.203939, 3.66122, 0.0735636) +tracks/13/type = "rotation_3d" +tracks/13/imported = true +tracks/13/enabled = true +tracks/13/path = NodePath("Armature/Skeleton3D:arm1_R") +tracks/13/interp = 0 +tracks/13/loop_wrap = true +tracks/13/keys = PackedFloat32Array(0, 1, 0.502686, -0.531044, -0.680821, 0.0422068) +tracks/14/type = "rotation_3d" +tracks/14/imported = true +tracks/14/enabled = true +tracks/14/path = NodePath("Armature/Skeleton3D:arm2_R") +tracks/14/interp = 0 +tracks/14/loop_wrap = true +tracks/14/keys = PackedFloat32Array(0, 1, -0.167967, 0.00983894, -0.337985, 0.92599) +tracks/15/type = "rotation_3d" +tracks/15/imported = true +tracks/15/enabled = true +tracks/15/path = NodePath("Armature/Skeleton3D:arm3_R") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/keys = PackedFloat32Array(0, 1, -0.0474455, 0.0974058, 0.264379, 0.958314, 0.0333333, 1, -0.0465569, 0.0973768, 0.264693, 0.958273, 0.0666667, 1, -0.0445256, 0.0973102, 0.265411, 0.958178, 0.1, 1, -0.0415416, 0.0972116, 0.266462, 0.95803, 0.133333, 1, -0.0377947, 0.0970864, 0.267779, 0.957831, 0.166667, 1, -0.0334751, 0.0969402, 0.269291, 0.957583, 0.233333, 1, -0.0240707, 0.0966148, 0.272563, 0.956972, 0.266667, 1, -0.0195584, 0.0964554, 0.274123, 0.956645, 0.3, 1, -0.0154273, 0.0963075, 0.275546, 0.956327, 0.333333, 1, -0.0118683, 0.0961786, 0.276767, 0.956038, 0.366667, 1, -0.00945346, 0.0960903, 0.277593, 0.955834, 0.4, 1, -0.00818252, 0.0960436, 0.278028, 0.955725, 0.433333, 1, -0.00818251, 0.0960436, 0.278028, 0.955725, 0.466667, 1, -0.00945344, 0.0960903, 0.277593, 0.955834, 0.5, 1, -0.0118683, 0.0961786, 0.276767, 0.956038, 0.533333, 1, -0.0154273, 0.0963075, 0.275546, 0.956327, 0.566667, 1, -0.0195584, 0.0964554, 0.274123, 0.956645, 0.6, 1, -0.0240707, 0.0966149, 0.272563, 0.956972, 0.666667, 1, -0.0334751, 0.0969402, 0.269291, 0.957583, 0.7, 1, -0.0377947, 0.0970864, 0.267779, 0.957831, 0.733333, 1, -0.0415416, 0.0972116, 0.266462, 0.95803, 0.766667, 1, -0.0445256, 0.0973102, 0.265411, 0.958178, 0.8, 1, -0.0465569, 0.0973768, 0.264693, 0.958273, 0.833333, 1, -0.0474455, 0.0974058, 0.264379, 0.958314) +tracks/16/type = "rotation_3d" +tracks/16/imported = true +tracks/16/enabled = true +tracks/16/path = NodePath("Armature/Skeleton3D:hand_R") +tracks/16/interp = 0 +tracks/16/loop_wrap = true +tracks/16/keys = PackedFloat32Array(0, 1, 0.269563, -0.115884, -0.127436, 0.947453) +tracks/17/type = "position_3d" +tracks/17/imported = true +tracks/17/enabled = true +tracks/17/path = NodePath("Armature/Skeleton3D:hip_L") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/keys = PackedFloat32Array(0, 1, 0.147751, -0.278747, -1.49267, 0.0333333, 1, 0.147751, -0.280838, -1.49267, 0.0666667, 1, 0.147751, -0.285619, -1.49267, 0.1, 1, 0.147751, -0.292641, -1.49267, 0.133333, 1, 0.147751, -0.301456, -1.49267, 0.166667, 1, 0.147751, -0.311615, -1.49267, 0.233333, 1, 0.147751, -0.333727, -1.49267, 0.266667, 1, 0.147751, -0.344335, -1.49267, 0.3, 1, 0.147751, -0.354046, -1.49267, 0.333333, 1, 0.147751, -0.362413, -1.49267, 0.366667, 1, 0.147751, -0.36809, -1.49267, 0.4, 1, 0.147751, -0.371078, -1.49267, 0.433333, 1, 0.147751, -0.371078, -1.49267, 0.466667, 1, 0.147751, -0.36809, -1.49267, 0.5, 1, 0.147751, -0.362413, -1.49267, 0.533333, 1, 0.147751, -0.354046, -1.49267, 0.566667, 1, 0.147751, -0.344335, -1.49267, 0.6, 1, 0.147751, -0.333727, -1.49267, 0.666667, 1, 0.147751, -0.311615, -1.49267, 0.7, 1, 0.147751, -0.301456, -1.49267, 0.733333, 1, 0.147751, -0.292641, -1.49267, 0.766667, 1, 0.147751, -0.285619, -1.49267, 0.8, 1, 0.147751, -0.280838, -1.49267, 0.833333, 1, 0.147751, -0.278747, -1.49267) +tracks/18/type = "rotation_3d" +tracks/18/imported = true +tracks/18/enabled = true +tracks/18/path = NodePath("Armature/Skeleton3D:hip_L") +tracks/18/interp = 0 +tracks/18/loop_wrap = true +tracks/18/keys = PackedFloat32Array(0, 1, -0.427793, -0.34021, -0.687061, 0.478745) +tracks/19/type = "rotation_3d" +tracks/19/imported = true +tracks/19/enabled = true +tracks/19/path = NodePath("Armature/Skeleton3D:leg1_L") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/keys = PackedFloat32Array(0, 1, -0.438005, -0.325012, -0.369045, 0.752546, 0.1, 1, -0.437297, -0.325896, -0.370136, 0.752039, 0.133333, 1, -0.436849, -0.326454, -0.370825, 0.751718, 0.166667, 1, -0.436334, -0.327095, -0.371615, 0.751348, 0.2, 1, -0.435754, -0.327812, -0.372505, 0.750931, 0.233333, 1, -0.435189, -0.328511, -0.373367, 0.750525, 0.266667, 1, -0.434653, -0.329174, -0.374183, 0.750139, 0.3, 1, -0.434162, -0.329779, -0.374927, 0.749786, 0.366667, 1, -0.433455, -0.330648, -0.375996, 0.749276, 0.533333, 1, -0.434162, -0.329779, -0.374927, 0.749786, 0.566667, 1, -0.434653, -0.329174, -0.374183, 0.750139, 0.666667, 1, -0.436334, -0.327095, -0.371615, 0.751348, 0.7, 1, -0.436849, -0.326454, -0.370825, 0.751718, 0.733333, 1, -0.437297, -0.325896, -0.370136, 0.752039, 0.8, 1, -0.437898, -0.325145, -0.36921, 0.752469, 0.833333, 1, -0.438005, -0.325012, -0.369045, 0.752546) +tracks/20/type = "rotation_3d" +tracks/20/imported = true +tracks/20/enabled = true +tracks/20/path = NodePath("Armature/Skeleton3D:leg2_L") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/keys = PackedFloat32Array(0, 1, -0.047416, 0.00189064, 0.379284, 0.924063, 0.0666667, 1, -0.0475712, 0.00188958, 0.380525, 0.923544, 0.1, 1, -0.0477292, 0.00188849, 0.381789, 0.923014, 0.133333, 1, -0.0479268, 0.00188713, 0.383369, 0.922349, 0.166667, 1, -0.0481534, 0.00188556, 0.385182, 0.921582, 0.2, 1, -0.0484081, 0.00188379, 0.38722, 0.920714, 0.233333, 1, -0.0486551, 0.00188206, 0.389195, 0.919868, 0.266667, 1, -0.0488887, 0.00188041, 0.391063, 0.919062, 0.3, 1, -0.0491014, 0.0018789, 0.392766, 0.918325, 0.333333, 1, -0.0492839, 0.0018776, 0.394225, 0.91769, 0.366667, 1, -0.0494072, 0.00187672, 0.395211, 0.917259, 0.466667, 1, -0.0494072, 0.00187672, 0.395211, 0.917259, 0.5, 1, -0.0492839, 0.0018776, 0.394225, 0.91769, 0.533333, 1, -0.0491014, 0.0018789, 0.392766, 0.918325, 0.566667, 1, -0.0488887, 0.00188041, 0.391063, 0.919062, 0.6, 1, -0.0486551, 0.00188206, 0.389195, 0.919868, 0.633333, 1, -0.0484081, 0.00188379, 0.38722, 0.920714, 0.666667, 1, -0.0481534, 0.00188556, 0.385182, 0.921582, 0.7, 1, -0.0479268, 0.00188713, 0.383369, 0.922349, 0.733333, 1, -0.0477292, 0.00188849, 0.381789, 0.923014, 0.766667, 1, -0.0475712, 0.00188958, 0.380525, 0.923544, 0.833333, 1, -0.047416, 0.00189064, 0.379284, 0.924063) +tracks/21/type = "position_3d" +tracks/21/imported = true +tracks/21/enabled = true +tracks/21/path = NodePath("Armature/Skeleton3D:kneeIK_L") +tracks/21/interp = 0 +tracks/21/loop_wrap = true +tracks/21/keys = PackedFloat32Array(0, 1, 2.31525, -7.34861, 2.3999) +tracks/22/type = "rotation_3d" +tracks/22/imported = true +tracks/22/enabled = true +tracks/22/path = NodePath("Armature/Skeleton3D:kneeIK_L") +tracks/22/interp = 0 +tracks/22/loop_wrap = true +tracks/22/keys = PackedFloat32Array(0, 1, 0.350356, 0.345508, 0.703917, 0.512226) +tracks/23/type = "position_3d" +tracks/23/imported = true +tracks/23/enabled = true +tracks/23/path = NodePath("Armature/Skeleton3D:heelIK_L") +tracks/23/interp = 0 +tracks/23/loop_wrap = true +tracks/23/keys = PackedFloat32Array(0, 1, 2.86478, -12.4291, 1.43256) +tracks/24/type = "rotation_3d" +tracks/24/imported = true +tracks/24/enabled = true +tracks/24/path = NodePath("Armature/Skeleton3D:heelIK_L") +tracks/24/interp = 0 +tracks/24/loop_wrap = true +tracks/24/keys = PackedFloat32Array(0, 1, -0.253375, 0.464951, -0.563517, 0.63409) +tracks/25/type = "position_3d" +tracks/25/imported = true +tracks/25/enabled = true +tracks/25/path = NodePath("Armature/Skeleton3D:hip_R") +tracks/25/interp = 1 +tracks/25/loop_wrap = true +tracks/25/keys = PackedFloat32Array(0, 1, 0.0289172, -0.295789, -1.59603, 0.0333333, 1, 0.0289172, -0.297183, -1.59603, 0.0666667, 1, 0.0289172, -0.30037, -1.59603, 0.1, 1, 0.0289172, -0.305052, -1.59603, 0.133333, 1, 0.0289172, -0.310928, -1.59603, 0.166667, 1, 0.0289171, -0.317701, -1.59603, 0.233333, 1, 0.0289172, -0.332442, -1.59603, 0.266667, 1, 0.0289172, -0.339514, -1.59603, 0.3, 1, 0.0289172, -0.345988, -1.59603, 0.333333, 1, 0.0289172, -0.351566, -1.59603, 0.366667, 1, 0.0289172, -0.355351, -1.59603, 0.4, 1, 0.0289172, -0.357343, -1.59603, 0.433333, 1, 0.0289172, -0.357343, -1.59603, 0.466667, 1, 0.0289172, -0.355351, -1.59603, 0.5, 1, 0.0289172, -0.351566, -1.59603, 0.533333, 1, 0.0289172, -0.345988, -1.59603, 0.566667, 1, 0.0289172, -0.339514, -1.59603, 0.6, 1, 0.0289171, -0.332442, -1.59603, 0.666667, 1, 0.0289171, -0.317701, -1.59603, 0.7, 1, 0.0289172, -0.310928, -1.59603, 0.733333, 1, 0.0289172, -0.305052, -1.59603, 0.766667, 1, 0.0289172, -0.30037, -1.59603, 0.8, 1, 0.0289172, -0.297183, -1.59603, 0.833333, 1, 0.0289172, -0.295789, -1.59603) +tracks/26/type = "rotation_3d" +tracks/26/imported = true +tracks/26/enabled = true +tracks/26/path = NodePath("Armature/Skeleton3D:hip_R") +tracks/26/interp = 0 +tracks/26/loop_wrap = true +tracks/26/keys = PackedFloat32Array(0, 1, -0.695067, 0.09936, 0.377924, 0.603475) +tracks/27/type = "rotation_3d" +tracks/27/imported = true +tracks/27/enabled = true +tracks/27/path = NodePath("Armature/Skeleton3D:leg1_R") +tracks/27/interp = 1 +tracks/27/loop_wrap = true +tracks/27/keys = PackedFloat32Array(0, 1, -0.317991, 0.173749, 0.183858, 0.913723, 0.1, 1, -0.316864, 0.17455, 0.183948, 0.913944, 0.133333, 1, -0.316129, 0.175065, 0.184012, 0.914087, 0.166667, 1, -0.315324, 0.175642, 0.184069, 0.914242, 0.233333, 1, -0.313582, 0.176894, 0.184185, 0.914577, 0.266667, 1, -0.31275, 0.177492, 0.184237, 0.914735, 0.333333, 1, -0.311339, 0.178508, 0.184322, 0.915002, 0.566667, 1, -0.31275, 0.177492, 0.184237, 0.914735, 0.6, 1, -0.313582, 0.176894, 0.184185, 0.914577, 0.666667, 1, -0.315324, 0.175642, 0.184069, 0.914242, 0.7, 1, -0.316129, 0.175065, 0.184012, 0.914087, 0.766667, 1, -0.317444, 0.174141, 0.183899, 0.91383, 0.833333, 1, -0.317991, 0.173749, 0.183858, 0.913723) +tracks/28/type = "rotation_3d" +tracks/28/imported = true +tracks/28/enabled = true +tracks/28/path = NodePath("Armature/Skeleton3D:leg2_R") +tracks/28/interp = 1 +tracks/28/loop_wrap = true +tracks/28/keys = PackedFloat32Array(0, 1, -0.267474, 0.0202273, -0.174523, 0.947413, 0.0666667, 1, -0.268316, 0.02022, -0.175072, 0.947073, 0.1, 1, -0.269212, 0.0202123, -0.175657, 0.946711, 0.133333, 1, -0.270343, 0.0202025, -0.176395, 0.946251, 0.166667, 1, -0.271579, 0.0201917, -0.177202, 0.945747, 0.2, 1, -0.272916, 0.02018, -0.178074, 0.945198, 0.233333, 1, -0.274246, 0.0201682, -0.178942, 0.944649, 0.266667, 1, -0.275515, 0.020157, -0.17977, 0.944123, 0.3, 1, -0.276672, 0.0201467, -0.180525, 0.943641, 0.333333, 1, -0.277664, 0.0201378, -0.181172, 0.943225, 0.4, 1, -0.278687, 0.0201287, -0.18184, 0.942795, 0.5, 1, -0.277664, 0.0201378, -0.181172, 0.943225, 0.533333, 1, -0.276672, 0.0201467, -0.180525, 0.943641, 0.566667, 1, -0.275515, 0.020157, -0.17977, 0.944123, 0.6, 1, -0.274246, 0.0201682, -0.178942, 0.944649, 0.633333, 1, -0.272916, 0.02018, -0.178074, 0.945198, 0.666667, 1, -0.271579, 0.0201917, -0.177202, 0.945747, 0.7, 1, -0.270343, 0.0202025, -0.176395, 0.946251, 0.733333, 1, -0.269212, 0.0202123, -0.175657, 0.946711, 0.766667, 1, -0.268316, 0.02022, -0.175072, 0.947073, 0.833333, 1, -0.267474, 0.0202273, -0.174523, 0.947413) +tracks/29/type = "rotation_3d" +tracks/29/imported = true +tracks/29/enabled = true +tracks/29/path = NodePath("Armature/Skeleton3D:foot1_R") +tracks/29/interp = 0 +tracks/29/loop_wrap = true +tracks/29/keys = PackedFloat32Array(0, 1, 0.150998, -0.0515735, 0.668372, 0.726511) +tracks/30/type = "position_3d" +tracks/30/imported = true +tracks/30/enabled = true +tracks/30/path = NodePath("Armature/Skeleton3D:kneeIK_R") +tracks/30/interp = 0 +tracks/30/loop_wrap = true +tracks/30/keys = PackedFloat32Array(0, 1, -3.50195, -6.14899, -3.29558) +tracks/31/type = "rotation_3d" +tracks/31/imported = true +tracks/31/enabled = true +tracks/31/path = NodePath("Armature/Skeleton3D:kneeIK_R") +tracks/31/interp = 0 +tracks/31/loop_wrap = true +tracks/31/keys = PackedFloat32Array(0, 1, 0.631114, -0.565121, -0.468982, 0.249777) +tracks/32/type = "position_3d" +tracks/32/imported = true +tracks/32/enabled = true +tracks/32/path = NodePath("Armature/Skeleton3D:heelIK_R") +tracks/32/interp = 0 +tracks/32/loop_wrap = true +tracks/32/keys = PackedFloat32Array(0, 1, -3.87024, -12.3974, -5.7547) +tracks/33/type = "rotation_3d" +tracks/33/imported = true +tracks/33/enabled = true +tracks/33/path = NodePath("Armature/Skeleton3D:heelIK_R") +tracks/33/interp = 0 +tracks/33/loop_wrap = true +tracks/33/keys = PackedFloat32Array(0, 1, -0.514417, -0.701671, 0.342235, 0.354835) + [sub_resource type="Animation" id="Animation_gbusp"] resource_name = "ATTACK SMALLER" length = 1.875 @@ -645,249 +916,6 @@ tracks/33/interp = 1 tracks/33/loop_wrap = true tracks/33/keys = PackedFloat32Array(0, 1, -0.514417, -0.701671, 0.342235, 0.354835, 0.0333333, 1, -0.516575, -0.696077, 0.34818, 0.356928, 0.0666667, 1, -0.521046, -0.683648, 0.361099, 0.361585, 0.1, 1, -0.526802, -0.665825, 0.378966, 0.368161, 0.133333, 1, -0.532831, -0.644142, 0.399731, 0.376016, 0.166667, 1, -0.538235, -0.620345, 0.421387, 0.384587, 0.2, 1, -0.541623, -0.598138, 0.440584, 0.393398, 0.233333, 1, -0.543484, -0.578544, 0.457025, 0.401298, 0.266667, 1, -0.544416, -0.56113, 0.47147, 0.407996, 0.3, 1, -0.544778, -0.545632, 0.484336, 0.413427, 0.333333, 1, -0.544721, -0.531989, 0.495718, 0.417767, 0.366667, 1, -0.544377, -0.520646, 0.505311, 0.421002, 0.4, 1, -0.543924, -0.510791, 0.513622, 0.423594, 0.433333, 1, -0.543459, -0.502293, 0.520716, 0.425687, 0.466667, 1, -0.543068, -0.495006, 0.52665, 0.427418, 0.5, 1, -0.542828, -0.488779, 0.531472, 0.428917, 0.533333, 1, -0.542927, -0.483649, 0.534893, 0.430352, 0.566667, 1, -0.543361, -0.479085, 0.537304, 0.431904, 0.6, 1, -0.544186, -0.474919, 0.538729, 0.433686, 0.633333, 1, -0.545455, -0.470982, 0.539193, 0.435806, 0.666667, 1, -0.547213, -0.467098, 0.538712, 0.438368, 0.7, 1, -0.549718, -0.46294, 0.537006, 0.441725, 0.733333, 1, -0.552835, -0.458304, 0.534392, 0.445821, 0.766667, 1, -0.556593, -0.453005, 0.530871, 0.450742, 0.8, 1, -0.561009, -0.446855, 0.526438, 0.456567, 0.833333, 1, -0.566094, -0.43966, 0.521083, 0.463367, 0.866667, 1, -0.574512, -0.428383, 0.511969, 0.473617, 0.9, 1, -0.580739, -0.420013, 0.504981, 0.480963, 0.933333, 1, -0.583481, -0.416308, 0.501836, 0.484146, 1.5, 1, -0.583481, -0.416308, 0.501836, 0.484147, 1.53333, 1, -0.586926, -0.412707, 0.504724, 0.480046, 1.56667, 1, -0.593849, -0.405313, 0.510547, 0.4716, 1.6, 1, -0.602537, -0.395719, 0.517887, 0.460596, 1.63333, 1, -0.611371, -0.385577, 0.525409, 0.44889, 1.66667, 1, -0.618875, -0.376627, 0.531899, 0.43844, 1.7, 1, -0.62194, -0.372867, 0.534831, 0.433723, 1.73333, 1, -0.621975, -0.376239, 0.534019, 0.431758, 1.76667, 1, -0.620122, -0.387062, 0.529695, 0.430181, 1.8, 1, -0.616869, -0.404941, 0.52204, 0.42775, 1.83333, 1, -0.61211, -0.428794, 0.511234, 0.424379, 1.86667, 1, -0.605462, -0.458552, 0.496893, 0.419813, 1.9, 1, -0.597286, -0.490892, 0.480276, 0.414256, 1.93333, 1, -0.587653, -0.524555, 0.461789, 0.407745, 2, 1, -0.564883, -0.591093, 0.421348, 0.392406, 2.03333, 1, -0.552901, -0.620859, 0.401387, 0.384349, 2.06667, 1, -0.54137, -0.646947, 0.382828, 0.376592, 2.1, 1, -0.530904, -0.668795, 0.366451, 0.36955, 2.13333, 1, -0.522132, -0.685942, 0.353021, 0.363646, 2.16667, 1, -0.515661, -0.697975, 0.34327, 0.359292, 2.2, 1, -0.513299, -0.702245, 0.339742, 0.357704, 2.20833, 1, -0.512705, -0.703308, 0.338857, 0.357304) -[sub_resource type="Animation" id="Animation_dbceu"] -resource_name = "IDLE" -length = 0.833333 -loop_mode = 1 -tracks/0/type = "position_3d" -tracks/0/imported = true -tracks/0/enabled = true -tracks/0/path = NodePath("Armature/Skeleton3D:spine1") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = PackedFloat32Array(0, 1, 0.0996386, -0.273442, -1.53144, 0.0333333, 1, 0.0996386, -0.277056, -1.53144, 0.0666667, 1, 0.0996386, -0.285318, -1.53144, 0.1, 1, 0.0996386, -0.297452, -1.53144, 0.133333, 1, 0.0996386, -0.312684, -1.53144, 0.166667, 1, 0.0996386, -0.330239, -1.53144, 0.233333, 1, 0.0996387, -0.368448, -1.53144, 0.266667, 1, 0.0996386, -0.386778, -1.53144, 0.3, 1, 0.0996386, -0.403559, -1.53144, 0.333333, 1, 0.0996386, -0.418017, -1.53144, 0.366667, 1, 0.0996386, -0.427827, -1.53144, 0.4, 1, 0.0996386, -0.432991, -1.53144, 0.433333, 1, 0.0996386, -0.432991, -1.53144, 0.466667, 1, 0.0996386, -0.427827, -1.53144, 0.5, 1, 0.0996386, -0.418017, -1.53144, 0.533333, 1, 0.0996386, -0.403559, -1.53144, 0.566667, 1, 0.0996386, -0.386778, -1.53144, 0.6, 1, 0.0996387, -0.368448, -1.53144, 0.666667, 1, 0.0996386, -0.330239, -1.53144, 0.7, 1, 0.0996386, -0.312684, -1.53144, 0.733333, 1, 0.0996386, -0.297452, -1.53144, 0.766667, 1, 0.0996386, -0.285318, -1.53144, 0.8, 1, 0.0996386, -0.277056, -1.53144, 0.833333, 1, 0.0996386, -0.273442, -1.53144) -tracks/1/type = "rotation_3d" -tracks/1/imported = true -tracks/1/enabled = true -tracks/1/path = NodePath("Armature/Skeleton3D:spine1") -tracks/1/interp = 0 -tracks/1/loop_wrap = true -tracks/1/keys = PackedFloat32Array(0, 1, 0.0256267, -0.805691, 0.0118477, 0.591662) -tracks/2/type = "rotation_3d" -tracks/2/imported = true -tracks/2/enabled = true -tracks/2/path = NodePath("Armature/Skeleton3D:spine0") -tracks/2/interp = 0 -tracks/2/loop_wrap = true -tracks/2/keys = PackedFloat32Array(0, 1, -0.0145981, -0.120534, -0.248151, 0.961082) -tracks/3/type = "rotation_3d" -tracks/3/imported = true -tracks/3/enabled = true -tracks/3/path = NodePath("Armature/Skeleton3D:neck1") -tracks/3/interp = 0 -tracks/3/loop_wrap = true -tracks/3/keys = PackedFloat32Array(0, 1, -0.00164717, -0.070092, -0.171953, 0.982607) -tracks/4/type = "rotation_3d" -tracks/4/imported = true -tracks/4/enabled = true -tracks/4/path = NodePath("Armature/Skeleton3D:neck2") -tracks/4/interp = 0 -tracks/4/loop_wrap = true -tracks/4/keys = PackedFloat32Array(0, 1, -0.00793817, 0.0237057, 0.0155337, 0.999567) -tracks/5/type = "rotation_3d" -tracks/5/imported = true -tracks/5/enabled = true -tracks/5/path = NodePath("Armature/Skeleton3D:neck3") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = PackedFloat32Array(0, 1, 0.0084299, 0.0676487, 0.210882, 0.975131, 0.0333333, 1, 0.00809813, 0.0674569, 0.210267, 0.97528, 0.0666667, 1, 0.00733975, 0.0670185, 0.208859, 0.975619, 0.1, 1, 0.00622579, 0.0663741, 0.206791, 0.976111, 0.133333, 1, 0.00482728, 0.0655646, 0.204193, 0.976721, 0.166667, 1, 0.0032153, 0.0646307, 0.201197, 0.977411, 0.233333, 1, -0.000293402, 0.0625953, 0.194665, 0.978871, 0.266667, 1, -0.00197661, 0.0616175, 0.191527, 0.979549, 0.3, 1, -0.00351748, 0.0607216, 0.188652, 0.980159, 0.333333, 1, -0.00484489, 0.0599492, 0.186174, 0.980674, 0.366667, 1, -0.00574554, 0.0594248, 0.184491, 0.981019, 0.4, 1, -0.00621955, 0.0591488, 0.183605, 0.981199, 0.433333, 1, -0.00621955, 0.0591488, 0.183605, 0.981199, 0.466667, 1, -0.00574554, 0.0594248, 0.184491, 0.981019, 0.5, 1, -0.0048449, 0.0599492, 0.186174, 0.980674, 0.533333, 1, -0.00351748, 0.0607216, 0.188652, 0.980159, 0.566667, 1, -0.00197661, 0.0616175, 0.191527, 0.979549, 0.6, 1, -0.000293405, 0.0625953, 0.194665, 0.978871, 0.666667, 1, 0.00321529, 0.0646307, 0.201197, 0.977411, 0.7, 1, 0.00482728, 0.0655646, 0.204193, 0.976721, 0.733333, 1, 0.0062258, 0.0663741, 0.206791, 0.976111, 0.766667, 1, 0.00733975, 0.0670185, 0.208859, 0.975619, 0.8, 1, 0.00809813, 0.0674569, 0.210267, 0.97528, 0.833333, 1, 0.0084299, 0.0676487, 0.210882, 0.975131) -tracks/6/type = "rotation_3d" -tracks/6/imported = true -tracks/6/enabled = true -tracks/6/path = NodePath("Armature/Skeleton3D:neck4") -tracks/6/interp = 0 -tracks/6/loop_wrap = true -tracks/6/keys = PackedFloat32Array(0, 1, -0.0503622, -0.000903181, 0.0112395, 0.998667) -tracks/7/type = "rotation_3d" -tracks/7/imported = true -tracks/7/enabled = true -tracks/7/path = NodePath("Armature/Skeleton3D:head1") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/keys = PackedFloat32Array(0, 1, -0.343621, 0.0521605, -0.496465, 0.795441, 0.0333333, 1, -0.343266, 0.0521274, -0.495445, 0.796232, 0.0666667, 1, -0.34245, 0.0520513, -0.493109, 0.798036, 0.1, 1, -0.341246, 0.0519387, -0.48967, 0.800673, 0.133333, 1, -0.339724, 0.0517958, -0.485337, 0.803961, 0.166667, 1, -0.337956, 0.051629, -0.480323, 0.807719, 0.233333, 1, -0.334059, 0.0512583, -0.46934, 0.81578, 0.266667, 1, -0.332166, 0.0510769, -0.464037, 0.819589, 0.3, 1, -0.330419, 0.0509087, -0.459165, 0.823043, 0.333333, 1, -0.328904, 0.0507623, -0.454953, 0.825992, 0.366667, 1, -0.327872, 0.0506621, -0.452089, 0.827979, 0.4, 1, -0.327326, 0.0506092, -0.450579, 0.829021, 0.433333, 1, -0.327326, 0.0506092, -0.450579, 0.829021, 0.466667, 1, -0.327872, 0.0506622, -0.452089, 0.827979, 0.5, 1, -0.328904, 0.0507623, -0.454953, 0.825992, 0.533333, 1, -0.330419, 0.0509087, -0.459165, 0.823043, 0.566667, 1, -0.332166, 0.0510769, -0.464037, 0.819589, 0.6, 1, -0.334059, 0.0512584, -0.46934, 0.81578, 0.666667, 1, -0.337956, 0.051629, -0.480323, 0.807719, 0.7, 1, -0.339724, 0.0517958, -0.485337, 0.803961, 0.733333, 1, -0.341246, 0.0519387, -0.48967, 0.800673, 0.766667, 1, -0.34245, 0.0520513, -0.493109, 0.798036, 0.8, 1, -0.343266, 0.0521274, -0.495445, 0.796232, 0.833333, 1, -0.343621, 0.0521605, -0.496465, 0.795441) -tracks/8/type = "rotation_3d" -tracks/8/imported = true -tracks/8/enabled = true -tracks/8/path = NodePath("Armature/Skeleton3D:arm1_L") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/keys = PackedFloat32Array(0, 1, -0.805738, -0.0791136, -0.0234744, 0.586495, 0.0333333, 1, -0.805938, -0.0794798, -0.0234829, 0.58617, 0.0666667, 1, -0.806395, -0.0803168, -0.0235025, 0.585427, 0.1, 1, -0.807063, -0.0815459, -0.0235311, 0.584333, 0.133333, 1, -0.807899, -0.0830886, -0.023567, 0.582958, 0.166667, 1, -0.808858, -0.0848661, -0.0236081, 0.581369, 0.233333, 1, -0.810925, -0.0887329, -0.0236972, 0.577897, 0.266667, 1, -0.811908, -0.0905869, -0.0237397, 0.576226, 0.3, 1, -0.812803, -0.0922837, -0.0237784, 0.574691, 0.333333, 1, -0.813569, -0.093745, -0.0238117, 0.573367, 0.366667, 1, -0.814088, -0.0947363, -0.0238342, 0.572467, 0.466667, 1, -0.814088, -0.0947363, -0.0238342, 0.572467, 0.5, 1, -0.813569, -0.093745, -0.0238117, 0.573367, 0.533333, 1, -0.812803, -0.0922837, -0.0237784, 0.574691, 0.566667, 1, -0.811908, -0.0905869, -0.0237397, 0.576226, 0.6, 1, -0.810925, -0.0887329, -0.0236972, 0.577897, 0.666667, 1, -0.808858, -0.0848661, -0.0236081, 0.581369, 0.7, 1, -0.807899, -0.0830886, -0.023567, 0.582958, 0.733333, 1, -0.807063, -0.0815459, -0.0235311, 0.584333, 0.766667, 1, -0.806395, -0.0803168, -0.0235025, 0.585427, 0.8, 1, -0.805938, -0.0794798, -0.0234829, 0.58617, 0.833333, 1, -0.805738, -0.0791136, -0.0234744, 0.586496) -tracks/9/type = "rotation_3d" -tracks/9/imported = true -tracks/9/enabled = true -tracks/9/path = NodePath("Armature/Skeleton3D:arm2_L") -tracks/9/interp = 0 -tracks/9/loop_wrap = true -tracks/9/keys = PackedFloat32Array(0, 1, -0.115057, 0.109368, -0.147698, 0.97621) -tracks/10/type = "rotation_3d" -tracks/10/imported = true -tracks/10/enabled = true -tracks/10/path = NodePath("Armature/Skeleton3D:arm3_L") -tracks/10/interp = 0 -tracks/10/loop_wrap = true -tracks/10/keys = PackedFloat32Array(0, 1, -0.198666, -0.526459, -0.59096, 0.578047) -tracks/11/type = "rotation_3d" -tracks/11/imported = true -tracks/11/enabled = true -tracks/11/path = NodePath("Armature/Skeleton3D:hand_L") -tracks/11/interp = 0 -tracks/11/loop_wrap = true -tracks/11/keys = PackedFloat32Array(0, 1, -0.27629, -0.0267945, -0.027508, 0.960307) -tracks/12/type = "position_3d" -tracks/12/imported = true -tracks/12/enabled = true -tracks/12/path = NodePath("Armature/Skeleton3D:arm1_R") -tracks/12/interp = 1 -tracks/12/loop_wrap = true -tracks/12/keys = PackedFloat32Array(0, 1, -0.203939, 3.66122, 0.0735636, 0.0333333, 1, -0.203149, 3.65514, 0.0747129, 0.0666667, 1, -0.201342, 3.64125, 0.0773398, 0.1, 1, -0.198689, 3.62084, 0.0811979, 0.133333, 1, -0.195358, 3.59523, 0.0860411, 0.166667, 1, -0.191519, 3.56571, 0.0916231, 0.233333, 1, -0.183164, 3.50145, 0.103772, 0.266667, 1, -0.179156, 3.47063, 0.1096, 0.3, 1, -0.175487, 3.44241, 0.114936, 0.333333, 1, -0.172325, 3.4181, 0.119533, 0.366667, 1, -0.17018, 3.4016, 0.122653, 0.4, 1, -0.169051, 3.39292, 0.124294, 0.433333, 1, -0.169051, 3.39292, 0.124294, 0.466667, 1, -0.17018, 3.4016, 0.122653, 0.5, 1, -0.172325, 3.4181, 0.119533, 0.533333, 1, -0.175486, 3.44241, 0.114936, 0.566667, 1, -0.179156, 3.47063, 0.1096, 0.6, 1, -0.183164, 3.50145, 0.103772, 0.666667, 1, -0.191519, 3.56571, 0.0916231, 0.7, 1, -0.195358, 3.59523, 0.0860411, 0.733333, 1, -0.198689, 3.62084, 0.0811979, 0.766667, 1, -0.201342, 3.64125, 0.0773398, 0.8, 1, -0.203149, 3.65514, 0.0747129, 0.833333, 1, -0.203939, 3.66122, 0.0735636) -tracks/13/type = "rotation_3d" -tracks/13/imported = true -tracks/13/enabled = true -tracks/13/path = NodePath("Armature/Skeleton3D:arm1_R") -tracks/13/interp = 0 -tracks/13/loop_wrap = true -tracks/13/keys = PackedFloat32Array(0, 1, 0.502686, -0.531044, -0.680821, 0.0422068) -tracks/14/type = "rotation_3d" -tracks/14/imported = true -tracks/14/enabled = true -tracks/14/path = NodePath("Armature/Skeleton3D:arm2_R") -tracks/14/interp = 0 -tracks/14/loop_wrap = true -tracks/14/keys = PackedFloat32Array(0, 1, -0.167967, 0.00983894, -0.337985, 0.92599) -tracks/15/type = "rotation_3d" -tracks/15/imported = true -tracks/15/enabled = true -tracks/15/path = NodePath("Armature/Skeleton3D:arm3_R") -tracks/15/interp = 1 -tracks/15/loop_wrap = true -tracks/15/keys = PackedFloat32Array(0, 1, -0.0474455, 0.0974058, 0.264379, 0.958314, 0.0333333, 1, -0.0465569, 0.0973768, 0.264693, 0.958273, 0.0666667, 1, -0.0445256, 0.0973102, 0.265411, 0.958178, 0.1, 1, -0.0415416, 0.0972116, 0.266462, 0.95803, 0.133333, 1, -0.0377947, 0.0970864, 0.267779, 0.957831, 0.166667, 1, -0.0334751, 0.0969402, 0.269291, 0.957583, 0.233333, 1, -0.0240707, 0.0966148, 0.272563, 0.956972, 0.266667, 1, -0.0195584, 0.0964554, 0.274123, 0.956645, 0.3, 1, -0.0154273, 0.0963075, 0.275546, 0.956327, 0.333333, 1, -0.0118683, 0.0961786, 0.276767, 0.956038, 0.366667, 1, -0.00945346, 0.0960903, 0.277593, 0.955834, 0.4, 1, -0.00818252, 0.0960436, 0.278028, 0.955725, 0.433333, 1, -0.00818251, 0.0960436, 0.278028, 0.955725, 0.466667, 1, -0.00945344, 0.0960903, 0.277593, 0.955834, 0.5, 1, -0.0118683, 0.0961786, 0.276767, 0.956038, 0.533333, 1, -0.0154273, 0.0963075, 0.275546, 0.956327, 0.566667, 1, -0.0195584, 0.0964554, 0.274123, 0.956645, 0.6, 1, -0.0240707, 0.0966149, 0.272563, 0.956972, 0.666667, 1, -0.0334751, 0.0969402, 0.269291, 0.957583, 0.7, 1, -0.0377947, 0.0970864, 0.267779, 0.957831, 0.733333, 1, -0.0415416, 0.0972116, 0.266462, 0.95803, 0.766667, 1, -0.0445256, 0.0973102, 0.265411, 0.958178, 0.8, 1, -0.0465569, 0.0973768, 0.264693, 0.958273, 0.833333, 1, -0.0474455, 0.0974058, 0.264379, 0.958314) -tracks/16/type = "rotation_3d" -tracks/16/imported = true -tracks/16/enabled = true -tracks/16/path = NodePath("Armature/Skeleton3D:hand_R") -tracks/16/interp = 0 -tracks/16/loop_wrap = true -tracks/16/keys = PackedFloat32Array(0, 1, 0.269563, -0.115884, -0.127436, 0.947453) -tracks/17/type = "position_3d" -tracks/17/imported = true -tracks/17/enabled = true -tracks/17/path = NodePath("Armature/Skeleton3D:hip_L") -tracks/17/interp = 1 -tracks/17/loop_wrap = true -tracks/17/keys = PackedFloat32Array(0, 1, 0.147751, -0.278747, -1.49267, 0.0333333, 1, 0.147751, -0.280838, -1.49267, 0.0666667, 1, 0.147751, -0.285619, -1.49267, 0.1, 1, 0.147751, -0.292641, -1.49267, 0.133333, 1, 0.147751, -0.301456, -1.49267, 0.166667, 1, 0.147751, -0.311615, -1.49267, 0.233333, 1, 0.147751, -0.333727, -1.49267, 0.266667, 1, 0.147751, -0.344335, -1.49267, 0.3, 1, 0.147751, -0.354046, -1.49267, 0.333333, 1, 0.147751, -0.362413, -1.49267, 0.366667, 1, 0.147751, -0.36809, -1.49267, 0.4, 1, 0.147751, -0.371078, -1.49267, 0.433333, 1, 0.147751, -0.371078, -1.49267, 0.466667, 1, 0.147751, -0.36809, -1.49267, 0.5, 1, 0.147751, -0.362413, -1.49267, 0.533333, 1, 0.147751, -0.354046, -1.49267, 0.566667, 1, 0.147751, -0.344335, -1.49267, 0.6, 1, 0.147751, -0.333727, -1.49267, 0.666667, 1, 0.147751, -0.311615, -1.49267, 0.7, 1, 0.147751, -0.301456, -1.49267, 0.733333, 1, 0.147751, -0.292641, -1.49267, 0.766667, 1, 0.147751, -0.285619, -1.49267, 0.8, 1, 0.147751, -0.280838, -1.49267, 0.833333, 1, 0.147751, -0.278747, -1.49267) -tracks/18/type = "rotation_3d" -tracks/18/imported = true -tracks/18/enabled = true -tracks/18/path = NodePath("Armature/Skeleton3D:hip_L") -tracks/18/interp = 0 -tracks/18/loop_wrap = true -tracks/18/keys = PackedFloat32Array(0, 1, -0.427793, -0.34021, -0.687061, 0.478745) -tracks/19/type = "rotation_3d" -tracks/19/imported = true -tracks/19/enabled = true -tracks/19/path = NodePath("Armature/Skeleton3D:leg1_L") -tracks/19/interp = 1 -tracks/19/loop_wrap = true -tracks/19/keys = PackedFloat32Array(0, 1, -0.438005, -0.325012, -0.369045, 0.752546, 0.1, 1, -0.437297, -0.325896, -0.370136, 0.752039, 0.133333, 1, -0.436849, -0.326454, -0.370825, 0.751718, 0.166667, 1, -0.436334, -0.327095, -0.371615, 0.751348, 0.2, 1, -0.435754, -0.327812, -0.372505, 0.750931, 0.233333, 1, -0.435189, -0.328511, -0.373367, 0.750525, 0.266667, 1, -0.434653, -0.329174, -0.374183, 0.750139, 0.3, 1, -0.434162, -0.329779, -0.374927, 0.749786, 0.366667, 1, -0.433455, -0.330648, -0.375996, 0.749276, 0.533333, 1, -0.434162, -0.329779, -0.374927, 0.749786, 0.566667, 1, -0.434653, -0.329174, -0.374183, 0.750139, 0.666667, 1, -0.436334, -0.327095, -0.371615, 0.751348, 0.7, 1, -0.436849, -0.326454, -0.370825, 0.751718, 0.733333, 1, -0.437297, -0.325896, -0.370136, 0.752039, 0.8, 1, -0.437898, -0.325145, -0.36921, 0.752469, 0.833333, 1, -0.438005, -0.325012, -0.369045, 0.752546) -tracks/20/type = "rotation_3d" -tracks/20/imported = true -tracks/20/enabled = true -tracks/20/path = NodePath("Armature/Skeleton3D:leg2_L") -tracks/20/interp = 1 -tracks/20/loop_wrap = true -tracks/20/keys = PackedFloat32Array(0, 1, -0.047416, 0.00189064, 0.379284, 0.924063, 0.0666667, 1, -0.0475712, 0.00188958, 0.380525, 0.923544, 0.1, 1, -0.0477292, 0.00188849, 0.381789, 0.923014, 0.133333, 1, -0.0479268, 0.00188713, 0.383369, 0.922349, 0.166667, 1, -0.0481534, 0.00188556, 0.385182, 0.921582, 0.2, 1, -0.0484081, 0.00188379, 0.38722, 0.920714, 0.233333, 1, -0.0486551, 0.00188206, 0.389195, 0.919868, 0.266667, 1, -0.0488887, 0.00188041, 0.391063, 0.919062, 0.3, 1, -0.0491014, 0.0018789, 0.392766, 0.918325, 0.333333, 1, -0.0492839, 0.0018776, 0.394225, 0.91769, 0.366667, 1, -0.0494072, 0.00187672, 0.395211, 0.917259, 0.466667, 1, -0.0494072, 0.00187672, 0.395211, 0.917259, 0.5, 1, -0.0492839, 0.0018776, 0.394225, 0.91769, 0.533333, 1, -0.0491014, 0.0018789, 0.392766, 0.918325, 0.566667, 1, -0.0488887, 0.00188041, 0.391063, 0.919062, 0.6, 1, -0.0486551, 0.00188206, 0.389195, 0.919868, 0.633333, 1, -0.0484081, 0.00188379, 0.38722, 0.920714, 0.666667, 1, -0.0481534, 0.00188556, 0.385182, 0.921582, 0.7, 1, -0.0479268, 0.00188713, 0.383369, 0.922349, 0.733333, 1, -0.0477292, 0.00188849, 0.381789, 0.923014, 0.766667, 1, -0.0475712, 0.00188958, 0.380525, 0.923544, 0.833333, 1, -0.047416, 0.00189064, 0.379284, 0.924063) -tracks/21/type = "position_3d" -tracks/21/imported = true -tracks/21/enabled = true -tracks/21/path = NodePath("Armature/Skeleton3D:kneeIK_L") -tracks/21/interp = 0 -tracks/21/loop_wrap = true -tracks/21/keys = PackedFloat32Array(0, 1, 2.31525, -7.34861, 2.3999) -tracks/22/type = "rotation_3d" -tracks/22/imported = true -tracks/22/enabled = true -tracks/22/path = NodePath("Armature/Skeleton3D:kneeIK_L") -tracks/22/interp = 0 -tracks/22/loop_wrap = true -tracks/22/keys = PackedFloat32Array(0, 1, 0.350356, 0.345508, 0.703917, 0.512226) -tracks/23/type = "position_3d" -tracks/23/imported = true -tracks/23/enabled = true -tracks/23/path = NodePath("Armature/Skeleton3D:heelIK_L") -tracks/23/interp = 0 -tracks/23/loop_wrap = true -tracks/23/keys = PackedFloat32Array(0, 1, 2.86478, -12.4291, 1.43256) -tracks/24/type = "rotation_3d" -tracks/24/imported = true -tracks/24/enabled = true -tracks/24/path = NodePath("Armature/Skeleton3D:heelIK_L") -tracks/24/interp = 0 -tracks/24/loop_wrap = true -tracks/24/keys = PackedFloat32Array(0, 1, -0.253375, 0.464951, -0.563517, 0.63409) -tracks/25/type = "position_3d" -tracks/25/imported = true -tracks/25/enabled = true -tracks/25/path = NodePath("Armature/Skeleton3D:hip_R") -tracks/25/interp = 1 -tracks/25/loop_wrap = true -tracks/25/keys = PackedFloat32Array(0, 1, 0.0289172, -0.295789, -1.59603, 0.0333333, 1, 0.0289172, -0.297183, -1.59603, 0.0666667, 1, 0.0289172, -0.30037, -1.59603, 0.1, 1, 0.0289172, -0.305052, -1.59603, 0.133333, 1, 0.0289172, -0.310928, -1.59603, 0.166667, 1, 0.0289171, -0.317701, -1.59603, 0.233333, 1, 0.0289172, -0.332442, -1.59603, 0.266667, 1, 0.0289172, -0.339514, -1.59603, 0.3, 1, 0.0289172, -0.345988, -1.59603, 0.333333, 1, 0.0289172, -0.351566, -1.59603, 0.366667, 1, 0.0289172, -0.355351, -1.59603, 0.4, 1, 0.0289172, -0.357343, -1.59603, 0.433333, 1, 0.0289172, -0.357343, -1.59603, 0.466667, 1, 0.0289172, -0.355351, -1.59603, 0.5, 1, 0.0289172, -0.351566, -1.59603, 0.533333, 1, 0.0289172, -0.345988, -1.59603, 0.566667, 1, 0.0289172, -0.339514, -1.59603, 0.6, 1, 0.0289171, -0.332442, -1.59603, 0.666667, 1, 0.0289171, -0.317701, -1.59603, 0.7, 1, 0.0289172, -0.310928, -1.59603, 0.733333, 1, 0.0289172, -0.305052, -1.59603, 0.766667, 1, 0.0289172, -0.30037, -1.59603, 0.8, 1, 0.0289172, -0.297183, -1.59603, 0.833333, 1, 0.0289172, -0.295789, -1.59603) -tracks/26/type = "rotation_3d" -tracks/26/imported = true -tracks/26/enabled = true -tracks/26/path = NodePath("Armature/Skeleton3D:hip_R") -tracks/26/interp = 0 -tracks/26/loop_wrap = true -tracks/26/keys = PackedFloat32Array(0, 1, -0.695067, 0.09936, 0.377924, 0.603475) -tracks/27/type = "rotation_3d" -tracks/27/imported = true -tracks/27/enabled = true -tracks/27/path = NodePath("Armature/Skeleton3D:leg1_R") -tracks/27/interp = 1 -tracks/27/loop_wrap = true -tracks/27/keys = PackedFloat32Array(0, 1, -0.317991, 0.173749, 0.183858, 0.913723, 0.1, 1, -0.316864, 0.17455, 0.183948, 0.913944, 0.133333, 1, -0.316129, 0.175065, 0.184012, 0.914087, 0.166667, 1, -0.315324, 0.175642, 0.184069, 0.914242, 0.233333, 1, -0.313582, 0.176894, 0.184185, 0.914577, 0.266667, 1, -0.31275, 0.177492, 0.184237, 0.914735, 0.333333, 1, -0.311339, 0.178508, 0.184322, 0.915002, 0.566667, 1, -0.31275, 0.177492, 0.184237, 0.914735, 0.6, 1, -0.313582, 0.176894, 0.184185, 0.914577, 0.666667, 1, -0.315324, 0.175642, 0.184069, 0.914242, 0.7, 1, -0.316129, 0.175065, 0.184012, 0.914087, 0.766667, 1, -0.317444, 0.174141, 0.183899, 0.91383, 0.833333, 1, -0.317991, 0.173749, 0.183858, 0.913723) -tracks/28/type = "rotation_3d" -tracks/28/imported = true -tracks/28/enabled = true -tracks/28/path = NodePath("Armature/Skeleton3D:leg2_R") -tracks/28/interp = 1 -tracks/28/loop_wrap = true -tracks/28/keys = PackedFloat32Array(0, 1, -0.267474, 0.0202273, -0.174523, 0.947413, 0.0666667, 1, -0.268316, 0.02022, -0.175072, 0.947073, 0.1, 1, -0.269212, 0.0202123, -0.175657, 0.946711, 0.133333, 1, -0.270343, 0.0202025, -0.176395, 0.946251, 0.166667, 1, -0.271579, 0.0201917, -0.177202, 0.945747, 0.2, 1, -0.272916, 0.02018, -0.178074, 0.945198, 0.233333, 1, -0.274246, 0.0201682, -0.178942, 0.944649, 0.266667, 1, -0.275515, 0.020157, -0.17977, 0.944123, 0.3, 1, -0.276672, 0.0201467, -0.180525, 0.943641, 0.333333, 1, -0.277664, 0.0201378, -0.181172, 0.943225, 0.4, 1, -0.278687, 0.0201287, -0.18184, 0.942795, 0.5, 1, -0.277664, 0.0201378, -0.181172, 0.943225, 0.533333, 1, -0.276672, 0.0201467, -0.180525, 0.943641, 0.566667, 1, -0.275515, 0.020157, -0.17977, 0.944123, 0.6, 1, -0.274246, 0.0201682, -0.178942, 0.944649, 0.633333, 1, -0.272916, 0.02018, -0.178074, 0.945198, 0.666667, 1, -0.271579, 0.0201917, -0.177202, 0.945747, 0.7, 1, -0.270343, 0.0202025, -0.176395, 0.946251, 0.733333, 1, -0.269212, 0.0202123, -0.175657, 0.946711, 0.766667, 1, -0.268316, 0.02022, -0.175072, 0.947073, 0.833333, 1, -0.267474, 0.0202273, -0.174523, 0.947413) -tracks/29/type = "rotation_3d" -tracks/29/imported = true -tracks/29/enabled = true -tracks/29/path = NodePath("Armature/Skeleton3D:foot1_R") -tracks/29/interp = 0 -tracks/29/loop_wrap = true -tracks/29/keys = PackedFloat32Array(0, 1, 0.150998, -0.0515735, 0.668372, 0.726511) -tracks/30/type = "position_3d" -tracks/30/imported = true -tracks/30/enabled = true -tracks/30/path = NodePath("Armature/Skeleton3D:kneeIK_R") -tracks/30/interp = 0 -tracks/30/loop_wrap = true -tracks/30/keys = PackedFloat32Array(0, 1, -3.50195, -6.14899, -3.29558) -tracks/31/type = "rotation_3d" -tracks/31/imported = true -tracks/31/enabled = true -tracks/31/path = NodePath("Armature/Skeleton3D:kneeIK_R") -tracks/31/interp = 0 -tracks/31/loop_wrap = true -tracks/31/keys = PackedFloat32Array(0, 1, 0.631114, -0.565121, -0.468982, 0.249777) -tracks/32/type = "position_3d" -tracks/32/imported = true -tracks/32/enabled = true -tracks/32/path = NodePath("Armature/Skeleton3D:heelIK_R") -tracks/32/interp = 0 -tracks/32/loop_wrap = true -tracks/32/keys = PackedFloat32Array(0, 1, -3.87024, -12.3974, -5.7547) -tracks/33/type = "rotation_3d" -tracks/33/imported = true -tracks/33/enabled = true -tracks/33/path = NodePath("Armature/Skeleton3D:heelIK_R") -tracks/33/interp = 0 -tracks/33/loop_wrap = true -tracks/33/keys = PackedFloat32Array(0, 1, -0.514417, -0.701671, 0.342235, 0.354835) - [sub_resource type="Animation" id="Animation_7am3g"] resource_name = "WALKING" length = 0.875 @@ -1182,10 +1210,52 @@ states/Walk/node = SubResource("AnimationNodeAnimation_iryuq") states/Walk/position = Vector2(334, 221) transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_6wk5k"), "Idle", "PrimaryAttack", SubResource("AnimationNodeStateMachineTransition_bo45h"), "Idle", "SecondaryAttack", SubResource("AnimationNodeStateMachineTransition_2cju5"), "Idle", "Walk", SubResource("AnimationNodeStateMachineTransition_5ffxq"), "Walk", "Idle", SubResource("AnimationNodeStateMachineTransition_f0420"), "PrimaryAttack", "Idle", SubResource("AnimationNodeStateMachineTransition_met4p"), "SecondaryAttack", "Idle", SubResource("AnimationNodeStateMachineTransition_hf6u1")] +[sub_resource type="BoxShape3D" id="BoxShape3D_bhe2v"] +size = Vector3(14.6793, 34.6932, 15.6199) + +[sub_resource type="Animation" id="Animation_q24il"] +resource_name = "Hit" +length = 0.250008 +step = 0.0833333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Armature/Skeleton3D/Cube_035:material_overlay:albedo_color") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.166667, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Color(1, 0, 0, 0), Color(1, 0, 0, 0.678431), Color(1, 0, 0, 0)] +} + +[sub_resource type="Animation" id="Animation_xhb0i"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Armature/Skeleton3D/Cube_035:material_overlay:albedo_color") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 0, 0, 0)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_nod6b"] +_data = { +"Hit": SubResource("Animation_q24il"), +"RESET": SubResource("Animation_xhb0i") +} + [node name="HorseFace" type="CharacterBody3D"] transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, 0, 0, 0) axis_lock_linear_y = true script = ExtResource("1_hjyt5") +BossResource = SubResource("Resource_f6ggm") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.212402, 17.1453, 0) @@ -1199,7 +1269,7 @@ bones/0/name = "spine1" bones/0/parent = -1 bones/0/rest = Transform3D(1.49012e-06, 0.00846654, -0.999964, 2.93367e-08, 0.999964, 0.00846654, 1, -4.23752e-08, 1.49012e-06, 0.000155807, -0.00105953, -2.01735) bones/0/enabled = true -bones/0/position = Vector3(0.0996386, -0.432963, -1.53144) +bones/0/position = Vector3(0.0996386, -0.304296, -1.53144) bones/0/rotation = Quaternion(0.0256267, -0.805691, 0.0118477, 0.591662) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "spine0" @@ -1228,7 +1298,7 @@ bones/4/parent = 3 bones/4/rest = Transform3D(0.901905, -0.410135, 0.135488, 0.412416, 0.910915, 0.0120912, -0.128377, 0.0449723, 0.990705, 2.5332e-07, 0.990515, -7.07805e-08) bones/4/enabled = true bones/4/position = Vector3(2.5332e-07, 0.990515, -7.07805e-08) -bones/4/rotation = Quaternion(-0.00621695, 0.0591503, 0.18361, 0.981198) +bones/4/rotation = Quaternion(0.00559743, 0.0660105, 0.205624, 0.976386) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "neck4" bones/5/parent = 4 @@ -1242,7 +1312,7 @@ bones/6/parent = 5 bones/6/rest = Transform3D(0.0598389, 0.98531, 0.15995, -0.975271, 0.0235553, 0.219755, 0.212759, -0.169144, 0.962353, 3.65078e-07, 1.40318, 0) bones/6/enabled = true bones/6/position = Vector3(3.65078e-07, 1.40318, 0) -bones/6/rotation = Quaternion(-0.327329, 0.0506095, -0.450587, 0.829015) +bones/6/rotation = Quaternion(-0.340563, 0.0518747, -0.487725, 0.802153) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 @@ -1277,7 +1347,7 @@ bones/11/parent = 1 bones/11/rest = Transform3D(0.981457, 0.0769315, -0.175568, 0.18837, -0.217537, 0.957703, 0.035485, -0.973015, -0.227995, -1.09896e-07, 3.84743, -2.10479e-07) bones/11/enabled = true bones/11/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07) -bones/11/rotation = Quaternion(-0.814088, -0.0947363, -0.0238342, 0.572467) +bones/11/rotation = Quaternion(-0.807439, -0.0822391, -0.0235473, 0.583716) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "arm2_L" bones/12/parent = 11 @@ -1304,7 +1374,7 @@ bones/15/name = "arm1_R" bones/15/parent = 1 bones/15/rest = Transform3D(-0.98213, 0.0512573, -0.181089, -0.187541, -0.185921, 0.964501, 0.0157694, 0.981227, 0.192212, 0.00107862, 3.8461, -0.0821097) bones/15/enabled = true -bones/15/position = Vector3(-0.169057, 3.39297, 0.124285) +bones/15/position = Vector3(-0.197192, 3.60933, 0.083374) bones/15/rotation = Quaternion(-0.502686, 0.531044, 0.680821, -0.0422068) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "arm2_R" @@ -1319,7 +1389,7 @@ bones/17/parent = 16 bones/17/rest = Transform3D(0.998789, 0.0488077, -0.00615137, -0.0491113, 0.996528, -0.0672226, 0.00284903, 0.0674433, 0.997719, -5.21541e-08, 3.04263, -1.31503e-06) bones/17/enabled = true bones/17/position = Vector3(-5.21541e-08, 3.04263, -1.31503e-06) -bones/17/rotation = Quaternion(-0.00818948, 0.0960438, 0.278026, 0.955725) +bones/17/rotation = Quaternion(-0.0398582, 0.0971555, 0.267054, 0.957943) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "hand_R" bones/18/parent = 17 @@ -1332,7 +1402,7 @@ bones/19/name = "hip_L" bones/19/parent = -1 bones/19/rest = Transform3D(0.138486, 0.897208, 0.419333, -0.129033, -0.403458, 0.905854, 0.981923, -0.179556, 0.059896, 0.000155807, -0.00105953, -2.01735) bones/19/enabled = true -bones/19/position = Vector3(0.147751, -0.371062, -1.49267) +bones/19/position = Vector3(0.147751, -0.296602, -1.49267) bones/19/rotation = Quaternion(0.427793, 0.34021, 0.687061, -0.478745) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "leg1_L" @@ -1340,14 +1410,14 @@ bones/20/parent = 19 bones/20/rest = Transform3D(0.945603, 0.113405, 0.304916, -0.324072, 0.410457, 0.852351, -0.0284943, -0.9048, 0.424881, 2.08616e-07, 2.00996, -7.1153e-07) bones/20/enabled = true bones/20/position = Vector3(2.08616e-07, 2.00996, -7.1153e-07) -bones/20/rotation = Quaternion(-0.433739, -0.3303, -0.375567, 0.749481) +bones/20/rotation = Quaternion(-0.437096, -0.326147, -0.370446, 0.751895) bones/20/scale = Vector3(1, 1, 1) bones/21/name = "leg2_L" bones/21/parent = 20 bones/21/rest = Transform3D(0.990336, -0.138679, 0.00180777, 0.138628, 0.990193, 0.0173138, -0.00419111, -0.0168959, 0.999848, 5.96046e-08, 5.85994, -5.23403e-07) bones/21/enabled = true bones/21/position = Vector3(5.96046e-08, 5.85994, -5.23403e-07) -bones/21/rotation = Quaternion(-0.0494072, 0.00187672, 0.395211, 0.917259) +bones/21/rotation = Quaternion(-0.047818, 0.00188788, 0.382499, 0.922716) bones/21/scale = Vector3(1, 1, 1) bones/22/name = "foot1_L" bones/22/parent = 21 @@ -1381,7 +1451,7 @@ bones/26/name = "hip_R" bones/26/parent = -1 bones/26/rest = Transform3D(0.138486, -0.897208, -0.419333, 0.129033, -0.403458, 0.905854, -0.981923, -0.179556, 0.059896, -0.000155807, -0.00105953, -2.01735) bones/26/enabled = true -bones/26/position = Vector3(0.0289172, -0.357332, -1.59603) +bones/26/position = Vector3(0.0289172, -0.307692, -1.59603) bones/26/rotation = Quaternion(0.695067, -0.09936, -0.377924, -0.603475) bones/26/scale = Vector3(1, 1, 1) bones/27/name = "leg1_R" @@ -1389,14 +1459,14 @@ bones/27/parent = 26 bones/27/rest = Transform3D(0.945603, -0.113405, -0.304916, 0.324072, 0.410457, 0.852351, 0.0284943, -0.9048, 0.424881, -9.54606e-09, 2.00996, -3.52971e-07) bones/27/enabled = true bones/27/position = Vector3(-9.54606e-09, 2.00996, -3.52971e-07) -bones/27/rotation = Quaternion(-0.311945, 0.178072, 0.184286, 0.914888) +bones/27/rotation = Quaternion(-0.316491, 0.174811, 0.183981, 0.914016) bones/27/scale = Vector3(1, 1, 1) bones/28/name = "leg2_R" bones/28/parent = 27 bones/28/rest = Transform3D(0.990336, 0.138679, -0.00180777, -0.138628, 0.990193, 0.0173138, 0.00419111, -0.0168959, 0.999848, 4.51691e-08, 5.85994, -3.72529e-09) bones/28/enabled = true bones/28/position = Vector3(4.51691e-08, 5.85994, -3.72529e-09) -bones/28/rotation = Quaternion(-0.278344, 0.0201318, -0.181616, 0.94294) +bones/28/rotation = Quaternion(-0.26972, 0.0202079, -0.175989, 0.946504) bones/28/scale = Vector3(1, 1, 1) bones/29/name = "foot1_R" bones/29/parent = 28 @@ -1428,11 +1498,12 @@ bones/32/rotation = Quaternion(0.514417, 0.701671, -0.342235, -0.354835) bones/32/scale = Vector3(1, 1, 1) [node name="Cube_035" type="MeshInstance3D" parent="Armature/Skeleton3D"] +material_overlay = SubResource("StandardMaterial3D_c6tju") mesh = SubResource("ArrayMesh_007gq") skin = SubResource("Skin_vjpvu") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"] -transform = Transform3D(-0.370164, -0.13327, -0.919357, -0.303687, -0.91792, 0.255336, -0.877925, 0.373713, 0.299309, -2.00357, 8.72089, 6.33021) +transform = Transform3D(-0.370165, -0.13327, -0.919357, -0.265888, -0.933053, 0.242311, -0.890102, 0.334142, 0.309949, -2.00357, 8.77503, 6.17209) bone_name = "TOP OF SKULL" bone_idx = 8 @@ -1457,3 +1528,18 @@ anim_player = NodePath("../AnimationPlayer") [node name="AttackTimer" type="Timer" parent="."] unique_name_in_owner = true wait_time = 3.5 + +[node name="Hitbox" type="Area3D" parent="."] +unique_name_in_owner = true +collision_layer = 16 +collision_mask = 16 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Hitbox"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.300452, 16.3466, 2.703) +shape = SubResource("BoxShape3D_bhe2v") + +[node name="HitAnimation" type="AnimationPlayer" parent="."] +unique_name_in_owner = true +libraries = { +"": SubResource("AnimationLibrary_nod6b") +} diff --git a/src/enemy/enemy_types/ox_face/BossDie.gdshader b/src/enemy/enemy_types/ox_face/BossDie.gdshader new file mode 100644 index 00000000..ff0d705d --- /dev/null +++ b/src/enemy/enemy_types/ox_face/BossDie.gdshader @@ -0,0 +1,33 @@ +shader_type spatial; +render_mode unshaded,cull_disabled; + +uniform float alpha : hint_range(0.0, 1.0) = 0.0; +uniform sampler2D albedo_texture : source_color, filter_linear,repeat_disable; +uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_nearest,repeat_disable; + +uniform sampler2D noise_texture; + +uniform float speed : hint_range(0.0, 2.0, 0.005) = 0.5; +uniform float distortion : hint_range(0.0, 0.3, 0.005) = 0.03; + +uniform vec3 uv1_scale = vec3(1,1,1); +uniform vec3 uv1_offset; + + +void vertex() { + UV=UV*uv1_scale.xy+uv1_offset.xy; + +} + +void fragment() { + vec2 noiseValue = (texture(noise_texture, UV + (TIME * speed)).rg * 2.0) - 1.0; // Range: -1.0 to 1.0 + + vec2 noiseDistortion = (noiseValue * distortion); + + vec4 color = texture(SCREEN_TEXTURE, SCREEN_UV + noiseDistortion); + + ALBEDO = vec3(color.rgb); + ALPHA = alpha * texture(albedo_texture, UV).r; +} + + diff --git a/src/enemy/enemy_types/ox_face/OxFace.tscn b/src/enemy/enemy_types/ox_face/OxFace.tscn index ab167bd3..ebd0691d 100644 --- a/src/enemy/enemy_types/ox_face/OxFace.tscn +++ b/src/enemy/enemy_types/ox_face/OxFace.tscn @@ -1,15 +1,51 @@ -[gd_scene load_steps=28 format=4 uid="uid://6dnsw37d1uw4"] +[gd_scene load_steps=34 format=4 uid="uid://6dnsw37d1uw4"] [ext_resource type="Texture2D" uid="uid://dp6hwvuhfkji8" path="res://src/enemy/enemy_types/ox_face/models/OX FACE_Metal054C_1K-JPG_Color.jpg" id="1_iwcva"] [ext_resource type="Script" path="res://src/boss/Boss.cs" id="1_xakg1"] [ext_resource type="Texture2D" uid="uid://cqmo71mabu36n" path="res://src/enemy/enemy_types/ox_face/models/OX FACE_Metal054C_1K-JPG_Displacement.jpg" id="2_cgb4w"] +[ext_resource type="Script" path="res://src/enemy/EnemyStatResource.cs" id="2_hdr5w"] +[ext_resource type="Shader" path="res://src/enemy/enemy_types/ox_face/BossDie.gdshader" id="3_yv522"] [ext_resource type="AnimationLibrary" uid="uid://bw3wtqy3lcbfi" path="res://src/enemy/enemy_types/horse_head/OxFace.res" id="4_4vicn"] -[ext_resource type="Material" uid="uid://cf3an7cx1vjm6" path="res://src/boss/vfx/BossHit.tres" id="5_guymj"] + +[sub_resource type="Resource" id="Resource_xpwds"] +script = ExtResource("2_hdr5w") +CurrentHP = 80.0 +MaximumHP = 80.0 +CurrentAttack = 0 +CurrentDefense = 0 +MaxAttack = 0 +MaxDefense = 0 +Luck = 0.05 +TelluricResistance = 0.0 +AeolicResistance = 0.0 +HydricResistance = 0.0 +IgneousResistance = 0.0 +FerrumResistance = 0.0 +TelluricDamageBonus = 0.0 +AeolicDamageBonus = 0.0 +BaseHydricDamageBonus = 0.0 +IgneousDamageBonus = 0.0 +FerrumDamageBonus = 0.0 +DropsSoulGemChance = 0.75 [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_7uhtm"] radius = 9.4071 height = 34.1332 +[sub_resource type="ShaderMaterial" id="ShaderMaterial_pgx1n"] +render_priority = 0 +shader = ExtResource("3_yv522") +shader_parameter/alpha = 0.929 +shader_parameter/speed = 0.5 +shader_parameter/distortion = 0.03 +shader_parameter/uv1_scale = Vector3(1, 1, 1) +shader_parameter/uv1_offset = null + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mgq32"] +transparency = 1 +cull_mode = 2 +albedo_color = Color(1, 0, 0, 0) + [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_y7226"] resource_name = "Material" cull_mode = 2 @@ -195,31 +231,19 @@ graph_offset = Vector2(59, 6.52466) [sub_resource type="Animation" id="Animation_g7bmo"] resource_name = "Hit" -length = 0.166675 +length = 0.250008 step = 0.0833333 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("Armature/Skeleton3D/Cube_035:material_override") +tracks/0/path = NodePath("Armature/Skeleton3D/Cube_035:material_overlay:albedo_color") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 0.166667), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [ExtResource("5_guymj"), null] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Armature/Skeleton3D/Cube_035:transparency") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 0.0833333, 0.166667), +"times": PackedFloat32Array(0, 0.166667, 0.25), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, -"values": [0.0, 0.07, 0.0] +"values": [Color(1, 0, 0, 0), Color(1, 0, 0, 0.678431), Color(1, 0, 0, 0)] } [sub_resource type="Animation" id="Animation_kml6n"] @@ -227,38 +251,35 @@ length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("Armature/Skeleton3D/Cube_035:material_override") +tracks/0/path = NodePath("Armature/Skeleton3D/Cube_035:material_overlay:albedo_color") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [null] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Armature/Skeleton3D/Cube_035:transparency") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), "update": 0, -"values": [0.0] +"values": [Color(1, 0, 0, 0)] } +[sub_resource type="Animation" id="Animation_o4lik"] +resource_name = "Defeated" +step = 0.0833333 + [sub_resource type="AnimationLibrary" id="AnimationLibrary_q1mdo"] _data = { +"Defeated": SubResource("Animation_o4lik"), "Hit": SubResource("Animation_g7bmo"), "RESET": SubResource("Animation_kml6n") } +[sub_resource type="BoxShape3D" id="BoxShape3D_hcxtl"] +size = Vector3(14.6793, 34.6932, 15.6199) + [node name="OX FACE" type="CharacterBody3D"] transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, 0, -1, 0) axis_lock_linear_y = true script = ExtResource("1_xakg1") +BossResource = SubResource("Resource_xpwds") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.212402, 16.2998, 0) @@ -272,50 +293,50 @@ bones/0/name = "spine1" bones/0/parent = -1 bones/0/rest = Transform3D(1.49012e-06, 0.00846654, -0.999964, 2.93367e-08, 0.999964, 0.00846654, 1, -4.23752e-08, 1.49012e-06, 0.000155807, -0.00105953, -2.01735) bones/0/enabled = true -bones/0/position = Vector3(-0.00753816, 0.293079, -1.87887) -bones/0/rotation = Quaternion(-0.000196849, -0.746636, -0.00068548, 0.665232) +bones/0/position = Vector3(-0.260123, -1.03648, -1.96886) +bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "spine0" bones/1/parent = 0 bones/1/rest = Transform3D(0.978036, -0.207805, 0.0162095, 0.208126, 0.977864, -0.021554, -0.0113716, 0.0244542, 0.999636, 3.72054e-09, 2.48165, 7.14749e-08) bones/1/enabled = true bones/1/position = Vector3(3.72054e-09, 2.48165, 7.14749e-08) -bones/1/rotation = Quaternion(0.0435095, 0.0545994, -0.340328, 0.937711) +bones/1/rotation = Quaternion(0.0828172, 0.0642671, -0.39627, 0.91213) bones/1/scale = Vector3(1, 0.999999, 1) bones/2/name = "neck1" bones/2/parent = 1 bones/2/rest = Transform3D(0.931038, 0.338155, -0.137179, -0.337694, 0.940859, 0.0273421, 0.138312, 0.020868, 0.990169, -1.09896e-07, 3.84743, -2.10479e-07) bones/2/enabled = true bones/2/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07) -bones/2/rotation = Quaternion(-0.0312364, 0.00429589, 0.0462139, 0.998434) +bones/2/rotation = Quaternion(-0.137837, 0.137086, 0.403643, 0.894025) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "neck2" bones/3/parent = 2 bones/3/rest = Transform3D(0.998394, -0.0314302, 0.0471444, 0.0306775, 0.999391, 0.016606, -0.0476376, -0.015133, 0.99875, 2.23517e-07, 1.61011, -1.04308e-07) bones/3/enabled = true bones/3/position = Vector3(2.23517e-07, 1.61011, -1.04308e-07) -bones/3/rotation = Quaternion(-0.0829402, -0.0436853, 0.0175177, 0.995443) +bones/3/rotation = Quaternion(-0.00338816, 0.00852271, 0.0152662, 0.999842) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "neck3" bones/4/parent = 3 bones/4/rest = Transform3D(0.901905, -0.410135, 0.135488, 0.412416, 0.910915, 0.0120912, -0.128377, 0.0449723, 0.990705, 2.5332e-07, 0.990515, -7.07805e-08) bones/4/enabled = true bones/4/position = Vector3(2.5332e-07, 0.990515, -7.07805e-08) -bones/4/rotation = Quaternion(0.0914695, 0.080805, 0.150013, 0.981122) +bones/4/rotation = Quaternion(0.037164, 0.133882, 0.101977, 0.985036) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "neck4" bones/5/parent = 4 bones/5/rest = Transform3D(0.999746, -0.0223582, -0.00293604, 0.0225401, 0.994675, 0.10057, 0.000671851, -0.10061, 0.994926, 2.23517e-07, 1.26785, -4.84288e-08) bones/5/enabled = true bones/5/position = Vector3(2.23517e-07, 1.26785, -4.84288e-08) -bones/5/rotation = Quaternion(0.0550904, 0.0117023, 0.0274051, 0.998037) +bones/5/rotation = Quaternion(-0.0397875, -0.0104688, 0.0235613, 0.998875) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "head1" bones/6/parent = 5 bones/6/rest = Transform3D(0.0598389, 0.98531, 0.15995, -0.975271, 0.0235553, 0.219755, 0.212759, -0.169144, 0.962353, 3.65078e-07, 1.40318, 0) bones/6/enabled = true bones/6/position = Vector3(3.65078e-07, 1.40318, 0) -bones/6/rotation = Quaternion(-0.26182, -0.142586, -0.41486, 0.859657) +bones/6/rotation = Quaternion(-0.0490641, -0.294779, -0.744205, 0.597375) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 @@ -350,21 +371,21 @@ bones/11/parent = 1 bones/11/rest = Transform3D(0.981457, 0.0769315, -0.175568, 0.18837, -0.217537, 0.957703, 0.035485, -0.973015, -0.227995, -1.09896e-07, 3.84743, -2.10479e-07) bones/11/enabled = true bones/11/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07) -bones/11/rotation = Quaternion(-0.809654, -0.00891391, 0.118134, 0.574827) +bones/11/rotation = Quaternion(-0.780451, -0.0579031, 0.0803799, 0.617319) bones/11/scale = Vector3(1, 0.999999, 1) bones/12/name = "arm2_L" bones/12/parent = 11 bones/12/rest = Transform3D(0.999962, 0.00846541, -0.00203671, -0.00853764, 0.99922, -0.0385481, 0.0017088, 0.038564, 0.999255, 8.19564e-07, 3.65838, 1.35601e-06) bones/12/enabled = true bones/12/position = Vector3(8.19564e-07, 3.65838, 1.35601e-06) -bones/12/rotation = Quaternion(-0.578149, -0.583179, -0.303723, 0.483114) +bones/12/rotation = Quaternion(-0.607818, -0.670503, -0.284916, 0.31592) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "arm3_L" bones/13/parent = 12 bones/13/rest = Transform3D(0.998789, -0.0488077, 0.00615136, 0.0491112, 0.996528, -0.0672226, -0.00284903, 0.0674433, 0.997719, -3.7998e-07, 3.04263, 2.94298e-07) bones/13/enabled = true bones/13/position = Vector3(-3.7998e-07, 3.04263, 2.94298e-07) -bones/13/rotation = Quaternion(-0.273771, 0.562904, -0.126956, 0.769461) +bones/13/rotation = Quaternion(-0.255941, 0.586097, -0.127235, 0.758153) bones/13/scale = Vector3(1, 0.999999, 1) bones/14/name = "hand_L" bones/14/parent = 13 @@ -377,22 +398,22 @@ bones/15/name = "arm1_R" bones/15/parent = 1 bones/15/rest = Transform3D(-0.98213, 0.0512573, -0.181089, -0.187541, -0.185921, 0.964501, 0.0157694, 0.981227, 0.192212, 0.00107862, 3.8461, -0.0821097) bones/15/enabled = true -bones/15/position = Vector3(0.00107843, 3.8461, -0.0821096) -bones/15/rotation = Quaternion(0.0131668, 0.689625, 0.715984, -0.107754) +bones/15/position = Vector3(0.00107886, 3.8461, -0.0821095) +bones/15/rotation = Quaternion(-0.214633, 0.744054, 0.614949, -0.148841) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "arm2_R" bones/16/parent = 15 bones/16/rest = Transform3D(0.999962, -0.00846545, 0.00203661, 0.00853768, 0.99922, -0.0385481, -0.0017087, 0.038564, 0.999254, -4.28408e-07, 3.65838, -2.16067e-06) bones/16/enabled = true bones/16/position = Vector3(-4.28408e-07, 3.65838, -2.16067e-06) -bones/16/rotation = Quaternion(-0.403296, -0.0463298, -0.397088, 0.82312) +bones/16/rotation = Quaternion(-0.486067, -0.16412, -0.362283, 0.778174) bones/16/scale = Vector3(1, 1, 0.999999) bones/17/name = "arm3_R" bones/17/parent = 16 bones/17/rest = Transform3D(0.998789, 0.0488077, -0.00615137, -0.0491113, 0.996528, -0.0672226, 0.00284903, 0.0674433, 0.997719, -5.21541e-08, 3.04263, -1.31503e-06) bones/17/enabled = true bones/17/position = Vector3(-5.21541e-08, 3.04263, -1.31503e-06) -bones/17/rotation = Quaternion(-0.0446941, 0.0180485, 0.600886, 0.79788) +bones/17/rotation = Quaternion(-0.0553629, -0.0361614, 0.62832, 0.77514) bones/17/scale = Vector3(1, 0.999999, 1) bones/18/name = "hand_R" bones/18/parent = 17 @@ -405,29 +426,29 @@ bones/19/name = "hip_L" bones/19/parent = -1 bones/19/rest = Transform3D(0.138486, 0.897208, 0.419333, -0.129033, -0.403458, 0.905854, 0.981923, -0.179556, 0.059896, 0.000155807, -0.00105953, -2.01735) bones/19/enabled = true -bones/19/position = Vector3(0.00567306, -0.0010693, -2.01735) -bones/19/rotation = Quaternion(0.608868, 0.315169, 0.575757, -0.44548) +bones/19/position = Vector3(-0.367541, -1.18715, -1.76239) +bones/19/rotation = Quaternion(0.624945, 0.296236, 0.549751, -0.468468) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "leg1_L" bones/20/parent = 19 bones/20/rest = Transform3D(0.945603, 0.113405, 0.304916, -0.324072, 0.410457, 0.852351, -0.0284943, -0.9048, 0.424881, 2.08616e-07, 2.00996, -7.1153e-07) bones/20/enabled = true bones/20/position = Vector3(2.08616e-07, 2.00996, -7.1153e-07) -bones/20/rotation = Quaternion(-0.478018, -0.011059, -0.210228, 0.852749) +bones/20/rotation = Quaternion(-0.324943, -0.426, -0.295888, 0.790814) bones/20/scale = Vector3(1, 0.999999, 1) bones/21/name = "leg2_L" bones/21/parent = 20 bones/21/rest = Transform3D(0.990336, -0.138679, 0.00180777, 0.138628, 0.990193, 0.0173138, -0.00419111, -0.0168959, 0.999848, 5.96046e-08, 5.85994, -5.23403e-07) bones/21/enabled = true bones/21/position = Vector3(5.96046e-08, 5.85994, -5.23403e-07) -bones/21/rotation = Quaternion(-0.06968, 0.00112036, 0.556543, 0.827891) +bones/21/rotation = Quaternion(-0.060455, 0.00129866, 0.489385, 0.869969) bones/21/scale = Vector3(1, 1, 1) bones/22/name = "foot1_L" bones/22/parent = 21 bones/22/rest = Transform3D(0.101237, 0.986735, -0.126909, -0.955585, 0.0609561, -0.288344, -0.276783, 0.150463, 0.94908, 4.47035e-08, 7.00093, 2.65427e-08) bones/22/enabled = true bones/22/position = Vector3(4.47035e-08, 7.00093, 2.65427e-08) -bones/22/rotation = Quaternion(0.152019, 0.0509711, -0.660329, 0.733661) +bones/22/rotation = Quaternion(0.156218, 0.0483037, -0.624744, 0.763516) bones/22/scale = Vector3(1, 1, 1) bones/23/name = "foot2_L" bones/23/parent = 22 @@ -440,36 +461,36 @@ bones/24/name = "kneeIK_L" bones/24/parent = -1 bones/24/rest = Transform3D(-0.176321, 1.3113e-06, 0.984333, 0.984333, 1.54972e-06, 0.176321, -1.3113e-06, 1, -1.54972e-06, 1.83022, -6.67107, 3.18901) bones/24/enabled = true -bones/24/position = Vector3(1.82848, -6.67306, 3.18901) -bones/24/rotation = Quaternion(0.454079, 0.542046, 0.542044, 0.454079) +bones/24/position = Vector3(7.04992, -9.46662, 3.49458) +bones/24/rotation = Quaternion(0.427621, 0.561851, 0.530083, 0.469549) bones/24/scale = Vector3(1, 1, 1) bones/25/name = "heelIK_L" bones/25/parent = -1 bones/25/rest = Transform3D(-0.16376, -1.63913e-06, 0.9865, -0.9865, 1.19209e-07, -0.16376, 8.9407e-08, -1, -1.66893e-06, 1.91204, -13.5859, -3.56646) bones/25/enabled = true -bones/25/position = Vector3(2.6197, -10.5126, -6.72772) -bones/25/rotation = Quaternion(-0.456329, 0.540264, -0.539891, 0.456505) +bones/25/position = Vector3(4.82744, -12.3397, 0.183847) +bones/25/rotation = Quaternion(-0.400051, 0.463947, -0.598439, 0.516317) bones/25/scale = Vector3(1, 1, 1) bones/26/name = "hip_R" bones/26/parent = -1 bones/26/rest = Transform3D(0.138486, -0.897208, -0.419333, 0.129033, -0.403458, 0.905854, -0.981923, -0.179556, 0.059896, -0.000155807, -0.00105953, -2.01735) bones/26/enabled = true -bones/26/position = Vector3(0.0121368, 0.025457, -2.01735) -bones/26/rotation = Quaternion(0.608525, -0.315831, -0.575272, -0.446105) +bones/26/position = Vector3(-0.0630348, -1.11395, -2.0189) +bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793) bones/26/scale = Vector3(1, 1, 1) bones/27/name = "leg1_R" bones/27/parent = 26 bones/27/rest = Transform3D(0.945603, -0.113405, -0.304916, 0.324072, 0.410457, 0.852351, 0.0284943, -0.9048, 0.424881, -9.54606e-09, 2.00996, -3.52971e-07) bones/27/enabled = true bones/27/position = Vector3(-9.54606e-09, 2.00996, -3.52971e-07) -bones/27/rotation = Quaternion(-0.469345, 0.125338, 0.384715, 0.784857) +bones/27/rotation = Quaternion(-0.202764, 0.424382, 0.138342, 0.871578) bones/27/scale = Vector3(1, 0.999999, 1) bones/28/name = "leg2_R" bones/28/parent = 27 bones/28/rest = Transform3D(0.990336, 0.138679, -0.00180777, -0.138628, 0.990193, 0.0173138, 0.00419111, -0.0168959, 0.999848, 4.51691e-08, 5.85994, -3.72529e-09) bones/28/enabled = true bones/28/position = Vector3(4.51691e-08, 5.85994, -3.72529e-09) -bones/28/rotation = Quaternion(-0.0513029, -0.00135233, -0.415124, 0.908316) +bones/28/rotation = Quaternion(-0.0629586, -0.00116334, -0.502656, 0.86219) bones/28/scale = Vector3(1, 1, 1) bones/29/name = "foot1_R" bones/29/parent = 28 @@ -489,19 +510,19 @@ bones/31/name = "kneeIK_R" bones/31/parent = -1 bones/31/rest = Transform3D(-0.176321, -1.3113e-06, -0.984333, -0.984333, 1.54972e-06, 0.176321, 1.3113e-06, 1, -1.54972e-06, -1.83022, -6.67107, 3.18901) bones/31/enabled = true -bones/31/position = Vector3(-1.83196, -6.66907, 3.18901) -bones/31/rotation = Quaternion(-0.453489, 0.542539, 0.542538, -0.453489) +bones/31/position = Vector3(-7.29038, -6.72226, -0.133983) +bones/31/rotation = Quaternion(-0.453784, 0.542292, 0.542291, -0.453784) bones/31/scale = Vector3(1, 1, 1) bones/32/name = "heelIK_R" bones/32/parent = -1 bones/32/rest = Transform3D(-0.16376, 1.63913e-06, -0.9865, 0.9865, 1.19209e-07, -0.16376, -8.9407e-08, -1, -1.66893e-06, -1.91204, -13.5859, -3.56646) bones/32/enabled = true -bones/32/position = Vector3(-2.44561, -12.2119, -0.0447071) -bones/32/rotation = Quaternion(0.452422, 0.54437, -0.541256, -0.453892) +bones/32/position = Vector3(-6.21519, -12.0654, -3.61992) +bones/32/rotation = Quaternion(0.456756, 0.539878, -0.539587, -0.456893) bones/32/scale = Vector3(1, 1, 1) [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"] -transform = Transform3D(-0.319995, -0.0263101, -0.947054, -0.624515, -0.745842, 0.231734, -0.712449, 0.665603, 0.222234, -0.216629, 11.2858, 5.66224) +transform = Transform3D(-0.268055, -0.0387542, -0.962624, -0.333489, -0.933684, 0.130453, -0.903842, 0.355994, 0.237354, -1.68779, 8.21802, 4.95561) bone_name = "TOP OF SKULL" bone_idx = 8 @@ -512,6 +533,8 @@ light_energy = 15.248 omni_range = 0.482 [node name="Cube_035" type="MeshInstance3D" parent="Armature/Skeleton3D"] +material_override = SubResource("ShaderMaterial_pgx1n") +material_overlay = SubResource("StandardMaterial3D_mgq32") mesh = SubResource("ArrayMesh_5ew54") skin = SubResource("Skin_e330f") @@ -535,3 +558,12 @@ unique_name_in_owner = true libraries = { "": SubResource("AnimationLibrary_q1mdo") } + +[node name="Hitbox" type="Area3D" parent="."] +unique_name_in_owner = true +collision_layer = 16 +collision_mask = 16 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Hitbox"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.300452, 16.3466, 2.703) +shape = SubResource("BoxShape3D_hcxtl")