diff --git a/Zennysoft.Game.Ma.Implementation/Audio/AudioManager.cs b/Zennysoft.Game.Ma.Implementation/Audio/AudioManager.cs deleted file mode 100644 index 554aa88c..00000000 --- a/Zennysoft.Game.Ma.Implementation/Audio/AudioManager.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Godot; - -namespace Zennysoft.Ma.Adapter; - -public partial class AudioManager : Node -{ -#pragma warning disable IDE0044 // Add readonly modifier -#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring as nullable. - private static string _sfxPath = $"res://src/audio/sfx"; - private AudioStreamPlayer _audioPlayer; - private IDictionary _sfxDictionary; -#pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring as nullable. -#pragma warning restore IDE0044 // Add readonly modifier - - public override void _Ready() - { - _audioPlayer = new AudioStreamPlayer(); - _sfxDictionary = new Dictionary(); - var soundEffects = Enum.GetValues(typeof(SoundEffects)); - foreach (var effect in soundEffects) - _sfxDictionary.Add((SoundEffects)effect, GD.Load(_sfxPath + effect + ".ogg")); - } - - public void Play(SoundEffects soundEffect) - { - _sfxDictionary.TryGetValue(soundEffect, out var stream); - _audioPlayer.Stream = stream; - _audioPlayer.Play(); - } -} diff --git a/Zennysoft.Game.Ma.Implementation/Audio/SoundEffects.cs b/Zennysoft.Game.Ma.Implementation/Audio/SoundEffects.cs deleted file mode 100644 index da27abc8..00000000 --- a/Zennysoft.Game.Ma.Implementation/Audio/SoundEffects.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace Zennysoft.Ma.Adapter; - -public enum SoundEffects -{ - Cancel, - Equip, - Heal, - MenuBack, - MoveThroughOptions, - PlayerAttack, - PlayerHitWall, - Sort, - Unequip -} diff --git a/Zennysoft.Game.Ma.Implementation/Entity/IEnemy.cs b/Zennysoft.Game.Ma.Implementation/Entity/IEnemy.cs index 00085116..1f94bd56 100644 --- a/Zennysoft.Game.Ma.Implementation/Entity/IEnemy.cs +++ b/Zennysoft.Game.Ma.Implementation/Entity/IEnemy.cs @@ -16,6 +16,10 @@ namespace Zennysoft.Ma.Adapter.Entity public void ReturnToDefaultState(); + public void OnAbsorb(); + + public void OnMorph(); + public IDungeonRoom GetCurrentRoom(ImmutableList dungeonRooms); public void MoveEnemyToNewRoom(IDungeonRoom newRoom); diff --git a/Zennysoft.Game.Ma.Implementation/Item/IInventory.cs b/Zennysoft.Game.Ma.Implementation/Item/IInventory.cs index 4a71eb49..b8a3970c 100644 --- a/Zennysoft.Game.Ma.Implementation/Item/IInventory.cs +++ b/Zennysoft.Game.Ma.Implementation/Item/IInventory.cs @@ -12,7 +12,7 @@ public interface IInventory public void Remove(InventoryItem inventoryItem); - public void Sort(EquipableItem currentWeapon, EquipableItem currentArmor, EquipableItem currentAccessory); + public bool Sort(EquipableItem currentWeapon, EquipableItem currentArmor, EquipableItem currentAccessory); public event Action BroadcastMessage; public event Action InventoryChanged; diff --git a/Zennysoft.Game.Ma/Ma.csproj b/Zennysoft.Game.Ma/Ma.csproj index 0ca2470c..853d610d 100644 --- a/Zennysoft.Game.Ma/Ma.csproj +++ b/Zennysoft.Game.Ma/Ma.csproj @@ -1,4 +1,4 @@ - + net8.0 true diff --git a/Zennysoft.Game.Ma/Ma.csproj.old.5 b/Zennysoft.Game.Ma/Ma.csproj.old.5 deleted file mode 100644 index 853d610d..00000000 --- a/Zennysoft.Game.Ma/Ma.csproj.old.5 +++ /dev/null @@ -1,38 +0,0 @@ - - - net8.0 - true - CS9057 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Zennysoft.Game.Ma/project.godot b/Zennysoft.Game.Ma/project.godot index e9463fe2..acb1a7a8 100644 --- a/Zennysoft.Game.Ma/project.godot +++ b/Zennysoft.Game.Ma/project.godot @@ -24,6 +24,7 @@ DialogueController="*res://src/game/DialogueController.cs" AudioManager="*res://src/audio/AudioManager.cs" BgmPlayer="*res://src/audio/BGMPlayer.cs" InputHelper="*res://addons/input_helper/input_helper.gd" +SfxDatabase="*res://src/audio/SFXDatabase.tscn" [dialogue_manager] @@ -84,6 +85,7 @@ ui_cancel={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":70,"key_label":0,"unicode":102,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } ui_focus_next={ diff --git a/Zennysoft.Game.Ma/src/Components/ExperiencePointsComponent.cs b/Zennysoft.Game.Ma/src/Components/ExperiencePointsComponent.cs index cf0a41c6..bb731213 100644 --- a/Zennysoft.Game.Ma/src/Components/ExperiencePointsComponent.cs +++ b/Zennysoft.Game.Ma/src/Components/ExperiencePointsComponent.cs @@ -52,6 +52,7 @@ public class ExperiencePointsComponent : IExperiencePointsComponent public void LevelUp() { + SfxDatabase.Instance.Play(SoundEffect.LevelUp); _level.OnNext(_level.Value + 1); var expToNextLevel = ExpToNextLevelCalculation(_level.Value); _currentExp.OnNext(_currentExp.Value - _expToNextLevel.Value); diff --git a/Zennysoft.Game.Ma/src/audio/AMB/amb_beach.wav.import b/Zennysoft.Game.Ma/src/audio/AMB/amb_beach.wav.import index 8815f991..9fa43bf5 100644 --- a/Zennysoft.Game.Ma/src/audio/AMB/amb_beach.wav.import +++ b/Zennysoft.Game.Ma/src/audio/AMB/amb_beach.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://ddii3pi8x75xc" -path="res://.godot/imported/amb_beach.wav-e64adf8f733e6a108ae15edd5f0499ab.sample" +path="res://.godot/imported/amb_beach.wav-046e4f838e50e43a1aba1a754b92aad6.sample" [deps] -source_file="res://src/audio/amb/amb_beach.wav" -dest_files=["res://.godot/imported/amb_beach.wav-e64adf8f733e6a108ae15edd5f0499ab.sample"] +source_file="res://src/audio/AMB/amb_beach.wav" +dest_files=["res://.godot/imported/amb_beach.wav-046e4f838e50e43a1aba1a754b92aad6.sample"] [params] diff --git a/Zennysoft.Game.Ma/src/audio/AMB/amb_perlin.wav.import b/Zennysoft.Game.Ma/src/audio/AMB/amb_perlin.wav.import index 2ebba139..008a47dd 100644 --- a/Zennysoft.Game.Ma/src/audio/AMB/amb_perlin.wav.import +++ b/Zennysoft.Game.Ma/src/audio/AMB/amb_perlin.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://ym4ur8a2qxhp" -path="res://.godot/imported/amb_perlin.wav-dea63667b2a56d37d48ba209f56f8900.sample" +path="res://.godot/imported/amb_perlin.wav-ba6da0d5591f392e4aca7d2f85c4dfc2.sample" [deps] -source_file="res://src/audio/amb/amb_perlin.wav" -dest_files=["res://.godot/imported/amb_perlin.wav-dea63667b2a56d37d48ba209f56f8900.sample"] +source_file="res://src/audio/AMB/amb_perlin.wav" +dest_files=["res://.godot/imported/amb_perlin.wav-ba6da0d5591f392e4aca7d2f85c4dfc2.sample"] [params] diff --git a/Zennysoft.Game.Ma/src/audio/AMB/amb_white_noise.wav.import b/Zennysoft.Game.Ma/src/audio/AMB/amb_white_noise.wav.import index b24cc4fc..09f8922b 100644 --- a/Zennysoft.Game.Ma/src/audio/AMB/amb_white_noise.wav.import +++ b/Zennysoft.Game.Ma/src/audio/AMB/amb_white_noise.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://b7wxddjx3qw5o" -path="res://.godot/imported/amb_white_noise.wav-c98b45aa94120bc0c660bf2d6af1c696.sample" +path="res://.godot/imported/amb_white_noise.wav-d316dd05afe429f6bcdda594285ad718.sample" [deps] -source_file="res://src/audio/amb/amb_white_noise.wav" -dest_files=["res://.godot/imported/amb_white_noise.wav-c98b45aa94120bc0c660bf2d6af1c696.sample"] +source_file="res://src/audio/AMB/amb_white_noise.wav" +dest_files=["res://.godot/imported/amb_white_noise.wav-d316dd05afe429f6bcdda594285ad718.sample"] [params] diff --git a/Zennysoft.Game.Ma/src/audio/AMB/amb_wind_loop_altar.wav.import b/Zennysoft.Game.Ma/src/audio/AMB/amb_wind_loop_altar.wav.import index 3cce56a9..23099e87 100644 --- a/Zennysoft.Game.Ma/src/audio/AMB/amb_wind_loop_altar.wav.import +++ b/Zennysoft.Game.Ma/src/audio/AMB/amb_wind_loop_altar.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://bmiitw4fcs68e" -path="res://.godot/imported/amb_wind_loop_altar.wav-b9d60e3c3c10ec00833903539a7f3796.sample" +path="res://.godot/imported/amb_wind_loop_altar.wav-e766e3db29faa01ad6dbaa8cb18d7de6.sample" [deps] -source_file="res://src/audio/amb/amb_wind_loop_altar.wav" -dest_files=["res://.godot/imported/amb_wind_loop_altar.wav-b9d60e3c3c10ec00833903539a7f3796.sample"] +source_file="res://src/audio/AMB/amb_wind_loop_altar.wav" +dest_files=["res://.godot/imported/amb_wind_loop_altar.wav-e766e3db29faa01ad6dbaa8cb18d7de6.sample"] [params] diff --git a/Zennysoft.Game.Ma/src/audio/AudioManager.cs b/Zennysoft.Game.Ma/src/audio/AudioManager.cs index 96323cb8..5c477c10 100644 --- a/Zennysoft.Game.Ma/src/audio/AudioManager.cs +++ b/Zennysoft.Game.Ma/src/audio/AudioManager.cs @@ -1,43 +1,21 @@ using Godot; -using System; -using System.Collections.Generic; namespace Zennysoft.Game.Ma; public partial class AudioManager : Node { - private static string sfxPath = $"res://src/audio/sfx/"; - private AudioStreamPlayer _audioPlayer; - private IDictionary _sfxDictionary; + private static AudioStreamPlayer _audioPlayer; + private static AudioManager _instance; + + public static AudioManager Instance => _instance; public override void _Ready() { - _audioPlayer = new AudioStreamPlayer(); - AddChild(_audioPlayer); - _sfxDictionary = new Dictionary(); - var soundEffects = Enum.GetValues(typeof(SoundEffect)); - foreach (var effect in soundEffects) - _sfxDictionary.Add((SoundEffect)effect, GD.Load(sfxPath + effect + ".ogg")); + if (_instance != null) + QueueFree(); + _instance = this; + _audioPlayer = new AudioStreamPlayer(); + AddChild(_audioPlayer); _audioPlayer.Bus = "SFX"; } - - public void Play(SoundEffect soundEffect) - { - _sfxDictionary.TryGetValue(soundEffect, out var stream); - _audioPlayer.Stream = stream; - _audioPlayer.Play(); - } -} -public enum SoundEffect -{ - Cancel, - Equip, - Heal, - MenuBack, - MoveThroughOptions, - PlayerAttack, - PlayerHitWall, - Select, - Sort, - Unequip -} +} \ No newline at end of file diff --git a/Zennysoft.Game.Ma/src/audio/SFXDatabase.tscn b/Zennysoft.Game.Ma/src/audio/SFXDatabase.tscn new file mode 100644 index 00000000..14a09728 --- /dev/null +++ b/Zennysoft.Game.Ma/src/audio/SFXDatabase.tscn @@ -0,0 +1,150 @@ +[gd_scene load_steps=25 format=3 uid="uid://brgi35xj3b4ud"] + +[ext_resource type="Script" uid="uid://cw100tox0ufsy" path="res://src/audio/SfxDatabase.cs" id="1_ojkqd"] +[ext_resource type="AudioStream" uid="uid://cye8wlqbx66h4" path="res://src/audio/sfx/player_heal.ogg" id="2_158j8"] +[ext_resource type="AudioStream" uid="uid://1nuk6xpkwujl" path="res://src/audio/sfx/player_gain_VT.ogg" id="3_kac56"] +[ext_resource type="AudioStream" uid="uid://bfrp34y2m8b1l" path="res://src/audio/sfx/item_number_increase.ogg" id="4_fa8i8"] +[ext_resource type="AudioStream" uid="uid://xjdv23q5cqhm" path="res://src/audio/sfx/UI_PAUSE.ogg" id="5_p5cio"] +[ext_resource type="AudioStream" uid="uid://clhdcrs4dxt6h" path="res://src/audio/sfx/UI_MOVE.ogg" id="6_r16t0"] +[ext_resource type="AudioStream" uid="uid://c817txm4tmup7" path="res://src/audio/sfx/PLAYER_EQUIP.ogg" id="7_sew62"] +[ext_resource type="AudioStream" uid="uid://qxi7qto7hhgk" path="res://src/audio/sfx/PLAYER_UNEQUIP.ogg" id="8_rf1la"] +[ext_resource type="AudioStream" uid="uid://doeefxilh0luj" path="res://src/audio/sfx/ITEM_SORT.ogg" id="9_l6w22"] +[ext_resource type="AudioStream" uid="uid://4mk4hlse81if" path="res://src/audio/sfx/player_losehealth.ogg" id="10_kac56"] +[ext_resource type="AudioStream" uid="uid://dwp3ep3jddvrr" path="res://src/audio/sfx/UI_SELECT.ogg" id="10_nerso"] +[ext_resource type="AudioStream" uid="uid://oslvh60ec5gc" path="res://src/audio/sfx/UI_CANCEL_BACK.ogg" id="11_rloay"] +[ext_resource type="AudioStream" uid="uid://bo2u1ceci6k1i" path="res://src/audio/sfx/PLAYER_quicker_slash.ogg" id="13_fa8i8"] +[ext_resource type="AudioStream" uid="uid://na0lxb1lib11" path="res://src/audio/sfx/player_crit.ogg" id="14_p5cio"] +[ext_resource type="AudioStream" uid="uid://bsc83jkt7uisg" path="res://src/audio/sfx/PLAYER_GET_ITEM.ogg" id="15_r16t0"] +[ext_resource type="AudioStream" uid="uid://ckf3md1ujxhvm" path="res://src/audio/sfx/player_levelup.ogg" id="16_sew62"] +[ext_resource type="AudioStream" uid="uid://coeynqnn61c43" path="res://src/audio/sfx/ITEM_TRANSFER.ogg" id="18_l6w22"] +[ext_resource type="AudioStream" uid="uid://bfrmm07vthpwt" path="res://src/audio/sfx/item_divine_recall.ogg" id="19_nerso"] +[ext_resource type="AudioStream" uid="uid://bu8akh5uh3ioo" path="res://src/audio/sfx/item_devic_balance_element1.ogg" id="20_rloay"] +[ext_resource type="AudioStream" uid="uid://bjkn6s2xjxuji" path="res://src/audio/sfx/item_gospel_dimension.ogg" id="21_6hsck"] +[ext_resource type="AudioStream" uid="uid://c3ur4bgvmsidi" path="res://src/audio/sfx/item_gospel_escape.ogg" id="22_3wq6u"] +[ext_resource type="AudioStream" uid="uid://bc2pe0l5nr5ro" path="res://src/audio/sfx/ITEM_kyuu_hit.ogg" id="23_aaerj"] +[ext_resource type="AudioStream" uid="uid://ck0nc757t0jq5" path="res://src/audio/sfx/ITEM_PERSPECTIVE.ogg" id="23_jdwj3"] +[ext_resource type="AudioStream" uid="uid://dblijlgm8njjv" path="res://src/audio/sfx/item_sine_morphization.ogg" id="24_jdwj3"] + +[node name="SfxDatabase" type="Node"] +script = ExtResource("1_ojkqd") + +[node name="UI" type="Node" parent="."] + +[node name="OpenInventorySound" type="AudioStreamPlayer" parent="UI"] +unique_name_in_owner = true +stream = ExtResource("5_p5cio") +bus = &"SFX" + +[node name="MoveSound" type="AudioStreamPlayer" parent="UI"] +unique_name_in_owner = true +stream = ExtResource("6_r16t0") +bus = &"SFX" + +[node name="SelectSound" type="AudioStreamPlayer" parent="UI"] +unique_name_in_owner = true +stream = ExtResource("10_nerso") +bus = &"SFX" + +[node name="CancelSound" type="AudioStreamPlayer" parent="UI"] +unique_name_in_owner = true +stream = ExtResource("11_rloay") +bus = &"SFX" + +[node name="Player" type="Node" parent="."] + +[node name="HealHPSound" type="AudioStreamPlayer" parent="Player"] +unique_name_in_owner = true +stream = ExtResource("2_158j8") +bus = &"SFX" + +[node name="TakeDamageSound" type="AudioStreamPlayer" parent="Player"] +unique_name_in_owner = true +stream = ExtResource("10_kac56") +bus = &"SFX" + +[node name="HealVTSound" type="AudioStreamPlayer" parent="Player"] +unique_name_in_owner = true +stream = ExtResource("3_kac56") +bus = &"SFX" + +[node name="WeaponSwingSound" type="AudioStreamPlayer" parent="Player"] +unique_name_in_owner = true +stream = ExtResource("13_fa8i8") +bus = &"SFX" + +[node name="CritSound" type="AudioStreamPlayer" parent="Player"] +unique_name_in_owner = true +stream = ExtResource("14_p5cio") +bus = &"SFX" + +[node name="PickupItemSound" type="AudioStreamPlayer" parent="Player"] +unique_name_in_owner = true +stream = ExtResource("15_r16t0") +bus = &"SFX" + +[node name="LevelUpSound" type="AudioStreamPlayer" parent="Player"] +unique_name_in_owner = true +stream = ExtResource("16_sew62") +bus = &"SFX" + +[node name="EquipSound" type="AudioStreamPlayer" parent="Player"] +unique_name_in_owner = true +stream = ExtResource("7_sew62") +bus = &"SFX" + +[node name="UnequipSound" type="AudioStreamPlayer" parent="Player"] +unique_name_in_owner = true +stream = ExtResource("8_rf1la") +bus = &"SFX" + +[node name="Item" type="Node" parent="."] + +[node name="TransferItemSound" type="AudioStreamPlayer" parent="Item"] +unique_name_in_owner = true +stream = ExtResource("18_l6w22") +bus = &"SFX" + +[node name="IncreaseStatSound" type="AudioStreamPlayer" parent="Item"] +unique_name_in_owner = true +stream = ExtResource("4_fa8i8") +bus = &"SFX" + +[node name="SortSound" type="AudioStreamPlayer" parent="Item"] +unique_name_in_owner = true +stream = ExtResource("9_l6w22") +bus = &"SFX" + +[node name="RecallEnemiesSound" type="AudioStreamPlayer" parent="Item"] +unique_name_in_owner = true +stream = ExtResource("19_nerso") +bus = &"SFX" + +[node name="KillHalfEnemiesSound" type="AudioStreamPlayer" parent="Item"] +unique_name_in_owner = true +stream = ExtResource("20_rloay") +bus = &"SFX" + +[node name="TeleportToRandomRoomSound" type="AudioStreamPlayer" parent="Item"] +unique_name_in_owner = true +stream = ExtResource("21_6hsck") +bus = &"SFX" + +[node name="TeleportToExitSound" type="AudioStreamPlayer" parent="Item"] +unique_name_in_owner = true +stream = ExtResource("22_3wq6u") +bus = &"SFX" + +[node name="AbsorbHPFromAllEnemiesSound" type="AudioStreamPlayer" parent="Item"] +unique_name_in_owner = true +stream = ExtResource("23_aaerj") +bus = &"SFX" + +[node name="SwapHPAndVTSound" type="AudioStreamPlayer" parent="Item"] +unique_name_in_owner = true +stream = ExtResource("23_jdwj3") +bus = &"SFX" + +[node name="TurnAllEnemiesIntoHealingItemsSound" type="AudioStreamPlayer" parent="Item"] +unique_name_in_owner = true +stream = ExtResource("24_jdwj3") +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/audio/SfxDatabase.cs b/Zennysoft.Game.Ma/src/audio/SfxDatabase.cs new file mode 100644 index 00000000..95441348 --- /dev/null +++ b/Zennysoft.Game.Ma/src/audio/SfxDatabase.cs @@ -0,0 +1,108 @@ +using Chickensoft.AutoInject; +using Chickensoft.Introspection; +using Godot; +using System.Collections.Generic; + +[Meta(typeof(IAutoNode)), Id("sfx_database")] +public partial class SfxDatabase : Node +{ + public override void _Notification(int what) => this.Notify(what); + + private static SfxDatabase _instance; + + public static SfxDatabase Instance => _instance; + + public void OnReady() + { + if (_instance != null) + QueueFree(); + _instance = this; + + _sfxMap = new Dictionary + { + {SoundEffect.HealHP, HealHPSound }, + {SoundEffect.TakeDamage, TakeDamageSound }, + {SoundEffect.HealVT, HealVTSound }, + {SoundEffect.IncreaseStat, IncreaseStatSound }, + {SoundEffect.WeaponSwing, WeaponSwingSound }, + {SoundEffect.Crit, CritSound }, + {SoundEffect.PickupItem, PickupItemSound }, + {SoundEffect.OpenInventory, OpenInventorySound }, + {SoundEffect.MoveUI, MoveSound }, + {SoundEffect.Equip, EquipSound }, + {SoundEffect.Unequip, UnequipSound }, + {SoundEffect.SortInventory, SortSound }, + {SoundEffect.SelectUI, SelectSound }, + {SoundEffect.CancelUI, CancelSound }, + {SoundEffect.LevelUp, LevelUpSound }, + {SoundEffect.Transfer, TransferItemSound }, + {SoundEffect.RecallEnemies, RecallEnemiesSound}, + {SoundEffect.KillHalfEnemies, KillHalfEnemiesSound}, + {SoundEffect.TeleportToRandomRoom, TeleportToRandomRoomSound}, + {SoundEffect.TeleportToExit, TeleportToExitSound}, + {SoundEffect.AbsorbHPFromAllEnemies, AbsorbHPFromAllEnemiesSound}, + {SoundEffect.TurnAllEnemiesIntoHealingItems, TurnAllEnemiesIntoHealingItemsSound}, + }; + } + + [Node] private AudioStreamPlayer HealHPSound { get; set; } = default!; + [Node] private AudioStreamPlayer TakeDamageSound { get; set; } = default!; + [Node] private AudioStreamPlayer HealVTSound { get; set; } = default!; + [Node] private AudioStreamPlayer IncreaseStatSound { get; set; } = default!; + [Node] private AudioStreamPlayer WeaponSwingSound { get; set; } = default!; + [Node] private AudioStreamPlayer CritSound { get; set; } = default!; + [Node] private AudioStreamPlayer PickupItemSound { get; set; } = default!; + [Node] private AudioStreamPlayer OpenInventorySound { get; set; } + [Node] private AudioStreamPlayer MoveSound { get; set; } + [Node] private AudioStreamPlayer EquipSound { get; set; } + [Node] private AudioStreamPlayer UnequipSound { get; set; } + [Node] private AudioStreamPlayer SortSound { get; set; } + [Node] private AudioStreamPlayer SelectSound { get; set; } + [Node] private AudioStreamPlayer CancelSound { get; set; } + [Node] private AudioStreamPlayer LevelUpSound { get; set; } + [Node] private AudioStreamPlayer TransferItemSound { get; set; } + [Node] private AudioStreamPlayer RecallEnemiesSound { get; set; } + [Node] private AudioStreamPlayer KillHalfEnemiesSound { get; set; } + [Node] private AudioStreamPlayer TeleportToRandomRoomSound { get; set; } + [Node] private AudioStreamPlayer TeleportToExitSound { get; set; } + [Node] private AudioStreamPlayer AbsorbHPFromAllEnemiesSound { get; set; } + [Node] private AudioStreamPlayer SwapHPAndVTSound { get; set; } + [Node] private AudioStreamPlayer TurnAllEnemiesIntoHealingItemsSound { get; set; } + + private Dictionary _sfxMap; + + public void Play(SoundEffect soundEffect) + { + _sfxMap.TryGetValue(soundEffect, out var audio); + if (audio != null) + audio.Play(); + } +} + +public enum SoundEffect +{ + HealHP, + TakeDamage, + HealVT, + IncreaseStat, + WeaponSwing, + Crit, + PickupItem, + OpenInventory, + MoveUI, + Equip, + Unequip, + SortInventory, + SelectUI, + CancelUI, + LevelUp, + Transfer, + RecallEnemies, + KillHalfEnemies, + TeleportToRandomRoom, + TeleportToExit, + AbsorbHPFromAllEnemies, + SwapHPAndVT, + TurnAllEnemiesIntoHealingItems, +} + diff --git a/Zennysoft.Game.Ma/src/audio/SfxDatabase.cs.uid b/Zennysoft.Game.Ma/src/audio/SfxDatabase.cs.uid new file mode 100644 index 00000000..25a2473d --- /dev/null +++ b/Zennysoft.Game.Ma/src/audio/SfxDatabase.cs.uid @@ -0,0 +1 @@ +uid://cw100tox0ufsy diff --git a/Zennysoft.Game.Ma/src/audio/sfx/Cancel.ogg b/Zennysoft.Game.Ma/src/audio/sfx/Cancel.ogg deleted file mode 100644 index 1ce0f6a4..00000000 Binary files a/Zennysoft.Game.Ma/src/audio/sfx/Cancel.ogg and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/audio/sfx/Cancel.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/Cancel.ogg.import deleted file mode 100644 index 12a434c8..00000000 --- a/Zennysoft.Game.Ma/src/audio/sfx/Cancel.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://dci08kmwsu6k1" -path="res://.godot/imported/Cancel.ogg-90240069a266fcef76dd638dfd79efd5.oggvorbisstr" - -[deps] - -source_file="res://src/audio/sfx/Cancel.ogg" -dest_files=["res://.godot/imported/Cancel.ogg-90240069a266fcef76dd638dfd79efd5.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AGNI_AMBIENT_LOOP.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AGNI_AMBIENT_LOOP.ogg.import index 43bf77e9..4c942ef7 100644 --- a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AGNI_AMBIENT_LOOP.ogg.import +++ b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AGNI_AMBIENT_LOOP.ogg.import @@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/ENEMY_AGNI_AMBIENT_LOOP.ogg-c85d2b023556dd456 [params] -loop=false -loop_offset=0 -bpm=0 +loop=true +loop_offset=0.0 +bpm=0.0 beat_count=0 bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AQUEOS_LOOP.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AQUEOS_LOOP.ogg.import index 0c71ba89..647970d2 100644 --- a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AQUEOS_LOOP.ogg.import +++ b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AQUEOS_LOOP.ogg.import @@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/ENEMY_AQUEOS_LOOP.ogg-8237cb508a4b08073b02775 [params] -loop=false -loop_offset=0 -bpm=0 +loop=true +loop_offset=0.0 +bpm=0.0 beat_count=0 bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_PILLAR_TURN.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_PILLAR_TURN.ogg.import index a84e2686..163feb4e 100644 --- a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_PILLAR_TURN.ogg.import +++ b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_PILLAR_TURN.ogg.import @@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/ENEMY_PILLAR_TURN.ogg-b699bc5922c503a73a9d924 [params] -loop=false -loop_offset=0 -bpm=0 +loop=true +loop_offset=0.0 +bpm=0.0 beat_count=0 bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_golden_sproing_loop.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_golden_sproing_loop.ogg.import index c41e3e34..a9f342fa 100644 --- a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_golden_sproing_loop.ogg.import +++ b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_golden_sproing_loop.ogg.import @@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/ENEMY_golden_sproing_loop.ogg-127cd3900505921 [params] -loop=false -loop_offset=0 -bpm=0 +loop=true +loop_offset=0.0 +bpm=0.0 beat_count=0 bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/Equip.ogg b/Zennysoft.Game.Ma/src/audio/sfx/Equip.ogg deleted file mode 100644 index 39735d23..00000000 Binary files a/Zennysoft.Game.Ma/src/audio/sfx/Equip.ogg and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/audio/sfx/Equip.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/Equip.ogg.import deleted file mode 100644 index aabac3b7..00000000 --- a/Zennysoft.Game.Ma/src/audio/sfx/Equip.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://nebh8kbv638p" -path="res://.godot/imported/Equip.ogg-217f5d9ca98d54921c4ec31e13fb9ba4.oggvorbisstr" - -[deps] - -source_file="res://src/audio/sfx/Equip.ogg" -dest_files=["res://.godot/imported/Equip.ogg-217f5d9ca98d54921c4ec31e13fb9ba4.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/Heal.ogg b/Zennysoft.Game.Ma/src/audio/sfx/Heal.ogg deleted file mode 100644 index bb42f54f..00000000 Binary files a/Zennysoft.Game.Ma/src/audio/sfx/Heal.ogg and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/audio/sfx/Heal.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/Heal.ogg.import deleted file mode 100644 index f32df937..00000000 --- a/Zennysoft.Game.Ma/src/audio/sfx/Heal.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://myx4s8lmarc2" -path="res://.godot/imported/Heal.ogg-05b7ed0ad880ef31e2dd13ac2428a53c.oggvorbisstr" - -[deps] - -source_file="res://src/audio/sfx/Heal.ogg" -dest_files=["res://.godot/imported/Heal.ogg-05b7ed0ad880ef31e2dd13ac2428a53c.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/MenuBack.ogg b/Zennysoft.Game.Ma/src/audio/sfx/MenuBack.ogg deleted file mode 100644 index 0caa442e..00000000 Binary files a/Zennysoft.Game.Ma/src/audio/sfx/MenuBack.ogg and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/audio/sfx/MenuBack.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/MenuBack.ogg.import deleted file mode 100644 index 52bb00aa..00000000 --- a/Zennysoft.Game.Ma/src/audio/sfx/MenuBack.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://r1tryiit38i8" -path="res://.godot/imported/MenuBack.ogg-4d59ead9ffd1dde11bf2c91a5ade19a4.oggvorbisstr" - -[deps] - -source_file="res://src/audio/sfx/MenuBack.ogg" -dest_files=["res://.godot/imported/MenuBack.ogg-4d59ead9ffd1dde11bf2c91a5ade19a4.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/MoveThroughOptions.ogg b/Zennysoft.Game.Ma/src/audio/sfx/MoveThroughOptions.ogg deleted file mode 100644 index 89b08d0f..00000000 Binary files a/Zennysoft.Game.Ma/src/audio/sfx/MoveThroughOptions.ogg and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/audio/sfx/MoveThroughOptions.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/MoveThroughOptions.ogg.import deleted file mode 100644 index 7c512563..00000000 --- a/Zennysoft.Game.Ma/src/audio/sfx/MoveThroughOptions.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://dor0in0x2fg48" -path="res://.godot/imported/MoveThroughOptions.ogg-d2ab68a21096bd510cf966df8d088ca2.oggvorbisstr" - -[deps] - -source_file="res://src/audio/sfx/MoveThroughOptions.ogg" -dest_files=["res://.godot/imported/MoveThroughOptions.ogg-d2ab68a21096bd510cf966df8d088ca2.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/PlayerAttack.ogg b/Zennysoft.Game.Ma/src/audio/sfx/PlayerAttack.ogg deleted file mode 100644 index 23aa0efc..00000000 Binary files a/Zennysoft.Game.Ma/src/audio/sfx/PlayerAttack.ogg and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/audio/sfx/PlayerAttack.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/PlayerAttack.ogg.import deleted file mode 100644 index 77628e71..00000000 --- a/Zennysoft.Game.Ma/src/audio/sfx/PlayerAttack.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://dl300ljxjccju" -path="res://.godot/imported/PlayerAttack.ogg-b72a90c320c3a6f764de2be3f71a8058.oggvorbisstr" - -[deps] - -source_file="res://src/audio/sfx/PlayerAttack.ogg" -dest_files=["res://.godot/imported/PlayerAttack.ogg-b72a90c320c3a6f764de2be3f71a8058.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/PlayerHitWall.ogg b/Zennysoft.Game.Ma/src/audio/sfx/PlayerHitWall.ogg deleted file mode 100644 index f82a72b4..00000000 Binary files a/Zennysoft.Game.Ma/src/audio/sfx/PlayerHitWall.ogg and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/audio/sfx/PlayerHitWall.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/PlayerHitWall.ogg.import deleted file mode 100644 index 59f28c82..00000000 --- a/Zennysoft.Game.Ma/src/audio/sfx/PlayerHitWall.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://dvv6wd7rtbc7b" -path="res://.godot/imported/PlayerHitWall.ogg-429bd11f2f509307596bb8d8ac73a08d.oggvorbisstr" - -[deps] - -source_file="res://src/audio/sfx/PlayerHitWall.ogg" -dest_files=["res://.godot/imported/PlayerHitWall.ogg-429bd11f2f509307596bb8d8ac73a08d.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/Select.ogg b/Zennysoft.Game.Ma/src/audio/sfx/Select.ogg deleted file mode 100644 index 39735d23..00000000 Binary files a/Zennysoft.Game.Ma/src/audio/sfx/Select.ogg and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/audio/sfx/Select.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/Select.ogg.import deleted file mode 100644 index af92bf01..00000000 --- a/Zennysoft.Game.Ma/src/audio/sfx/Select.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://bb5lchnrvacf8" -path="res://.godot/imported/Select.ogg-d9dd04507bb827ea76d34cbcda6e7708.oggvorbisstr" - -[deps] - -source_file="res://src/audio/sfx/Select.ogg" -dest_files=["res://.godot/imported/Select.ogg-d9dd04507bb827ea76d34cbcda6e7708.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/Sort.ogg b/Zennysoft.Game.Ma/src/audio/sfx/Sort.ogg deleted file mode 100644 index 8093e3ab..00000000 Binary files a/Zennysoft.Game.Ma/src/audio/sfx/Sort.ogg and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/audio/sfx/Sort.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/Sort.ogg.import deleted file mode 100644 index 8b7e4be4..00000000 --- a/Zennysoft.Game.Ma/src/audio/sfx/Sort.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://d3sn7c614uj2n" -path="res://.godot/imported/Sort.ogg-c7758aed01332fd8ea77a27c6593a8bb.oggvorbisstr" - -[deps] - -source_file="res://src/audio/sfx/Sort.ogg" -dest_files=["res://.godot/imported/Sort.ogg-c7758aed01332fd8ea77a27c6593a8bb.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/Unequip.ogg b/Zennysoft.Game.Ma/src/audio/sfx/Unequip.ogg deleted file mode 100644 index a4697d5e..00000000 Binary files a/Zennysoft.Game.Ma/src/audio/sfx/Unequip.ogg and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/audio/sfx/Unequip.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/Unequip.ogg.import deleted file mode 100644 index 3af606d1..00000000 --- a/Zennysoft.Game.Ma/src/audio/sfx/Unequip.ogg.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="oggvorbisstr" -type="AudioStreamOggVorbis" -uid="uid://bb1j3m60jns54" -path="res://.godot/imported/Unequip.ogg-b3c6ba8a77b0e6d2ec671cb12640c764.oggvorbisstr" - -[deps] - -source_file="res://src/audio/sfx/Unequip.ogg" -dest_files=["res://.godot/imported/Unequip.ogg-b3c6ba8a77b0e6d2ec671cb12640c764.oggvorbisstr"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/enemy_balos_rolling.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/enemy_balos_rolling.ogg.import index 29516009..070ac59c 100644 --- a/Zennysoft.Game.Ma/src/audio/sfx/enemy_balos_rolling.ogg.import +++ b/Zennysoft.Game.Ma/src/audio/sfx/enemy_balos_rolling.ogg.import @@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/enemy_balos_rolling.ogg-296768b69ce64257364d9 [params] -loop=false -loop_offset=0 -bpm=0 +loop=true +loop_offset=0.0 +bpm=0.0 beat_count=0 bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/player_steps_concrete.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/player_steps_concrete.ogg.import index 6d59be15..ef04abdf 100644 --- a/Zennysoft.Game.Ma/src/audio/sfx/player_steps_concrete.ogg.import +++ b/Zennysoft.Game.Ma/src/audio/sfx/player_steps_concrete.ogg.import @@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/player_steps_concrete.ogg-2210939b45b35c9b2fc [params] -loop=false -loop_offset=0 -bpm=0 +loop=true +loop_offset=0.0 +bpm=0.0 beat_count=0 bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/enemy/Enemy.cs b/Zennysoft.Game.Ma/src/enemy/Enemy.cs index bdddee91..024ca2a1 100644 --- a/Zennysoft.Game.Ma/src/enemy/Enemy.cs +++ b/Zennysoft.Game.Ma/src/enemy/Enemy.cs @@ -6,7 +6,6 @@ using System.Collections.Immutable; using System.Linq; using Zennysoft.Ma.Adapter; using Zennysoft.Ma.Adapter.Entity; -using static Zennysoft.Ma.Adapter.AppLogic; namespace Zennysoft.Game.Ma; @@ -46,6 +45,12 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide roomList) { foreach (var room in roomList) @@ -178,8 +201,8 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide TargetPosition = targetPosition; - private void EnemyModelView_HitPlayer(object sender, System.EventArgs e) + private void EnemyModelView_HitPlayer(object sender, EventArgs e) { _player.TakeDamage(new AttackData(AttackComponent.CurrentAttack.Value, ElementType.None)); } diff --git a/Zennysoft.Game.Ma/src/enemy/EnemyModelView.cs b/Zennysoft.Game.Ma/src/enemy/EnemyModelView.cs index 4328fd8b..b24bee47 100644 --- a/Zennysoft.Game.Ma/src/enemy/EnemyModelView.cs +++ b/Zennysoft.Game.Ma/src/enemy/EnemyModelView.cs @@ -2,6 +2,7 @@ using Chickensoft.Introspection; using Godot; using System; +using Zennysoft.Ma.Adapter; namespace Zennysoft.Game.Ma; @@ -25,10 +26,12 @@ public abstract partial class EnemyModelView : Node3D, IEnemyModelView [Node] public AnimationTree AnimationTree { get; set; } = default!; - [Export] public AttackDataResource AttackData { get; set; } + [Node] private AudioStreamPlayer3D _walkSFX { get; set; } = default!; protected AnimationNodeStateMachinePlayback _stateMachine; + public AttackData AttackData { get; set; } + public event EventHandler HitPlayer; public event EventHandler ActivationFinished; @@ -40,23 +43,55 @@ public abstract partial class EnemyModelView : Node3D, IEnemyModelView public void OnReady() { - _stateMachine = (AnimationNodeStateMachinePlayback)AnimationTree.Get(_parametersPlayback); - AnimationTree.AnimationFinished += AnimationTree_AnimationFinished; + if (AnimationTree != null) + { + _stateMachine = (AnimationNodeStateMachinePlayback)AnimationTree.Get(_parametersPlayback); + AnimationTree.AnimationFinished += AnimationTree_AnimationFinished; + } } - public virtual void PlayPrimaryAttackAnimation() => _stateMachine.Travel(_primaryAttackName, false); + public virtual void PlayPrimaryAttackAnimation() + { + _walkSFX.Stop(); + _stateMachine.Travel(_primaryAttackName, false); + } - public virtual void PlaySecondaryAttackAnimation() => _stateMachine.Travel(_secondaryAttackName, false); + public virtual void PlaySecondaryAttackAnimation() + { + _walkSFX.Stop(); + _stateMachine.Travel(_secondaryAttackName, false); + } - public virtual void PlayPrimarySkillAnimation() => _stateMachine.Travel(_primarySkillName, false); + public virtual void PlayPrimarySkillAnimation() + { + _walkSFX.Stop(); + _stateMachine.Travel(_primarySkillName, false); + } - public virtual void PlayIdleAnimation() => _stateMachine.Travel(_idleName, false); + public virtual void PlayIdleAnimation() + { + _walkSFX.Stop(); + _stateMachine.Travel(_idleName, false); + } - public virtual void PlayWalkAnimation() => _stateMachine.Travel(_walkingName, false); + public virtual void PlayWalkAnimation() + { + if (!_walkSFX.Playing) + _walkSFX.Play(); + _stateMachine.Travel(_walkingName, false); + } - public virtual void PlayStopWalkAnimation() => _stateMachine.Travel(_stopWalkName, false); + public virtual void PlayStopWalkAnimation() + { + _walkSFX.Stop(); + _stateMachine.Travel(_stopWalkName, false); + } - public virtual void PlayActivateAnimation() => _stateMachine.Travel(_activateName, false); + public virtual void PlayActivateAnimation() + { + _walkSFX.Stop(); + _stateMachine.Travel(_activateName, false); + } public virtual void PlayDeathAnimation() => throw new System.NotImplementedException(); @@ -75,6 +110,7 @@ public abstract partial class EnemyModelView : Node3D, IEnemyModelView public override void _ExitTree() { - AnimationTree.Get(_parametersPlayback).As().Stop(); + if (AnimationTree != null) + AnimationTree.Get(_parametersPlayback).As().Stop(); } } diff --git a/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs b/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs index f5283e56..9588f1eb 100644 --- a/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs +++ b/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs @@ -26,114 +26,116 @@ public partial class EnemyModelView2D : EnemyModelView, IEnemyModelView EnemyDirection _enemyDirection { get; set; } = EnemyDirection.Forward; + public AttackData AttackData { get; set; } + public new void OnReady() { - Hitbox.AreaEntered += Hitbox_AreaEntered; - base.OnReady(); + Hitbox.AreaEntered += Hitbox_AreaEntered; + base.OnReady(); } - private void Hitbox_AreaEntered(Area3D area) => OnPlayerHit(new AttackEventArgs(new AttackData(10, ElementType.None))); + private void Hitbox_AreaEntered(Area3D area) => OnPlayerHit(new AttackEventArgs(AttackData)); public void SetCurrentDirection(Basis enemyBasis, Vector3 cameraDirection) => _enemyDirection = GetEnemyDirection(enemyBasis, cameraDirection, _upperThreshold, _lowerThreshold); public override void PlayHitAnimation() { - LoadShader("res://src/vfx/shaders/DamageHit.gdshader"); - var tweener = GetTree().CreateTween(); - tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 1.0f); + LoadShader("res://src/vfx/shaders/DamageHit.gdshader"); + var tweener = GetTree().CreateTween(); + tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 1.0f); } public override void PlayDeathAnimation() { - LoadShader("res://src/vfx/shaders/PixelMelt.gdshader"); - var tweener = GetTree().CreateTween(); - tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 0.8f); + LoadShader("res://src/vfx/shaders/PixelMelt.gdshader"); + var tweener = GetTree().CreateTween(); + tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 0.8f); } private EnemyDirection GetEnemyDirection( - Basis enemyBasis, - Vector3 cameraDirection, - float rotateUpperThreshold, - float rotateLowerThreshold) + Basis enemyBasis, + Vector3 cameraDirection, + float rotateUpperThreshold, + float rotateLowerThreshold) { - var enemyForwardDirection = enemyBasis.Z; - var enemyLeftDirection = enemyBasis.X; + var enemyForwardDirection = enemyBasis.Z; + var enemyLeftDirection = enemyBasis.X; - var leftDotProduct = enemyLeftDirection.Dot(cameraDirection); - var forwardDotProduct = enemyForwardDirection.Dot(cameraDirection); + var leftDotProduct = enemyLeftDirection.Dot(cameraDirection); + var forwardDotProduct = enemyForwardDirection.Dot(cameraDirection); - // Check if forward facing. If the dot product is -1, the enemy is facing the camera. - if (forwardDotProduct < _lowerThreshold) - { - SetForward(); - return EnemyDirection.Forward; - } + // Check if forward facing. If the dot product is -1, the enemy is facing the camera. + if (forwardDotProduct < _lowerThreshold) + { + SetForward(); + return EnemyDirection.Forward; + } - // Check if backward facing. If the dot product is 1, the enemy is facing the same direction as the camera. - else if (forwardDotProduct > rotateUpperThreshold) - { - SetBack(); - return EnemyDirection.Backward; - } - else - { - // If the dot product of the perpendicular direction is positive (up to 1), the enemy is facing to the left (since it's mirrored). - if (leftDotProduct < _lowerThreshold) - { - SetRight(); - return EnemyDirection.Left; - } + // Check if backward facing. If the dot product is 1, the enemy is facing the same direction as the camera. + else if (forwardDotProduct > rotateUpperThreshold) + { + SetBack(); + return EnemyDirection.Backward; + } + else + { + // If the dot product of the perpendicular direction is positive (up to 1), the enemy is facing to the left (since it's mirrored). + if (leftDotProduct < _lowerThreshold) + { + SetRight(); + return EnemyDirection.Left; + } - // Check if side facing. If the dot product is close to zero in the positive or negative direction, its close to the threshold for turning. - if (leftDotProduct > rotateUpperThreshold) - { - SetLeft(); - return EnemyDirection.Right; - } - } + // Check if side facing. If the dot product is close to zero in the positive or negative direction, its close to the threshold for turning. + if (leftDotProduct > rotateUpperThreshold) + { + SetLeft(); + return EnemyDirection.Right; + } + } - return _enemyDirection; + return _enemyDirection; } private void LoadShader(string shaderPath) { - var shader = GD.Load(shaderPath); - var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast(); - foreach (var sprite in sprites) - { - sprite.Material = new ShaderMaterial(); - var shaderMaterial = (ShaderMaterial)sprite.Material; - shaderMaterial.Shader = shader; - } + var shader = GD.Load(shaderPath); + var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast(); + foreach (var sprite in sprites) + { + sprite.Material = new ShaderMaterial(); + var shaderMaterial = (ShaderMaterial)sprite.Material; + shaderMaterial.Shader = shader; + } } private void SetShaderValue(float shaderValue) { - var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast(); - foreach (var sprite in sprites) - { - var shaderMaterial = (ShaderMaterial)sprite.Material; - shaderMaterial.SetShaderParameter("progress", shaderValue); - } + var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast(); + foreach (var sprite in sprites) + { + var shaderMaterial = (ShaderMaterial)sprite.Material; + shaderMaterial.SetShaderParameter("progress", shaderValue); + } } private void SetForward() { - _enemyDirection = EnemyDirection.Forward; + _enemyDirection = EnemyDirection.Forward; } private void SetLeft() { - _enemyDirection = EnemyDirection.Left; + _enemyDirection = EnemyDirection.Left; } private void SetRight() { - _enemyDirection = EnemyDirection.Right; + _enemyDirection = EnemyDirection.Right; } private void SetBack() { - _enemyDirection = EnemyDirection.Backward; + _enemyDirection = EnemyDirection.Backward; } } diff --git a/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs b/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs index ea5e4a6a..0ca1b924 100644 --- a/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs +++ b/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs @@ -9,33 +9,33 @@ public partial class EnemyModelView3D : EnemyModelView { public override void _Notification(int what) => this.Notify(what); - [Node] private AnimationPlayer _animationPlayer { get; set; } = default!; + [Node] protected AnimationPlayer _animationPlayer { get; set; } = default!; [Node] public MeshInstance3D MeshInstance { get; set; } = default!; private void ChangeMaterial() { - var material = new StandardMaterial3D - { - AlbedoColor = Color.FromHsv(0, 1, 1, 1) - }; - MeshInstance.MaterialOverride = (Material)material.Duplicate(); + var material = new StandardMaterial3D + { + AlbedoColor = Color.FromHsv(0, 1, 1, 1) + }; + MeshInstance.MaterialOverride = (Material)material.Duplicate(); } private void LoadShader(string shaderPath) { - var shader = GD.Load(shaderPath); - MeshInstance.MaterialOverride = shader; + var shader = GD.Load(shaderPath); + MeshInstance.MaterialOverride = shader; } private void ClearDamageEffect() { - MeshInstance.MaterialOverride = null; - MeshInstance.Transparency = 0; + MeshInstance.MaterialOverride = null; + MeshInstance.Transparency = 0; } private void SetTransparency(float transparencyAmount) { - MeshInstance.Transparency = transparencyAmount; + MeshInstance.Transparency = transparencyAmount; } } diff --git a/Zennysoft.Game.Ma/src/enemy/IEnemyModelView.cs b/Zennysoft.Game.Ma/src/enemy/IEnemyModelView.cs index ec0101c3..38340e16 100644 --- a/Zennysoft.Game.Ma/src/enemy/IEnemyModelView.cs +++ b/Zennysoft.Game.Ma/src/enemy/IEnemyModelView.cs @@ -1,6 +1,7 @@ using Chickensoft.GodotNodeInterfaces; using Godot; using System; +using Zennysoft.Ma.Adapter; namespace Zennysoft.Game.Ma; @@ -24,6 +25,8 @@ public interface IEnemyModelView : INode3D public void PlayDeathAnimation(); + public AttackData AttackData { get; set; } + public event EventHandler HitPlayer; public event EventHandler ActivationFinished; diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.tscn index 10648cd9..e5f3c00a 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.tscn @@ -1,10 +1,14 @@ -[gd_scene load_steps=12 format=3 uid="uid://bs56ccgosmu47"] +[gd_scene load_steps=16 format=3 uid="uid://bs56ccgosmu47"] [ext_resource type="Script" uid="uid://cq6b4ma3sy1en" path="res://src/enemy/enemy_types/01. sproingy/Sproingy.cs" id="1_xsluo"] [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_drfkj"] [ext_resource type="PackedScene" uid="uid://bimjnsu52y3xi" path="res://src/enemy/enemy_types/01. sproingy/SproingyModelView.tscn" id="4_o3b7p"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="5_drfkj"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="6_moun4"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_ungov"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_ungov"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_agkuf"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_icstk"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -30,7 +34,7 @@ radius = 1.0 [node name="Sproingy" type="CharacterBody3D"] process_mode = 1 -collision_layer = 11 +collision_layer = 10 axis_lock_linear_y = true axis_lock_angular_x = true axis_lock_angular_z = true @@ -94,9 +98,37 @@ _followSpeed = 150.0 [node name="EngagePlayerBehavior" parent="Components" instance=ExtResource("5_drfkj")] unique_name_in_owner = true +_minimumAttackTime = 3.0 +_maximumAttackTime = 7.0 _acquireTargetTime = 2.0 [node name="NavigationAgent" type="NavigationAgent3D" parent="Components"] unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="SFX" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +stream = ExtResource("6_ungov") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +stream = ExtResource("7_ungov") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +stream = ExtResource("8_agkuf") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +stream = ExtResource("9_icstk") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/SproingyModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/SproingyModelView.tscn index 401e664b..9ce76c4c 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/SproingyModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/SproingyModelView.tscn @@ -1,10 +1,9 @@ -[gd_scene load_steps=81 format=3 uid="uid://bimjnsu52y3xi"] +[gd_scene load_steps=79 format=3 uid="uid://bimjnsu52y3xi"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_oh25a"] [ext_resource type="Texture2D" uid="uid://dd0ia6isdqg61" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 1.png" id="1_pbx41"] [ext_resource type="Texture2D" uid="uid://bs4ico5ouo5d3" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 2.png" id="2_0vbio"] [ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_7hf3j"] -[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="3_8wbs7"] [ext_resource type="Material" uid="uid://x2bv1q51mcjq" path="res://src/enemy/PixelMelt.tres" id="3_ivy74"] [ext_resource type="Texture2D" uid="uid://85ki5mc4h0vs" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 3.png" id="3_lae8t"] [ext_resource type="Texture2D" uid="uid://bwt1m2frb3r0e" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 4.png" id="4_53wuj"] @@ -68,12 +67,6 @@ Name = "Sproingy" Description = "He's smaller than I expected..." metadata/_custom_type_script = "uid://dlsgyx4i1jmp3" -[sub_resource type="Resource" id="Resource_8wbs7"] -script = ExtResource("3_8wbs7") -Damage = 10 -ElementType = 0 -metadata/_custom_type_script = "uid://ctshiyffvt4y5" - [sub_resource type="ViewportTexture" id="ViewportTexture_h1kaf"] viewport_path = NodePath("Sprite3D/SubViewportContainer/SubViewport") @@ -662,7 +655,6 @@ transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition [node name="EnemyModelView" type="Node3D"] script = ExtResource("1_oh25a") EnemyLoreInfo = SubResource("Resource_ivy74") -AttackData = SubResource("Resource_8wbs7") [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(6, 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0) @@ -718,3 +710,8 @@ root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_l2wq1") advance_expression_base_node = NodePath("..") anim_player = NodePath("../AnimationPlayer") + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tres deleted file mode 100644 index 5f29eb2e..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tres +++ /dev/null @@ -1,24 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://c08wbuumw6dk5"] - -[ext_resource type="Script" path="res://src/enemy/EnemyStatResource.cs" id="1_2i74g"] - -[resource] -script = ExtResource("1_2i74g") -CurrentHP = 0.0 -MaximumHP = 50.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 diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tscn index fef720d6..90516353 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tscn @@ -1,10 +1,14 @@ -[gd_scene load_steps=10 format=3 uid="uid://b0gwivt7cw7nd"] +[gd_scene load_steps=14 format=3 uid="uid://b0gwivt7cw7nd"] [ext_resource type="Script" uid="uid://c4pdledq3bll3" path="res://src/enemy/enemy_types/02. michael/Michael.cs" id="1_lb5oy"] [ext_resource type="PackedScene" uid="uid://bjg8wyvp8q6oc" path="res://src/enemy/enemy_types/02. michael/MichaelModelView.tscn" id="3_wrps7"] [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="5_fkx5j"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="6_bun8r"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_x8mrp"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_kwkfv"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="7_x8mrp"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_upf7y"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_fm627"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_jbgmx"] height = 5.0 @@ -86,3 +90,29 @@ _acquireTargetTime = 2.0 unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_x8mrp") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_kwkfv") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_upf7y") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_fm627") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/MichaelModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/MichaelModelView.tscn index 1d89abfd..23b5cfd0 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/MichaelModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/MichaelModelView.tscn @@ -1241,3 +1241,8 @@ transform = Transform3D(0.72, 0, 0, 0, 0.72, 0, 0, 0, 0.72, -0.129818, 0.274447, modulate = Color(0.977, 0.31, 1, 0.741176) billboard = 2 sprite_frames = SubResource("SpriteFrames_suy1t") + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEater.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEater.tscn index cebc58d3..d0df73f5 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEater.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEater.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=12 format=3 uid="uid://cvk007twac22c"] +[gd_scene load_steps=16 format=3 uid="uid://cvk007twac22c"] [ext_resource type="Script" uid="uid://cohal8w5ceneg" path="res://src/enemy/enemy_types/03. filth_eater/FilthEater.cs" id="1_p438s"] [ext_resource type="PackedScene" uid="uid://bup8c4x1na3aw" path="res://src/enemy/enemy_types/03. filth_eater/FilthEaterModelView.tscn" id="3_rrwed"] @@ -6,6 +6,10 @@ [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="5_pvjvo"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="6_fccr3"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="7_8l567"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="7_qbmfg"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="8_m7220"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="9_g602r"] +[ext_resource type="AudioStream" uid="uid://6r74nka4oh20" path="res://src/audio/sfx/ENEMY_filth_aggro.ogg" id="11_qbmfg"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_jbgmx"] height = 5.0 @@ -93,3 +97,29 @@ _acquireTargetTime = 2.0 unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_qbmfg") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_m7220") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_g602r") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("11_qbmfg") +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterModelView.tscn index 650fe947..cff88296 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterModelView.tscn @@ -3412,3 +3412,8 @@ libraries = { [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] bus = &"SFX" + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterStats.tres deleted file mode 100644 index 7baeb623..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://coyidduu5uhsp"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_o2ug3"] - -[resource] -script = ExtResource("1_o2ug3") -CurrentHP = 60.0 -MaximumHP = 60 -CurrentAttack = 15 -CurrentDefense = 5 -MaxAttack = 15 -MaxDefense = 5 -ExpFromDefeat = 15 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = ExtResource("1_o2ug3") diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/Sara.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/Sara.tscn index 5a78d433..1ce6336c 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/Sara.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/Sara.tscn @@ -1,10 +1,14 @@ -[gd_scene load_steps=10 format=3 uid="uid://bksq62muhk3h5"] +[gd_scene load_steps=14 format=3 uid="uid://bksq62muhk3h5"] [ext_resource type="Script" uid="uid://jjulhqd5g3bd" path="res://src/enemy/enemy_types/04. sara/Sara.cs" id="1_3ejdn"] [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_8ymq6"] [ext_resource type="PackedScene" uid="uid://bli0t0d6ommvi" path="res://src/enemy/enemy_types/04. sara/SaraModelView.tscn" id="4_82s0m"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_lxgpb"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_ddchx"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_lxgpb"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_ddchx"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_746fv"] +[ext_resource type="AudioStream" uid="uid://bemrovoemoq5u" path="res://src/audio/sfx/ENEMY_APSARA_AGGRO.ogg" id="10_ddchx"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -89,3 +93,29 @@ _acquireTargetTime = 2.0 unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_lxgpb") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_ddchx") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_746fv") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_ddchx") +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraModelView.tscn index 3c22d291..8d9dfb68 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraModelView.tscn @@ -1892,3 +1892,8 @@ libraries = { [node name="Attacks" type="AudioStreamPlayer3D" parent="."] process_mode = 3 bus = &"SFX" + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraStats.tres deleted file mode 100644 index 37b29c80..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://b0e6yx54hhbw7"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_besl4"] - -[resource] -script = ExtResource("1_besl4") -CurrentHP = 60.0 -MaximumHP = 60 -CurrentAttack = 15 -CurrentDefense = 7 -MaxAttack = 15 -MaxDefense = 7 -ExpFromDefeat = 5 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = ExtResource("1_besl4") diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.tscn index 304a0e14..2e4e7816 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.tscn @@ -1,10 +1,13 @@ -[gd_scene load_steps=10 format=3 uid="uid://feegakykn3fv"] +[gd_scene load_steps=13 format=3 uid="uid://feegakykn3fv"] [ext_resource type="Script" uid="uid://dwfxs5yrf7i3v" path="res://src/enemy/enemy_types/05. ballos/Ballos.cs" id="1_iy2fp"] [ext_resource type="PackedScene" uid="uid://c5xijwxkg4pf6" path="res://src/enemy/enemy_types/05. ballos/BallosModelView.tscn" id="2_v2urn"] [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_bjnvx"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_55sdf"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_2xj0s"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_wpleu"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_vibb5"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_b4xgw"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.717471 @@ -87,3 +90,28 @@ _acquireTargetTime = 2.0 unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_wpleu") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_vibb5") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_b4xgw") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/BallosModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/BallosModelView.tscn index 13b9b6ef..60f1896b 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/BallosModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/BallosModelView.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=171 format=3 uid="uid://c5xijwxkg4pf6"] +[gd_scene load_steps=172 format=3 uid="uid://c5xijwxkg4pf6"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_ueqp5"] [ext_resource type="Texture2D" uid="uid://bgkx485uy065" path="res://src/enemy/enemy_types/05. ballos/animations/WALK BACK/1.png" id="3_b3ny6"] @@ -93,6 +93,7 @@ [ext_resource type="Texture2D" uid="uid://cuiwtl48d2rgo" path="res://src/enemy/enemy_types/05. ballos/animations/Ballos Side Attack Frames/ATTACK 2 SIDE/frame_23_delay-0.01s.png" id="72_3ev0n"] [ext_resource type="Texture2D" uid="uid://jsknxkujml8k" path="res://src/enemy/enemy_types/05. ballos/animations/Ballos Side Attack Frames/ATTACK 2 BACK/frame_11_delay-0.01s.png" id="72_4q1uq"] [ext_resource type="Texture2D" uid="uid://cejae00ramgdn" path="res://src/enemy/enemy_types/05. ballos/animations/Ballos Side Attack Frames/ATTACK 2 SIDE/frame_24_delay-0.01s.png" id="73_o6ljw"] +[ext_resource type="AudioStream" uid="uid://s8weoqkpc155" path="res://src/audio/sfx/enemy_balos_rolling.ogg" id="94_i3hgg"] [ext_resource type="Texture2D" uid="uid://dh0upso5h2agw" path="res://src/vfx/Enemy/ballos_SPELL.png" id="95_o6ljw"] [ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="96_i3hgg"] [ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="97_i3hgg"] @@ -1527,4 +1528,8 @@ libraries = { &"": SubResource("AnimationLibrary_tamk8") } -[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +stream = ExtResource("94_i3hgg") +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/Chariot.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/Chariot.tscn index 02f93c7f..5d67096b 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/Chariot.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/Chariot.tscn @@ -1,10 +1,14 @@ -[gd_scene load_steps=10 format=3 uid="uid://dlw5cvutvypxn"] +[gd_scene load_steps=14 format=3 uid="uid://dlw5cvutvypxn"] [ext_resource type="Script" uid="uid://djx5x5bhkku85" path="res://src/enemy/enemy_types/06. chariot/Chariot.cs" id="1_q1q0f"] [ext_resource type="PackedScene" uid="uid://dcm53j3rncxdm" path="res://src/enemy/enemy_types/06. chariot/ChariotModelView.tscn" id="3_q1q0f"] [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_ee8v4"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_uv8in"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_582pa"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_cfqmf"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_jemva"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_ave6n"] +[ext_resource type="AudioStream" uid="uid://daye7334d7rfe" path="res://src/audio/sfx/ENEMY_CHARIOT_DEATH.ogg" id="9_cfqmf"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 1.0 @@ -83,3 +87,29 @@ _acquireTargetTime = 2.0 unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_582pa") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_jemva") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_ave6n") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_cfqmf") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/ChariotModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/ChariotModelView.tscn index b8b715c0..73b736b0 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/ChariotModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/ChariotModelView.tscn @@ -8093,3 +8093,8 @@ root_node = NodePath("../AnimatedSprite3D") libraries = { &"": SubResource("AnimationLibrary_q8n6h") } + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/Chinthe.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/Chinthe.tscn index 2863c48e..8968dbb3 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/Chinthe.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/Chinthe.tscn @@ -1,10 +1,13 @@ -[gd_scene load_steps=11 format=3 uid="uid://c6tqt27ql8s35"] +[gd_scene load_steps=14 format=3 uid="uid://c6tqt27ql8s35"] [ext_resource type="Script" uid="uid://fwtjthix6awv" path="res://src/enemy/enemy_types/07. chinthe/Chinthe.cs" id="1_120m2"] [ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="3_567xa"] [ext_resource type="PackedScene" uid="uid://byd7cwxq1be6f" path="res://src/enemy/enemy_types/07. chinthe/ChintheModelView.tscn" id="3_ncr2e"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_24q6i"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="6_t7elt"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="7_24q6i"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_q6h01"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_a4ku4"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -84,3 +87,28 @@ _acquireTargetTime = 2.0 unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_24q6i") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_q6h01") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_a4ku4") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheModelView.tscn index 06a0b398..341369db 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheModelView.tscn @@ -3569,3 +3569,8 @@ draw_pass_1 = SubResource("SphereMesh_xu4hf") [node name="Chinthe SFX" type="AudioStreamPlayer3D" parent="."] max_distance = 25.0 + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheStats.tres deleted file mode 100644 index cf3b70af..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://c854s8bdil3"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_616yc"] - -[resource] -script = ExtResource("1_616yc") -CurrentHP = 55.0 -MaximumHP = 55 -CurrentAttack = 10 -CurrentDefense = 10 -MaxAttack = 10 -MaxDefense = 10 -ExpFromDefeat = 100 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/Ambassador.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/Ambassador.tscn index 11922b4e..639ab361 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/Ambassador.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/Ambassador.tscn @@ -1,10 +1,15 @@ -[gd_scene load_steps=10 format=3 uid="uid://fosk3kt7vp8d"] +[gd_scene load_steps=15 format=3 uid="uid://fosk3kt7vp8d"] [ext_resource type="Script" uid="uid://dauir5q616wyq" path="res://src/enemy/enemy_types/08a. Ambassador/Ambassador.cs" id="1_m2guv"] [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_hqy0f"] [ext_resource type="PackedScene" uid="uid://c2i8ylr3y0bri" path="res://src/enemy/enemy_types/08a. Ambassador/AmbassadorModelView.tscn" id="4_pjmem"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_gy5yi"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_7f1qq"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_sjoyv"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_e5lq0"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_qyfut"] +[ext_resource type="AudioStream" uid="uid://bu3up7dn13xyo" path="res://src/audio/sfx/enemy_ambassador_death.ogg" id="9_7f1qq"] +[ext_resource type="AudioStream" uid="uid://6aje2myxas3d" path="res://src/audio/sfx/enemy_ambassador_aggro.ogg" id="10_sjoyv"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -89,3 +94,30 @@ _acquireTargetTime = 2.0 unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_sjoyv") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_e5lq0") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_qyfut") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_7f1qq") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_sjoyv") +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorModelView.tscn index d64ecc33..ff24b459 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorModelView.tscn @@ -2054,3 +2054,8 @@ advance_expression_base_node = NodePath("..") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] bus = &"SFX" + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorStats.tres deleted file mode 100644 index 69122e20..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://bcpygpm2q5bpn"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_1vmbx"] - -[resource] -script = ExtResource("1_1vmbx") -CurrentHP = 80.0 -MaximumHP = 80 -CurrentAttack = 10 -CurrentDefense = 10 -MaxAttack = 10 -MaxDefense = 10 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorRed.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorRed.tscn index b48d16ea..d27d56a4 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorRed.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorRed.tscn @@ -1,10 +1,15 @@ -[gd_scene load_steps=10 format=3 uid="uid://c5gbaybqm4cuk"] +[gd_scene load_steps=15 format=3 uid="uid://c5gbaybqm4cuk"] [ext_resource type="Script" uid="uid://dauir5q616wyq" path="res://src/enemy/enemy_types/08a. Ambassador/Ambassador.cs" id="1_4nav4"] [ext_resource type="PackedScene" uid="uid://72lbcmp4bcx4" path="res://src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorSmallModelView.tscn" id="4_hqkeq"] [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="5_65xvc"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_a21yr"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="6_v4xmn"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="7_a21yr"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_o0cbq"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_u6pfl"] +[ext_resource type="AudioStream" uid="uid://bu3up7dn13xyo" path="res://src/audio/sfx/enemy_ambassador_death.ogg" id="9_v4xmn"] +[ext_resource type="AudioStream" uid="uid://6aje2myxas3d" path="res://src/audio/sfx/enemy_ambassador_aggro.ogg" id="10_a21yr"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -88,3 +93,30 @@ _acquireTargetTime = 2.0 unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_a21yr") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_o0cbq") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_u6pfl") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_v4xmn") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_a21yr") +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorSmallModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorSmallModelView.tscn index ac93ea7f..ec126362 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorSmallModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorSmallModelView.tscn @@ -2000,3 +2000,8 @@ advance_expression_base_node = NodePath("..") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] bus = &"SFX" + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorStats.tres deleted file mode 100644 index 5538fe40..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://doycpt2aqxnx"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_rf66x"] - -[resource] -script = ExtResource("1_rf66x") -CurrentHP = 35.0 -MaximumHP = 35 -CurrentAttack = 10 -CurrentDefense = 10 -MaxAttack = 10 -MaxDefense = 10 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteel.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteel.tscn index d70d6117..0fd58401 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteel.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteel.tscn @@ -1,10 +1,15 @@ -[gd_scene load_steps=10 format=3 uid="uid://b4oliop60eghn"] +[gd_scene load_steps=15 format=3 uid="uid://b4oliop60eghn"] [ext_resource type="Script" uid="uid://dauir5q616wyq" path="res://src/enemy/enemy_types/08a. Ambassador/Ambassador.cs" id="1_ln0kc"] [ext_resource type="PackedScene" uid="uid://lc5koiqn1sca" path="res://src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelModelView.tscn" id="4_kdt1g"] [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="5_fmnae"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_5r3ee"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="6_g5uri"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="7_5r3ee"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_6o7lk"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_3p55n"] +[ext_resource type="AudioStream" uid="uid://bu3up7dn13xyo" path="res://src/audio/sfx/enemy_ambassador_death.ogg" id="9_g5uri"] +[ext_resource type="AudioStream" uid="uid://6aje2myxas3d" path="res://src/audio/sfx/enemy_ambassador_aggro.ogg" id="10_5r3ee"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -87,3 +92,30 @@ _acquireTargetTime = 2.0 unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_5r3ee") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_6o7lk") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_3p55n") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_g5uri") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_5r3ee") +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelModelView.tscn index 20a54195..5f24b377 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelModelView.tscn @@ -2058,3 +2058,8 @@ advance_expression_base_node = NodePath("..") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.765249, 0) bus = &"SFX" + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelStats.tres deleted file mode 100644 index ef3099ce..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://dudtbfjfekkh1"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_wijuv"] - -[resource] -script = ExtResource("1_wijuv") -CurrentHP = 100.0 -MaximumHP = 100 -CurrentAttack = 10 -CurrentDefense = 10 -MaxAttack = 10 -MaxDefense = 10 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemon.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemon.tscn index f9ae69da..ea35cbd3 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemon.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemon.tscn @@ -1,10 +1,13 @@ -[gd_scene load_steps=10 format=3 uid="uid://b8ewfgcjv60es"] +[gd_scene load_steps=13 format=3 uid="uid://b8ewfgcjv60es"] [ext_resource type="Script" uid="uid://h6duv685n6eh" path="res://src/enemy/enemy_types/09. Agni/AgniDemon.cs" id="1_e2477"] [ext_resource type="PackedScene" uid="uid://bls3mcsyld4vy" path="res://src/enemy/enemy_types/09. Agni/AgniDemonModelView.tscn" id="3_tbkej"] [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_dxxe5"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_j6ob5"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_58r4a"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_j6ob5"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_58r4a"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_jvw36"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -84,3 +87,28 @@ _acquireTargetTime = 2.0 unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_j6ob5") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_58r4a") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_jvw36") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonModelView.tscn index 47a69653..f08d9dc1 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonModelView.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=370 format=3 uid="uid://bls3mcsyld4vy"] +[gd_scene load_steps=368 format=3 uid="uid://bls3mcsyld4vy"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_wl7dh"] [ext_resource type="Texture2D" uid="uid://dsu48b5hf48xl" path="res://src/enemy/enemy_types/09. Agni/animations/B/frame_000_delay-0.01s.png" id="2_pt8gl"] @@ -332,8 +332,6 @@ [ext_resource type="Texture2D" uid="uid://5f115symdsmg" path="res://src/enemy/enemy_types/09. Agni/animations/LAVA LOOP/frame_327_delay-0.01s.png" id="329_72hkg"] [ext_resource type="Texture2D" uid="uid://b6swecrctxcgy" path="res://src/enemy/enemy_types/09. Agni/animations/LAVA LOOP/frame_328_delay-0.01s.png" id="330_at3qg"] [ext_resource type="Texture2D" uid="uid://b6batijegfqfe" path="res://src/enemy/enemy_types/09. Agni/animations/LAVA LOOP/frame_329_delay-0.01s.png" id="331_610d6"] -[ext_resource type="AudioStream" uid="uid://cc7g8awtomf45" path="res://src/audio/sfx/ENEMY_AGNI_ATTACK_1.ogg" id="333_3ax4w"] -[ext_resource type="AudioStream" uid="uid://c36ewcgnjtr7g" path="res://src/audio/sfx/ENEMY_AGNI_ATTACK_2_SWING.ogg" id="334_7fjet"] [ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="334_kp6fv"] [ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="335_3ax4w"] [ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="336_7fjet"] @@ -1719,36 +1717,6 @@ tracks/1/keys = { "update": 0, "values": [0, 15] } -tracks/2/type = "audio" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("SFX") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("333_3ax4w") -}], -"times": PackedFloat32Array(0.376847) -} -tracks/2/use_blend = true -tracks/3/type = "audio" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("SFX") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("333_3ax4w") -}], -"times": PackedFloat32Array(0.597915) -} -tracks/3/use_blend = true [sub_resource type="Animation" id="Animation_dc327"] resource_name = "primary_attack_back" @@ -1778,36 +1746,6 @@ tracks/1/keys = { "update": 0, "values": [0, 15] } -tracks/2/type = "audio" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("SFX") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("333_3ax4w") -}], -"times": PackedFloat32Array(0.376847) -} -tracks/2/use_blend = true -tracks/3/type = "audio" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("SFX") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("333_3ax4w") -}], -"times": PackedFloat32Array(0.597915) -} -tracks/3/use_blend = true [sub_resource type="Animation" id="Animation_vur8v"] resource_name = "primary_attack_left" @@ -1837,36 +1775,6 @@ tracks/1/keys = { "update": 0, "values": [0, 15] } -tracks/2/type = "audio" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("SFX") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("333_3ax4w") -}], -"times": PackedFloat32Array(0.376847) -} -tracks/2/use_blend = true -tracks/3/type = "audio" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("SFX") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("333_3ax4w") -}], -"times": PackedFloat32Array(0.597915) -} -tracks/3/use_blend = true [sub_resource type="Animation" id="Animation_pa2sb"] resource_name = "primary_attack_right" @@ -1896,36 +1804,6 @@ tracks/1/keys = { "update": 0, "values": [0, 15] } -tracks/2/type = "audio" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("SFX") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("333_3ax4w") -}], -"times": PackedFloat32Array(0.376847) -} -tracks/2/use_blend = true -tracks/3/type = "audio" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("SFX") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("333_3ax4w") -}], -"times": PackedFloat32Array(0.597915) -} -tracks/3/use_blend = true [sub_resource type="Animation" id="Animation_5y02v"] resource_name = "secondary_attack" @@ -1967,21 +1845,6 @@ tracks/2/keys = { "update": 1, "values": [-1, 0] } -tracks/3/type = "audio" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("SFX") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("334_7fjet") -}], -"times": PackedFloat32Array(0.590571) -} -tracks/3/use_blend = true [sub_resource type="Animation" id="Animation_dlml7"] resource_name = "secondary_attack_back" @@ -2011,21 +1874,6 @@ tracks/1/keys = { "update": 0, "values": [0, 22] } -tracks/2/type = "audio" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("SFX") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("334_7fjet") -}], -"times": PackedFloat32Array(0.590571) -} -tracks/2/use_blend = true [sub_resource type="Animation" id="Animation_mm0yx"] resource_name = "secondary_attack_left" @@ -2067,21 +1915,6 @@ tracks/2/keys = { "update": 1, "values": [-1, 0] } -tracks/3/type = "audio" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("SFX") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("334_7fjet") -}], -"times": PackedFloat32Array(0.590571) -} -tracks/3/use_blend = true [sub_resource type="Animation" id="Animation_x32v4"] resource_name = "secondary_attack_right" @@ -2123,21 +1956,6 @@ tracks/2/keys = { "update": 1, "values": [-1, 0] } -tracks/3/type = "audio" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("SFX") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("334_7fjet") -}], -"times": PackedFloat32Array(0.590571) -} -tracks/3/use_blend = true [sub_resource type="AnimationLibrary" id="AnimationLibrary_x0ep5"] _data = { @@ -2339,6 +2157,7 @@ max_distance = 10.0 bus = &"SFX" doppler_tracking = 1 -[node name="SFX" type="AudioStreamPlayer3D" parent="."] -process_mode = 3 +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonStats.tres deleted file mode 100644 index 725b6cb1..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://2lflwab43lb0"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_ip8hu"] - -[resource] -script = ExtResource("1_ip8hu") -CurrentHP = 60.0 -MaximumHP = 60 -CurrentAttack = 10 -CurrentDefense = 10 -MaxAttack = 10 -MaxDefense = 10 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/Eden Pillar.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/Eden Pillar.tscn index c30a7b47..aaea93ad 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/Eden Pillar.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/Eden Pillar.tscn @@ -1,13 +1,16 @@ -[gd_scene load_steps=229 format=3 uid="uid://cmvimr0pvsgqy"] +[gd_scene load_steps=17 format=3 uid="uid://cmvimr0pvsgqy"] [ext_resource type="Script" uid="uid://d2m7esc5ypl7y" path="res://src/enemy/enemy_types/10. Eden Pillar/EdenPillar.cs" id="1_p8jc1"] -[ext_resource type="Script" uid="uid://cqm6u7qa8japr" path="res://src/system/Projectile.cs" id="3_5fako"] [ext_resource type="PackedScene" uid="uid://cktycana6xxtp" path="res://src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.tscn" id="3_o285m"] -[ext_resource type="Texture2D" uid="uid://bc2kcbo8hvpjo" path="res://src/vfx/Enemy/EDEN_FIREBALL.png" id="4_iu5yw"] -[ext_resource type="AudioStream" uid="uid://c0jveij17p14k" path="res://src/audio/sfx/ENEMY_EDEN_PILLAR_PROJECTILETRAVEL.ogg" id="5_nc31c"] +[ext_resource type="PackedScene" uid="uid://d2i6g73k8b8q6" path="res://src/enemy/enemy_types/10. Eden Pillar/projectile_1.tscn" id="3_t4xb3"] +[ext_resource type="PackedScene" uid="uid://e48b81yeuibd" path="res://src/enemy/enemy_types/10. Eden Pillar/projectile_2.tscn" id="4_gf6oi"] +[ext_resource type="PackedScene" uid="uid://of1sm4qwibga" path="res://src/enemy/enemy_types/10. Eden Pillar/projectile_3.tscn" id="5_tahr6"] [ext_resource type="AudioStream" uid="uid://bgvt4kqyvl5gp" path="res://src/audio/sfx/ENEMY_EDEN_FIRE.ogg" id="6_d0njh"] -[ext_resource type="Texture2D" uid="uid://f21bov0pvu84" path="res://src/vfx/Enemy/watersheet.png" id="7_iu5yw"] -[ext_resource type="Texture2D" uid="uid://w5055g8ecnea" path="res://src/vfx/Enemy/EDEN_AERO.png" id="8_gf6oi"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="9_gf6oi"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="10_tahr6"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="11_xdeci"] +[ext_resource type="AudioStream" uid="uid://kv3jvw47r2hy" path="res://src/audio/sfx/ENEMY_PILLAR_TURN.ogg" id="13_tahr6"] +[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="14_xdeci"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_p8jc1"] height = 3.08643 @@ -21,1645 +24,15 @@ radius = 0.202148 height = 3.98828 radius = 0.886719 -[sub_resource type="AtlasTexture" id="AtlasTexture_tahr6"] -atlas = ExtResource("4_iu5yw") -region = Rect2(1024, 0, 512, 502) +[sub_resource type="CylinderShape3D" id="CylinderShape3D_xdeci"] +radius = 7.98633 -[sub_resource type="AtlasTexture" id="AtlasTexture_xdeci"] -atlas = ExtResource("4_iu5yw") -region = Rect2(1536, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fa1bc"] -atlas = ExtResource("4_iu5yw") -region = Rect2(2048, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_g6ooq"] -atlas = ExtResource("4_iu5yw") -region = Rect2(2560, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_byyvj"] -atlas = ExtResource("4_iu5yw") -region = Rect2(3072, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ggg1m"] -atlas = ExtResource("4_iu5yw") -region = Rect2(3584, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_q58bf"] -atlas = ExtResource("4_iu5yw") -region = Rect2(4096, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1i765"] -atlas = ExtResource("4_iu5yw") -region = Rect2(4608, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_wafqm"] -atlas = ExtResource("4_iu5yw") -region = Rect2(5120, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xyjyi"] -atlas = ExtResource("4_iu5yw") -region = Rect2(5632, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ccyov"] -atlas = ExtResource("4_iu5yw") -region = Rect2(6144, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_72cq1"] -atlas = ExtResource("4_iu5yw") -region = Rect2(6656, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_3ch54"] -atlas = ExtResource("4_iu5yw") -region = Rect2(7168, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1ldhx"] -atlas = ExtResource("4_iu5yw") -region = Rect2(7680, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_unl0i"] -atlas = ExtResource("4_iu5yw") -region = Rect2(8192, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_hvv26"] -atlas = ExtResource("4_iu5yw") -region = Rect2(8704, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_n0uin"] -atlas = ExtResource("4_iu5yw") -region = Rect2(9216, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_rxdj4"] -atlas = ExtResource("4_iu5yw") -region = Rect2(9728, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_3dd1k"] -atlas = ExtResource("4_iu5yw") -region = Rect2(10240, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_tgphi"] -atlas = ExtResource("4_iu5yw") -region = Rect2(10752, 0, 512, 502) - -[sub_resource type="SpriteFrames" id="SpriteFrames_qfk3b"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_tahr6") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xdeci") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fa1bc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_g6ooq") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_byyvj") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ggg1m") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_q58bf") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1i765") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_wafqm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xyjyi") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ccyov") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_72cq1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_3ch54") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1ldhx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_unl0i") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_hvv26") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_n0uin") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_rxdj4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_3dd1k") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_tgphi") -}], -"loop": true, -"name": &"default", -"speed": 24.0 -}] - -[sub_resource type="SphereShape3D" id="SphereShape3D_kct8n"] - -[sub_resource type="Animation" id="Animation_xrn7e"] -resource_name = "fire" -length = 2.13334 -step = 0.0416667 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("..:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 2.125), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector3(0, 0, 0), Vector3(0, 0, 30)] -} -tracks/1/type = "audio" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("../BULLET TRAVEL") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("5_nc31c") -}], -"times": PackedFloat32Array(0.0416667) -} -tracks/1/use_blend = true -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("../ProjectileHitbox:monitoring") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0, 0.0333333, 2.125), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 1, -"values": [false, true, false] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath(".:visible") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0, 0.0333333, 2.125), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 1, -"values": [false, true, false] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("%Projectile1/Bullet/AnimatedSprite3D:animation") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"default"] -} -tracks/5/type = "audio" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("%Projectile3/../BLAST") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("6_d0njh") -}], -"times": PackedFloat32Array(0) -} -tracks/5/use_blend = true - -[sub_resource type="Animation" id="Animation_8qeb2"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("..:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector3(0, 0, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("../ProjectileHitbox:monitoring") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath(".:visible") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("%Projectile1/Bullet/AnimatedSprite3D:animation") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"default"] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_q8n6h"] -_data = { -&"Fire": SubResource("Animation_xrn7e"), -&"RESET": SubResource("Animation_8qeb2") -} - -[sub_resource type="AtlasTexture" id="AtlasTexture_nc31c"] -atlas = ExtResource("7_iu5yw") -region = Rect2(414, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_d0njh"] -atlas = ExtResource("7_iu5yw") -region = Rect2(828, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_t4xb3"] -atlas = ExtResource("7_iu5yw") -region = Rect2(1242, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gf6oi"] -atlas = ExtResource("7_iu5yw") -region = Rect2(1656, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_qfk3b"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2070, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_epyy8"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2484, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_s4ne2"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2898, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ae3ee"] -atlas = ExtResource("7_iu5yw") -region = Rect2(3312, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_3lntq"] -atlas = ExtResource("7_iu5yw") -region = Rect2(3726, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vlsab"] -atlas = ExtResource("7_iu5yw") -region = Rect2(4140, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ap46q"] -atlas = ExtResource("7_iu5yw") -region = Rect2(4554, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2j0d2"] -atlas = ExtResource("7_iu5yw") -region = Rect2(4968, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ufubs"] -atlas = ExtResource("7_iu5yw") -region = Rect2(5382, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1prl7"] -atlas = ExtResource("7_iu5yw") -region = Rect2(5796, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_kkds3"] -atlas = ExtResource("7_iu5yw") -region = Rect2(6210, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_0lybu"] -atlas = ExtResource("7_iu5yw") -region = Rect2(6624, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7whtn"] -atlas = ExtResource("7_iu5yw") -region = Rect2(7038, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_iubf0"] -atlas = ExtResource("7_iu5yw") -region = Rect2(7452, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_stov8"] -atlas = ExtResource("7_iu5yw") -region = Rect2(7866, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_o45y3"] -atlas = ExtResource("7_iu5yw") -region = Rect2(8280, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_8l1oq"] -atlas = ExtResource("7_iu5yw") -region = Rect2(8694, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_66xhm"] -atlas = ExtResource("7_iu5yw") -region = Rect2(9108, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bcurx"] -atlas = ExtResource("7_iu5yw") -region = Rect2(9522, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7scby"] -atlas = ExtResource("7_iu5yw") -region = Rect2(9936, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4bng3"] -atlas = ExtResource("7_iu5yw") -region = Rect2(10350, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ond1d"] -atlas = ExtResource("7_iu5yw") -region = Rect2(10764, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_n5fit"] -atlas = ExtResource("7_iu5yw") -region = Rect2(11178, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ls6p2"] -atlas = ExtResource("7_iu5yw") -region = Rect2(11592, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_283o8"] -atlas = ExtResource("7_iu5yw") -region = Rect2(12006, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_mpucc"] -atlas = ExtResource("7_iu5yw") -region = Rect2(12420, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_uc1qt"] -atlas = ExtResource("7_iu5yw") -region = Rect2(12834, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ru8ov"] -atlas = ExtResource("7_iu5yw") -region = Rect2(0, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xknqr"] -atlas = ExtResource("7_iu5yw") -region = Rect2(414, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_j5v31"] -atlas = ExtResource("7_iu5yw") -region = Rect2(828, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_en4u6"] -atlas = ExtResource("7_iu5yw") -region = Rect2(1242, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_io5ic"] -atlas = ExtResource("7_iu5yw") -region = Rect2(1656, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_la7jn"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2070, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_aprwe"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2484, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bjcvx"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2898, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_m6grv"] -atlas = ExtResource("7_iu5yw") -region = Rect2(3312, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_p5nk1"] -atlas = ExtResource("7_iu5yw") -region = Rect2(3726, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vtlyl"] -atlas = ExtResource("7_iu5yw") -region = Rect2(4140, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_krnds"] -atlas = ExtResource("7_iu5yw") -region = Rect2(4554, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_e41fr"] -atlas = ExtResource("7_iu5yw") -region = Rect2(4968, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_qfmrt"] -atlas = ExtResource("7_iu5yw") -region = Rect2(5382, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gx33b"] -atlas = ExtResource("7_iu5yw") -region = Rect2(5796, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gb8l4"] -atlas = ExtResource("7_iu5yw") -region = Rect2(6210, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_f2xl7"] -atlas = ExtResource("7_iu5yw") -region = Rect2(6624, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_dafv6"] -atlas = ExtResource("7_iu5yw") -region = Rect2(7038, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_r10xa"] -atlas = ExtResource("7_iu5yw") -region = Rect2(7452, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_mfrkm"] -atlas = ExtResource("7_iu5yw") -region = Rect2(7866, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_kjww1"] -atlas = ExtResource("7_iu5yw") -region = Rect2(8280, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_8b54y"] -atlas = ExtResource("7_iu5yw") -region = Rect2(8694, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vphfl"] -atlas = ExtResource("7_iu5yw") -region = Rect2(9108, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_tqm3c"] -atlas = ExtResource("7_iu5yw") -region = Rect2(9522, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_lkkr8"] -atlas = ExtResource("7_iu5yw") -region = Rect2(9936, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7qoig"] -atlas = ExtResource("7_iu5yw") -region = Rect2(10350, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_p5yh0"] -atlas = ExtResource("7_iu5yw") -region = Rect2(10764, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_a5060"] -atlas = ExtResource("7_iu5yw") -region = Rect2(11178, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_w2v4d"] -atlas = ExtResource("7_iu5yw") -region = Rect2(11592, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fkrk4"] -atlas = ExtResource("7_iu5yw") -region = Rect2(12006, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xfsjx"] -atlas = ExtResource("7_iu5yw") -region = Rect2(12420, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_g03gd"] -atlas = ExtResource("7_iu5yw") -region = Rect2(12834, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vs1dl"] -atlas = ExtResource("7_iu5yw") -region = Rect2(0, 814, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_5nevj"] -atlas = ExtResource("7_iu5yw") -region = Rect2(414, 814, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_e5y28"] -atlas = ExtResource("7_iu5yw") -region = Rect2(828, 814, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ggenl"] -atlas = ExtResource("7_iu5yw") -region = Rect2(1242, 814, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_kugry"] -atlas = ExtResource("7_iu5yw") -region = Rect2(1656, 814, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_77yio"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2070, 814, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_msbdd"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2484, 814, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_nd17a"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2898, 814, 414, 407) - -[sub_resource type="SpriteFrames" id="SpriteFrames_sqw6w"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_nc31c") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_d0njh") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_t4xb3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gf6oi") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_qfk3b") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_epyy8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_s4ne2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ae3ee") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_3lntq") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vlsab") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ap46q") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2j0d2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ufubs") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1prl7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_kkds3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_0lybu") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_7whtn") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_iubf0") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_stov8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_o45y3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_8l1oq") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_66xhm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bcurx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_7scby") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4bng3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ond1d") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_n5fit") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ls6p2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_283o8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_mpucc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_uc1qt") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ru8ov") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xknqr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_j5v31") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_en4u6") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_io5ic") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_la7jn") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_aprwe") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bjcvx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_m6grv") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_p5nk1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vtlyl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_krnds") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_e41fr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_qfmrt") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gx33b") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gb8l4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_f2xl7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_dafv6") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_r10xa") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_mfrkm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_kjww1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_8b54y") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vphfl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_tqm3c") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_lkkr8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_7qoig") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_p5yh0") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_a5060") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_w2v4d") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fkrk4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xfsjx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_g03gd") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vs1dl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_5nevj") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_e5y28") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ggenl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_kugry") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_77yio") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_msbdd") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_nd17a") -}], -"loop": true, -"name": &"default", -"speed": 24.0 -}] - -[sub_resource type="AtlasTexture" id="AtlasTexture_okqig"] -atlas = ExtResource("8_gf6oi") -region = Rect2(256, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_l5xbl"] -atlas = ExtResource("8_gf6oi") -region = Rect2(512, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6oxbo"] -atlas = ExtResource("8_gf6oi") -region = Rect2(768, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2cug7"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1024, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4ivyc"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1280, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_h6net"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1536, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_qttxr"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1792, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vrfe3"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2048, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_8vskp"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2304, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_v736k"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2560, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_v8fei"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2816, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_5mvim"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3072, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bxq2e"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3328, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_w7wbb"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3584, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1v0wf"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3840, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_d7jyw"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4096, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vme0y"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4352, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1gq26"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4608, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_htj02"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4864, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_beua4"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5120, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gelrx"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5376, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_5weok"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5632, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_u3cl3"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5888, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_aaygb"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6144, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_rng8d"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6400, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_jigs2"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6656, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_icafr"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6912, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2hljj"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7168, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_y03bg"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7424, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ahy42"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7680, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_nyi5w"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7936, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_mg51e"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8192, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_i2my7"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8448, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_hna3u"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8704, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_sldmi"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8960, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_flp6m"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9216, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bf5v6"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9472, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_samc6"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9728, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_tixfw"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9984, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_etpwm"] -atlas = ExtResource("8_gf6oi") -region = Rect2(10240, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_jli65"] -atlas = ExtResource("8_gf6oi") -region = Rect2(10496, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_68dke"] -atlas = ExtResource("8_gf6oi") -region = Rect2(10752, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_iyvmf"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11008, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_oo5vp"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11264, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_sxmae"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11520, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_66xds"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11776, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_10dnw"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12032, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gwg3k"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12288, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xbhy1"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12544, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_k38ir"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12800, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_cd8f4"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13056, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_l3h6f"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13312, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_myng8"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13568, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_to5bb"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13824, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_hkpkl"] -atlas = ExtResource("8_gf6oi") -region = Rect2(14080, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_g0j4y"] -atlas = ExtResource("8_gf6oi") -region = Rect2(14336, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ak6k7"] -atlas = ExtResource("8_gf6oi") -region = Rect2(14592, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bp4ov"] -atlas = ExtResource("8_gf6oi") -region = Rect2(14848, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_658xg"] -atlas = ExtResource("8_gf6oi") -region = Rect2(15104, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fbmbe"] -atlas = ExtResource("8_gf6oi") -region = Rect2(15360, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_hkls5"] -atlas = ExtResource("8_gf6oi") -region = Rect2(15616, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_tvap8"] -atlas = ExtResource("8_gf6oi") -region = Rect2(15872, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_67m1c"] -atlas = ExtResource("8_gf6oi") -region = Rect2(16128, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bxqys"] -atlas = ExtResource("8_gf6oi") -region = Rect2(0, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_w4bnl"] -atlas = ExtResource("8_gf6oi") -region = Rect2(256, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gxqg3"] -atlas = ExtResource("8_gf6oi") -region = Rect2(512, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_pcumw"] -atlas = ExtResource("8_gf6oi") -region = Rect2(768, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_tus1t"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1024, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_8pptg"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1280, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_s6dvc"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1536, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_uv040"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1792, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_i64l1"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2048, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fqhkx"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2304, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1ljbx"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2560, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_lhi4l"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2816, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4wges"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3072, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4sgio"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3328, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ito1g"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3584, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_cpwxr"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3840, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_p1fwl"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4096, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_cdvkl"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4352, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_wpj5u"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4608, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_0x44a"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4864, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ijs33"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5120, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_na5up"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5376, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6kx2h"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5632, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_eakun"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5888, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_rx812"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6144, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_w4y0f"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6400, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_w1gyw"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6656, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_lrjdk"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6912, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_p6y0v"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7168, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_a2cqm"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7424, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7lkf4"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7680, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_07kus"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7936, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_h7xtp"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8192, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_dbrmg"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8448, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2jrrr"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8704, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_rkoi2"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8960, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_o8ivu"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9216, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6kmfo"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9472, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_iyo11"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9728, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xmwnt"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9984, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7jhny"] -atlas = ExtResource("8_gf6oi") -region = Rect2(10240, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_uw7dc"] -atlas = ExtResource("8_gf6oi") -region = Rect2(10496, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4u665"] -atlas = ExtResource("8_gf6oi") -region = Rect2(10752, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fvfy2"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11008, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_oeabt"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11264, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vh736"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11520, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2p1wx"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11776, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_hv6e3"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12032, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_l20x8"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12288, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ce3r7"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12544, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ysw4o"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12800, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_j885m"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13056, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_v05tc"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13312, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_64j7e"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13568, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vqlpt"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13824, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2iaor"] -atlas = ExtResource("8_gf6oi") -region = Rect2(14080, 256, 256, 256) - -[sub_resource type="SpriteFrames" id="SpriteFrames_cu72w"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_okqig") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_l5xbl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_6oxbo") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2cug7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4ivyc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_h6net") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_qttxr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vrfe3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_8vskp") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_v736k") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_v8fei") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_5mvim") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bxq2e") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_w7wbb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1v0wf") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_d7jyw") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vme0y") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1gq26") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_htj02") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_beua4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gelrx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_5weok") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_u3cl3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_aaygb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_rng8d") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_jigs2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_icafr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2hljj") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_y03bg") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ahy42") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_nyi5w") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_mg51e") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_i2my7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_hna3u") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_sldmi") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_flp6m") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bf5v6") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_samc6") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_tixfw") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_etpwm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_jli65") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_68dke") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_iyvmf") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_oo5vp") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_sxmae") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_66xds") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_10dnw") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gwg3k") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xbhy1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_k38ir") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_cd8f4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_l3h6f") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_myng8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_to5bb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_hkpkl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_g0j4y") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ak6k7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bp4ov") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_658xg") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fbmbe") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_hkls5") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_tvap8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_67m1c") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bxqys") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_w4bnl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gxqg3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_pcumw") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_tus1t") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_8pptg") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_s6dvc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_uv040") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_i64l1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fqhkx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1ljbx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_lhi4l") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4wges") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4sgio") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ito1g") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_cpwxr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_p1fwl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_cdvkl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_wpj5u") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_0x44a") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ijs33") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_na5up") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_6kx2h") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_eakun") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_rx812") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_w4y0f") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_w1gyw") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_lrjdk") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_p6y0v") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_a2cqm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_7lkf4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_07kus") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_h7xtp") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_dbrmg") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2jrrr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_rkoi2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_o8ivu") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_6kmfo") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_iyo11") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xmwnt") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_7jhny") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_uw7dc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4u665") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fvfy2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_oeabt") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vh736") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2p1wx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_hv6e3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_l20x8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ce3r7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ysw4o") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_j885m") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_v05tc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_64j7e") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vqlpt") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2iaor") -}], -"loop": true, -"name": &"default", -"speed": 24.0 -}] +[sub_resource type="CylinderShape3D" id="CylinderShape3D_t4xb3"] +radius = 20.0 [node name="Eden Pillar" type="CharacterBody3D"] collision_layer = 10 -collision_mask = 3 +collision_mask = 0 script = ExtResource("1_p8jc1") [node name="CollisionShape" type="CollisionShape3D" parent="."] @@ -1703,105 +76,69 @@ collision_mask = 3 [node name="Rotation" type="Node3D" parent="."] unique_name_in_owner = true -[node name="Projectile1" type="Node3D" parent="."] +[node name="Projectile1" parent="." instance=ExtResource("3_t4xb3")] unique_name_in_owner = true -script = ExtResource("3_5fako") -[node name="Bullet" type="Node3D" parent="Projectile1"] - -[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Projectile1/Bullet"] -transform = Transform3D(0.45, 0, 0, 0, 0.45, 0, 0, 0, 0.45, 0, 1.195, 0) -visible = false -offset = Vector2(0, 150) -billboard = 1 -sprite_frames = SubResource("SpriteFrames_qfk3b") -autoplay = "default" -frame_progress = 0.369929 - -[node name="ProjectileHitbox" type="Area3D" parent="Projectile1/Bullet"] +[node name="Projectile2" parent="." instance=ExtResource("4_gf6oi")] unique_name_in_owner = true -collision_layer = 0 -collision_mask = 64 -monitoring = false -[node name="CollisionShape3D" type="CollisionShape3D" parent="Projectile1/Bullet/ProjectileHitbox"] -shape = SubResource("SphereShape3D_kct8n") +[node name="Projectile3" parent="." instance=ExtResource("5_tahr6")] +unique_name_in_owner = true -[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Projectile1/Bullet"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.983215, 0) -max_distance = 35.0 +[node name="SFX" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +stream = ExtResource("9_gf6oi") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +stream = ExtResource("10_tahr6") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +stream = ExtResource("11_xdeci") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +bus = &"SFX" + +[node name="StoneRotation" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +stream = ExtResource("13_tahr6") + +[node name="FireSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +transform = Transform3D(1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 0, 0, 0) +stream = ExtResource("6_d0njh") max_polyphony = 3 -[node name="AnimationPlayer" type="AnimationPlayer" parent="Projectile1/Bullet"] +[node name="Components" type="Node3D" parent="."] + +[node name="EngagePlayerBehavior" parent="Components" instance=ExtResource("14_xdeci")] unique_name_in_owner = true -root_node = NodePath("../AnimatedSprite3D") -libraries = { -&"": SubResource("AnimationLibrary_q8n6h") -} +_minimumAttackTime = 10.0 +_maximumAttackTime = 15.0 -[node name="Projectile2" type="Node3D" parent="."] +[node name="PlayerDetector" type="Area3D" parent="."] unique_name_in_owner = true -transform = Transform3D(-0.529919, 0, 0.848048, 0, 1, 0, -0.848048, 0, -0.529919, 0, 0, 0) -script = ExtResource("3_5fako") - -[node name="Bullet" type="Node3D" parent="Projectile2"] - -[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Projectile2/Bullet"] -transform = Transform3D(0.31, 0, 1.53979e-08, 0, 0.31, 0, -1.53979e-08, 0, 0.31, 0, 1.391, 0) -visible = false -offset = Vector2(0, 150) -billboard = 1 -sprite_frames = SubResource("SpriteFrames_sqw6w") -autoplay = "default" -frame_progress = 0.973103 - -[node name="ProjectileHitbox" type="Area3D" parent="Projectile2/Bullet"] collision_layer = 0 -collision_mask = 64 -monitoring = false +collision_mask = 32 -[node name="CollisionShape3D" type="CollisionShape3D" parent="Projectile2/Bullet/ProjectileHitbox"] -shape = SubResource("SphereShape3D_kct8n") +[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetector"] +shape = SubResource("CylinderShape3D_xdeci") -[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Projectile2/Bullet"] - -[node name="AnimationPlayer" type="AnimationPlayer" parent="Projectile2/Bullet"] -root_node = NodePath("../AnimatedSprite3D") -libraries = { -&"": SubResource("AnimationLibrary_q8n6h") -} - -[node name="Projectile3" type="Node3D" parent="."] +[node name="LoseTrackOfPlayer" type="Area3D" parent="."] unique_name_in_owner = true -transform = Transform3D(-0.529919, 0, -0.848048, 0, 1, 0, 0.848048, 0, -0.529919, 0, 0, 0) -script = ExtResource("3_5fako") - -[node name="Bullet" type="Node3D" parent="Projectile3"] - -[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Projectile3/Bullet"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.26, 0) -visible = false -offset = Vector2(0, 150) -billboard = 1 -sprite_frames = SubResource("SpriteFrames_cu72w") -autoplay = "default" -frame_progress = 0.897082 - -[node name="ProjectileHitbox" type="Area3D" parent="Projectile3/Bullet"] collision_layer = 0 -collision_mask = 64 -monitoring = false +collision_mask = 32 -[node name="CollisionShape3D" type="CollisionShape3D" parent="Projectile3/Bullet/ProjectileHitbox"] -shape = SubResource("SphereShape3D_kct8n") - -[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Projectile3/Bullet"] - -[node name="AnimationPlayer" type="AnimationPlayer" parent="Projectile3/Bullet"] -root_node = NodePath("../AnimatedSprite3D") -libraries = { -&"": SubResource("AnimationLibrary_q8n6h") -} - -[node name="BLAST" type="AudioStreamPlayer3D" parent="."] -max_polyphony = 3 +[node name="CollisionShape3D" type="CollisionShape3D" parent="LoseTrackOfPlayer"] +shape = SubResource("CylinderShape3D_t4xb3") diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillar.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillar.cs index ab7920fd..3660a15c 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillar.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillar.cs @@ -8,7 +8,7 @@ using Zennysoft.Ma.Adapter; namespace Zennysoft.Game.Ma; [Meta(typeof(IAutoNode))] -public partial class EdenPillar : Enemy3D, IHasPrimaryAttack, IHasSecondaryAttack, IHasTertiaryAttack +public partial class EdenPillar : Enemy3D, IHasPrimaryAttack, IHasSecondaryAttack, IHasTertiaryAttack, IHaveEngagePlayerBehavior { public override void _Notification(int what) => this.Notify(what); @@ -32,70 +32,123 @@ public partial class EdenPillar : Enemy3D, IHasPrimaryAttack, IHasSecondaryAttac [Node] private Node3D _rotation { get; set; } = default!; + [Node] private AudioStreamPlayer3D StoneRotation { get; set; } = default!; + + [Node] private AudioStreamPlayer3D FireSFX { get; set; } = default!; + + [Node] public Area3D PlayerDetector { get; set; } = default!; + + [Node] public Area3D LoseTrackOfPlayer { get; set; } = default!; + + [Node] public EngagePlayerBehavior EngagePlayerBehavior { get; set; } = default!; + + private float _primaryAngle = 0; private float _secondaryAngle = -122; private float _tertiaryAngle = 122; private float _targetAngle; + public void OnReady() + { + PlayerDetector.BodyEntered += PlayerDetector_BodyEntered; + LoseTrackOfPlayer.BodyExited += LoseTrackOfPlayer_BodyExited; + EngagePlayerBehavior.TakeAction += PerformAction; + HealthComponent.HealthReachedZero += HealthComponent_HealthReachedZero; + } + + private void LoseTrackOfPlayer_BodyExited(Node3D body) => EngagePlayerBehavior.Disengage(); + + private void HealthComponent_HealthReachedZero() + { + StoneRotation.Stop(); + } + + private void PlayerDetector_BodyEntered(Node3D body) + { + EngagePlayerBehavior.Engage(); + } + public override void PerformAction() { - var rng = new RandomNumberGenerator(); - var options = new List() { PrimaryAttack, SecondaryAttack, TertiaryAttack }; - var selection = rng.RandWeighted([1, 1, 1]); - options[(int)selection].Invoke(); + var rng = new RandomNumberGenerator(); + var options = new List() { PrimaryAttack, SecondaryAttack, TertiaryAttack }; + var selection = rng.RandWeighted([1, 1, 1]); + options[(int)selection].Invoke(); } public void PrimaryAttack() { - var rotationAngle = GetRotationAngle(Mathf.DegToRad(_primaryAngle)); - var tweener = GetTree().CreateTween(); - tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f); - tweener.TweenCallback(Callable.From(FirePrimaryShot)); + var rotationAngle = GetRotationAngle(Mathf.DegToRad(_primaryAngle)); + if (!StoneRotation.Playing && !Mathf.IsEqualApprox(Rotation.Y, rotationAngle)) + StoneRotation.Play(); + var tweener = GetTree().CreateTween(); + tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f); + tweener.TweenCallback(Callable.From(FirePrimaryShot)); } public void SecondaryAttack() { - var rotationAngle = GetRotationAngle(Mathf.DegToRad(_secondaryAngle)); - var tweener = GetTree().CreateTween(); - tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f); - tweener.TweenCallback(Callable.From(FireSecondaryShot)); + var rotationAngle = GetRotationAngle(Mathf.DegToRad(_secondaryAngle)); + if (!StoneRotation.Playing && !Mathf.IsEqualApprox(Rotation.Y, rotationAngle)) + StoneRotation.Play(); + var tweener = GetTree().CreateTween(); + tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f); + tweener.TweenCallback(Callable.From(FireSecondaryShot)); } public void TertiaryAttack() { - var rotationAngle = GetRotationAngle(Mathf.DegToRad(_tertiaryAngle)); - var tweener = GetTree().CreateTween(); - tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f); - tweener.TweenCallback(Callable.From(FireTertiaryShot)); + var rotationAngle = GetRotationAngle(Mathf.DegToRad(_tertiaryAngle)); + if (!StoneRotation.Playing && !Mathf.IsEqualApprox(Rotation.Y, rotationAngle)) + StoneRotation.Play(); + var tweener = GetTree().CreateTween(); + tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f); + tweener.TweenCallback(Callable.From(FireTertiaryShot)); } private void FirePrimaryShot() { - GD.Print("Fire primary shot"); - Projectile1.Fire(); + if (HealthComponent.CurrentHP.Value <= 0) + return; + StoneRotation.Stop(); + FireSFX.Play(); + GD.Print("Fire primary shot"); + Projectile1.Fire(); } private void FireSecondaryShot() { - GD.Print("Fire secondary shot"); - Projectile2.Fire(); + if (HealthComponent.CurrentHP.Value <= 0) + return; + StoneRotation.Stop(); + FireSFX.Play(); + GD.Print("Fire secondary shot"); + Projectile2.Fire(); } private void FireTertiaryShot() { - GD.Print("Fire tertiary shot"); - Projectile3.Fire(); + if (HealthComponent.CurrentHP.Value <= 0) + return; + StoneRotation.Stop(); + FireSFX.Play(); + GD.Print("Fire tertiary shot"); + Projectile3.Fire(); } private float GetRotationAngle(float angleOffsetInRadians) { - var target = new Vector3(_player.GlobalPosition.X, Position.Y, _player.GlobalPosition.Z); - _rotation.LookAt(target, Vector3.Up, true); - _rotation.RotateY(Rotation.Y + angleOffsetInRadians); - return _rotation.Rotation.Y; + var target = new Vector3(_player.GlobalPosition.X, Position.Y, _player.GlobalPosition.Z); + _rotation.LookAt(target, Vector3.Up, true); + _rotation.RotateY(Rotation.Y + angleOffsetInRadians); + return _rotation.Rotation.Y; } - private void RotateTowardsPlayer(float angle) => Rotation = new Vector3(Rotation.X, angle, Rotation.Z); - + private void RotateTowardsPlayer(float angle) + { + if (HealthComponent.CurrentHP.Value <= 0) + return; + Rotation = new Vector3(Rotation.X, angle, Rotation.Z); + } } diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs new file mode 100644 index 00000000..a7b4d3dc --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs @@ -0,0 +1,24 @@ +using Chickensoft.AutoInject; +using Chickensoft.Introspection; +using Zennysoft.Game.Ma; + +[Meta(typeof(IAutoNode))] +public partial class EdenPillarModelView : EnemyModelView3D +{ + public override void _Notification(int what) => this.Notify(what); + + public new void OnReady() + { + + } + + public override void PlayHitAnimation() + { + _animationPlayer.Play("take_damage"); + } + + public override void PlayDeathAnimation() + { + _animationPlayer.Play("defeated"); + } +} diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs.uid b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs.uid new file mode 100644 index 00000000..d45c7ab3 --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs.uid @@ -0,0 +1 @@ +uid://2kqcur5c32dr diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.tscn index 6a4cd3f8..17449712 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=22 format=4 uid="uid://cktycana6xxtp"] [ext_resource type="Texture2D" uid="uid://cvst7yhbw0sxt" path="res://src/enemy/enemy_types/10. Eden Pillar/model/PILLAR EXPORT 1_ENEMY_PILLAR_TEXTURE2.jpg" id="1_1kpl1"] -[ext_resource type="Script" uid="uid://ckv5dmrw6pvn6" path="res://src/enemy/EnemyModelView3D.cs" id="1_11eq8"] +[ext_resource type="Script" uid="uid://2kqcur5c32dr" path="res://src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs" id="1_qhmtu"] [ext_resource type="Texture2D" uid="uid://bnbveonobhyhc" path="res://src/enemy/enemy_types/10. Eden Pillar/model/PILLAR EXPORT 1_cannon_edge.png" id="2_11eq8"] [ext_resource type="Material" uid="uid://brwu51ylevbmg" path="res://src/enemy/BossHit.tres" id="2_xf2ga"] [ext_resource type="Texture2D" uid="uid://by7k6crx6fmpv" path="res://src/enemy/enemy_types/10. Eden Pillar/model/PILLAR EXPORT 1_floral_single_tile.jpg" id="3_oxjs8"] @@ -237,9 +237,6 @@ tracks/1/keys = { "values": [ExtResource("2_xf2ga")] } -[sub_resource type="Animation" id="Animation_6jr7s"] -resource_name = "primary_attack" - [sub_resource type="Animation" id="Animation_xf2ga"] resource_name = "take_damage" length = 0.250008 @@ -285,13 +282,14 @@ tracks/2/keys = { _data = { &"RESET": SubResource("Animation_qhmtu"), &"defeated": SubResource("Animation_mi284"), -&"primary_attack": SubResource("Animation_6jr7s"), &"take_damage": SubResource("Animation_xf2ga") } +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_qhmtu"] + [node name="EdenPillarModelView" type="Node3D"] transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0, 0) -script = ExtResource("1_11eq8") +script = ExtResource("1_qhmtu") [node name="MeshInstance" type="MeshInstance3D" parent="."] unique_name_in_owner = true @@ -299,12 +297,19 @@ transform = Transform3D(-2.29567e-08, 0.525188, 0.290134, -0.6, -2.62268e-08, 0, mesh = SubResource("ArrayMesh_8pgwy") skeleton = NodePath("") +[node name="Firing" type="AudioStreamPlayer3D" parent="."] + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" + [node name="AnimationPlayer" type="AnimationPlayer" parent="."] unique_name_in_owner = true libraries = { &"": SubResource("AnimationLibrary_mi284") } -[node name="Stone Rotation" type="AudioStreamPlayer3D" parent="."] - -[node name="Firing" type="AudioStreamPlayer3D" parent="."] +[node name="AnimationTree" type="AnimationTree" parent="."] +unique_name_in_owner = true +tree_root = SubResource("AnimationNodeStateMachine_qhmtu") diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_1.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_1.tscn new file mode 100644 index 00000000..d8eee57f --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_1.tscn @@ -0,0 +1,301 @@ +[gd_scene load_steps=31 format=3 uid="uid://d2i6g73k8b8q6"] + +[ext_resource type="Script" uid="uid://cqm6u7qa8japr" path="res://src/system/Projectile.cs" id="1_120b0"] +[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_120b0"] +[ext_resource type="Texture2D" uid="uid://bc2kcbo8hvpjo" path="res://src/vfx/Enemy/EDEN_FIREBALL.png" id="2_yk5wk"] +[ext_resource type="AudioStream" uid="uid://c0jveij17p14k" path="res://src/audio/sfx/ENEMY_EDEN_PILLAR_PROJECTILETRAVEL.ogg" id="3_c2pmi"] + +[sub_resource type="Resource" id="Resource_yk5wk"] +script = ExtResource("2_120b0") +Damage = 10 +ElementType = 4 +metadata/_custom_type_script = "uid://ctshiyffvt4y5" + +[sub_resource type="AtlasTexture" id="AtlasTexture_tahr6"] +atlas = ExtResource("2_yk5wk") +region = Rect2(1024, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xdeci"] +atlas = ExtResource("2_yk5wk") +region = Rect2(1536, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fa1bc"] +atlas = ExtResource("2_yk5wk") +region = Rect2(2048, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g6ooq"] +atlas = ExtResource("2_yk5wk") +region = Rect2(2560, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_byyvj"] +atlas = ExtResource("2_yk5wk") +region = Rect2(3072, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ggg1m"] +atlas = ExtResource("2_yk5wk") +region = Rect2(3584, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q58bf"] +atlas = ExtResource("2_yk5wk") +region = Rect2(4096, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1i765"] +atlas = ExtResource("2_yk5wk") +region = Rect2(4608, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wafqm"] +atlas = ExtResource("2_yk5wk") +region = Rect2(5120, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xyjyi"] +atlas = ExtResource("2_yk5wk") +region = Rect2(5632, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ccyov"] +atlas = ExtResource("2_yk5wk") +region = Rect2(6144, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_72cq1"] +atlas = ExtResource("2_yk5wk") +region = Rect2(6656, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3ch54"] +atlas = ExtResource("2_yk5wk") +region = Rect2(7168, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1ldhx"] +atlas = ExtResource("2_yk5wk") +region = Rect2(7680, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_unl0i"] +atlas = ExtResource("2_yk5wk") +region = Rect2(8192, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hvv26"] +atlas = ExtResource("2_yk5wk") +region = Rect2(8704, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n0uin"] +atlas = ExtResource("2_yk5wk") +region = Rect2(9216, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rxdj4"] +atlas = ExtResource("2_yk5wk") +region = Rect2(9728, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3dd1k"] +atlas = ExtResource("2_yk5wk") +region = Rect2(10240, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tgphi"] +atlas = ExtResource("2_yk5wk") +region = Rect2(10752, 0, 512, 502) + +[sub_resource type="SpriteFrames" id="SpriteFrames_qfk3b"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_tahr6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xdeci") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fa1bc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_g6ooq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_byyvj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ggg1m") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q58bf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1i765") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wafqm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xyjyi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ccyov") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_72cq1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3ch54") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1ldhx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_unl0i") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hvv26") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n0uin") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rxdj4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3dd1k") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tgphi") +}], +"loop": true, +"name": &"default", +"speed": 24.0 +}] + +[sub_resource type="SphereShape3D" id="SphereShape3D_kct8n"] + +[sub_resource type="Animation" id="Animation_xrn7e"] +resource_name = "fire" +length = 2.13334 +step = 0.0416667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("..:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.125), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector3(0, 0, 0), Vector3(0, 0, 30)] +} +tracks/1/type = "audio" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../BULLET TRAVEL") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"clips": [{ +"end_offset": 5.41597, +"start_offset": 0.0, +"stream": ExtResource("3_c2pmi") +}], +"times": PackedFloat32Array(0.0416667) +} +tracks/1/use_blend = true +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.0333333, 2.125), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [false, true, false] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("%ProjectileHitbox/CollisionShape3D:disabled") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.0416667), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="Animation" id="Animation_8qeb2"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("..:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("%ProjectileHitbox/CollisionShape3D:disabled") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_q8n6h"] +_data = { +&"Fire": SubResource("Animation_xrn7e"), +&"RESET": SubResource("Animation_8qeb2") +} + +[node name="Projectile1" type="Node3D"] +script = ExtResource("1_120b0") +AttackData = SubResource("Resource_yk5wk") + +[node name="Bullet" type="Node3D" parent="."] + +[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Bullet"] +transform = Transform3D(0.45, 0, 0, 0, 0.45, 0, 0, 0, 0.45, 0, 1.195, 0) +visible = false +offset = Vector2(0, 150) +billboard = 1 +sprite_frames = SubResource("SpriteFrames_qfk3b") +autoplay = "default" +frame_progress = 0.369929 + +[node name="ProjectileHitbox" type="Area3D" parent="Bullet/AnimatedSprite3D"] +unique_name_in_owner = true +transform = Transform3D(2.22222, 0, 0, 0, 2.22222, 0, 0, 0, 2.22222, 0, 1.21676, 0) +collision_layer = 0 +collision_mask = 65 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Bullet/AnimatedSprite3D/ProjectileHitbox"] +shape = SubResource("SphereShape3D_kct8n") +disabled = true + +[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Bullet"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.983215, 0) +max_distance = 35.0 +max_polyphony = 3 +bus = &"SFX" + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Bullet"] +unique_name_in_owner = true +root_node = NodePath("../AnimatedSprite3D") +libraries = { +&"": SubResource("AnimationLibrary_q8n6h") +} diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_2.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_2.tscn new file mode 100644 index 00000000..479a5e10 --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_2.tscn @@ -0,0 +1,656 @@ +[gd_scene load_steps=82 format=3 uid="uid://e48b81yeuibd"] + +[ext_resource type="Script" uid="uid://cqm6u7qa8japr" path="res://src/system/Projectile.cs" id="1_4lakg"] +[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_4lakg"] +[ext_resource type="Texture2D" uid="uid://f21bov0pvu84" path="res://src/vfx/Enemy/watersheet.png" id="2_umubt"] +[ext_resource type="AudioStream" uid="uid://c0jveij17p14k" path="res://src/audio/sfx/ENEMY_EDEN_PILLAR_PROJECTILETRAVEL.ogg" id="3_2jyax"] + +[sub_resource type="Resource" id="Resource_umubt"] +script = ExtResource("2_4lakg") +Damage = 10 +ElementType = 3 +metadata/_custom_type_script = "uid://ctshiyffvt4y5" + +[sub_resource type="AtlasTexture" id="AtlasTexture_nc31c"] +atlas = ExtResource("2_umubt") +region = Rect2(414, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d0njh"] +atlas = ExtResource("2_umubt") +region = Rect2(828, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_t4xb3"] +atlas = ExtResource("2_umubt") +region = Rect2(1242, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gf6oi"] +atlas = ExtResource("2_umubt") +region = Rect2(1656, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qfk3b"] +atlas = ExtResource("2_umubt") +region = Rect2(2070, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_epyy8"] +atlas = ExtResource("2_umubt") +region = Rect2(2484, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s4ne2"] +atlas = ExtResource("2_umubt") +region = Rect2(2898, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ae3ee"] +atlas = ExtResource("2_umubt") +region = Rect2(3312, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3lntq"] +atlas = ExtResource("2_umubt") +region = Rect2(3726, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vlsab"] +atlas = ExtResource("2_umubt") +region = Rect2(4140, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ap46q"] +atlas = ExtResource("2_umubt") +region = Rect2(4554, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2j0d2"] +atlas = ExtResource("2_umubt") +region = Rect2(4968, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ufubs"] +atlas = ExtResource("2_umubt") +region = Rect2(5382, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1prl7"] +atlas = ExtResource("2_umubt") +region = Rect2(5796, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kkds3"] +atlas = ExtResource("2_umubt") +region = Rect2(6210, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0lybu"] +atlas = ExtResource("2_umubt") +region = Rect2(6624, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7whtn"] +atlas = ExtResource("2_umubt") +region = Rect2(7038, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_iubf0"] +atlas = ExtResource("2_umubt") +region = Rect2(7452, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_stov8"] +atlas = ExtResource("2_umubt") +region = Rect2(7866, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_o45y3"] +atlas = ExtResource("2_umubt") +region = Rect2(8280, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8l1oq"] +atlas = ExtResource("2_umubt") +region = Rect2(8694, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_66xhm"] +atlas = ExtResource("2_umubt") +region = Rect2(9108, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bcurx"] +atlas = ExtResource("2_umubt") +region = Rect2(9522, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7scby"] +atlas = ExtResource("2_umubt") +region = Rect2(9936, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4bng3"] +atlas = ExtResource("2_umubt") +region = Rect2(10350, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ond1d"] +atlas = ExtResource("2_umubt") +region = Rect2(10764, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n5fit"] +atlas = ExtResource("2_umubt") +region = Rect2(11178, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ls6p2"] +atlas = ExtResource("2_umubt") +region = Rect2(11592, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_283o8"] +atlas = ExtResource("2_umubt") +region = Rect2(12006, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mpucc"] +atlas = ExtResource("2_umubt") +region = Rect2(12420, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uc1qt"] +atlas = ExtResource("2_umubt") +region = Rect2(12834, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ru8ov"] +atlas = ExtResource("2_umubt") +region = Rect2(0, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xknqr"] +atlas = ExtResource("2_umubt") +region = Rect2(414, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j5v31"] +atlas = ExtResource("2_umubt") +region = Rect2(828, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_en4u6"] +atlas = ExtResource("2_umubt") +region = Rect2(1242, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_io5ic"] +atlas = ExtResource("2_umubt") +region = Rect2(1656, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_la7jn"] +atlas = ExtResource("2_umubt") +region = Rect2(2070, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_aprwe"] +atlas = ExtResource("2_umubt") +region = Rect2(2484, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bjcvx"] +atlas = ExtResource("2_umubt") +region = Rect2(2898, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_m6grv"] +atlas = ExtResource("2_umubt") +region = Rect2(3312, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p5nk1"] +atlas = ExtResource("2_umubt") +region = Rect2(3726, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vtlyl"] +atlas = ExtResource("2_umubt") +region = Rect2(4140, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_krnds"] +atlas = ExtResource("2_umubt") +region = Rect2(4554, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e41fr"] +atlas = ExtResource("2_umubt") +region = Rect2(4968, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qfmrt"] +atlas = ExtResource("2_umubt") +region = Rect2(5382, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gx33b"] +atlas = ExtResource("2_umubt") +region = Rect2(5796, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gb8l4"] +atlas = ExtResource("2_umubt") +region = Rect2(6210, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f2xl7"] +atlas = ExtResource("2_umubt") +region = Rect2(6624, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dafv6"] +atlas = ExtResource("2_umubt") +region = Rect2(7038, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_r10xa"] +atlas = ExtResource("2_umubt") +region = Rect2(7452, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mfrkm"] +atlas = ExtResource("2_umubt") +region = Rect2(7866, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kjww1"] +atlas = ExtResource("2_umubt") +region = Rect2(8280, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8b54y"] +atlas = ExtResource("2_umubt") +region = Rect2(8694, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vphfl"] +atlas = ExtResource("2_umubt") +region = Rect2(9108, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tqm3c"] +atlas = ExtResource("2_umubt") +region = Rect2(9522, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lkkr8"] +atlas = ExtResource("2_umubt") +region = Rect2(9936, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7qoig"] +atlas = ExtResource("2_umubt") +region = Rect2(10350, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p5yh0"] +atlas = ExtResource("2_umubt") +region = Rect2(10764, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_a5060"] +atlas = ExtResource("2_umubt") +region = Rect2(11178, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w2v4d"] +atlas = ExtResource("2_umubt") +region = Rect2(11592, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fkrk4"] +atlas = ExtResource("2_umubt") +region = Rect2(12006, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xfsjx"] +atlas = ExtResource("2_umubt") +region = Rect2(12420, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g03gd"] +atlas = ExtResource("2_umubt") +region = Rect2(12834, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vs1dl"] +atlas = ExtResource("2_umubt") +region = Rect2(0, 814, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5nevj"] +atlas = ExtResource("2_umubt") +region = Rect2(414, 814, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e5y28"] +atlas = ExtResource("2_umubt") +region = Rect2(828, 814, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ggenl"] +atlas = ExtResource("2_umubt") +region = Rect2(1242, 814, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kugry"] +atlas = ExtResource("2_umubt") +region = Rect2(1656, 814, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_77yio"] +atlas = ExtResource("2_umubt") +region = Rect2(2070, 814, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_msbdd"] +atlas = ExtResource("2_umubt") +region = Rect2(2484, 814, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nd17a"] +atlas = ExtResource("2_umubt") +region = Rect2(2898, 814, 414, 407) + +[sub_resource type="SpriteFrames" id="SpriteFrames_sqw6w"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_nc31c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_d0njh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_t4xb3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gf6oi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qfk3b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_epyy8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s4ne2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ae3ee") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3lntq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vlsab") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ap46q") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2j0d2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ufubs") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1prl7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kkds3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0lybu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7whtn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_iubf0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_stov8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_o45y3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8l1oq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_66xhm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bcurx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7scby") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4bng3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ond1d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n5fit") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ls6p2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_283o8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mpucc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uc1qt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ru8ov") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xknqr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j5v31") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_en4u6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_io5ic") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_la7jn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_aprwe") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bjcvx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_m6grv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p5nk1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vtlyl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_krnds") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_e41fr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qfmrt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gx33b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gb8l4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f2xl7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dafv6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_r10xa") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mfrkm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kjww1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8b54y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vphfl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tqm3c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lkkr8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7qoig") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p5yh0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_a5060") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w2v4d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fkrk4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xfsjx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_g03gd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vs1dl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5nevj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_e5y28") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ggenl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kugry") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_77yio") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_msbdd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nd17a") +}], +"loop": true, +"name": &"default", +"speed": 24.0 +}] + +[sub_resource type="SphereShape3D" id="SphereShape3D_kct8n"] + +[sub_resource type="Animation" id="Animation_xrn7e"] +resource_name = "fire" +length = 2.13334 +step = 0.0416667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("..:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.125), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector3(0, 0, 0), Vector3(0, 0, 30)] +} +tracks/1/type = "audio" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../BULLET TRAVEL") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"clips": [{ +"end_offset": 5.416, +"start_offset": 0.0, +"stream": ExtResource("3_2jyax") +}], +"times": PackedFloat32Array(0.0416667) +} +tracks/1/use_blend = true +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.0333333, 2.125), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [false, true, false] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("%ProjectileHitbox/CollisionShape3D:disabled") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_8qeb2"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("..:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("%ProjectileHitbox/CollisionShape3D:disabled") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_q8n6h"] +_data = { +&"Fire": SubResource("Animation_xrn7e"), +&"RESET": SubResource("Animation_8qeb2") +} + +[node name="Projectile2" type="Node3D"] +transform = Transform3D(-0.529919, 0, 0.848048, 0, 1, 0, -0.848048, 0, -0.529919, 0, 0, 0) +script = ExtResource("1_4lakg") +AttackData = SubResource("Resource_umubt") + +[node name="Bullet" type="Node3D" parent="."] + +[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Bullet"] +transform = Transform3D(0.31, 0, 1.53979e-08, 0, 0.31, 0, -1.53979e-08, 0, 0.31, 0, 1.391, 0) +visible = false +offset = Vector2(0, 150) +billboard = 1 +sprite_frames = SubResource("SpriteFrames_sqw6w") +autoplay = "default" +frame_progress = 0.973103 + +[node name="ProjectileHitbox" type="Area3D" parent="Bullet/AnimatedSprite3D"] +unique_name_in_owner = true +transform = Transform3D(3.22581, 0, -2.38419e-07, 0, 3.22581, 0, 2.38419e-07, 0, 3.22581, 0, 1.32135, 0) +collision_layer = 0 +collision_mask = 65 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Bullet/AnimatedSprite3D/ProjectileHitbox"] +shape = SubResource("SphereShape3D_kct8n") +disabled = true + +[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Bullet"] +bus = &"SFX" + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Bullet"] +unique_name_in_owner = true +root_node = NodePath("../AnimatedSprite3D") +libraries = { +&"": SubResource("AnimationLibrary_q8n6h") +} diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_3.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_3.tscn new file mode 100644 index 00000000..2c8f50d4 --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_3.tscn @@ -0,0 +1,992 @@ +[gd_scene load_steps=130 format=3 uid="uid://of1sm4qwibga"] + +[ext_resource type="Script" uid="uid://cqm6u7qa8japr" path="res://src/system/Projectile.cs" id="1_c6b2i"] +[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_c6b2i"] +[ext_resource type="Texture2D" uid="uid://w5055g8ecnea" path="res://src/vfx/Enemy/EDEN_AERO.png" id="2_nsnf1"] +[ext_resource type="AudioStream" uid="uid://c0jveij17p14k" path="res://src/audio/sfx/ENEMY_EDEN_PILLAR_PROJECTILETRAVEL.ogg" id="3_1sxke"] + +[sub_resource type="Resource" id="Resource_nsnf1"] +script = ExtResource("2_c6b2i") +Damage = 10 +ElementType = 1 +metadata/_custom_type_script = "uid://ctshiyffvt4y5" + +[sub_resource type="AtlasTexture" id="AtlasTexture_okqig"] +atlas = ExtResource("2_nsnf1") +region = Rect2(256, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l5xbl"] +atlas = ExtResource("2_nsnf1") +region = Rect2(512, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6oxbo"] +atlas = ExtResource("2_nsnf1") +region = Rect2(768, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2cug7"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1024, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4ivyc"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1280, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h6net"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1536, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qttxr"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1792, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vrfe3"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2048, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8vskp"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2304, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v736k"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2560, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v8fei"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2816, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5mvim"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3072, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bxq2e"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3328, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w7wbb"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3584, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1v0wf"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3840, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d7jyw"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4096, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vme0y"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4352, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1gq26"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4608, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_htj02"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4864, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_beua4"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5120, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gelrx"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5376, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5weok"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5632, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_u3cl3"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5888, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_aaygb"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6144, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rng8d"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6400, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jigs2"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6656, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_icafr"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6912, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2hljj"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7168, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_y03bg"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7424, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ahy42"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7680, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nyi5w"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7936, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mg51e"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8192, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i2my7"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8448, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hna3u"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8704, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sldmi"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8960, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_flp6m"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9216, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bf5v6"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9472, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_samc6"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9728, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tixfw"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9984, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_etpwm"] +atlas = ExtResource("2_nsnf1") +region = Rect2(10240, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jli65"] +atlas = ExtResource("2_nsnf1") +region = Rect2(10496, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_68dke"] +atlas = ExtResource("2_nsnf1") +region = Rect2(10752, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_iyvmf"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11008, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oo5vp"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11264, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sxmae"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11520, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_66xds"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11776, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_10dnw"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12032, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gwg3k"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12288, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xbhy1"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12544, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_k38ir"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12800, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cd8f4"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13056, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l3h6f"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13312, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_myng8"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13568, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_to5bb"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13824, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hkpkl"] +atlas = ExtResource("2_nsnf1") +region = Rect2(14080, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g0j4y"] +atlas = ExtResource("2_nsnf1") +region = Rect2(14336, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ak6k7"] +atlas = ExtResource("2_nsnf1") +region = Rect2(14592, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bp4ov"] +atlas = ExtResource("2_nsnf1") +region = Rect2(14848, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_658xg"] +atlas = ExtResource("2_nsnf1") +region = Rect2(15104, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fbmbe"] +atlas = ExtResource("2_nsnf1") +region = Rect2(15360, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hkls5"] +atlas = ExtResource("2_nsnf1") +region = Rect2(15616, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tvap8"] +atlas = ExtResource("2_nsnf1") +region = Rect2(15872, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_67m1c"] +atlas = ExtResource("2_nsnf1") +region = Rect2(16128, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bxqys"] +atlas = ExtResource("2_nsnf1") +region = Rect2(0, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w4bnl"] +atlas = ExtResource("2_nsnf1") +region = Rect2(256, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gxqg3"] +atlas = ExtResource("2_nsnf1") +region = Rect2(512, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pcumw"] +atlas = ExtResource("2_nsnf1") +region = Rect2(768, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tus1t"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1024, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8pptg"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1280, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s6dvc"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1536, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uv040"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1792, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i64l1"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2048, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fqhkx"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2304, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1ljbx"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2560, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lhi4l"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2816, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4wges"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3072, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4sgio"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3328, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ito1g"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3584, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cpwxr"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3840, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p1fwl"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4096, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cdvkl"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4352, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wpj5u"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4608, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0x44a"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4864, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ijs33"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5120, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_na5up"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5376, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6kx2h"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5632, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_eakun"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5888, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rx812"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6144, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w4y0f"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6400, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w1gyw"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6656, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lrjdk"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6912, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p6y0v"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7168, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_a2cqm"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7424, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7lkf4"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7680, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_07kus"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7936, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h7xtp"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8192, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dbrmg"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8448, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2jrrr"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8704, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rkoi2"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8960, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_o8ivu"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9216, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6kmfo"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9472, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_iyo11"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9728, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xmwnt"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9984, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7jhny"] +atlas = ExtResource("2_nsnf1") +region = Rect2(10240, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uw7dc"] +atlas = ExtResource("2_nsnf1") +region = Rect2(10496, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4u665"] +atlas = ExtResource("2_nsnf1") +region = Rect2(10752, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fvfy2"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11008, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oeabt"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11264, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vh736"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11520, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2p1wx"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11776, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hv6e3"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12032, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l20x8"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12288, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ce3r7"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12544, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ysw4o"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12800, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j885m"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13056, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v05tc"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13312, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_64j7e"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13568, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vqlpt"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13824, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2iaor"] +atlas = ExtResource("2_nsnf1") +region = Rect2(14080, 256, 256, 256) + +[sub_resource type="SpriteFrames" id="SpriteFrames_cu72w"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_okqig") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l5xbl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6oxbo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2cug7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4ivyc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h6net") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qttxr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vrfe3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8vskp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v736k") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v8fei") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5mvim") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bxq2e") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w7wbb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1v0wf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_d7jyw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vme0y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1gq26") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_htj02") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_beua4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gelrx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5weok") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_u3cl3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_aaygb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rng8d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jigs2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_icafr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2hljj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_y03bg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ahy42") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nyi5w") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mg51e") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_i2my7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hna3u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_sldmi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_flp6m") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bf5v6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_samc6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tixfw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_etpwm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jli65") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_68dke") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_iyvmf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_oo5vp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_sxmae") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_66xds") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_10dnw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gwg3k") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xbhy1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_k38ir") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cd8f4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l3h6f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_myng8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_to5bb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hkpkl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_g0j4y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ak6k7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bp4ov") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_658xg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fbmbe") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hkls5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tvap8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_67m1c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bxqys") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w4bnl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gxqg3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pcumw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tus1t") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8pptg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s6dvc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uv040") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_i64l1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fqhkx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1ljbx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lhi4l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4wges") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4sgio") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ito1g") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cpwxr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p1fwl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cdvkl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wpj5u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0x44a") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ijs33") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_na5up") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6kx2h") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_eakun") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rx812") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w4y0f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w1gyw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lrjdk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p6y0v") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_a2cqm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7lkf4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_07kus") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h7xtp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dbrmg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2jrrr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rkoi2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_o8ivu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6kmfo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_iyo11") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xmwnt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7jhny") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uw7dc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4u665") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fvfy2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_oeabt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vh736") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2p1wx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hv6e3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l20x8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ce3r7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ysw4o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j885m") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v05tc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_64j7e") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vqlpt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2iaor") +}], +"loop": true, +"name": &"default", +"speed": 24.0 +}] + +[sub_resource type="SphereShape3D" id="SphereShape3D_kct8n"] + +[sub_resource type="Animation" id="Animation_xrn7e"] +resource_name = "fire" +length = 2.13334 +step = 0.0416667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("..:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.125), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector3(0, 0, 0), Vector3(0, 0, 30)] +} +tracks/1/type = "audio" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../BULLET TRAVEL") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"clips": [{ +"end_offset": 5.416, +"start_offset": 0.0, +"stream": ExtResource("3_1sxke") +}], +"times": PackedFloat32Array(0.0416667) +} +tracks/1/use_blend = true +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.0333333, 2.125), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [false, true, false] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("%ProjectileHitbox/CollisionShape3D:disabled") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_8qeb2"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("..:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("%ProjectileHitbox/CollisionShape3D:disabled") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_q8n6h"] +_data = { +&"Fire": SubResource("Animation_xrn7e"), +&"RESET": SubResource("Animation_8qeb2") +} + +[node name="Projectile3" type="Node3D"] +transform = Transform3D(-0.529919, 0, -0.848048, 0, 1, 0, 0.848048, 0, -0.529919, 0, 0, 0) +script = ExtResource("1_c6b2i") +AttackData = SubResource("Resource_nsnf1") + +[node name="Bullet" type="Node3D" parent="."] + +[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Bullet"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.26, 0) +visible = false +offset = Vector2(0, 150) +billboard = 1 +sprite_frames = SubResource("SpriteFrames_cu72w") +autoplay = "default" +frame_progress = 0.897082 + +[node name="ProjectileHitbox" type="Area3D" parent="Bullet/AnimatedSprite3D"] +unique_name_in_owner = true +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.39633, 0) +collision_layer = 0 +collision_mask = 65 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Bullet/AnimatedSprite3D/ProjectileHitbox"] +shape = SubResource("SphereShape3D_kct8n") +disabled = true + +[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Bullet"] +bus = &"SFX" + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Bullet"] +unique_name_in_owner = true +root_node = NodePath("../AnimatedSprite3D") +libraries = { +&"": SubResource("AnimationLibrary_q8n6h") +} diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/Palan.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/Palan.tscn index a06e92c9..0e010f30 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/Palan.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/Palan.tscn @@ -1,10 +1,14 @@ -[gd_scene load_steps=10 format=3 uid="uid://boqjebx7yuiqy"] +[gd_scene load_steps=14 format=3 uid="uid://boqjebx7yuiqy"] [ext_resource type="Script" uid="uid://cjd7k1scp1am8" path="res://src/enemy/enemy_types/11. Palan/Palan.cs" id="1_2upgt"] [ext_resource type="PackedScene" uid="uid://dxwwfbt2mtmer" path="res://src/enemy/enemy_types/11. Palan/PalanModelView.tscn" id="4_3ahu6"] [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_3ogbp"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_6scof"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_6scof"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_oy46w"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_oy46w"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_87wn4"] +[ext_resource type="AudioStream" uid="uid://mp00rngkpfjg" path="res://src/audio/sfx/enemy_palan_death.ogg" id="9_6scof"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.717471 @@ -84,3 +88,29 @@ _acquireTargetTime = 2.0 unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_6scof") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_oy46w") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_87wn4") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_6scof") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanModelView.tscn index 917e7d8e..87bea5b7 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanModelView.tscn @@ -2926,6 +2926,7 @@ libraries = { [node name="Sunblast" type="AnimatedSprite3D" parent="Sprite3D/AnimationPlayer2"] transform = Transform3D(0.335, 0, 0, 0, 0.335, 0, 0, 0, 0.335, -0.546079, 0.441674, 0) sprite_frames = SubResource("SpriteFrames_skutu") +frame = 15 [node name="Primary Attack" type="AnimatedSprite3D" parent="Sprite3D/AnimationPlayer2"] transform = Transform3D(0.275, 0, 0, 0, 0.275, 0, 0, 0, 0.275, 0, 1.33811, -0.317864) @@ -3019,3 +3020,8 @@ root_node = NodePath("../AnimatedSprite3D") libraries = { &"": SubResource("AnimationLibrary_q8n6h") } + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanStats.tres deleted file mode 100644 index 6a38438b..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://dc1i06laolear"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_b6ynu"] - -[resource] -script = ExtResource("1_b6ynu") -CurrentHP = 120.0 -MaximumHP = 120 -CurrentAttack = 10 -CurrentDefense = 10 -MaxAttack = 10 -MaxDefense = 10 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn index 3298ad1e..723f5c41 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=582 format=3 uid="uid://drkaq6grim1fb"] +[gd_scene load_steps=585 format=3 uid="uid://drkaq6grim1fb"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_h8pla"] [ext_resource type="Texture2D" uid="uid://clwj6yknpw74n" path="res://src/enemy/enemy_types/12. Shield of Heaven/animations/New/Idle Back/0001.png" id="2_2eclh"] @@ -2171,7 +2171,7 @@ tracks/3/keys = { [sub_resource type="Animation" id="Animation_xt8vr"] resource_name = "idle_back" -length = 6.16667 +length = 6.08334 loop_mode = 1 step = 0.0833333 tracks/0/type = "value" @@ -2213,7 +2213,7 @@ tracks/2/keys = { [sub_resource type="Animation" id="Animation_yaauq"] resource_name = "idle_back_walk" -length = 2.41667 +length = 2.33334 loop_mode = 1 step = 0.0833333 tracks/0/type = "value" @@ -2255,7 +2255,7 @@ tracks/2/keys = { [sub_resource type="Animation" id="Animation_0p21q"] resource_name = "idle_front" -length = 6.16667 +length = 6.08334 loop_mode = 1 step = 0.0833333 tracks/0/type = "value" @@ -2297,7 +2297,7 @@ tracks/2/keys = { [sub_resource type="Animation" id="Animation_r8ie6"] resource_name = "idle_front_walk" -length = 2.41667 +length = 2.33334 loop_mode = 1 step = 0.0833333 tracks/0/type = "value" @@ -2339,7 +2339,7 @@ tracks/2/keys = { [sub_resource type="Animation" id="Animation_ft48v"] resource_name = "idle_left" -length = 6.16667 +length = 6.08334 loop_mode = 1 step = 0.0833333 tracks/0/type = "value" @@ -2381,7 +2381,7 @@ tracks/2/keys = { [sub_resource type="Animation" id="Animation_yh3w6"] resource_name = "idle_left_walk" -length = 2.41667 +length = 2.33334 loop_mode = 1 step = 0.0833333 tracks/0/type = "value" @@ -2423,7 +2423,7 @@ tracks/2/keys = { [sub_resource type="Animation" id="Animation_rq052"] resource_name = "idle_right" -length = 6.16667 +length = 6.08334 loop_mode = 1 step = 0.0833333 tracks/0/type = "value" @@ -2465,7 +2465,7 @@ tracks/2/keys = { [sub_resource type="Animation" id="Animation_fab8g"] resource_name = "idle_right_walk" -length = 2.41667 +length = 2.33334 loop_mode = 1 step = 0.0833333 tracks/0/type = "value" @@ -2507,7 +2507,7 @@ tracks/2/keys = { [sub_resource type="Animation" id="Animation_lulp4"] resource_name = "primary_attack" -length = 1.91667 +length = 1.83334 step = 0.0833333 tracks/0/type = "value" tracks/0/imported = false @@ -2600,7 +2600,7 @@ tracks/6/use_blend = true [sub_resource type="Animation" id="Animation_7g4jy"] resource_name = "primary_attack_back" -length = 1.91667 +length = 1.83334 step = 0.0833333 tracks/0/type = "value" tracks/0/imported = false @@ -2683,7 +2683,7 @@ tracks/5/use_blend = true [sub_resource type="Animation" id="Animation_wc21g"] resource_name = "primary_attack_left" -length = 1.91667 +length = 1.83334 step = 0.0833333 tracks/0/type = "value" tracks/0/imported = false @@ -2766,7 +2766,7 @@ tracks/5/use_blend = true [sub_resource type="Animation" id="Animation_w7rrw"] resource_name = "primary_attack_right" -length = 1.91667 +length = 1.83334 step = 0.0833333 tracks/0/type = "value" tracks/0/imported = false @@ -2849,6 +2849,7 @@ tracks/5/use_blend = true [sub_resource type="Animation" id="Animation_b727r"] resource_name = "secondary_attack" +length = 3.58334 step = 0.0833333 tracks/0/type = "value" tracks/0/imported = false @@ -2869,10 +2870,10 @@ tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSpri tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [0] +"times": PackedFloat32Array(0, 3.58333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 43] } tracks/2/type = "value" tracks/2/imported = false @@ -2931,6 +2932,7 @@ tracks/5/use_blend = true [sub_resource type="Animation" id="Animation_2jibd"] resource_name = "secondary_attack_back" +length = 3.58334 step = 0.0833333 tracks/0/type = "value" tracks/0/imported = false @@ -2942,7 +2944,7 @@ tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [&"primary_attack"] +"values": [&"secondary_back"] } tracks/1/type = "value" tracks/1/imported = false @@ -2951,10 +2953,10 @@ tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSpri tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [0] +"times": PackedFloat32Array(0, 3.58333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 43] } tracks/2/type = "value" tracks/2/imported = false @@ -2983,6 +2985,7 @@ tracks/3/keys = { [sub_resource type="Animation" id="Animation_mva41"] resource_name = "secondary_attack_left" +length = 3.58334 step = 0.0833333 tracks/0/type = "value" tracks/0/imported = false @@ -2994,7 +2997,7 @@ tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [&"primary_attack"] +"values": [&"secondary_right"] } tracks/1/type = "value" tracks/1/imported = false @@ -3003,10 +3006,10 @@ tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSpri tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [0] +"times": PackedFloat32Array(0, 3.58333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 43] } tracks/2/type = "value" tracks/2/imported = false @@ -3030,11 +3033,12 @@ tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [false] +"values": [true] } [sub_resource type="Animation" id="Animation_dalxy"] resource_name = "secondary_attack_right" +length = 3.58334 step = 0.0833333 tracks/0/type = "value" tracks/0/imported = false @@ -3046,7 +3050,7 @@ tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [&"primary_attack"] +"values": [&"secondary_right"] } tracks/1/type = "value" tracks/1/imported = false @@ -3055,10 +3059,10 @@ tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSpri tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [0] +"times": PackedFloat32Array(0, 3.58333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 43] } tracks/2/type = "value" tracks/2/imported = false @@ -3124,6 +3128,14 @@ advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_f1vvk"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0pum8"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vwlpl"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l1ir8"] +switch_mode = 2 +advance_mode = 2 + [sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_mhdbq"] states/Idle/node = ExtResource("166_yh3w6") states/Idle/position = Vector2(359, 100) @@ -3133,7 +3145,8 @@ states/Walking/node = ExtResource("169_w7rrw") states/Walking/position = Vector2(687, 100) states/secondary_attack/node = SubResource("AnimationNodeAnimation_j5so5") states/secondary_attack/position = Vector2(687, 263) -transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_y7ljc"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_08dxp"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_yk2s3"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_mb5pg"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_olfsm"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_f1vvk")] +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_y7ljc"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_08dxp"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_yk2s3"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_mb5pg"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_olfsm"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_f1vvk"), "Idle", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_0pum8"), "Walking", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_vwlpl"), "secondary_attack", "Idle", SubResource("AnimationNodeStateMachineTransition_l1ir8")] +graph_offset = Vector2(-16, 68) [sub_resource type="Animation" id="Animation_v8s5q"] resource_name = "ATTACK VFX" @@ -3461,3 +3474,8 @@ sprite_frames = SubResource("SpriteFrames_ie7uh") [node name="Attack 2 VFX" type="AnimatedSprite3D" parent="VFX Animation Player"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.74915, 0) sprite_frames = SubResource("SpriteFrames_lgwan") + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.tscn index 302e4d71..7b53f0f2 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.tscn @@ -1,10 +1,13 @@ -[gd_scene load_steps=10 format=3 uid="uid://5s7c4dsb1wwk"] +[gd_scene load_steps=13 format=3 uid="uid://5s7c4dsb1wwk"] [ext_resource type="Script" uid="uid://cjdivu0v1kfhy" path="res://src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.cs" id="1_oxa5b"] [ext_resource type="PackedScene" uid="uid://drkaq6grim1fb" path="res://src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn" id="3_r2swr"] [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_jvpqg"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_s5x4o"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_cacc5"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_uwf0x"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_8rh66"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_m1i5i"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -84,3 +87,28 @@ _acquireTargetTime = 2.0 unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_uwf0x") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_8rh66") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_m1i5i") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeavenStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeavenStats.tres deleted file mode 100644 index da90fdec..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeavenStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://c5fgcsruq5gx6"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_e725b"] - -[resource] -script = ExtResource("1_e725b") -CurrentHP = 100.0 -MaximumHP = 100 -CurrentAttack = 10 -CurrentDefense = 10 -MaxAttack = 10 -MaxDefense = 10 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingy.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingy.tscn index a2258be0..57d91b7c 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingy.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingy.tscn @@ -1,9 +1,14 @@ -[gd_scene load_steps=11 format=3 uid="uid://c5ugpasira53m"] +[gd_scene load_steps=16 format=3 uid="uid://c5ugpasira53m"] [ext_resource type="Script" uid="uid://jjulhqd5g3be" path="res://src/enemy/enemy_types/13. gold sproingy/GoldSproingy.cs" id="1_o1o4d"] [ext_resource type="PackedScene" uid="uid://dobiqowi8mhfi" path="res://src/enemy/enemy_types/13. gold sproingy/GoldSproingyModelView.tscn" id="2_o1o4d"] [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="3_dxqkk"] [ext_resource type="PackedScene" uid="uid://g4cupevu280j" path="res://src/enemy/behaviors/FleeBehavior.tscn" id="4_58d4o"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="5_pi08j"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="6_rct6y"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="7_5jcke"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="8_6nc43"] +[ext_resource type="AudioStream" uid="uid://dyvsuj4isc5gg" path="res://src/audio/sfx/ENEMY_golden_sproing_loop.ogg" id="9_rct6y"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -94,3 +99,35 @@ unique_name_in_owner = true unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="SFX" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +stream = ExtResource("5_pi08j") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +stream = ExtResource("6_rct6y") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +stream = ExtResource("7_5jcke") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +stream = ExtResource("8_6nc43") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +bus = &"SFX" + +[node name="AmbientSFX" type="AudioStreamPlayer3D" parent="SFX"] +stream = ExtResource("9_rct6y") +autoplay = true +max_distance = 25.0 +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyModelView.tscn index 57d4b400..c21d0590 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyModelView.tscn @@ -663,3 +663,8 @@ root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_l2wq1") advance_expression_base_node = NodePath("..") anim_player = NodePath("../AnimationPlayer") + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyStats.tres deleted file mode 100644 index 6ca303e9..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://m8wl23q4kr4t"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_dvrvn"] - -[resource] -script = ExtResource("1_dvrvn") -CurrentHP = 55.0 -MaximumHP = 55 -CurrentAttack = 0 -CurrentDefense = 0 -MaxAttack = 0 -MaxDefense = 0 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFace.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFace.tscn index 735bb487..487f3165 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFace.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFace.tscn @@ -1,9 +1,12 @@ -[gd_scene load_steps=8 format=3 uid="uid://2wibfnu2jvlv"] +[gd_scene load_steps=11 format=3 uid="uid://2wibfnu2jvlv"] [ext_resource type="Script" uid="uid://dveonnhcxcp08" path="res://src/enemy/BossTypeA.cs" id="1_x21p4"] [ext_resource type="PackedScene" uid="uid://bid6f48l0q58o" path="res://src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn" id="2_x21p4"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="3_wp4vi"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="4_fne8i"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="5_dm428"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="6_fg0ds"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="7_exr8b"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_c0n4w"] radius = 10.3283 @@ -66,3 +69,28 @@ unique_name_in_owner = true avoidance_enabled = true radius = 1.0 debug_enabled = true + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("5_dm428") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_fg0ds") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_exr8b") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn index 44499bdf..84fc31b3 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=34 format=4 uid="uid://bid6f48l0q58o"] +[gd_scene load_steps=36 format=4 uid="uid://bid6f48l0q58o"] [ext_resource type="Script" uid="uid://ckv5dmrw6pvn6" path="res://src/enemy/EnemyModelView3D.cs" id="1_oxssn"] [ext_resource type="Texture2D" uid="uid://2e4cp477ex0t" path="res://src/enemy/enemy_types/14. horse_head/animation/Horse Head 1_Metal054C_1K-JPG_Color.jpg" id="1_vv6g0"] @@ -8,6 +8,8 @@ [ext_resource type="Texture2D" uid="uid://d3nsmrs41cpxs" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_Metalness.jpg" id="4_58wyj"] [ext_resource type="Texture2D" uid="uid://dhk7u4r608cby" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_NormalGL.jpg" id="5_qhoxi"] [ext_resource type="Texture2D" uid="uid://qp3uycxaljcs" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_Roughness.jpg" id="6_lj3cb"] +[ext_resource type="AudioStream" uid="uid://d3poou6ultswg" path="res://src/audio/sfx/ENEMY_HorseFace_ATK1.ogg" id="8_b3lw2"] +[ext_resource type="AudioStream" uid="uid://scp3556fn8wo" path="res://src/audio/sfx/ENEMY_UNIVERSAL_GROUND_SLAM.ogg" id="9_58wyj"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tv6dm"] resource_name = "Material" @@ -646,6 +648,21 @@ tracks/32/path = NodePath("Armature/Skeleton3D:heelIK_R") tracks/32/interp = 0 tracks/32/loop_wrap = true tracks/32/keys = PackedFloat32Array(0, 1, -0.514417, -0.701671, 0.342235, 0.354835) +tracks/33/type = "audio" +tracks/33/imported = false +tracks/33/enabled = true +tracks/33/path = NodePath("Armature/Skeleton3D/BoneAttachment3D2/AttackSFX") +tracks/33/interp = 1 +tracks/33/loop_wrap = true +tracks/33/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("8_b3lw2") +}], +"times": PackedFloat32Array(0) +} +tracks/33/use_blend = true [sub_resource type="Animation" id="Animation_nem1a"] resource_name = "secondary_attack" @@ -881,6 +898,21 @@ tracks/32/path = NodePath("Armature/Skeleton3D:heelIK_R") tracks/32/interp = 1 tracks/32/loop_wrap = true tracks/32/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) +tracks/33/type = "audio" +tracks/33/imported = false +tracks/33/enabled = true +tracks/33/path = NodePath("Armature/Skeleton3D/BoneAttachment3D2/AttackSFX") +tracks/33/interp = 1 +tracks/33/loop_wrap = true +tracks/33/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("9_58wyj") +}], +"times": PackedFloat32Array(0.966667) +} +tracks/33/use_blend = true [sub_resource type="AnimationLibrary" id="AnimationLibrary_h244y"] _data = { @@ -944,7 +976,7 @@ states/Walking/position = Vector2(652, -44) states/attack_walk/node = SubResource("AnimationNodeAnimation_b3lw2") states/attack_walk/position = Vector2(912, 42) transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_b3lw2"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_oxssn"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_58wyj"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_qhoxi"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_lj3cb"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_agk0q"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_rv3ka"), "Idle", "attack_walk", SubResource("AnimationNodeStateMachineTransition_xl8ei"), "attack_walk", "Idle", SubResource("AnimationNodeStateMachineTransition_n4ran")] -graph_offset = Vector2(0, -109.963) +graph_offset = Vector2(-31, 161.037) [node name="EnemyModelView" type="Node3D"] script = ExtResource("1_oxssn") @@ -956,7 +988,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.0996387, -0.364802, -1.53144) +bones/0/position = Vector3(0.0996386, -0.279526, -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" @@ -985,7 +1017,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(4.1386e-05, 0.0627896, 0.195289, 0.978734) +bones/4/rotation = Quaternion(0.00787143, 0.0673259, 0.209846, 0.975382) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "neck4" bones/5/parent = 4 @@ -999,7 +1031,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.334434, 0.0512942, -0.470392, 0.815018) +bones/6/rotation = Quaternion(-0.343022, 0.0521047, -0.494747, 0.796772) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 @@ -1034,7 +1066,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.810729, -0.0883641, -0.0236887, 0.578229) +bones/11/rotation = Quaternion(-0.806075, -0.07973, -0.0234888, 0.585948) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "arm2_L" bones/12/parent = 11 @@ -1061,7 +1093,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.183961, 3.50758, 0.102613) +bones/15/position = Vector3(-0.202609, 3.65099, 0.0754982) bones/15/rotation = Quaternion(-0.502686, 0.531044, 0.680821, -0.0422068) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "arm2_R" @@ -1076,7 +1108,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.0249682, 0.0966464, 0.272252, 0.957034) +bones/17/rotation = Quaternion(-0.0459497, 0.097357, 0.264908, 0.958245) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "hand_R" bones/18/parent = 17 @@ -1089,7 +1121,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.331617, -1.49267) +bones/19/position = Vector3(0.147751, -0.282267, -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" @@ -1097,14 +1129,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.435321, -0.328349, -0.373164, 0.75062) +bones/20/rotation = Quaternion(-0.437808, -0.325257, -0.369348, 0.752405) 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.048608, 0.00188239, 0.388818, 0.92003) +bones/21/rotation = Quaternion(-0.0475168, 0.00188995, 0.38009, 0.923726) bones/21/scale = Vector3(1, 1, 1) bones/22/name = "foot1_L" bones/22/parent = 21 @@ -1138,7 +1170,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.0289171, -0.331035, -1.59603) +bones/26/position = Vector3(0.0289172, -0.298136, -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" @@ -1146,14 +1178,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.313748, 0.176775, 0.184174, 0.914545) +bones/27/rotation = Quaternion(-0.317636, 0.174004, 0.183885, 0.913793) 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.273992, 0.0201705, -0.178776, 0.944754) +bones/28/rotation = Quaternion(-0.268021, 0.0202226, -0.17488, 0.947192) bones/28/scale = Vector3(1, 1, 1) bones/29/name = "foot1_R" bones/29/parent = 28 @@ -1190,10 +1222,18 @@ mesh = SubResource("ArrayMesh_6e63x") skin = SubResource("Skin_yvw71") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"] -transform = Transform3D(-0.370164, -0.13327, -0.919357, -0.283733, -0.926146, 0.248495, -0.884576, 0.352835, 0.305013, -2.00357, 8.75024, 6.24756) +transform = Transform3D(-0.370165, -0.13327, -0.919357, -0.258559, -0.935769, 0.239755, -0.892258, 0.326457, 0.311931, -2.00356, 8.78487, 6.14065) bone_name = "TOP OF SKULL" bone_idx = 8 +[node name="BoneAttachment3D2" type="BoneAttachment3D" parent="Armature/Skeleton3D"] +transform = Transform3D(0.960238, 0.142738, 0.239935, -0.230152, -0.0817476, 0.969715, 0.158029, -0.986379, -0.0456457, -2.41576, 1.74228, -8.89334) +bone_name = "hand_R" +bone_idx = 18 + +[node name="AttackSFX" type="AudioStreamPlayer3D" parent="Armature/Skeleton3D/BoneAttachment3D2"] +transform = Transform3D(0.960238, -0.2437, 0.136211, 0.14274, 0.00925007, -0.989717, 0.239934, 0.969807, 0.043668, -8.82601, 7.03556, -0.84675) + [node name="Hitbox" type="Area3D" parent="."] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0) @@ -1216,3 +1256,10 @@ unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_q3bfl") anim_player = NodePath("../AnimationPlayer") + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" + +[node name="Walk2" type="AudioStreamPlayer3D" parent="."] diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/OxFaceAnimations.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/OxFaceAnimations.tres index 375eb92d..808b8a30 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/OxFaceAnimations.tres +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/OxFaceAnimations.tres @@ -1,4 +1,7 @@ -[gd_resource type="AnimationLibrary" load_steps=6 format=3 uid="uid://dn4501qsypsu"] +[gd_resource type="AnimationLibrary" load_steps=8 format=3 uid="uid://dn4501qsypsu"] + +[ext_resource type="AudioStream" uid="uid://dm0tcrjmu1a05" path="res://src/audio/sfx/enemy_boss1_step.ogg" id="1_5mwcl"] +[ext_resource type="AudioStream" uid="uid://cbx3k6qk0wakg" path="res://src/audio/sfx/enemy_oxface_stab.ogg" id="1_il05d"] [sub_resource type="Animation" id="Animation_ttkyx"] length = 0.001 @@ -594,6 +597,21 @@ tracks/40/keys = { "update": 1, "values": [true, false, true] } +tracks/41/type = "audio" +tracks/41/imported = false +tracks/41/enabled = true +tracks/41/path = NodePath("Armature/Skeleton3D/BoneAttachment3D2/AttackSFX") +tracks/41/interp = 1 +tracks/41/loop_wrap = true +tracks/41/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("1_il05d") +}], +"times": PackedFloat32Array(0) +} +tracks/41/use_blend = true [sub_resource type="Animation" id="Animation_fdnqs"] resource_name = "SHIELD BASH" @@ -1163,6 +1181,25 @@ tracks/39/path = NodePath("Armature/Skeleton3D:heelIK_R") tracks/39/interp = 1 tracks/39/loop_wrap = true tracks/39/keys = PackedFloat32Array(0, 1, -0.457231, -0.539389, 0.539388, 0.45723, 0.0666667, 1, -0.456471, -0.540172, 0.539706, 0.45669, 0.133333, 1, -0.455804, -0.540868, 0.539961, 0.456231, 0.4, 1, -0.454791, -0.542094, 0.539951, 0.455799, 0.466667, 1, -0.453821, -0.543027, 0.540487, 0.455019, 0.533333, 1, -0.452851, -0.543959, 0.541021, 0.454237, 0.6, 1, -0.451879, -0.544889, 0.541553, 0.453455, 0.766667, 1, -0.452732, -0.543999, 0.541254, 0.454029, 0.866667, 1, -0.453591, -0.543123, 0.540901, 0.454641, 0.966667, 1, -0.454449, -0.542246, 0.540547, 0.455252, 1.1, 1, -0.455592, -0.541075, 0.540073, 0.456065, 1.16667, 1, -0.456281, -0.540367, 0.539786, 0.456555) +tracks/40/type = "audio" +tracks/40/imported = false +tracks/40/enabled = true +tracks/40/path = NodePath("Walk2") +tracks/40/interp = 1 +tracks/40/loop_wrap = true +tracks/40/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("1_5mwcl") +}, { +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("1_5mwcl") +}], +"times": PackedFloat32Array(0.133333, 0.733333) +} +tracks/40/use_blend = true [resource] _data = { diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/walking.res b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/walking.res index 3314b979..97977361 100644 Binary files a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/walking.res and b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/walking.res differ diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/walking2.res b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/walking2.res index 85ad98b0..1de8b282 100644 Binary files a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/walking2.res and b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/walking2.res differ diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFace.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFace.tscn index 0364edb6..6cc98f5d 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFace.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFace.tscn @@ -1,9 +1,12 @@ -[gd_scene load_steps=8 format=3 uid="uid://6dnsw37d1uw4"] +[gd_scene load_steps=11 format=3 uid="uid://6dnsw37d1uw4"] [ext_resource type="Script" uid="uid://dveonnhcxcp08" path="res://src/enemy/BossTypeA.cs" id="1_v6b2s"] [ext_resource type="PackedScene" uid="uid://dnomfbym36ivg" path="res://src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn" id="2_v6b2s"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="3_ow3fn"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="4_lwyi7"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="5_7w7wv"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="6_v0b2d"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="7_14j2x"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_7uhtm"] radius = 12.4931 @@ -33,22 +36,49 @@ shape = SubResource("CapsuleShape3D_7uhtm") unique_name_in_owner = true [node name="Skeleton3D" parent="EnemyModelView/Armature" index="0"] -bones/0/position = Vector3(-0.260254, -1.05135, -1.96786) -bones/6/rotation = Quaternion(-0.0474983, -0.294201, -0.744151, 0.597854) -bones/11/rotation = Quaternion(-0.779814, -0.0573517, 0.0816353, 0.61801) -bones/15/rotation = Quaternion(-0.21544, 0.745303, 0.613567, -0.147118) +bones/0/position = Vector3(-0.259419, -0.955989, -1.97429) +bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149) +bones/1/rotation = Quaternion(0.0828172, 0.0642671, -0.39627, 0.91213) +bones/2/rotation = Quaternion(-0.137837, 0.137086, 0.403643, 0.894025) +bones/3/rotation = Quaternion(-0.00338816, 0.00852271, 0.0152662, 0.999842) +bones/4/rotation = Quaternion(0.037164, 0.133882, 0.101977, 0.985036) +bones/5/rotation = Quaternion(-0.0397875, -0.0104688, 0.0235613, 0.998875) +bones/6/rotation = Quaternion(-0.0748623, -0.304184, -0.744777, 0.589215) +bones/7/rotation = Quaternion(0.0788712, -0.0306685, -0.220772, 0.971647) +bones/8/rotation = Quaternion(-0.127286, 0.0273856, -0.425308, 0.895635) +bones/9/rotation = Quaternion(-0.0931654, 0.0493592, -0.752794, 0.649757) +bones/10/rotation = Quaternion(0.0429966, 0.0102923, 0.363547, 0.930526) +bones/11/rotation = Quaternion(-0.785185, -0.062058, 0.0709016, 0.612051) +bones/12/rotation = Quaternion(-0.607818, -0.670503, -0.284916, 0.31592) +bones/13/rotation = Quaternion(-0.255941, 0.586097, -0.127235, 0.758153) +bones/14/rotation = Quaternion(-0.513517, -0.227335, -0.228787, 0.795157) +bones/15/rotation = Quaternion(-0.210241, 0.737203, 0.62235, -0.158151) bones/16/rotation = Quaternion(-0.486067, -0.16412, -0.362283, 0.778174) bones/17/rotation = Quaternion(-0.0553629, -0.0361614, 0.62832, 0.77514) -bones/19/position = Vector3(-0.379519, -1.19848, -1.72293) -bones/19/rotation = Quaternion(0.627358, 0.293207, 0.545673, -0.471903) -bones/20/rotation = Quaternion(-0.327492, -0.423093, -0.300135, 0.789722) -bones/21/rotation = Quaternion(-0.0604877, 0.00129843, 0.48965, 0.869818) -bones/26/position = Vector3(-0.0278308, -1.11395, -2.01914) -bones/27/rotation = Quaternion(-0.202309, 0.424634, 0.137996, 0.871616) -bones/28/rotation = Quaternion(-0.0627943, -0.00116438, -0.501344, 0.862966) +bones/18/rotation = Quaternion(-0.119289, 0.0998131, -0.0173011, 0.987678) +bones/19/position = Vector3(-0.302718, -1.12582, -1.97598) +bones/19/rotation = Quaternion(0.611408, 0.312413, 0.571405, -0.449527) +bones/20/rotation = Quaternion(-0.310858, -0.441522, -0.272557, 0.796328) +bones/21/rotation = Quaternion(-0.0601548, 0.0013007, 0.486955, 0.871352) +bones/22/rotation = Quaternion(0.156218, 0.0483037, -0.624744, 0.763516) +bones/23/rotation = Quaternion(0.123936, -0.00678731, -0.347765, 0.92933) +bones/24/rotation = Quaternion(0.427621, 0.561851, 0.530083, 0.469549) +bones/25/position = Vector3(4.82744, -12.3397, 0.183847) +bones/25/rotation = Quaternion(-0.400051, 0.463947, -0.598439, 0.516317) +bones/26/position = Vector3(-0.253573, -1.11395, -2.0176) +bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793) +bones/27/rotation = Quaternion(-0.208223, 0.421365, 0.142238, 0.871128) +bones/28/rotation = Quaternion(-0.0641552, -0.00115561, -0.51221, 0.85646) +bones/29/rotation = Quaternion(0.150998, -0.0515735, 0.668372, 0.726511) +bones/31/position = Vector3(-7.29038, -6.72226, -0.133983) +bones/31/rotation = Quaternion(-0.453784, 0.542292, 0.542291, -0.453784) +bones/32/rotation = Quaternion(0.456756, 0.539878, -0.539587, -0.456893) [node name="BoneAttachment3D" parent="EnemyModelView/Armature/Skeleton3D" index="0"] -transform = Transform3D(-0.266252, -0.0359368, -0.963233, -0.333724, -0.934064, 0.127095, -0.904288, 0.355294, 0.236703, -1.68946, 8.20239, 4.95677) +transform = Transform3D(-0.297606, -0.084924, -0.950904, -0.328725, -0.926012, 0.185582, -0.896309, 0.367817, 0.247669, -1.66129, 8.31029, 4.94733) + +[node name="BoneAttachment3D2" parent="EnemyModelView/Armature/Skeleton3D" index="2"] +transform = Transform3D(-0.0446689, 0.0287099, -0.998588, -0.0869986, -0.9959, -0.0247414, -0.995205, 0.0857716, 0.0469831, -6.16044, -1.31467, -0.144618) [node name="Collision" type="Area3D" parent="."] collision_layer = 2048 @@ -85,4 +115,29 @@ avoidance_enabled = true radius = 1.0 debug_enabled = true +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("5_7w7wv") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_v0b2d") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_14j2x") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" + [editable path="EnemyModelView"] diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn index 413a195d..bf7e632e 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn @@ -206,7 +206,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.259283, -0.9404, -1.97534) +bones/0/position = Vector3(-0.260276, -1.05389, -1.96769) bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "spine0" @@ -249,7 +249,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.0777813, -0.305234, -0.744803, 0.58826) +bones/6/rotation = Quaternion(-0.0520092, -0.295864, -0.744301, 0.596469) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 @@ -284,7 +284,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.786087, -0.0628615, 0.0690646, 0.61102) +bones/11/rotation = Quaternion(-0.779476, -0.0570599, 0.0822994, 0.618375) bones/11/scale = Vector3(1, 0.999999, 1) bones/12/name = "arm2_L" bones/12/parent = 11 @@ -312,21 +312,21 @@ 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.00107886, 3.8461, -0.0821095) -bones/15/rotation = Quaternion(-0.209386, 0.735858, 0.623768, -0.15995) +bones/15/rotation = Quaternion(-0.21553, 0.745444, 0.613412, -0.146924) 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.424022, 0.233298, -0.489444, 0.725412) +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.0553628, -0.0361614, 0.62832, 0.77514) +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 @@ -339,22 +339,22 @@ 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.290163, -1.11395, -2.01735) -bones/19/rotation = Quaternion(0.608697, 0.3155, 0.575514, -0.445793) +bones/19/position = Vector3(-0.381562, -1.20042, -1.71619) +bones/19/rotation = Quaternion(0.627767, 0.292688, 0.544975, -0.472487) 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.30808, -0.444485, -0.267974, 0.797314) +bones/20/rotation = Quaternion(-0.327925, -0.422597, -0.300857, 0.789533) 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.060049, 0.00130142, 0.4861, 0.871837) +bones/21/rotation = Quaternion(-0.0605445, 0.00129802, 0.49011, 0.869554) bones/21/scale = Vector3(1, 1, 1) bones/22/name = "foot1_L" bones/22/parent = 21 @@ -388,7 +388,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.290475, -1.11395, -2.01735) +bones/26/position = Vector3(-0.0218232, -1.11395, -2.01917) bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793) bones/26/scale = Vector3(1, 1, 1) bones/27/name = "leg1_R" @@ -396,14 +396,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.209385, 0.420724, 0.143017, 0.871031) +bones/27/rotation = Quaternion(-0.201704, 0.42497, 0.137533, 0.871666) 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.0643786, -0.00115414, -0.513993, 0.855374) +bones/28/rotation = Quaternion(-0.0627068, -0.00116495, -0.500645, 0.863378) bones/28/scale = Vector3(1, 1, 1) bones/29/name = "foot1_R" bones/29/parent = 28 @@ -435,7 +435,7 @@ 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.300929, -0.0901167, -0.949379, -0.328078, -0.924976, 0.191792, -0.895436, 0.369186, 0.248787, -1.6582, 8.32712, 4.94593) +transform = Transform3D(-0.271443, -0.0440478, -0.961446, -0.333033, -0.932944, 0.136766, -0.902999, 0.357318, 0.238571, -1.68503, 8.20202, 4.95649) bone_name = "TOP OF SKULL" bone_idx = 8 @@ -457,6 +457,14 @@ custom_aabb = AABB(0, 4.26, 1.65, 0, 2.215, 3.215) mesh = SubResource("ArrayMesh_5ew54") skin = SubResource("Skin_e330f") +[node name="BoneAttachment3D2" type="BoneAttachment3D" parent="Armature/Skeleton3D"] +transform = Transform3D(-0.0477638, -0.00543313, -0.998843, -0.0797991, -0.996767, 0.00923727, -0.995664, 0.080149, 0.0471753, -6.32381, -1.21705, -0.163401) +bone_name = "hand_R" +bone_idx = 18 + +[node name="AttackSFX" type="AudioStreamPlayer3D" parent="Armature/Skeleton3D/BoneAttachment3D2"] +transform = Transform3D(-0.300929, -0.328079, -0.895438, -0.0901166, -0.924978, 0.369186, -0.94938, 0.191793, 0.248787, -14.812, 2.65093, -1.27026) + [node name="AnimationPlayer" type="AnimationPlayer" parent="."] unique_name_in_owner = true libraries = { @@ -479,3 +487,10 @@ collision_mask = 16 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.300452, 11.5388, 0.257962) shape = SubResource("BoxShape3D_pmgg3") disabled = true + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" + +[node name="Walk2" type="AudioStreamPlayer3D" parent="."] diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm1.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm1.tscn index e8f96f71..0260c944 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm1.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm1.tscn @@ -2023,43 +2023,43 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(0.664239, -0.5079, 0.548475, 0.747326, 0.467912, -0.471764, -0.017029, 0.723254, 0.690372, 1.32537, -1.1447, -1.67359) bones/0/enabled = true -bones/0/position = Vector3(1.33831, -0.925116, -0.947337) -bones/0/rotation = Quaternion(0.10104, 0.561931, 0.669824, 0.474722) +bones/0/position = Vector3(1.35023, -0.949945, -0.951) +bones/0/rotation = Quaternion(0.0863564, 0.584829, 0.634219, 0.498282) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, -0.0728408, -0.00159767, 0.0728462, 0.996536, 0.0401248, -0.00133059, -0.0401345, 0.999193, 1.19209e-07, 1.85949, 3.57628e-07) bones/1/enabled = true bones/1/position = Vector3(1.19209e-07, 1.85949, 3.57628e-07) -bones/1/rotation = Quaternion(-0.0204614, 0.000717296, 0.037025, 0.999105) +bones/1/rotation = Quaternion(-0.0504763, 0.0629209, 0.0822485, 0.993342) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.175378, 0.963955, 0.200084, -0.983796, 0.179284, -0.00142574, -0.0372462, -0.196592, 0.979778, -1.19209e-07, 0.416929, 0) bones/2/enabled = true bones/2/position = Vector3(-1.19209e-07, 0.416929, 0) -bones/2/rotation = Quaternion(-0.0638451, 0.0777217, -0.637563, 0.763804) +bones/2/rotation = Quaternion(-0.0620359, 0.0820447, -0.650208, 0.752761) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.795965, -0.570793, -0.201581, 0.584249, 0.811523, 0.00907765, 0.158406, -0.124999, 0.97943, 0, 0.298125, -7.15256e-07) bones/3/enabled = true bones/3/position = Vector3(0, 0.298125, -7.15256e-07) -bones/3/rotation = Quaternion(-0.0351081, -0.095155, 0.305268, 0.94685) +bones/3/rotation = Quaternion(-0.0192725, -0.101548, 0.323417, 0.940594) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 bones/4/rest = Transform3D(0.989609, -0.143492, 0.00920886, 0.143739, 0.98559, -0.0891694, 0.00371892, 0.0895665, 0.995974, 2.38419e-07, 0.217615, -1.19209e-07) bones/4/enabled = true bones/4/position = Vector3(2.38419e-07, 0.217615, -1.19209e-07) -bones/4/rotation = Quaternion(0.0447077, 0.00122353, 0.0726431, 0.996355) +bones/4/rotation = Quaternion(0.0338167, -0.0108495, 0.11766, 0.992419) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "Bone.005" bones/5/parent = 1 bones/5/rest = Transform3D(0.891186, 0.451267, 0.0463144, -0.453483, 0.888891, 0.0650073, -0.0118328, -0.0789364, 0.996809, -1.19209e-07, 0.416929, 0) bones/5/enabled = true bones/5/position = Vector3(-1.19209e-07, 0.416929, 0) -bones/5/rotation = Quaternion(-0.0367377, 0.0148528, -0.23288, 0.971698) +bones/5/rotation = Quaternion(-0.0265093, 0.0111489, -0.236595, 0.971183) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 @@ -2094,35 +2094,35 @@ bones/10/parent = 9 bones/10/rest = Transform3D(0.999465, -0.0299684, -0.0130876, 0.0321775, 0.972617, 0.230175, 0.00583128, -0.230473, 0.973061, -5.96046e-07, 0.347821, -4.76837e-07) bones/10/enabled = true bones/10/position = Vector3(-5.96046e-07, 0.347821, -4.76837e-07) -bones/10/rotation = Quaternion(-0.11549, -0.00471059, 0.0156599, 0.993174) +bones/10/rotation = Quaternion(-0.088852, -0.00177213, 0.0165433, 0.995906) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 bones/11/rest = Transform3D(0.999927, -0.00347527, -0.0115401, 0.00624295, 0.968404, 0.249307, 0.0103091, -0.249361, 0.968356, 5.36442e-07, 0.236611, 0) bones/11/enabled = true bones/11/position = Vector3(5.36442e-07, 0.236611, 0) -bones/11/rotation = Quaternion(-0.126171, -0.00562458, 0.00248096, 0.99199) +bones/11/rotation = Quaternion(-0.165604, -0.0148975, 0.00497866, 0.986067) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "Bone.012" bones/12/parent = 11 bones/12/rest = Transform3D(0.997952, 0.0219232, -0.0600952, -0.0135761, 0.990624, 0.13594, 0.062512, -0.134846, 0.988893, 1.07288e-06, 0.172989, -1.19209e-07) bones/12/enabled = true bones/12/position = Vector3(1.07288e-06, 0.172989, -1.19209e-07) -bones/12/rotation = Quaternion(-0.0683952, -0.030865, -0.00887272, 0.997141) +bones/12/rotation = Quaternion(-0.108042, -0.0407396, -0.00673693, 0.993288) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "Bone.013" bones/13/parent = 1 bones/13/rest = Transform3D(0.924677, -0.380197, -0.0205529, 0.380735, 0.922776, 0.0593796, -0.0036102, -0.0627321, 0.998024, -1.19209e-07, 0.416929, 0) bones/13/enabled = true bones/13/position = Vector3(-1.19209e-07, 0.416929, 0) -bones/13/rotation = Quaternion(-0.0305892, -0.00410299, 0.193944, 0.980527) +bones/13/rotation = Quaternion(-0.000604329, 0.00780562, 0.189789, 0.981794) bones/13/scale = Vector3(1, 1, 1) bones/14/name = "Bone.014" bones/14/parent = 13 bones/14/rest = Transform3D(0.961502, 0.268958, 0.0563539, -0.274785, 0.938956, 0.207014, 0.00276425, -0.214529, 0.976714, -5.36442e-07, 0.369994, -4.76837e-07) bones/14/enabled = true bones/14/position = Vector3(-5.36442e-07, 0.369994, -4.76837e-07) -bones/14/rotation = Quaternion(-0.107279, 0.0135296, -0.138094, 0.984499) +bones/14/rotation = Quaternion(-0.125803, 0.00741104, -0.13975, 0.982135) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 @@ -2136,14 +2136,14 @@ bones/16/parent = 15 bones/16/rest = Transform3D(0.985406, 0.151262, 0.0780702, -0.133163, 0.97071, -0.199976, -0.106032, 0.186662, 0.976686, 3.20375e-07, 0.160424, -2.98023e-07) bones/16/enabled = true bones/16/position = Vector3(3.20375e-07, 0.160424, -2.98023e-07) -bones/16/rotation = Quaternion(0.0967923, 0.0461858, -0.071946, 0.991626) +bones/16/rotation = Quaternion(0.050877, 0.0307588, -0.0874526, 0.994393) bones/16/scale = Vector3(1, 1, 1) bones/17/name = "Bone.017" bones/17/parent = 1 bones/17/rest = Transform3D(0.731154, -0.681923, -0.0198731, 0.682037, 0.729994, 0.0439829, -0.0154858, -0.0457125, 0.998835, -1.19209e-07, 0.416929, 0) bones/17/enabled = true bones/17/position = Vector3(-1.19209e-07, 0.416929, 0) -bones/17/rotation = Quaternion(-0.0242907, -0.0014185, 0.367137, 0.929849) +bones/17/rotation = Quaternion(-0.034177, -0.0145476, 0.394429, 0.918176) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "Bone.018" bones/18/parent = 17 @@ -2170,8 +2170,8 @@ bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.638395, -0.466665, -0.612107, -0.416251, 0.459614, -0.784532, 0.647447, 0.755632, 0.0991655, 2.29161, -2.09633, -3.23813) bones/21/enabled = true -bones/21/position = Vector3(2.25403, -0.394176, -2.80118) -bones/21/rotation = Quaternion(0.679566, 0.0350204, 0.421076, 0.599715) +bones/21/position = Vector3(2.24211, -0.369347, -2.79752) +bones/21/rotation = Quaternion(0.687697, 0.0368382, 0.421745, 0.589785) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_006" type="MeshInstance3D" parent="Pivot/ARM1/1_ R TELLERIC PROJECTILE ARM/Skeleton3D"] @@ -2179,7 +2179,7 @@ mesh = SubResource("ArrayMesh_5cjg8") skin = SubResource("Skin_my7ts") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Pivot/ARM1/1_ R TELLERIC PROJECTILE ARM/Skeleton3D"] -transform = Transform3D(-0.619433, -0.569512, 0.540332, 0.769852, -0.305891, 0.560142, -0.153725, 0.762946, 0.627919, 0.0467839, -1.05135, 1.48171) +transform = Transform3D(-0.71025, -0.495843, 0.499685, 0.692459, -0.364386, 0.622675, -0.126671, 0.788266, 0.602156, 0.101032, -0.903048, 1.44604) bone_name = "Bone.019" bone_idx = 19 @@ -2293,3 +2293,10 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.8473, 9.29013, 10.0437) volume_db = 1.0 max_polyphony = 3 bus = &"SFX" + +[node name="SFX" type="Node3D" parent="."] + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm2.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm2.tscn index 3775b641..628175b2 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm2.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm2.tscn @@ -761,78 +761,78 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(0.0151222, 0.673616, -0.738927, -0.999829, 0.0180683, -0.00399019, 0.0106633, 0.738861, 0.673774, -1.71286, 0.00923252, -1.71285) bones/0/enabled = true -bones/0/position = Vector3(-1.71026, 0.829431, -1.5194) -bones/0/rotation = Quaternion(0.0740812, -0.451103, -0.66238, 0.593524) +bones/0/position = Vector3(-1.9457, 0.739367, -1.71836) +bones/0/rotation = Quaternion(0.0957486, -0.453948, -0.635626, 0.617044) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, 0.0728408, -0.00158073, -0.072718, 0.996536, 0.0403565, 0.00451486, -0.0401343, 0.999184, -4.4331e-07, 1.85949, -4.81494e-07) bones/1/enabled = true bones/1/position = Vector3(-4.4331e-07, 1.85949, -4.81494e-07) -bones/1/rotation = Quaternion(0.22166, -0.196224, 0.0508024, 0.953825) +bones/1/rotation = Quaternion(-0.0681244, -0.214679, 0.10327, 0.968818) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.189846, -0.964577, -0.183168, 0.981103, 0.179283, 0.0727582, -0.037342, -0.19352, 0.980385, -9.68575e-08, 0.416929, 8.61473e-09) bones/2/enabled = true bones/2/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09) -bones/2/rotation = Quaternion(-0.242306, 0.269493, 0.756669, 0.544163) +bones/2/rotation = Quaternion(-0.326906, 0.130211, 0.627521, 0.694547) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.810203, 0.578594, -0.0938093, -0.560363, 0.811523, 0.165602, 0.171945, -0.0816043, 0.981721, -4.76837e-07, 0.298125, -2.68221e-07) bones/3/enabled = true bones/3/position = Vector3(-4.76837e-07, 0.298125, -2.68221e-07) -bones/3/rotation = Quaternion(-0.0489528, -0.104295, -0.424289, 0.898167) +bones/3/rotation = Quaternion(-0.0325891, -0.05813, -0.351598, 0.933776) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 bones/4/rest = Transform3D(0.986624, 0.16227, 0.0155213, -0.161299, 0.98559, -0.050939, -0.0235636, 0.0477541, 0.998581, 2.38419e-07, 0.217614, 5.96046e-08) bones/4/enabled = true bones/4/position = Vector3(2.38419e-07, 0.217614, 5.96046e-08) -bones/4/rotation = Quaternion(0.0489722, -0.135712, -0.308985, 0.94006) +bones/4/rotation = Quaternion(0.0309265, -0.0260959, -0.138086, 0.989593) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "Bone.005" bones/5/parent = 1 bones/5/rest = Transform3D(0.89182, -0.451516, 0.0281062, 0.446851, 0.888891, 0.100982, -0.0705786, -0.0774989, 0.994491, -9.68575e-08, 0.416929, 8.61473e-09) bones/5/enabled = true bones/5/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09) -bones/5/rotation = Quaternion(0.249233, -0.00436698, 0.362533, 0.898017) +bones/5/rotation = Quaternion(0.026268, 0.0183302, 0.265916, 0.963464) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 bones/6/rest = Transform3D(0.941856, 0.326827, -0.0780507, -0.307446, 0.931929, 0.192316, 0.135592, -0.157137, 0.978224, 0, 0.366571, -7.45058e-08) bones/6/enabled = true bones/6/position = Vector3(0, 0.366571, -7.45058e-08) -bones/6/rotation = Quaternion(-0.452367, -0.0571315, -0.0285445, 0.889542) +bones/6/rotation = Quaternion(-0.369996, -0.064284, -0.0441853, 0.925753) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 bones/7/rest = Transform3D(0.999908, -0.0133759, -0.00243115, 0.0135617, 0.968863, 0.247224, -0.000951389, -0.247234, 0.968955, 8.75443e-08, 0.229155, 1.19209e-07) bones/7/enabled = true bones/7/position = Vector3(8.75443e-08, 0.229155, 1.19209e-07) -bones/7/rotation = Quaternion(-0.21602, -0.00775135, 0.0276496, 0.975967) +bones/7/rotation = Quaternion(-0.147005, -0.00217376, 0.0118842, 0.989062) bones/7/scale = Vector3(1, 1, 1) bones/8/name = "Bone.008" bones/8/parent = 7 bones/8/rest = Transform3D(0.996542, 0.0206638, -0.0804854, -0.00720722, 0.986431, 0.164018, 0.0827825, -0.162871, 0.983168, -1.49012e-08, 0.142665, 6.85453e-07) bones/8/enabled = true bones/8/position = Vector3(-1.49012e-08, 0.142665, 6.85453e-07) -bones/8/rotation = Quaternion(-0.302908, -0.0680276, 0.0489726, 0.949327) +bones/8/rotation = Quaternion(-0.136586, -0.0478226, 0.00667796, 0.989451) bones/8/scale = Vector3(1, 1, 1) bones/9/name = "Bone.009" bones/9/parent = 1 bones/9/rest = Transform3D(0.998879, -0.0472251, 0.00320398, 0.0469487, 0.997098, 0.0599298, -0.00602488, -0.0597122, 0.998197, -9.68575e-08, 0.416929, 8.61473e-09) bones/9/enabled = true bones/9/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09) -bones/9/rotation = Quaternion(0.167222, 0.0985437, 0.0946512, 0.976405) +bones/9/rotation = Quaternion(0.018211, 0.0258931, 0.0410917, 0.998654) bones/9/scale = Vector3(1, 1, 1) bones/10/name = "Bone.010" bones/10/parent = 9 bones/10/rest = Transform3D(0.999443, 0.0307123, -0.0130676, -0.0268696, 0.972617, 0.230853, 0.0197998, -0.230373, 0.972901, 1.21567e-07, 0.347822, -2.08616e-07) bones/10/enabled = true bones/10/position = Vector3(1.21567e-07, 0.347822, -2.08616e-07) -bones/10/rotation = Quaternion(-0.346872, -0.167372, 0.00737142, 0.922828) +bones/10/rotation = Quaternion(-0.356211, -0.110529, 0.0617988, 0.925785) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 @@ -846,70 +846,70 @@ bones/12/parent = 11 bones/12/rest = Transform3D(0.997806, -0.0280254, -0.0599811, 0.0357503, 0.990623, 0.131861, 0.0557232, -0.133716, 0.989452, 1.18278e-07, 0.172989, 2.01166e-07) bones/12/enabled = true bones/12/position = Vector3(1.18278e-07, 0.172989, 2.01166e-07) -bones/12/rotation = Quaternion(-0.238476, 0.0272146, 0.0764061, 0.967756) +bones/12/rotation = Quaternion(-0.108856, -0.0153544, 0.030822, 0.993461) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "Bone.013" bones/13/parent = 1 bones/13/rest = Transform3D(0.92488, 0.379995, -0.0141585, -0.377983, 0.922776, 0.0749236, 0.0415357, -0.0639437, 0.997089, -9.68575e-08, 0.416929, 8.61473e-09) bones/13/enabled = true bones/13/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09) -bones/13/rotation = Quaternion(0.1788, 0.154566, -0.143507, 0.961013) +bones/13/rotation = Quaternion(0.0170849, 0.0272562, -0.182418, 0.982695) bones/13/scale = Vector3(1, 1, 1) bones/14/name = "Bone.014" bones/14/parent = 13 bones/14/rest = Transform3D(0.959373, -0.277519, 0.050852, 0.259649, 0.938956, 0.225709, -0.110386, -0.203336, 0.972867, 1.78814e-07, 0.369994, -3.53903e-07) bones/14/enabled = true bones/14/position = Vector3(1.78814e-07, 0.369994, -3.53903e-07) -bones/14/rotation = Quaternion(-0.258946, -0.106873, 0.0272923, 0.959573) +bones/14/rotation = Quaternion(-0.309677, -0.111235, 0.162863, 0.930163) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 bones/15/rest = Transform3D(0.987789, 0.153061, -0.029059, -0.126507, 0.896881, 0.423794, 0.0909288, -0.414943, 0.905292, -5.96046e-08, 0.248162, 5.96046e-08) bones/15/enabled = true bones/15/position = Vector3(-5.96046e-08, 0.248162, 5.96046e-08) -bones/15/rotation = Quaternion(-0.328658, -0.00201829, 0.090301, 0.94012) +bones/15/rotation = Quaternion(-0.243945, -0.0238875, -0.0324108, 0.968953) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "Bone.016" bones/16/parent = 15 bones/16/rest = Transform3D(0.985539, -0.152261, 0.0743639, 0.163269, 0.970709, -0.17626, -0.0453481, 0.185853, 0.98153, -1.78814e-07, 0.160425, -4.02331e-07) bones/16/enabled = true bones/16/position = Vector3(-1.78814e-07, 0.160425, -4.02331e-07) -bones/16/rotation = Quaternion(-0.12641, 0.0523709, 0.0656333, 0.988418) +bones/16/rotation = Quaternion(0.0383582, 0.0357353, 0.0764621, 0.995693) bones/16/scale = Vector3(1, 1, 1) bones/17/name = "Bone.017" bones/17/parent = 1 bones/17/rest = Transform3D(0.731563, 0.681774, 8.39818e-05, -0.680319, 0.729994, 0.0653797, 0.0445129, -0.0478865, 0.99786, -9.68575e-08, 0.416929, 8.61473e-09) bones/17/enabled = true bones/17/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09) -bones/17/rotation = Quaternion(0.182165, 0.0229952, -0.377521, 0.907615) +bones/17/rotation = Quaternion(0.0214689, -0.00344222, -0.370542, 0.928561) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "Bone.018" bones/18/parent = 17 bones/18/rest = Transform3D(0.858902, -0.5087, 0.059257, 0.482273, 0.842315, 0.240663, -0.172338, -0.178128, 0.968798, 3.57628e-07, 0.400229, -2.95229e-07) bones/18/enabled = true bones/18/position = Vector3(3.57628e-07, 0.400229, -2.95229e-07) -bones/18/rotation = Quaternion(-0.32315, -0.324887, 0.359481, 0.812894) +bones/18/rotation = Quaternion(-0.2991, -0.18512, 0.324807, 0.877935) bones/18/scale = Vector3(1, 1, 1) bones/19/name = "Bone.019" bones/19/parent = 18 bones/19/rest = Transform3D(0.998851, -0.0332967, -0.0344649, 0.0348099, 0.998413, 0.0442783, 0.0329358, -0.0454271, 0.998425, 0, 0.196712, 3.57628e-07) bones/19/enabled = true bones/19/position = Vector3(0, 0.196712, 3.57628e-07) -bones/19/rotation = Quaternion(-0.0822222, -0.0122603, -0.00894785, 0.996499) +bones/19/rotation = Quaternion(-0.037141, -0.0157356, 0.0106563, 0.999129) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "Bone.020" bones/20/parent = 19 bones/20/rest = Transform3D(0.982791, 0.183548, -0.0207611, -0.170809, 0.945817, 0.276144, 0.0703217, -0.267845, 0.960892, 2.98023e-07, 0.127214, 5.96046e-08) bones/20/enabled = true bones/20/position = Vector3(2.98023e-07, 0.127214, 5.96046e-08) -bones/20/rotation = Quaternion(-0.251732, -0.0454352, 0.0174863, 0.966572) +bones/20/rotation = Quaternion(-0.166051, -0.0286059, -0.0638233, 0.983634) bones/20/scale = Vector3(1, 1, 1) bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.769842, 0.636233, -0.0505042, -0.0970478, 0.0384815, -0.994536, -0.630813, 0.770536, 0.0913697, -3.03019, -0.0704439, -3.30826) bones/21/enabled = true -bones/21/position = Vector3(-2.25449, 0.699812, -3.51348) -bones/21/rotation = Quaternion(0.18431, -0.642888, -0.642625, 0.373842) +bones/21/position = Vector3(-2.13284, 0.773119, -3.77007) +bones/21/rotation = Quaternion(0.204733, -0.665736, -0.666833, 0.264977) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_004" type="MeshInstance3D" parent="Pivot/ARM2/2_ R MAGIC ARM 4/Skeleton3D"] @@ -917,7 +917,7 @@ mesh = SubResource("ArrayMesh_ddgyy") skin = SubResource("Skin_lcoox") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Pivot/ARM2/2_ R MAGIC ARM 4/Skeleton3D"] -transform = Transform3D(0.942125, 0.259369, -0.212434, 0.0456806, 0.528416, 0.847756, 0.332135, -0.808396, 0.485986, -0.18816, 1.22954, 0.0758562) +transform = Transform3D(0.870884, 0.427666, 0.242204, -0.386321, 0.290996, 0.875259, 0.303838, -0.855817, 0.41864, -0.301, 1.16072, -0.217676) bone_name = "Bone.002" bone_idx = 2 @@ -957,3 +957,10 @@ skeleton = NodePath("../../..") [node name="Rotation" type="Node3D" parent="."] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.6188, 7.72862, -1.3327) + +[node name="SFX" type="Node3D" parent="."] + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm3.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm3.tscn index a42fb948..7e0d9a1d 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm3.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm3.tscn @@ -1009,64 +1009,64 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(-0.0590079, 0.671656, -0.73851, -0.998184, -0.0307104, 0.0518259, 0.0121292, 0.740227, 0.672248, -1.70411, 0.133377, -1.71641) bones/0/enabled = true -bones/0/position = Vector3(-2.6879, 0.443206, -1.22721) -bones/0/rotation = Quaternion(0.211355, -0.385651, -0.704526, 0.556997) +bones/0/position = Vector3(-2.90912, 0.555896, -1.21881) +bones/0/rotation = Quaternion(0.163819, -0.413042, -0.75343, 0.484668) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, 0.0728404, -0.00158077, -0.0727175, 0.996536, 0.0403564, 0.00451487, -0.0401342, 0.999184, 1.2666e-07, 1.85949, 0) bones/1/enabled = true bones/1/position = Vector3(1.2666e-07, 1.85949, 0) -bones/1/rotation = Quaternion(-0.160549, -0.516324, 0.140657, 0.829367) +bones/1/rotation = Quaternion(-0.118348, -0.426078, 0.207897, 0.872485) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.189847, -0.964576, -0.183168, 0.981104, 0.179283, 0.0727586, -0.0373423, -0.19352, 0.980386, 8.9407e-08, 0.416929, -2.38419e-07) bones/2/enabled = true bones/2/position = Vector3(8.9407e-08, 0.416929, -2.38419e-07) -bones/2/rotation = Quaternion(-0.337833, -0.0974068, 0.699643, 0.621997) +bones/2/rotation = Quaternion(-0.339098, -0.0861908, 0.758265, 0.550107) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.810203, 0.578594, -0.0938098, -0.560363, 0.811523, 0.165603, 0.171946, -0.0816042, 0.981721, -1.78814e-07, 0.298124, 5.96046e-08) bones/3/enabled = true bones/3/position = Vector3(-1.78814e-07, 0.298124, 5.96046e-08) -bones/3/rotation = Quaternion(-0.154837, 0.0415057, -0.335619, 0.928258) +bones/3/rotation = Quaternion(-0.16113, 0.00187354, -0.418897, 0.893621) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 bones/4/rest = Transform3D(0.986624, 0.16227, 0.0155225, -0.161298, 0.98559, -0.0509395, -0.0235648, 0.0477544, 0.998581, -2.98023e-07, 0.217615, 2.83122e-07) bones/4/enabled = true bones/4/position = Vector3(-2.98023e-07, 0.217615, 2.83122e-07) -bones/4/rotation = Quaternion(-0.0871406, 0.129105, -0.575544, 0.8028) +bones/4/rotation = Quaternion(-0.152254, 0.0394014, -0.404863, 0.900751) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "Bone.005" bones/5/parent = 1 bones/5/rest = Transform3D(0.89182, -0.451516, 0.0281058, 0.446851, 0.888891, 0.100983, -0.0705783, -0.0774992, 0.994491, 8.9407e-08, 0.416929, -2.38419e-07) bones/5/enabled = true bones/5/position = Vector3(8.9407e-08, 0.416929, -2.38419e-07) -bones/5/rotation = Quaternion(-0.2244, 0.209276, 0.0551589, 0.950161) +bones/5/rotation = Quaternion(-0.249622, 0.22382, 0.0505408, 0.940765) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 bones/6/rest = Transform3D(0.941855, 0.326829, -0.0780507, -0.307447, 0.931929, 0.192315, 0.135592, -0.157136, 0.978224, 2.98023e-07, 0.36657, -5.96046e-08) bones/6/enabled = true bones/6/position = Vector3(2.98023e-07, 0.36657, -5.96046e-08) -bones/6/rotation = Quaternion(-0.46621, 0.313062, -0.0709524, 0.824382) +bones/6/rotation = Quaternion(-0.326999, 0.302616, -0.165742, 0.879787) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 bones/7/rest = Transform3D(0.999908, -0.0133746, -0.00243148, 0.0135605, 0.968863, 0.247226, -0.000950764, -0.247236, 0.968955, -5.36442e-07, 0.229155, 3.57628e-07) bones/7/enabled = true bones/7/position = Vector3(-5.36442e-07, 0.229155, 3.57628e-07) -bones/7/rotation = Quaternion(-0.650986, -0.00908919, -0.186756, 0.735702) +bones/7/rotation = Quaternion(-0.509186, -0.094959, -0.265378, 0.813196) bones/7/scale = Vector3(1, 1, 1) bones/8/name = "Bone.008" bones/8/parent = 7 bones/8/rest = Transform3D(0.996542, 0.0206576, -0.0804851, -0.00720127, 0.986431, 0.164017, 0.0827812, -0.162871, 0.983169, -5.96046e-08, 0.142665, -3.12924e-07) bones/8/enabled = true bones/8/position = Vector3(-5.96046e-08, 0.142665, -3.12924e-07) -bones/8/rotation = Quaternion(-0.15835, -0.069606, 0.0564664, 0.983307) +bones/8/rotation = Quaternion(-0.0892798, -0.0436998, -0.00103097, 0.995047) bones/8/scale = Vector3(1, 1, 1) bones/9/name = "Bone.009" bones/9/parent = 1 @@ -1080,21 +1080,21 @@ bones/10/parent = 9 bones/10/rest = Transform3D(0.999443, 0.0307126, -0.0130675, -0.0268698, 0.972617, 0.230855, 0.0197998, -0.230375, 0.9729, 4.787e-07, 0.347821, -1.78814e-07) bones/10/enabled = true bones/10/position = Vector3(4.787e-07, 0.347821, -1.78814e-07) -bones/10/rotation = Quaternion(-0.473075, 0.311122, 0.00418237, 0.824248) +bones/10/rotation = Quaternion(-0.424109, 0.272209, -0.0484802, 0.862371) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 bones/11/rest = Transform3D(0.999931, -0.0022606, -0.0115383, 0.00506641, 0.968404, 0.249334, 0.0106101, -0.249375, 0.968349, 8.49366e-07, 0.236611, 4.17233e-07) bones/11/enabled = true bones/11/position = Vector3(8.49366e-07, 0.236611, 4.17233e-07) -bones/11/rotation = Quaternion(-0.499561, -0.0782226, -0.282519, 0.815171) +bones/11/rotation = Quaternion(-0.45076, -0.127508, -0.322391, 0.82257) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "Bone.012" bones/12/parent = 11 bones/12/rest = Transform3D(0.997806, -0.0280227, -0.0599811, 0.0357475, 0.990624, 0.13186, 0.0557236, -0.133715, 0.989452, -5.93718e-07, 0.172989, 1.78814e-07) bones/12/enabled = true bones/12/position = Vector3(-5.93718e-07, 0.172989, 1.78814e-07) -bones/12/rotation = Quaternion(-0.266543, -0.00457524, 0.0419149, 0.9629) +bones/12/rotation = Quaternion(-0.0854781, -0.0267645, 0.0184508, 0.99581) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "Bone.013" bones/13/parent = 1 @@ -1108,14 +1108,14 @@ bones/14/parent = 13 bones/14/rest = Transform3D(0.959373, -0.277519, 0.0508523, 0.259649, 0.938956, 0.225709, -0.110386, -0.203335, 0.972867, 1.19209e-07, 0.369994, -3.57628e-07) bones/14/enabled = true bones/14/position = Vector3(1.19209e-07, 0.369994, -3.57628e-07) -bones/14/rotation = Quaternion(-0.561068, 0.194096, 0.114188, 0.796549) +bones/14/rotation = Quaternion(-0.481403, 0.211647, 0.0607506, 0.84839) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 bones/15/rest = Transform3D(0.987789, 0.153063, -0.029059, -0.126508, 0.89688, 0.423794, 0.0909294, -0.414943, 0.905292, -4.17233e-07, 0.248162, 1.19209e-07) bones/15/enabled = true bones/15/position = Vector3(-4.17233e-07, 0.248162, 1.19209e-07) -bones/15/rotation = Quaternion(-0.479259, -0.1749, -0.348355, 0.786365) +bones/15/rotation = Quaternion(-0.447179, -0.175884, -0.432328, 0.763012) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "Bone.016" bones/16/parent = 15 @@ -1136,14 +1136,14 @@ bones/18/parent = 17 bones/18/rest = Transform3D(0.858902, -0.508701, 0.0592547, 0.482273, 0.842314, 0.240665, -0.172338, -0.178131, 0.968798, 4.17233e-07, 0.400229, 0) bones/18/enabled = true bones/18/position = Vector3(4.17233e-07, 0.400229, 0) -bones/18/rotation = Quaternion(-0.590896, 0.072766, 0.189585, 0.780772) +bones/18/rotation = Quaternion(-0.50778, 0.133272, 0.14124, 0.839315) bones/18/scale = Vector3(1, 1, 1) bones/19/name = "Bone.019" bones/19/parent = 18 bones/19/rest = Transform3D(0.998851, -0.0332957, -0.0344645, 0.0348088, 0.998413, 0.0442743, 0.0329356, -0.0454231, 0.998425, 4.17233e-07, 0.196711, -2.38419e-07) bones/19/enabled = true bones/19/position = Vector3(4.17233e-07, 0.196711, -2.38419e-07) -bones/19/rotation = Quaternion(-0.286679, -0.226887, -0.239113, 0.899535) +bones/19/rotation = Quaternion(-0.244721, -0.250689, -0.339782, 0.87282) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "Bone.020" bones/20/parent = 19 @@ -1156,8 +1156,8 @@ bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.761771, 0.635827, -0.12422, -0.154809, -0.00753344, -0.987916, -0.629079, 0.771795, 0.0926928, -3.0206, 0.148975, -3.31442) bones/21/enabled = true -bones/21/position = Vector3(-2.96315, 1.04927, -3.25434) -bones/21/rotation = Quaternion(0.739548, -0.116959, -0.276886, 0.602265) +bones/21/position = Vector3(-3.02062, 1.15557, -3.26273) +bones/21/rotation = Quaternion(0.707755, -0.22069, -0.355822, 0.569007) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_005" type="MeshInstance3D" parent="ARM3/3_ R STATUS ARM/Skeleton3D"] @@ -1198,3 +1198,10 @@ libraries = { process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.50733, 5.85585, 9.42984) bus = &"SFX" + +[node name="SFX" type="Node3D" parent="."] + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm4.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm4.tscn index fb874e5f..9fbe3986 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm4.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm4.tscn @@ -820,8 +820,8 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(0.0151219, 0.673616, -0.738927, -0.999828, 0.0180682, -0.00398999, 0.0106634, 0.738861, 0.673774, -1.71741, 0.00290632, -1.71742) bones/0/enabled = true -bones/0/position = Vector3(-2.09802, -0.224693, -1.6473) -bones/0/rotation = Quaternion(0.0860447, -0.517232, -0.429717, 0.735127) +bones/0/position = Vector3(-2.11229, -0.244131, -1.67003) +bones/0/rotation = Quaternion(0.0888077, -0.515917, -0.43396, 0.733227) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 @@ -967,15 +967,15 @@ bones/21/name = "Bone.022" bones/21/parent = 0 bones/21/rest = Transform3D(0.114856, -0.993231, 0.0173332, 0.667483, 0.0900864, 0.739155, -0.735713, -0.073327, 0.673312, 0.0822001, 2.55439, -0.106193) bones/21/enabled = true -bones/21/position = Vector3(-0.0108653, 2.56519, -0.12757) -bones/21/rotation = Quaternion(-0.359475, 0.278135, 0.667285, 0.590042) +bones/21/position = Vector3(0.0822002, 2.55439, -0.106193) +bones/21/rotation = Quaternion(-0.296419, 0.274735, 0.605881, 0.685247) bones/21/scale = Vector3(1, 1, 1) bones/22/name = "Bone.021" bones/22/parent = -1 bones/22/rest = Transform3D(0.769842, 0.636233, -0.050504, -0.0970476, 0.0384815, -0.994536, -0.630813, 0.770536, 0.0913696, -3.03474, -0.0767703, -3.31282) bones/22/enabled = true -bones/22/position = Vector3(-2.03436, 0.797714, -3.64075) -bones/22/rotation = Quaternion(0.830376, -0.114466, -0.165129, 0.519717) +bones/22/position = Vector3(-2.03072, 0.815672, -3.63951) +bones/22/rotation = Quaternion(0.835322, -0.117748, -0.167405, 0.510243) bones/22/scale = Vector3(1, 1, 1) [node name="CHEST_003" type="MeshInstance3D" parent="ARM4/4_ R WEAPON ARM/Skeleton3D"] @@ -983,7 +983,7 @@ mesh = SubResource("ArrayMesh_k01v5") skin = SubResource("Skin_f7n3b") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM4/4_ R WEAPON ARM/Skeleton3D"] -transform = Transform3D(0.204234, -0.925988, 0.317545, -0.812208, -0.341364, -0.473064, 0.546449, -0.161297, -0.821813, -0.358815, 1.32885, -0.478794) +transform = Transform3D(0.199421, -0.927333, 0.316677, -0.818551, -0.335306, -0.466417, 0.538708, -0.166202, -0.825936, -0.367673, 1.2894, -0.483307) bone_name = "Bone.008" bone_idx = 8 @@ -1044,3 +1044,10 @@ omni_attenuation = 0.063 [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Lightning"] process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.38603, 4.06867, 12.9578) + +[node name="SFX" type="Node3D" parent="."] + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm5.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm5.tscn index aeaf7181..3cc565ee 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm5.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm5.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=58 format=4 uid="uid://bh1pkdedeoj16"] +[gd_scene load_steps=57 format=4 uid="uid://bh1pkdedeoj16"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_j3ruw"] [ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_flp87"] @@ -16,643 +16,6 @@ Damage = 10 ElementType = 2 metadata/_custom_type_script = "uid://ctshiyffvt4y5" -[sub_resource type="Animation" id="Animation_sn5j6"] -resource_name = "Animation" -length = 7.0137 -tracks/0/type = "position_3d" -tracks/0/imported = true -tracks/0/enabled = true -tracks/0/path = NodePath("Cube_cell_036") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = PackedFloat32Array(0, 1, 2.6238, -3.48718, 0.350017, 0.0333333, 1, 2.68423, -3.51351, 0.357514, 0.0666667, 1, 2.79869, -3.43393, 0.367417, 0.1, 1, 2.93864, -3.3132, 0.378261, 0.133333, 1, 3.08562, -3.19044, 0.38921, 0.166667, 1, 3.23118, -3.07905, 0.400055, 0.2, 1, 3.375, -2.98255, 0.41077, 0.233333, 1, 3.51758, -2.89704, 0.421392, 0.266667, 1, 3.65897, -2.82243, 0.431926, 0.3, 1, 3.7992, -2.75862, 0.442373, 0.333333, 1, 3.9383, -2.70553, 0.452736, 0.366667, 1, 4.07594, -2.66655, 0.46299, 0.4, 1, 4.21251, -2.63804, 0.473165, 0.433333, 1, 4.34803, -2.61994, 0.483261, 0.566667, 1, 4.87914, -2.65673, 0.52283, 0.6, 1, 5.00921, -2.69277, 0.53252, 0.633333, 1, 5.13826, -2.73873, 0.542134, 0.666667, 1, 5.26629, -2.79452, 0.551673, 0.7, 1, 5.39295, -2.86326, 0.561109, 0.733333, 1, 5.51856, -2.9416, 0.570467, 0.766667, 1, 5.64311, -3.02945, 0.579746, 0.8, 1, 5.76657, -3.12671, 0.588944, 0.833333, 1, 5.88893, -3.2333, 0.598059, 0.9, 1, 6.12808, -3.47484, 0.61599, 0.933333, 1, 6.2294, -3.54076, 0.621814, 0.966667, 1, 6.31189, -3.54053, 0.623027, 1, 1, 6.38641, -3.51633, 0.619653, 1.03333, 1, 6.45988, -3.50601, 0.616328, 1.06667, 1, 6.53256, -3.50595, 0.613037, 1.1, 1, 6.60353, -3.51105, 0.608941, 1.13333, 1, 6.67194, -3.51753, 0.603804, 1.2, 1, 6.80002, -3.53733, 0.591988, 1.23333, 1, 6.86176, -3.5591, 0.586086, 1.26667, 1, 6.91732, -3.56809, 0.581123, 1.3, 1, 6.96596, -3.56099, 0.577328, 1.33333, 1, 7.01106, -3.55144, 0.574328, 1.36667, 1, 7.05431, -3.55074, 0.571415, 1.4, 1, 7.09616, -3.55643, 0.568472, 1.43333, 1, 7.1358, -3.56527, 0.56532, 1.46667, 1, 7.17242, -3.57381, 0.562035, 1.5, 1, 7.20515, -3.57838, 0.558944, 1.53333, 1, 7.2332, -3.57965, 0.556455, 1.56667, 1, 7.25791, -3.57965, 0.554203, 1.6, 1, 7.27963, -3.57944, 0.552161, 1.63333, 1, 7.29855, -3.57943, 0.550331, 1.66667, 1, 7.31469, -3.57944, 0.548736, 1.7, 1, 7.32722, -3.57943, 0.547451, 1.73333, 1, 7.33704, -3.57938, 0.546477, 1.76667, 1, 7.34427, -3.57931, 0.545864, 1.8, 1, 7.34908, -3.57925, 0.545606, 1.83333, 1, 7.35168, -3.57917, 0.545642, 3.79167, 1, 7.35226, -3.57915, 0.545726) -tracks/1/type = "rotation_3d" -tracks/1/imported = true -tracks/1/enabled = true -tracks/1/path = NodePath("Cube_cell_036") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = PackedFloat32Array(0, 1, -0.14538, 0.659332, -0.0898637, 0.732168, 0.0333333, 1, -0.0334735, 0.906019, -0.107782, -0.407911, 0.0666667, 1, 0.0300783, -0.743505, 0.0474022, 0.66637, 0.133333, 1, 0.141956, -0.740768, -0.0497955, 0.6547, 0.2, 1, 0.252058, -0.721638, -0.142684, 0.628766, 0.266667, 1, 0.357925, -0.686942, -0.229346, 0.589407, 0.366667, 1, 0.503785, -0.608216, -0.34425, 0.507707, 0.466667, 1, 0.628292, -0.501836, -0.436863, 0.403188, 0.566667, 1, 0.726116, -0.373524, -0.503929, 0.281587, 0.666667, 1, 0.793413, -0.229536, -0.543661, 0.149139, 0.766667, 1, 0.828199, -0.0765259, -0.555044, 0.0125174, 0.8, 1, -0.83238, 0.0246407, 0.552679, 0.0328917, 0.866667, 1, -0.82979, -0.0789684, 0.538813, 0.122041, 0.9, 1, -0.826584, -0.128082, 0.529644, 0.140822, 0.933333, 1, -0.854682, -0.0349738, 0.514507, 0.0598199, 0.966667, 1, 0.861653, -0.182277, -0.466212, 0.0835268, 1.03333, 1, 0.781164, -0.492444, -0.347053, 0.163815, 1.06667, 1, 0.702045, -0.62986, -0.276296, 0.184582, 1.1, 1, 0.61392, -0.73907, -0.191254, 0.200748, 1.13333, 1, 0.513755, -0.825356, -0.102382, 0.21062, 1.16667, 1, 0.372878, -0.905142, -0.0354345, 0.201059, 1.2, 1, 0.205501, -0.961631, 0.0213224, 0.1805, 1.23333, 1, 0.0151824, -0.986123, 0.0634351, 0.152663, 1.26667, 1, -0.122046, -0.98206, 0.064634, 0.128397, 1.3, 1, -0.185095, -0.975815, 0.0329289, 0.111537, 1.33333, 1, -0.20644, -0.974039, 0.00693456, 0.0926464, 1.36667, 1, -0.217509, -0.973836, 0.0025204, 0.0657838, 1.4, 1, -0.22153, -0.9745, 0.0151536, 0.0323249, 1.43333, 1, -0.200051, -0.979167, 0.0346736, -0.00313294, 1.46667, 1, 0.157845, 0.985577, -0.0495739, 0.0355582, 1.5, 1, 0.123575, 0.989424, -0.0471632, 0.0595488, 1.53333, 1, 0.130603, 0.987025, -0.0450702, 0.0818121, 1.56667, 1, 0.132495, 0.984905, -0.042161, 0.103099, 1.6, 1, 0.132808, 0.982619, -0.039105, 0.123663, 1.63333, 1, 0.133565, 0.979926, -0.0361543, 0.143519, 1.66667, 1, 0.135267, 0.97684, -0.0331464, 0.162441, 1.7, 1, 0.135321, 0.973719, -0.0308107, 0.180585, 1.73333, 1, 0.135615, 0.970419, -0.0289237, 0.197635, 1.76667, 1, 0.136151, 0.967327, -0.0270713, 0.212151, 1.8, 1, 0.136774, 0.964812, -0.0253278, 0.223136, 1.83333, 1, 0.137165, 0.963165, -0.0242547, 0.230022, 1.86667, 1, 0.137077, 0.962823, -0.024078, 0.231523, 3.79167, 1, 0.137172, 0.962724, -0.0239865, 0.231885) -tracks/2/type = "scale_3d" -tracks/2/imported = true -tracks/2/enabled = true -tracks/2/path = NodePath("Cube_cell_036") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = PackedFloat32Array(0, 1, -0.171464, -0.00312708, -0.209615, 0.0333333, 1, 0.691899, 0.725567, 0.684269, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) -tracks/3/type = "position_3d" -tracks/3/imported = true -tracks/3/enabled = true -tracks/3/path = NodePath("Cube_cell_026_cell") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = PackedFloat32Array(0, 1, 1.77564, -3.48865, 0.617611, 0.0333333, 1, 1.72202, -3.3242, 0.813539, 0.0666667, 1, 1.66541, -3.02973, 1.05969, 0.133333, 1, 1.55237, -2.34729, 1.58694, 0.166667, 1, 1.49667, -2.01907, 1.84864, 0.2, 1, 1.44146, -1.70734, 2.10803, 0.233333, 1, 1.38659, -1.4077, 2.36582, 0.266667, 1, 1.33205, -1.12001, 2.6221, 0.3, 1, 1.27781, -0.844157, 2.87692, 0.333333, 1, 1.22387, -0.580012, 3.13035, 0.366667, 1, 1.17031, -0.331284, 3.38203, 0.4, 1, 1.11701, -0.0939902, 3.63244, 0.433333, 1, 1.06398, 0.131946, 3.88162, 0.466667, 1, 1.0112, 0.346597, 4.12961, 0.5, 1, 0.958664, 0.550033, 4.37644, 0.533333, 1, 0.906452, 0.738638, 4.62175, 0.566667, 1, 0.854475, 0.916206, 4.86597, 0.6, 1, 0.802726, 1.08279, 5.10911, 0.633333, 1, 0.751205, 1.23845, 5.35118, 0.666667, 1, 0.699905, 1.38322, 5.59221, 0.7, 1, 0.648897, 1.51359, 5.83187, 0.733333, 1, 0.598102, 1.63321, 6.07053, 0.766667, 1, 0.54752, 1.74214, 6.30819, 0.8, 1, 0.497146, 1.84042, 6.54487, 0.833333, 1, 0.44698, 1.92808, 6.78058, 0.866667, 1, 0.397086, 2.00168, 7.015, 0.9, 1, 0.347395, 2.06479, 7.24848, 0.933333, 1, 0.297904, 2.11744, 7.48101, 0.966667, 1, 0.248612, 2.15967, 7.71261, 1, 1, 0.199518, 2.19153, 7.94327, 1.23333, 1, -0.138106, 2.09723, 9.5296, 1.3, 1, -0.232745, 1.9747, 9.97426, 1.33333, 1, -0.279777, 1.89851, 10.1952, 1.36667, 1, -0.326552, 1.80914, 10.415, 1.4, 1, -0.373134, 1.70995, 10.6339, 1.43333, 1, -0.419523, 1.60097, 10.8518, 1.46667, 1, -0.465718, 1.48224, 11.0689, 1.5, 1, -0.511719, 1.35381, 11.285, 1.53333, 1, -0.557457, 1.21252, 11.4999, 1.56667, 1, -0.602997, 1.06166, 11.7139, 1.6, 1, -0.648337, 0.901254, 11.9269, 1.63333, 1, -0.693476, 0.731364, 12.139, 1.66667, 1, -0.738412, 0.552033, 12.3501, 1.7, 1, -0.783073, 0.360212, 12.56, 1.73333, 1, -0.827524, 0.159105, 12.7688, 1.76667, 1, -0.871762, -0.0512313, 12.9767, 1.8, 1, -0.915783, -0.270736, 13.1835, 1.83333, 1, -0.959584, -0.499349, 13.3893, 1.86667, 1, -1.00308, -0.739963, 13.5937, 1.9, 1, -1.04635, -0.989465, 13.797, 1.93333, 1, -1.08937, -1.24777, 13.9991, 1.96667, 1, -1.13214, -1.51477, 14.2001, 2, 1, -1.17466, -1.79037, 14.3998, 2.03333, 1, -1.21682, -2.0772, 14.5979, 2.06667, 1, -1.25868, -2.37222, 14.7946, 2.1, 1, -1.30024, -2.67523, 14.9899, 2.13333, 1, -1.34146, -2.986, 15.1835, 2.16667, 1, -1.38232, -3.30425, 15.3755, 2.2, 1, -1.41488, -3.47644, 15.5274, 2.23333, 1, -1.43697, -3.51746, 15.6455, 2.26667, 1, -1.4542, -3.51478, 15.7506, 2.3, 1, -1.46941, -3.50975, 15.852, 2.33333, 1, -1.48269, -3.49753, 15.9485, 2.36667, 1, -1.4954, -3.49549, 16.0427, 2.43333, 1, -1.51948, -3.51495, 16.2269, 2.46667, 1, -1.53049, -3.53094, 16.3155, 2.5, 1, -1.54001, -3.53789, 16.3988, 2.53333, 1, -1.5487, -3.53639, 16.4755, 2.56667, 1, -1.55702, -3.53511, 16.549, 2.6, 1, -1.56481, -3.53453, 16.6194, 2.63333, 1, -1.57196, -3.53476, 16.6867, 2.66667, 1, -1.57847, -3.53559, 16.7511, 2.7, 1, -1.58481, -3.53516, 16.811, 2.73333, 1, -1.59067, -3.53364, 16.8676, 2.76667, 1, -1.5958, -3.53234, 16.9213, 2.8, 1, -1.60006, -3.53186, 16.9721, 2.83333, 1, -1.60349, -3.53212, 17.0202, 2.86667, 1, -1.60589, -3.53352, 17.0647, 2.9, 1, -1.60801, -3.5351, 17.1063, 2.93333, 1, -1.6101, -3.53726, 17.145, 2.96667, 1, -1.612, -3.53908, 17.1808, 3, 1, -1.61313, -3.53837, 17.2133, 3.03333, 1, -1.61225, -3.53967, 17.2433, 3.06667, 1, -1.61153, -3.53979, 17.2703, 3.1, 1, -1.61122, -3.53988, 17.2947, 3.13333, 1, -1.61113, -3.54026, 17.3168, 3.16667, 1, -1.61068, -3.5404, 17.3373, 3.2, 1, -1.61052, -3.54049, 17.3553, 3.23333, 1, -1.61062, -3.5405, 17.3715, 3.26667, 1, -1.61081, -3.54049, 17.3858, 3.3, 1, -1.61098, -3.54051, 17.3984, 3.33333, 1, -1.61114, -3.54059, 17.409, 3.36667, 1, -1.61086, -3.54052, 17.417, 3.4, 1, -1.61017, -3.54049, 17.4235, 3.43333, 1, -1.60891, -3.54049, 17.4284, 3.46667, 1, -1.60695, -3.54049, 17.4317, 3.5, 1, -1.60419, -3.54051, 17.4338, 3.53333, 1, -1.60016, -3.54048, 17.4345, 3.6, 1, -1.59091, -3.54046, 17.4361, 3.63333, 1, -1.58666, -3.54046, 17.4373, 3.66667, 1, -1.58273, -3.54046, 17.439, 3.7, 1, -1.57934, -3.54046, 17.4409, 3.73333, 1, -1.5763, -3.54046, 17.4429, 3.76667, 1, -1.57361, -3.54047, 17.4451, 3.79167, 1, -1.57176, -3.54047, 17.4467) -tracks/4/type = "rotation_3d" -tracks/4/imported = true -tracks/4/enabled = true -tracks/4/path = NodePath("Cube_cell_026_cell") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = PackedFloat32Array(0, 1, -0.333142, 0.115554, -0.084272, 0.931967, 0.0333333, 1, -0.333142, 0.115554, -0.0842719, 0.931967, 0.0666667, 1, -0.334102, -0.00675165, -0.111396, 0.935907, 0.1, 1, -0.319415, -0.17832, -0.143391, 0.919574, 0.133333, 1, -0.283755, -0.352768, -0.166382, 0.875988, 0.2, 1, -0.163425, -0.658771, -0.162628, 0.716146, 0.266667, 1, -0.0205427, -0.875635, -0.0868279, 0.47466, 0.333333, 1, 0.100306, -0.97818, 0.0406523, 0.177344, 0.366667, 1, 0.13757, -0.983735, 0.114154, 0.0175919, 0.4, 1, -0.158566, 0.959236, -0.18442, 0.143917, 0.466667, 1, -0.152766, 0.826868, -0.295498, 0.453467, 0.533333, 1, -0.0949548, 0.603698, -0.336985, 0.716222, 0.6, 1, -0.0200602, 0.320423, -0.292264, 0.900838, 0.633333, 1, 0.013011, 0.166492, -0.241228, 0.955992, 0.666667, 1, 0.0385152, 0.0102513, -0.174692, 0.983816, 0.7, 1, 0.0499039, -0.143622, -0.0961355, 0.983687, 0.8, 1, 0.0109309, -0.558561, 0.144909, 0.816634, 0.933333, 1, -0.14787, -0.895258, 0.304103, 0.290118, 0.966667, 1, -0.181851, -0.927884, 0.298879, 0.128969, 1, 1, 0.206391, 0.937958, -0.276443, 0.034873, 1.1, 1, 0.188805, 0.837295, -0.133662, 0.495403, 1.16667, 1, 0.103998, 0.667342, -0.0197586, 0.737189, 1.23333, 1, -0.0258762, 0.432503, 0.0677699, 0.898709, 1.26667, 1, -0.0961783, 0.296731, 0.0959581, 0.945247, 1.3, 1, -0.16485, 0.152952, 0.112111, 0.967916, 1.33333, 1, -0.227987, 0.00459767, 0.115884, 0.966733, 1.36667, 1, -0.279635, -0.145204, 0.105609, 0.943169, 1.43333, 1, -0.339668, -0.433688, 0.0605873, 0.832388, 1.53333, 1, -0.301379, -0.786915, -0.0276758, 0.537746, 1.63333, 1, -0.132353, -0.977349, -0.0670264, 0.150926, 1.7, 1, 0.0105642, -0.991654, -0.0421774, -0.121372, 1.73333, 1, -0.0785345, 0.963949, 0.0141175, 0.25384, 1.8, 1, -0.191293, 0.842951, -0.0620698, 0.498986, 1.86667, 1, -0.254843, 0.646659, -0.149296, 0.703277, 1.93333, 1, -0.261022, 0.395529, -0.220984, 0.852403, 1.96667, 1, -0.244882, 0.25687, -0.244336, 0.902413, 2, 1, -0.217748, 0.113819, -0.256761, 0.934722, 2.03333, 1, -0.181313, -0.0298391, -0.254296, 0.94951, 2.06667, 1, -0.139978, -0.171416, -0.238615, 0.945561, 2.1, 1, -0.0963481, -0.307897, -0.210153, 0.922904, 2.16667, 1, -0.0124051, -0.554577, -0.119268, 0.823448, 2.2, 1, 0.0168145, -0.666434, -0.200066, 0.718022, 2.23333, 1, 0.0356033, -0.757825, -0.333478, 0.559666, 2.26667, 1, 0.0507759, -0.816193, -0.44686, 0.362721, 2.3, 1, 0.0780696, -0.845818, -0.502824, 0.160203, 2.33333, 1, -0.141357, 0.854974, 0.498769, 0.0163389, 2.4, 1, -0.248299, 0.818751, 0.386285, 0.344642, 2.43333, 1, -0.279998, 0.772007, 0.291145, 0.490755, 2.46667, 1, -0.297975, 0.705113, 0.184373, 0.616469, 2.5, 1, -0.312693, 0.619062, 0.0883906, 0.714963, 2.53333, 1, -0.317945, 0.518314, 0.0299837, 0.793324, 2.56667, 1, -0.311936, 0.409677, -0.012227, 0.857153, 2.6, 1, -0.302562, 0.295452, -0.0416492, 0.905224, 2.63333, 1, -0.294506, 0.177617, -0.0608142, 0.937027, 2.66667, 1, -0.289227, 0.0580786, -0.0712187, 0.952839, 2.7, 1, -0.273624, -0.060312, -0.0912661, 0.955596, 2.73333, 1, -0.250249, -0.176527, -0.116858, 0.944753, 2.8, 1, -0.204255, -0.397901, -0.165818, 0.878897, 2.83333, 1, -0.185015, -0.50074, -0.189508, 0.824085, 2.86667, 1, -0.168641, -0.596639, -0.218225, 0.753631, 2.9, 1, -0.14134, -0.682147, -0.252752, 0.671428, 2.93333, 1, -0.103358, -0.754957, -0.292981, 0.577512, 2.96667, 1, -0.0559634, -0.813894, -0.330499, 0.474569, 3, 1, -0.00164395, -0.861054, -0.349589, 0.369283, 3.03333, 1, 0.0368553, -0.903284, -0.337493, 0.262333, 3.06667, 1, 0.0685934, -0.929695, -0.328557, 0.151695, 3.1, 1, 0.103919, -0.940546, -0.320552, 0.0426749, 3.13333, 1, -0.143139, 0.937788, 0.310177, 0.0620923, 3.16667, 1, -0.176562, 0.925402, 0.29326, 0.162654, 3.2, 1, -0.206749, 0.903681, 0.273849, 0.256166, 3.23333, 1, -0.232997, 0.874056, 0.252307, 0.343626, 3.26667, 1, -0.255707, 0.83792, 0.228814, 0.424439, 3.3, 1, -0.275107, 0.796411, 0.204255, 0.498322, 3.33333, 1, -0.291239, 0.750427, 0.180221, 0.565296, 3.36667, 1, -0.305874, 0.701941, 0.156579, 0.623862, 3.4, 1, -0.317207, 0.651657, 0.132626, 0.676117, 3.43333, 1, -0.326072, 0.600194, 0.108886, 0.722211, 3.46667, 1, -0.332908, 0.548241, 0.0856618, 0.762408, 3.5, 1, -0.337761, 0.496576, 0.0630385, 0.797092, 3.53333, 1, -0.341064, 0.446753, 0.0427116, 0.825992, 3.56667, 1, -0.342797, 0.398564, 0.0229449, 0.850359, 3.6, 1, -0.343515, 0.351661, 0.0042075, 0.870812, 3.63333, 1, -0.343385, 0.306112, -0.0134325, 0.887807, 3.66667, 1, -0.342221, 0.262456, -0.0303013, 0.901711, 3.7, 1, -0.340547, 0.221455, -0.0456566, 0.912634, 3.73333, 1, -0.338343, 0.182546, -0.0600139, 0.921194, 3.76667, 1, -0.335704, 0.145924, -0.073405, 0.927696, 3.79167, 1, -0.333471, 0.119629, -0.0829577, 0.931452) -tracks/5/type = "scale_3d" -tracks/5/imported = true -tracks/5/enabled = true -tracks/5/path = NodePath("Cube_cell_026_cell") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = PackedFloat32Array(0, 1, 0.19083, 0.0379784, 0.0878208, 0.0333333, 1, 0.764358, 0.733788, 0.743756, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) -tracks/6/type = "position_3d" -tracks/6/imported = true -tracks/6/enabled = true -tracks/6/path = NodePath("Cube_cell_012_cell_006") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/keys = PackedFloat32Array(0, 1, 2.94116, -3.48725, 0.277391, 0.0333333, 1, 2.9867, -3.50453, 0.26992, 0.0666667, 1, 3.06706, -3.42457, 0.259002, 0.1, 1, 3.16377, -3.30777, 0.246651, 0.133333, 1, 3.2649, -3.19033, 0.234057, 0.166667, 1, 3.36505, -3.08421, 0.221584, 0.2, 1, 3.46401, -2.99293, 0.20926, 0.233333, 1, 3.56211, -2.91259, 0.197043, 0.266667, 1, 3.65938, -2.84311, 0.184928, 0.3, 1, 3.75585, -2.78439, 0.172914, 0.333333, 1, 3.85154, -2.73635, 0.160997, 0.366667, 1, 3.94621, -2.70237, 0.149207, 0.4, 1, 4.04014, -2.67884, 0.137508, 0.433333, 1, 4.13334, -2.66567, 0.125902, 0.5, 1, 4.31757, -2.67012, 0.102958, 0.533333, 1, 4.40837, -2.69095, 0.091649, 0.566667, 1, 4.49846, -2.72178, 0.0804288, 0.6, 1, 4.58785, -2.76255, 0.0692972, 0.633333, 1, 4.67651, -2.81318, 0.0582546, 0.666667, 1, 4.76446, -2.87359, 0.0473014, 0.7, 1, 4.85144, -2.9469, 0.036469, 0.733333, 1, 4.93768, -3.02974, 0.0257291, 0.766667, 1, 5.02316, -3.12202, 0.0150835, 0.8, 1, 5.10786, -3.22365, 0.00453427, 0.833333, 1, 5.19177, -3.33451, -0.00591607, 0.866667, 1, 5.27457, -3.45745, -0.0162279, 0.9, 1, 5.34349, -3.53659, -0.026011, 0.933333, 1, 5.39747, -3.56727, -0.0358505, 0.966667, 1, 5.44027, -3.56467, -0.0457776, 1, 1, 5.48051, -3.56374, -0.0552691, 1.03333, 1, 5.51469, -3.55431, -0.0643073, 1.06667, 1, 5.54675, -3.54809, -0.0731507, 1.1, 1, 5.57688, -3.54569, -0.0816994, 1.13333, 1, 5.60479, -3.54589, -0.0898309, 1.16667, 1, 5.62972, -3.54568, -0.0974003, 1.2, 1, 5.65104, -3.54626, -0.104331, 1.23333, 1, 5.6697, -3.54713, -0.110742, 1.26667, 1, 5.68571, -3.54819, -0.11662, 1.3, 1, 5.69909, -3.54941, -0.121963, 1.33333, 1, 5.70988, -3.55083, -0.12678, 1.36667, 1, 5.71728, -3.55272, -0.130963, 1.4, 1, 5.72224, -3.55519, -0.13477, 1.43333, 1, 5.72482, -3.55846, -0.138305, 1.46667, 1, 5.72501, -3.5611, -0.141271, 1.5, 1, 5.72266, -3.56002, -0.142977, 1.53333, 1, 5.7222, -3.56048, -0.143085, 1.56667, 1, 5.72322, -3.56111, -0.142781, 3.79167, 1, 5.72316, -3.56185, -0.142704) -tracks/7/type = "rotation_3d" -tracks/7/imported = true -tracks/7/enabled = true -tracks/7/path = NodePath("Cube_cell_012_cell_006") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/keys = PackedFloat32Array(0, 1, 0.0296721, 0.987512, -0.118532, 0.0994433, 0.0333333, 1, 0.138151, 0.410145, 0.00917614, -0.90145, 0.0666667, 1, -0.147076, -0.124843, -0.0619276, 0.979259, 0.2, 1, -0.202316, -0.183685, -0.137384, 0.952079, 0.333333, 1, -0.251239, -0.236063, -0.214393, 0.913887, 0.5, 1, -0.302463, -0.29225, -0.31074, 0.852377, 0.666667, 1, -0.341966, -0.338192, -0.404839, 0.777683, 0.833333, 1, -0.369394, -0.374097, -0.494527, 0.692129, 0.866667, 1, -0.373398, -0.380086, -0.511779, 0.673936, 0.9, 1, -0.344268, -0.46733, -0.451239, 0.677839, 0.933333, 1, -0.238308, -0.570886, -0.32062, 0.717288, 0.966667, 1, -0.0748616, -0.63824, -0.135414, 0.754128, 1, 1, 0.0493847, -0.665849, 0.0617971, 0.741881, 1.03333, 1, 0.112771, -0.662121, 0.197733, 0.713989, 1.06667, 1, 0.177809, -0.645013, 0.301233, 0.679412, 1.1, 1, 0.241882, -0.621561, 0.380598, 0.640547, 1.13333, 1, 0.296194, -0.596, 0.44306, 0.600626, 1.16667, 1, 0.326382, -0.572163, 0.49533, 0.566351, 1.2, 1, 0.347182, -0.552933, 0.534309, 0.536883, 1.23333, 1, 0.363185, -0.53561, 0.567046, 0.509585, 1.26667, 1, 0.375509, -0.5193, 0.595872, 0.484001, 1.33333, 1, 0.394258, -0.485811, 0.64806, 0.434243, 1.36667, 1, 0.403578, -0.465087, 0.674731, 0.406888, 1.4, 1, 0.413709, -0.439183, 0.703307, 0.375929, 1.43333, 1, 0.424938, -0.406407, 0.733976, 0.339912, 1.46667, 1, 0.434792, -0.374429, 0.759853, 0.305586, 1.5, 1, 0.4396, -0.361623, 0.769716, 0.288994, 1.53333, 1, 0.436519, -0.365369, 0.76837, 0.292515, 1.56667, 1, 0.431279, -0.374018, 0.763834, 0.301109, 1.6, 1, 0.428868, -0.377645, 0.761871, 0.304972, 1.63333, 1, 0.429822, -0.375349, 0.763261, 0.302983, 3.79167, 1, 0.430083, -0.374893, 0.763481, 0.302622) -tracks/8/type = "scale_3d" -tracks/8/imported = true -tracks/8/enabled = true -tracks/8/path = NodePath("Cube_cell_012_cell_006") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/keys = PackedFloat32Array(0, 1, -0.212846, -0.000941459, -0.189707, 0.0333333, 1, 0.683623, 0.726004, 0.688251, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.907741, 0.907741, 0.90774) -tracks/9/type = "position_3d" -tracks/9/imported = true -tracks/9/enabled = true -tracks/9/path = NodePath("Cube_cell_005_cell_001") -tracks/9/interp = 1 -tracks/9/loop_wrap = true -tracks/9/keys = PackedFloat32Array(0, 1, 1.71506, -3.48988, -0.219024, 0.0333333, 1, 1.67452, -3.38904, -0.326711, 0.0666667, 1, 1.61686, -3.19575, -0.497872, 0.133333, 1, 1.5088, -2.74409, -0.882286, 0.166667, 1, 1.4587, -2.53122, -1.07245, 0.2, 1, 1.40911, -2.33406, -1.2607, 0.233333, 1, 1.35986, -2.14846, -1.44762, 0.266667, 1, 1.31096, -1.97432, -1.63326, 0.3, 1, 1.26237, -1.81153, -1.81768, 0.333333, 1, 1.2141, -1.65998, -2.00091, 0.366667, 1, 1.16623, -1.52326, -2.18264, 0.4, 1, 1.11864, -1.39753, -2.36328, 0.433333, 1, 1.07133, -1.28274, -2.54285, 0.466667, 1, 1.02429, -1.1788, -2.72139, 0.5, 1, 0.977526, -1.08566, -2.89891, 0.533333, 1, 0.931108, -1.0068, -3.0751, 0.566667, 1, 0.884946, -0.938558, -3.25033, 0.6, 1, 0.839037, -0.880881, -3.42459, 0.633333, 1, 0.793377, -0.833715, -3.59791, 0.666667, 1, 0.747963, -0.797009, -3.77029, 0.7, 1, 0.702875, -0.774144, -3.94144, 0.9, 1, 0.437516, -0.858331, -4.9487, 0.933333, 1, 0.39417, -0.909839, -5.11323, 0.966667, 1, 0.351061, -0.971263, -5.27687, 1, 1, 0.308188, -1.04255, -5.4396, 1.03333, 1, 0.265634, -1.12689, -5.60113, 1.06667, 1, 0.22332, -1.22094, -5.76175, 1.1, 1, 0.181249, -1.32463, -5.92144, 1.13333, 1, 0.139422, -1.43792, -6.08021, 1.16667, 1, 0.0978432, -1.56074, -6.23804, 1.2, 1, 0.0566006, -1.69613, -6.39459, 1.23333, 1, 0.0156166, -1.84086, -6.55016, 1.26667, 1, -0.0251039, -1.99484, -6.70472, 1.3, 1, -0.0655549, -2.15799, -6.85827, 1.33333, 1, -0.10573, -2.33023, -7.01077, 1.36667, 1, -0.145521, -2.51438, -7.16181, 1.4, 1, -0.185007, -2.7073, -7.31169, 1.43333, 1, -0.224175, -2.90884, -7.46037, 1.46667, 1, -0.263009, -3.11884, -7.60777, 1.5, 1, -0.301487, -3.33711, -7.75383, 1.53333, 1, -0.329799, -3.46498, -7.87488, 1.56667, 1, -0.34619, -3.50856, -7.97493, 1.6, 1, -0.357675, -3.52412, -8.06593, 1.63333, 1, -0.36702, -3.53146, -8.1519, 1.66667, 1, -0.372747, -3.51394, -8.22895, 1.7, 1, -0.378039, -3.50623, -8.30398, 1.73333, 1, -0.382626, -3.50173, -8.37658, 1.76667, 1, -0.386565, -3.50065, -8.44679, 1.8, 1, -0.389887, -3.50006, -8.51392, 1.83333, 1, -0.392598, -3.4939, -8.57645, 1.86667, 1, -0.395257, -3.48545, -8.63419, 1.9, 1, -0.398721, -3.47858, -8.68923, 1.93333, 1, -0.402637, -3.47632, -8.74233, 2, 1, -0.411178, -3.49072, -8.84405, 2.03333, 1, -0.415862, -3.50811, -8.8919, 2.06667, 1, -0.420198, -3.51396, -8.93379, 2.1, 1, -0.424006, -3.51397, -8.97119, 2.13333, 1, -0.427284, -3.51295, -9.00535, 2.16667, 1, -0.430206, -3.51484, -9.03736, 2.2, 1, -0.432784, -3.51539, -9.0649, 2.23333, 1, -0.435447, -3.51447, -9.08885, 2.26667, 1, -0.438081, -3.51625, -9.1105, 2.3, 1, -0.440436, -3.51972, -9.1297, 2.33333, 1, -0.44212, -3.51869, -9.14488, 2.36667, 1, -0.44368, -3.51823, -9.15634, 2.4, 1, -0.445345, -3.51884, -9.16532, 2.43333, 1, -0.446409, -3.51955, -9.17197, 2.46667, 1, -0.446869, -3.51989, -9.17637, 2.5, 1, -0.447428, -3.51994, -9.17851, 3.79167, 1, -0.447331, -3.51994, -9.17886) -tracks/10/type = "rotation_3d" -tracks/10/imported = true -tracks/10/enabled = true -tracks/10/path = NodePath("Cube_cell_005_cell_001") -tracks/10/interp = 1 -tracks/10/loop_wrap = true -tracks/10/keys = PackedFloat32Array(0, 1, 0.0717273, 0.266614, 0.908617, 0.313348, 0.0333333, 1, -0.0425531, 0.321406, 0.857639, 0.399177, 0.0666667, 1, -0.176891, 0.394751, 0.775152, 0.460458, 0.1, 1, -0.293887, 0.471231, 0.674948, 0.485815, 0.166667, 1, -0.463086, 0.605395, 0.45156, 0.463834, 0.233333, 1, -0.578783, 0.691499, 0.189407, 0.388541, 0.3, 1, -0.630416, 0.721282, -0.0881937, 0.273039, 0.366667, 1, -0.612141, 0.693561, -0.356031, 0.132285, 0.433333, 1, -0.526531, 0.610913, -0.591013, -0.0159284, 0.466667, 1, 0.46157, -0.550785, 0.689865, 0.087616, 0.533333, 1, 0.29556, -0.399573, 0.840571, 0.215465, 0.6, 1, 0.0973105, -0.216954, 0.919956, 0.311677, 0.666667, 1, -0.112207, -0.0169737, 0.922875, 0.367999, 0.733333, 1, -0.31138, 0.18536, 0.85193, 0.378021, 0.8, 1, -0.480362, 0.374915, 0.714037, 0.344736, 0.866667, 1, -0.602517, 0.538097, 0.522495, 0.272808, 0.933333, 1, -0.666248, 0.663455, 0.293834, 0.172051, 1, 1, -0.66684, 0.741744, 0.046391, 0.054664, 1.03333, 1, -0.642702, 0.762118, -0.0779299, -0.00608223, 1.06667, 1, 0.603543, -0.76908, 0.199764, 0.0659202, 1.13333, 1, 0.484432, -0.742782, 0.426963, 0.176925, 1.2, 1, 0.320394, -0.665811, 0.618784, 0.266738, 1.26667, 1, 0.126902, -0.543827, 0.762605, 0.326467, 1.33333, 1, -0.0785205, -0.385204, 0.849595, 0.351626, 1.4, 1, -0.277951, -0.201468, 0.875961, 0.338889, 1.46667, 1, -0.454596, -0.00450602, 0.841497, 0.291898, 1.5, 1, -0.529872, 0.0947693, 0.80263, 0.256982, 1.53333, 1, -0.531509, 0.219033, 0.736694, 0.356097, 1.56667, 1, -0.553663, 0.358204, 0.646789, 0.383159, 1.6, 1, -0.573086, 0.494941, 0.540357, 0.366907, 1.63333, 1, -0.580164, 0.609213, 0.427722, 0.33064, 1.66667, 1, -0.583624, 0.684026, 0.324403, 0.293689, 1.73333, 1, -0.576787, 0.785995, 0.105071, 0.196185, 1.76667, 1, -0.570822, 0.809168, -0.0102076, 0.138943, 1.8, 1, -0.564662, 0.812024, -0.118986, 0.0872673, 1.83333, 1, -0.566239, 0.796158, -0.204466, 0.0608299, 1.86667, 1, -0.580628, 0.768381, -0.261101, 0.0654859, 1.9, 1, -0.590288, 0.746157, -0.296231, 0.0840057, 1.96667, 1, -0.599603, 0.715777, -0.326456, 0.146856, 2, 1, -0.600434, 0.705329, -0.325908, 0.189139, 2.03333, 1, -0.59427, 0.701727, -0.309918, 0.241605, 2.06667, 1, -0.576409, 0.707073, -0.295937, 0.283235, 2.1, 1, -0.560355, 0.7092, -0.291215, 0.313419, 2.13333, 1, -0.553185, 0.702666, -0.298055, 0.333782, 2.16667, 1, -0.554786, 0.687794, -0.313434, 0.347722, 2.2, 1, -0.561742, 0.66789, -0.34068, 0.349724, 2.23333, 1, -0.555359, 0.661097, -0.36324, 0.350121, 2.26667, 1, -0.53922, 0.663906, -0.37789, 0.354498, 2.3, 1, -0.522162, 0.667047, -0.384999, 0.366293, 2.33333, 1, -0.518597, 0.655882, -0.388728, 0.386998, 2.36667, 1, -0.517493, 0.643, -0.401042, 0.397388, 2.4, 1, -0.507775, 0.639452, -0.410233, 0.406171, 2.43333, 1, -0.497939, 0.637902, -0.419417, 0.411373, 2.46667, 1, -0.491909, 0.63488, -0.428008, 0.414443, 2.5, 1, -0.489027, 0.63077, -0.431714, 0.420245, 2.53333, 1, -0.487326, 0.629111, -0.433624, 0.422733, 2.56667, 1, -0.486871, 0.628602, -0.434206, 0.423416, 3.79167, 1, -0.486878, 0.628532, -0.43426, 0.423457) -tracks/11/type = "scale_3d" -tracks/11/imported = true -tracks/11/enabled = true -tracks/11/path = NodePath("Cube_cell_005_cell_001") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/keys = PackedFloat32Array(0, 1, 0.0858004, 0.0684725, 0.1395, 0.0333333, 1, 0.743352, 0.739887, 0.754092, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) -tracks/12/type = "position_3d" -tracks/12/imported = true -tracks/12/enabled = true -tracks/12/path = NodePath("Cube_cell_cell") -tracks/12/interp = 1 -tracks/12/loop_wrap = true -tracks/12/keys = PackedFloat32Array(0, 1, 0.434769, -3.49682, 0.186093, 0.0333333, 1, 0.409204, -3.34669, 0.194641, 0.0666667, 1, 0.367882, -3.23762, 0.201377, 0.133333, 1, 0.267059, -3.04072, 0.212625, 0.166667, 1, 0.215891, -2.95356, 0.218025, 0.2, 1, 0.165317, -2.88098, 0.223363, 0.233333, 1, 0.115169, -2.81917, 0.228655, 0.266667, 1, 0.0654364, -2.76805, 0.233904, 0.3, 1, 0.0161103, -2.72753, 0.23911, 0.333333, 1, -0.0328167, -2.69755, 0.244273, 0.366667, 1, -0.0812236, -2.68144, 0.249382, 0.4, 1, -0.129247, -2.67563, 0.25445, 0.433333, 1, -0.176889, -2.68004, 0.259479, 0.466667, 1, -0.224154, -2.69461, 0.264467, 0.5, 1, -0.271041, -2.71926, 0.269415, 0.533333, 1, -0.317426, -2.7572, 0.274311, 0.566667, 1, -0.363432, -2.805, 0.279166, 0.6, 1, -0.409057, -2.86259, 0.283981, 0.633333, 1, -0.454296, -2.92987, 0.288756, 0.666667, 1, -0.499147, -3.00677, 0.293489, 0.7, 1, -0.542884, -3.09376, 0.298427, 0.733333, 1, -0.573967, -3.13798, 0.302825, 0.766667, 1, -0.598835, -3.16399, 0.305031, 0.8, 1, -0.621328, -3.18774, 0.304964, 0.833333, 1, -0.642689, -3.21662, 0.304109, 0.866667, 1, -0.662604, -3.25263, 0.302307, 0.9, 1, -0.680066, -3.28769, 0.299009, 0.933333, 1, -0.694568, -3.31955, 0.293982, 0.966667, 1, -0.706535, -3.35021, 0.287546, 1, 1, -0.717323, -3.38586, 0.28057, 1.03333, 1, -0.714096, -3.37703, 0.270006, 1.06667, 1, -0.709551, -3.37213, 0.260362, 1.1, 1, -0.703688, -3.37039, 0.251916, 1.13333, 1, -0.696605, -3.37131, 0.24491, 1.16667, 1, -0.688501, -3.37472, 0.239547, 1.2, 1, -0.679493, -3.38145, 0.236583, 1.23333, 1, -0.670082, -3.39083, 0.235436, 1.26667, 1, -0.660392, -3.40304, 0.236067, 1.3, 1, -0.650538, -3.41828, 0.238423, 1.33333, 1, -0.640615, -3.43676, 0.242439, 1.36667, 1, -0.631321, -3.45654, 0.249293, 1.4, 1, -0.623235, -3.47514, 0.258643, 1.43333, 1, -0.616133, -3.49688, 0.269256, 1.46667, 1, -0.609901, -3.51686, 0.280336, 1.5, 1, -0.604528, -3.52094, 0.291516, 1.53333, 1, -0.600271, -3.52502, 0.301636, 1.56667, 1, -0.596727, -3.52885, 0.30965, 1.6, 1, -0.59268, -3.5341, 0.315882, 1.63333, 1, -0.58851, -3.53991, 0.320838, 1.66667, 1, -0.586186, -3.54292, 0.325207, 1.7, 1, -0.587193, -3.53856, 0.327041, 1.73333, 1, -0.588862, -3.53838, 0.328065, 1.76667, 1, -0.59053, -3.54203, 0.329205, 1.8, 1, -0.591879, -3.54879, 0.330617, 1.83333, 1, -0.59293, -3.55758, 0.331684, 1.86667, 1, -0.592833, -3.55956, 0.33281, 1.93333, 1, -0.593213, -3.55921, 0.334149, 1.96667, 1, -0.593568, -3.56066, 0.334526, 2, 1, -0.59298, -3.5634, 0.335392, 3.79167, 1, -0.592601, -3.56393, 0.335403) -tracks/13/type = "rotation_3d" -tracks/13/imported = true -tracks/13/enabled = true -tracks/13/path = NodePath("Cube_cell_cell") -tracks/13/interp = 1 -tracks/13/loop_wrap = true -tracks/13/keys = PackedFloat32Array(0, 1, -0.167726, -0.0186818, 0.259071, 0.951, 0.166667, 1, -0.0788655, -0.0972052, 0.278651, 0.9522, 0.333333, 1, 0.0100184, -0.17342, 0.289584, 0.941258, 0.5, 1, 0.0979718, -0.245746, 0.292212, 0.919034, 0.666667, 1, 0.184112, -0.31281, 0.287071, 0.886478, 0.7, 1, 0.199124, -0.324192, 0.285172, 0.879731, 0.733333, 1, 0.179777, -0.314739, 0.281429, 0.888491, 0.766667, 1, 0.146843, -0.298702, 0.272469, 0.90276, 0.8, 1, 0.111422, -0.282958, 0.257895, 0.917066, 0.833333, 1, 0.074876, -0.26693, 0.240229, 0.930286, 0.866667, 1, 0.0364487, -0.250454, 0.218405, 0.942467, 0.9, 1, -0.00466251, -0.233043, 0.191949, 0.953323, 0.933333, 1, -0.0482911, -0.21471, 0.160798, 0.962139, 0.966667, 1, -0.0937718, -0.195643, 0.12556, 0.968073, 1, 1, -0.13996, -0.176254, 0.0875475, 0.970403, 1.03333, 1, -0.153895, -0.172805, 0.0527408, 0.971429, 1.06667, 1, -0.164486, -0.170986, 0.0183004, 0.971274, 1.1, 1, -0.171543, -0.170592, -0.0159166, 0.970164, 1.16667, 1, -0.174914, -0.172672, -0.0845595, 0.965629, 1.2, 1, -0.170308, -0.174039, -0.11993, 0.962456, 1.23333, 1, -0.162301, -0.174688, -0.156317, 0.958492, 1.26667, 1, -0.150892, -0.174215, -0.193855, 0.953573, 1.3, 1, -0.136071, -0.172224, -0.232621, 0.947476, 1.33333, 1, -0.117829, -0.16833, -0.272633, 0.939922, 1.36667, 1, -0.0926135, -0.160261, -0.313077, 0.931516, 1.4, 1, -0.0596278, -0.147972, -0.349762, 0.923155, 1.43333, 1, -0.0216869, -0.13209, -0.38326, 0.913889, 1.46667, 1, 0.0160491, -0.115413, -0.404694, 0.906998, 1.5, 1, 0.046129, -0.103035, -0.396303, 0.911153, 1.53333, 1, 0.0653116, -0.098988, -0.376122, 0.918949, 1.56667, 1, 0.0711944, -0.10401, -0.353639, 0.926851, 1.6, 1, 0.0664646, -0.115137, -0.333146, 0.933456, 1.63333, 1, 0.0542167, -0.13013, -0.318975, 0.93722, 1.66667, 1, 0.0379591, -0.147492, -0.315544, 0.936609, 1.7, 1, 0.0332708, -0.155879, -0.320974, 0.933579, 1.73333, 1, 0.0328392, -0.161571, -0.328419, 0.930031, 1.76667, 1, 0.0368157, -0.164924, -0.337771, 0.925935, 1.8, 1, 0.0458553, -0.165598, -0.347902, 0.92165, 1.83333, 1, 0.0611155, -0.162558, -0.356666, 0.917949, 1.86667, 1, 0.0672802, -0.162251, -0.348478, 0.920712, 1.9, 1, 0.0652287, -0.16546, -0.344089, 0.921939, 1.93333, 1, 0.0635635, -0.168016, -0.343292, 0.92189, 1.96667, 1, 0.065546, -0.168376, -0.345678, 0.920793, 2, 1, 0.0690935, -0.167617, -0.350621, 0.918801, 3.79167, 1, 0.0687939, -0.167509, -0.350193, 0.919007) -tracks/14/type = "scale_3d" -tracks/14/imported = true -tracks/14/enabled = true -tracks/14/path = NodePath("Cube_cell_cell") -tracks/14/interp = 1 -tracks/14/loop_wrap = true -tracks/14/keys = PackedFloat32Array(0, 1, 0.12107, 0.0137085, 0.174828, 0.0333333, 1, 0.750406, 0.382166, 0.761158, 0.0666667, 1, 0.90774, 0.47428, 0.90774, 3.79167, 1, 0.90774, 0.47428, 0.90774) -tracks/15/type = "position_3d" -tracks/15/imported = true -tracks/15/enabled = true -tracks/15/path = NodePath("Cube_cell_cell_005") -tracks/15/interp = 1 -tracks/15/loop_wrap = true -tracks/15/keys = PackedFloat32Array(0, 1, 2.2522, -3.4861, 0.994269, 0.0333333, 1, 2.29023, -3.51852, 1.0552, 0.0666667, 1, 2.35863, -3.43054, 1.16449, 0.1, 1, 2.44093, -3.29684, 1.29583, 0.133333, 1, 2.52674, -3.16136, 1.43266, 0.166667, 1, 2.61173, -3.03737, 1.56819, 0.2, 1, 2.69572, -2.9284, 1.70211, 0.233333, 1, 2.779, -2.83052, 1.8349, 0.266667, 1, 2.86159, -2.74362, 1.9666, 0.3, 1, 2.94352, -2.66761, 2.09725, 0.333333, 1, 3.0248, -2.6024, 2.22686, 0.366667, 1, 3.10526, -2.55141, 2.35515, 0.4, 1, 3.18511, -2.51099, 2.48248, 0.433333, 1, 3.26436, -2.48104, 2.60886, 0.466667, 1, 3.34303, -2.46151, 2.7343, 0.5, 1, 3.42112, -2.45232, 2.85882, 0.633333, 1, 3.72701, -2.53077, 3.3466, 0.666667, 1, 3.80207, -2.5754, 3.46629, 0.7, 1, 3.87637, -2.63313, 3.58477, 0.733333, 1, 3.9501, -2.70059, 3.70233, 0.766667, 1, 4.02325, -2.77769, 3.81897, 0.8, 1, 4.09581, -2.86436, 3.93467, 0.833333, 1, 4.16776, -2.96051, 4.04941, 0.866667, 1, 4.2389, -3.06912, 4.16285, 0.9, 1, 4.3094, -3.18691, 4.27526, 0.933333, 1, 4.37923, -3.31376, 4.38661, 0.966667, 1, 4.44837, -3.44953, 4.49686, 1, 1, 4.5168, -3.59408, 4.60597, 1.03333, 1, 4.5576, -3.58863, 4.68549, 1.06667, 1, 4.59415, -3.5709, 4.76049, 1.1, 1, 4.62904, -3.556, 4.83345, 1.13333, 1, 4.66341, -3.55014, 4.90535, 1.16667, 1, 4.69702, -3.55066, 4.97561, 1.2, 1, 4.72912, -3.55522, 5.04274, 1.23333, 1, 4.76025, -3.56459, 5.108, 1.26667, 1, 4.79034, -3.57194, 5.16971, 1.3, 1, 4.8194, -3.57658, 5.22772, 1.33333, 1, 4.84757, -3.58392, 5.28339, 1.36667, 1, 4.87435, -3.59103, 5.33509, 1.4, 1, 4.89972, -3.58954, 5.38178, 1.43333, 1, 4.92393, -3.58704, 5.42536, 1.46667, 1, 4.94704, -3.58674, 5.46668, 1.5, 1, 4.96892, -3.58744, 5.50548, 1.53333, 1, 4.98916, -3.59004, 5.54116, 1.56667, 1, 5.00786, -3.59231, 5.57422, 1.6, 1, 5.02487, -3.59343, 5.60456, 1.63333, 1, 5.04029, -3.59357, 5.63219, 1.66667, 1, 5.05449, -3.5939, 5.65728, 1.7, 1, 5.06673, -3.59393, 5.67891, 1.73333, 1, 5.07762, -3.59385, 5.698, 1.76667, 1, 5.08715, -3.59378, 5.71457, 1.8, 1, 5.09534, -3.59377, 5.72867, 1.83333, 1, 5.10225, -3.59374, 5.74041, 1.86667, 1, 5.10736, -3.59361, 5.74893, 1.9, 1, 5.11104, -3.59356, 5.75524, 1.93333, 1, 5.11342, -3.59351, 5.75946, 1.96667, 1, 5.1147, -3.59347, 5.76179, 3.79167, 1, 5.1152, -3.59344, 5.76258) -tracks/16/type = "rotation_3d" -tracks/16/imported = true -tracks/16/enabled = true -tracks/16/path = NodePath("Cube_cell_cell_005") -tracks/16/interp = 1 -tracks/16/loop_wrap = true -tracks/16/keys = PackedFloat32Array(0, 1, -0.195401, -0.0790228, 0.970916, 0.113561, 0.0333333, 1, -0.983778, 0.083582, 0.114192, 0.110248, 0.0666667, 1, -0.970916, 0.113559, -0.195401, 0.0790233, 1, 1, -0.970919, 0.113531, -0.195399, 0.0790298, 1.03333, 1, -0.947099, 0.146715, -0.28343, 0.033842, 1.06667, 1, -0.910399, 0.139346, -0.383901, -0.0661611, 1.1, 1, 0.850407, -0.11753, 0.47901, 0.183151, 1.13333, 1, 0.769893, -0.106213, 0.558165, 0.290577, 1.2, 1, 0.592488, -0.224242, 0.650906, 0.418323, 1.23333, 1, 0.504783, -0.354185, 0.653379, 0.439138, 1.26667, 1, 0.398367, -0.482915, 0.635098, 0.45249, 1.3, 1, 0.274039, -0.596436, 0.595286, 0.463466, 1.33333, 1, 0.147903, -0.700394, 0.520093, 0.465916, 1.36667, 1, 0.0359286, -0.779688, 0.433028, 0.450869, 1.4, 1, -0.034061, -0.818504, 0.392231, 0.418386, 1.43333, 1, -0.0766552, -0.843438, 0.37251, 0.379438, 1.46667, 1, -0.101079, -0.863442, 0.361807, 0.336669, 1.5, 1, -0.110131, -0.877541, 0.366242, 0.289239, 1.56667, 1, -0.0963999, -0.885658, 0.416709, 0.180749, 1.6, 1, -0.106206, -0.890469, 0.421681, 0.134055, 1.63333, 1, -0.126591, -0.898762, 0.409026, 0.0943334, 1.66667, 1, -0.143, -0.900016, 0.408465, 0.0517568, 1.7, 1, -0.160182, -0.90168, 0.401441, 0.0126576, 1.73333, 1, -0.175938, -0.90191, 0.393644, -0.0254661, 1.76667, 1, 0.191503, 0.900016, -0.386438, 0.0629503, 1.8, 1, 0.207066, 0.89627, -0.379507, 0.0989826, 1.83333, 1, 0.221819, 0.892117, -0.370944, 0.131621, 1.86667, 1, 0.232827, 0.887256, -0.364608, 0.160094, 1.9, 1, 0.242448, 0.882745, -0.357949, 0.183994, 1.93333, 1, 0.250237, 0.878815, -0.351949, 0.202972, 1.96667, 1, 0.255588, 0.875865, -0.3476, 0.216123, 2, 1, 0.257722, 0.874447, -0.3459, 0.22198, 3.79167, 1, 0.257738, 0.874476, -0.345857, 0.221914) -tracks/17/type = "scale_3d" -tracks/17/imported = true -tracks/17/enabled = true -tracks/17/path = NodePath("Cube_cell_cell_005") -tracks/17/interp = 1 -tracks/17/loop_wrap = true -tracks/17/keys = PackedFloat32Array(0, 1, -0.187482, -0.00146178, -0.208365, 0.0333333, 1, 0.688696, 0.7259, 0.684519, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.907741, 0.90774, 0.90774) -tracks/18/type = "position_3d" -tracks/18/imported = true -tracks/18/enabled = true -tracks/18/path = NodePath("Cube_cell_cell_007") -tracks/18/interp = 1 -tracks/18/loop_wrap = true -tracks/18/keys = PackedFloat32Array(0, 1, 1.67089, -3.48847, 0.205951, 0.0333333, 1, 1.52638, -3.30668, 0.116712, 0.0666667, 1, 1.32805, -2.9749, 0.00129642, 0.133333, 1, 0.889525, -2.2011, -0.250259, 0.166667, 1, 0.67101, -1.8269, -0.375581, 0.2, 1, 0.45436, -1.46947, -0.499835, 0.233333, 1, 0.238984, -1.12432, -0.623357, 0.266667, 1, 0.0248218, -0.791309, -0.746184, 0.3, 1, -0.188183, -0.470297, -0.868346, 0.333333, 1, -0.400079, -0.161162, -0.989873, 0.366667, 1, -0.610576, 0.132346, -1.1106, 0.4, 1, -0.820072, 0.414268, -1.23075, 0.433333, 1, -1.02859, 0.684684, -1.35034, 0.466667, 1, -1.23617, 0.943669, -1.46939, 0.5, 1, -1.44282, 1.19129, -1.58791, 0.533333, 1, -1.64828, 1.4239, -1.70574, 0.566667, 1, -1.85286, 1.64533, -1.82308, 0.6, 1, -2.0566, 1.85563, -1.93992, 0.633333, 1, -2.2595, 2.05487, -2.05629, 0.666667, 1, -2.46157, 2.24309, -2.17218, 0.7, 1, -2.66257, 2.41672, -2.28746, 0.733333, 1, -2.86277, 2.57947, -2.40228, 0.766667, 1, -3.0622, 2.73138, -2.51665, 0.8, 1, -3.26085, 2.87251, -2.63058, 0.833333, 1, -3.45874, 3.00288, -2.74408, 0.866667, 1, -3.65562, 3.119, -2.85699, 0.9, 1, -3.85176, 3.22448, -2.96949, 0.933333, 1, -4.04717, 3.31937, -3.08156, 0.966667, 1, -4.24185, 3.40369, -3.19321, 1, 1, -4.4358, 3.4775, -3.30444, 1.03333, 1, -4.6288, 3.53735, -3.41513, 1.06667, 1, -4.82108, 3.58678, -3.52541, 1.1, 1, -5.01266, 3.62583, -3.63528, 1.16667, 1, -5.39371, 3.67292, -3.85382, 1.33333, 1, -6.33304, 3.59465, -4.39255, 1.4, 1, -6.7035, 3.4859, -4.60501, 1.43333, 1, -6.8877, 3.41654, -4.71066, 1.46667, 1, -7.07122, 3.33723, -4.81591, 1.5, 1, -7.25405, 3.24801, -4.92076, 1.53333, 1, -7.43596, 3.14565, -5.0251, 1.56667, 1, -7.61719, 3.03348, -5.12903, 1.6, 1, -7.79773, 2.91153, -5.23258, 1.63333, 1, -7.97757, 2.77985, -5.33572, 1.66667, 1, -8.15672, 2.63848, -5.43847, 1.7, 1, -8.33494, 2.48424, -5.54068, 1.73333, 1, -8.51245, 2.32042, -5.64248, 1.76667, 1, -8.68925, 2.14706, -5.74388, 1.8, 1, -8.86533, 1.9642, -5.84487, 1.83333, 1, -9.0407, 1.77187, -5.94545, 1.86667, 1, -9.21509, 1.56703, -6.04546, 1.9, 1, -9.38874, 1.35286, -6.14506, 1.93333, 1, -9.56165, 1.12942, -6.24422, 1.96667, 1, -9.73379, 0.896761, -6.34295, 2, 1, -9.90517, 0.654935, -6.44124, 2.03333, 1, -10.0755, 0.401005, -6.53892, 2.06667, 1, -10.245, 0.138088, -6.63614, 2.1, 1, -10.4137, -0.133741, -6.73289, 2.13333, 1, -10.5816, -0.414409, -6.82916, 2.16667, 1, -10.7485, -0.703832, -6.92493, 2.2, 1, -10.9143, -1.00475, -7.02, 2.23333, 1, -11.0791, -1.31412, -7.11454, 2.26667, 1, -11.243, -1.63183, -7.2085, 2.3, 1, -11.4058, -1.95772, -7.30188, 2.33333, 1, -11.5675, -2.29163, -7.39462, 2.36667, 1, -11.7276, -2.6358, -7.48646, 2.4, 1, -11.8864, -2.98722, -7.57751, 2.43333, 1, -12.0374, -3.29922, -7.66126, 2.46667, 1, -12.1716, -3.48293, -7.72209, 2.5, 1, -12.2772, -3.40728, -7.73526, 2.53333, 1, -12.3803, -3.33664, -7.74612, 2.56667, 1, -12.4822, -3.27691, -7.75687, 2.6, 1, -12.5831, -3.22798, -7.7675, 2.63333, 1, -12.6828, -3.18974, -7.77802, 2.66667, 1, -12.7816, -3.1621, -7.78843, 2.7, 1, -12.879, -3.14836, -7.7987, 2.8, 1, -13.1654, -3.16854, -7.82888, 2.83333, 1, -13.2589, -3.19543, -7.83874, 2.86667, 1, -13.3511, -3.23547, -7.84846, 2.9, 1, -13.4423, -3.28524, -7.85808, 2.93333, 1, -13.5326, -3.34464, -7.86759, 2.96667, 1, -13.6205, -3.40021, -7.87396, 3, 1, -13.7033, -3.4251, -7.87109, 3.03333, 1, -13.7781, -3.42193, -7.8617, 3.06667, 1, -13.8496, -3.41792, -7.85147, 3.1, 1, -13.9184, -3.41631, -7.84099, 3.13333, 1, -13.9841, -3.41478, -7.83075, 3.16667, 1, -14.0446, -3.40541, -7.82116, 3.2, 1, -14.1032, -3.40556, -7.81146, 3.23333, 1, -14.1597, -3.4081, -7.80082, 3.26667, 1, -14.2121, -3.4035, -7.78772, 3.3, 1, -14.2606, -3.39228, -7.77246, 3.33333, 1, -14.307, -3.38494, -7.7572, 3.36667, 1, -14.3501, -3.38083, -7.74209, 3.4, 1, -14.3907, -3.37856, -7.72725, 3.43333, 1, -14.4288, -3.37807, -7.71275, 3.46667, 1, -14.4642, -3.37815, -7.69891, 3.5, 1, -14.4963, -3.37641, -7.68629, 3.53333, 1, -14.526, -3.37918, -7.67478, 3.56667, 1, -14.5524, -3.38089, -7.66283, 3.6, 1, -14.5762, -3.38355, -7.65045, 3.63333, 1, -14.5976, -3.38829, -7.63755, 3.66667, 1, -14.6169, -3.39531, -7.62395, 3.7, 1, -14.6339, -3.40647, -7.60918, 3.73333, 1, -14.6495, -3.42165, -7.5935, 3.76667, 1, -14.6639, -3.44147, -7.57696, 3.79167, 1, -14.6742, -3.45879, -7.56414) -tracks/19/type = "rotation_3d" -tracks/19/imported = true -tracks/19/enabled = true -tracks/19/path = NodePath("Cube_cell_cell_007") -tracks/19/interp = 1 -tracks/19/loop_wrap = true -tracks/19/keys = PackedFloat32Array(0, 1, -0.0687176, 0.0624383, -0.0182627, 0.995513, 0.0333333, 1, -0.247483, 0.0656937, 0.0216266, 0.966421, 0.0666667, 1, -0.485419, 0.0622084, 0.0797759, 0.868409, 0.2, 1, -0.960929, -0.106452, 0.237983, -0.0929946, 0.233333, 1, 0.885078, 0.177157, -0.233983, 0.361254, 0.3, 1, 0.526158, 0.307903, -0.171483, 0.773916, 0.333333, 1, 0.274754, 0.355659, -0.117821, 0.885514, 0.366667, 1, 0.00350489, 0.388376, -0.0528317, 0.919979, 0.4, 1, -0.265463, 0.400009, 0.0193895, 0.87701, 0.466667, 1, -0.710992, 0.360042, 0.16543, 0.580942, 0.533333, 1, -0.920508, 0.256061, 0.27986, 0.0936821, 0.566667, 1, -0.913902, 0.190806, 0.313405, -0.173651, 0.6, 1, 0.833634, -0.121527, -0.326847, 0.428319, 0.666667, 1, 0.485752, 0.0108324, -0.292618, 0.823591, 0.7, 1, 0.245303, 0.0633969, -0.25124, 0.934177, 0.733333, 1, -0.0153929, 0.104069, -0.198167, 0.974506, 0.766667, 1, -0.276763, 0.129853, -0.138245, 0.942034, 0.833333, 1, -0.725314, 0.130296, -0.018032, 0.675735, 0.933333, 1, -0.994801, 0.00815145, 0.0930902, -0.0404944, 0.966667, 1, 0.948504, 0.0500818, -0.103803, 0.295055, 1.03333, 1, 0.668454, 0.164406, -0.0780422, 0.721144, 1.06667, 1, 0.455809, 0.210338, -0.0424553, 0.863825, 1.1, 1, 0.214079, 0.243524, 0.00509202, 0.94596, 1.13333, 1, -0.0395947, 0.261649, 0.0616229, 0.96238, 1.16667, 1, -0.287466, 0.2636, 0.123423, 0.912494, 1.23333, 1, -0.696865, 0.221737, 0.250511, 0.634394, 1.3, 1, -0.910357, 0.127863, 0.343671, 0.191809, 1.33333, 1, 0.925473, -0.0678024, -0.368683, 0.054548, 1.4, 1, 0.769802, 0.06384, -0.371958, 0.514759, 1.43333, 1, 0.61111, 0.128089, -0.348591, 0.699015, 1.46667, 1, 0.411614, 0.186154, -0.310795, 0.836258, 1.5, 1, 0.184437, 0.234492, -0.261362, 0.917979, 1.53333, 1, -0.0558601, 0.270607, -0.206374, 0.938649, 1.56667, 1, -0.293317, 0.29158, -0.146465, 0.898607, 1.63333, 1, -0.701351, 0.284851, -0.0255684, 0.652927, 1.7, 1, -0.94126, 0.220196, 0.0739043, 0.245116, 1.73333, 1, -0.978852, 0.172773, 0.108997, 0.0108716, 1.76667, 1, 0.957947, -0.119518, -0.132186, 0.224901, 1.83333, 1, 0.750856, -0.0101539, -0.138242, 0.645756, 1.9, 1, 0.372916, 0.0770823, -0.0872113, 0.920536, 1.93333, 1, 0.147328, 0.107436, -0.0453719, 0.982188, 1.96667, 1, -0.0853224, 0.126729, 0.0037974, 0.988254, 2.13333, 1, -0.922807, 0.0395868, 0.240818, 0.298106, 2.2, 1, -0.947328, -0.0634744, 0.274843, -0.151662, 2.23333, 1, 0.88127, 0.12147, -0.27272, 0.366377, 2.3, 1, 0.613059, 0.232428, -0.23103, 0.718861, 2.33333, 1, 0.426281, 0.279101, -0.193835, 0.838341, 2.36667, 1, 0.217915, 0.317756, -0.148435, 0.910775, 2.4, 1, -0.000889137, 0.344587, -0.0962435, 0.933807, 2.43333, 1, -0.154485, 0.342714, -0.0072181, 0.926623, 2.46667, 1, -0.149574, 0.332779, 0.0883634, 0.926865, 2.5, 1, 0.12897, 0.347762, 0.100079, 0.923262, 2.53333, 1, 0.387804, 0.370782, 0.0787914, 0.840191, 2.6, 1, 0.784859, 0.390056, 0.0100079, 0.481407, 2.63333, 1, 0.89119, 0.38676, -0.0328723, 0.23477, 2.66667, 1, -0.922936, -0.375932, 0.0767789, 0.0311344, 2.73333, 1, -0.757463, -0.348075, 0.151127, 0.531277, 2.76667, 1, -0.579469, -0.324471, 0.174916, 0.726869, 2.8, 1, -0.356097, -0.295331, 0.188154, 0.866356, 2.83333, 1, -0.104599, -0.261699, 0.191083, 0.940245, 2.86667, 1, 0.156767, -0.230179, 0.187565, 0.941945, 2.9, 1, 0.408044, -0.198265, 0.178375, 0.87314, 2.93333, 1, 0.6309, -0.168974, 0.165121, 0.739018, 2.96667, 1, 0.795084, -0.126555, 0.160376, 0.571056, 3, 1, 0.878583, -0.0401694, 0.190298, 0.436194, 3.06667, 1, 0.947995, 0.140735, 0.212832, 0.190269, 3.1, 1, 0.953174, 0.215254, 0.204548, 0.0573219, 3.13333, 1, -0.941707, -0.26718, -0.191282, 0.0722028, 3.16667, 1, -0.923616, -0.2773, -0.182604, 0.191555, 3.2, 1, -0.892987, -0.279886, -0.176355, 0.305184, 3.23333, 1, -0.854355, -0.276999, -0.172132, 0.404623, 3.26667, 1, -0.820932, -0.272315, -0.166722, 0.473412, 3.3, 1, -0.798009, -0.268814, -0.159206, 0.515338, 3.33333, 1, -0.776716, -0.266674, -0.149691, 0.550627, 3.36667, 1, -0.758027, -0.267319, -0.136101, 0.579148, 3.4, 1, -0.740002, -0.270381, -0.118455, 0.604367, 3.43333, 1, -0.721722, -0.275988, -0.0961854, 0.627453, 3.46667, 1, -0.701976, -0.282341, -0.0723516, 0.64983, 3.5, 1, -0.679605, -0.285845, -0.0536787, 0.67346, 3.53333, 1, -0.655475, -0.281921, -0.0491008, 0.6989, 3.56667, 1, -0.627074, -0.280505, -0.0427605, 0.725442, 3.6, 1, -0.594374, -0.279928, -0.036958, 0.75299, 3.63333, 1, -0.556982, -0.279407, -0.0326632, 0.781432, 3.66667, 1, -0.514081, -0.27901, -0.0295101, 0.810558, 3.7, 1, -0.463037, -0.279156, -0.0281146, 0.840761, 3.73333, 1, -0.404483, -0.279592, -0.0280666, 0.870307, 3.76667, 1, -0.337733, -0.280342, -0.0293582, 0.898044, 3.79167, 1, -0.283099, -0.280736, -0.0309573, 0.916561) -tracks/20/type = "scale_3d" -tracks/20/imported = true -tracks/20/enabled = true -tracks/20/path = NodePath("Cube_cell_cell_007") -tracks/20/interp = 1 -tracks/20/loop_wrap = true -tracks/20/keys = PackedFloat32Array(0, 1, 0.212512, 0.000152375, 0.205781, 0.0333333, 1, 0.768695, 0.726223, 0.767348, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) -tracks/21/type = "position_3d" -tracks/21/imported = true -tracks/21/enabled = true -tracks/21/path = NodePath("Cube_cell_cell_004_cell_007") -tracks/21/interp = 1 -tracks/21/loop_wrap = true -tracks/21/keys = PackedFloat32Array(0, 1, 2.04388, -3.49043, -0.657416, 0.0333333, 1, 2.06471, -3.46221, -0.70222, 0.0666667, 1, 2.09253, -3.3781, -0.78009, 0.1, 1, 2.12377, -3.27065, -0.8738, 0.133333, 1, 2.15601, -3.16223, -0.972016, 0.166667, 1, 2.18793, -3.06503, -1.0693, 0.2, 1, 2.21948, -2.98255, -1.16542, 0.233333, 1, 2.25075, -2.91095, -1.2607, 0.266667, 1, 2.28175, -2.85014, -1.35518, 0.3, 1, 2.3125, -2.80002, -1.44888, 0.333333, 1, 2.34299, -2.76051, -1.5418, 0.366667, 1, 2.37316, -2.73498, -1.63373, 0.4, 1, 2.40309, -2.71983, -1.72492, 0.5, 1, 2.49145, -2.73587, -1.99417, 0.533333, 1, 2.52036, -2.76479, -2.08226, 0.566667, 1, 2.54904, -2.80365, -2.16964, 0.6, 1, 2.57748, -2.85237, -2.2563, 0.633333, 1, 2.60568, -2.91087, -2.34225, 0.666667, 1, 2.63365, -2.97907, -2.42746, 0.7, 1, 2.66129, -3.06003, -2.5117, 0.733333, 1, 2.68869, -3.15043, -2.59517, 0.766667, 1, 2.71583, -3.25014, -2.67787, 0.8, 1, 2.74276, -3.35472, -2.75868, 0.833333, 1, 2.7696, -3.45535, -2.83541, 0.866667, 1, 2.79655, -3.4971, -2.89365, 0.9, 1, 2.81427, -3.50775, -2.94659, 0.966667, 1, 2.83219, -3.46839, -3.0365, 1, 1, 2.8386, -3.44913, -3.07788, 1.03333, 1, 2.84451, -3.43937, -3.11767, 1.06667, 1, 2.85016, -3.43631, -3.15618, 1.13333, 1, 2.86112, -3.44981, -3.22928, 1.16667, 1, 2.86665, -3.46637, -3.26393, 1.2, 1, 2.87351, -3.4754, -3.29301, 1.23333, 1, 2.88102, -3.48254, -3.31886, 1.26667, 1, 2.88903, -3.4873, -3.34128, 1.3, 1, 2.89726, -3.49167, -3.36078, 1.33333, 1, 2.90527, -3.50016, -3.37857, 1.36667, 1, 2.91257, -3.51313, -3.39387, 1.4, 1, 2.9188, -3.52359, -3.40594, 1.43333, 1, 2.92353, -3.52808, -3.41407, 1.46667, 1, 2.92689, -3.52915, -3.41895, 1.5, 1, 2.92957, -3.53536, -3.42272, 1.53333, 1, 2.9315, -3.53426, -3.42488, 1.56667, 1, 2.93197, -3.53541, -3.42635, 1.6, 1, 2.93169, -3.53706, -3.4272, 1.63333, 1, 2.93121, -3.53817, -3.42766, 3.79167, 1, 2.93068, -3.53875, -3.42814) -tracks/22/type = "rotation_3d" -tracks/22/imported = true -tracks/22/enabled = true -tracks/22/path = NodePath("Cube_cell_cell_004_cell_007") -tracks/22/interp = 1 -tracks/22/loop_wrap = true -tracks/22/keys = PackedFloat32Array(0, 1, 0.777605, 0.0915886, -0.617753, 0.0729637, 0.0333333, 1, -0.341358, -0.00645716, -0.939862, 0.00962105, 0.0666667, 1, 0.605535, 0.0160927, 0.791916, 0.0770527, 0.2, 1, 0.53733, -0.0938656, 0.736125, 0.400731, 0.333333, 1, 0.419126, -0.197967, 0.580517, 0.669434, 0.433333, 1, 0.307411, -0.266405, 0.412027, 0.815328, 0.5, 1, 0.22586, -0.305393, 0.282198, 0.880958, 0.566667, 1, 0.142136, -0.338773, 0.143137, 0.91899, 0.6, 1, 0.0999779, -0.353061, 0.0715856, 0.927485, 0.633333, 1, 0.0580186, -0.365693, -0.000573573, 0.928925, 0.7, 1, -0.0238915, -0.38626, -0.144489, 0.91069, 0.766667, 1, -0.101533, -0.400575, -0.284135, 0.865158, 0.8, 1, -0.138321, -0.40935, -0.340652, 0.835019, 0.833333, 1, -0.173945, -0.42964, -0.364329, 0.807723, 0.866667, 1, -0.211005, -0.507616, -0.217558, 0.806518, 0.9, 1, -0.188968, -0.563629, -0.0812944, 0.800003, 0.933333, 1, -0.166174, -0.593525, 0.0135988, 0.787356, 0.966667, 1, -0.165243, -0.606347, 0.0657328, 0.77506, 1, 1, -0.169943, -0.614109, 0.102349, 0.763881, 1.03333, 1, -0.18057, -0.617359, 0.124163, 0.755543, 1.06667, 1, -0.196013, -0.617054, 0.134936, 0.750077, 1.1, 1, -0.216372, -0.61314, 0.135103, 0.747656, 1.13333, 1, -0.241602, -0.605347, 0.125124, 0.748016, 1.16667, 1, -0.271496, -0.593221, 0.105511, 0.750497, 1.2, 1, -0.293855, -0.579188, 0.066792, 0.757449, 1.23333, 1, -0.308554, -0.565091, 0.0198574, 0.7649, 1.26667, 1, -0.307282, -0.555054, -0.0297249, 0.772405, 1.3, 1, -0.288551, -0.550144, -0.0786287, 0.779678, 1.33333, 1, -0.257458, -0.547882, -0.125783, 0.785951, 1.36667, 1, -0.207321, -0.548866, -0.168176, 0.792137, 1.4, 1, -0.148584, -0.557621, -0.181056, 0.796367, 1.43333, 1, -0.118222, -0.569302, -0.173203, 0.794933, 1.46667, 1, -0.124643, -0.581397, -0.155873, 0.788762, 1.5, 1, -0.147205, -0.591352, -0.141974, 0.780049, 1.53333, 1, -0.153214, -0.595716, -0.156395, 0.77278, 1.56667, 1, -0.143717, -0.600932, -0.16401, 0.768978, 1.6, 1, -0.138688, -0.606928, -0.161883, 0.765635, 1.63333, 1, -0.141582, -0.612577, -0.155942, 0.76183, 1.66667, 1, -0.139328, -0.615675, -0.160964, 0.758698, 1.7, 1, -0.138134, -0.615974, -0.161539, 0.758551, 3.79167, 1, -0.137952, -0.616079, -0.161554, 0.758496) -tracks/23/type = "scale_3d" -tracks/23/imported = true -tracks/23/enabled = true -tracks/23/path = NodePath("Cube_cell_cell_004_cell_007") -tracks/23/interp = 1 -tracks/23/loop_wrap = true -tracks/23/keys = PackedFloat32Array(0, 1, -0.21221, -0.000810979, -0.192203, 0.0333333, 1, 0.68375, 0.72603, 0.687752, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) -tracks/24/type = "position_3d" -tracks/24/imported = true -tracks/24/enabled = true -tracks/24/path = NodePath("Cube_cell_005_cell_cell_006") -tracks/24/interp = 1 -tracks/24/loop_wrap = true -tracks/24/keys = PackedFloat32Array(0, 1, 1.25987, -3.4957, -0.328338, 0.0333333, 1, 1.21407, -3.33068, -0.388122, 0.0666667, 1, 1.13019, -3.17171, -0.494464, 0.1, 1, 1.02376, -3.00809, -0.624166, 0.133333, 1, 0.907718, -2.84164, -0.761399, 0.166667, 1, 0.792334, -2.68668, -0.897695, 0.2, 1, 0.678169, -2.54693, -1.03255, 0.233333, 1, 0.564863, -2.41839, -1.16639, 0.266667, 1, 0.452386, -2.30098, -1.29925, 0.3, 1, 0.340714, -2.1946, -1.43116, 0.333333, 1, 0.229821, -2.09917, -1.56215, 0.366667, 1, 0.119932, -2.01817, -1.69196, 0.4, 1, 0.01077, -1.94788, -1.82091, 0.433333, 1, -0.0976757, -1.88825, -1.94901, 0.466667, 1, -0.205417, -1.83919, -2.07627, 0.5, 1, -0.312465, -1.80065, -2.20272, 0.533333, 1, -0.418605, -1.77601, -2.3281, 0.6, 1, -0.628874, -1.75768, -2.57648, 0.7, 1, -0.939096, -1.81003, -2.94292, 0.733333, 1, -1.04104, -1.84981, -3.06335, 0.766667, 1, -1.14233, -1.89951, -3.18299, 0.8, 1, -1.24296, -1.95908, -3.30186, 0.833333, 1, -1.34293, -2.02847, -3.41995, 0.866667, 1, -1.44201, -2.1108, -3.53698, 0.9, 1, -1.5404, -2.20274, -3.65321, 0.933333, 1, -1.63811, -2.30423, -3.76862, 0.966667, 1, -1.73511, -2.41518, -3.88321, 1, 1, -1.83141, -2.53551, -3.99696, 1.03333, 1, -1.92672, -2.66817, -4.10954, 1.06667, 1, -2.02127, -2.80994, -4.22123, 1.13333, 1, -2.20717, -3.11641, -4.44117, 1.16667, 1, -2.2961, -3.26918, -4.54763, 1.2, 1, -2.37301, -3.34032, -4.63582, 1.23333, 1, -2.45174, -3.32692, -4.70057, 1.26667, 1, -2.53057, -3.2892, -4.75633, 1.3, 1, -2.60862, -3.25885, -4.81074, 1.33333, 1, -2.68589, -3.23899, -4.86459, 1.36667, 1, -2.76214, -3.23294, -4.91774, 1.43333, 1, -2.91237, -3.2514, -5.02244, 1.46667, 1, -2.98583, -3.26576, -5.07158, 1.5, 1, -3.05697, -3.26013, -5.1129, 1.53333, 1, -3.12618, -3.25512, -5.1506, 1.56667, 1, -3.19419, -3.25532, -5.18673, 1.6, 1, -3.26105, -3.26108, -5.22141, 1.63333, 1, -3.32665, -3.27103, -5.25434, 1.66667, 1, -3.3907, -3.28204, -5.28482, 1.7, 1, -3.45284, -3.29556, -5.31235, 1.73333, 1, -3.51321, -3.30751, -5.33686, 1.76667, 1, -3.57198, -3.32141, -5.35933, 1.8, 1, -3.62803, -3.33128, -5.37873, 1.83333, 1, -3.67898, -3.32169, -5.39204, 1.86667, 1, -3.72728, -3.31746, -5.4043, 1.9, 1, -3.77314, -3.31545, -5.41569, 1.93333, 1, -3.81695, -3.31718, -5.42653, 1.96667, 1, -3.85891, -3.32339, -5.43702, 2, 1, -3.89903, -3.33407, -5.44727, 2.03333, 1, -3.93544, -3.34588, -5.45736, 2.06667, 1, -3.96904, -3.35819, -5.46742, 2.1, 1, -3.9978, -3.36296, -5.47768, 2.13333, 1, -4.02195, -3.36072, -5.48787, 2.16667, 1, -4.04392, -3.36068, -5.49723, 2.2, 1, -4.06171, -3.35878, -5.505, 2.23333, 1, -4.07779, -3.35986, -5.51167, 2.26667, 1, -4.09192, -3.36197, -5.51692, 2.3, 1, -4.10403, -3.36521, -5.52104, 2.33333, 1, -4.11425, -3.37177, -5.5249, 2.36667, 1, -4.11944, -3.37212, -5.52894, 2.4, 1, -4.12193, -3.37172, -5.533, 2.43333, 1, -4.12294, -3.37277, -5.5369, 2.46667, 1, -4.12295, -3.37455, -5.54022, 2.5, 1, -4.12169, -3.37347, -5.54221, 2.53333, 1, -4.11916, -3.37462, -5.54281, 2.56667, 1, -4.11845, -3.37564, -5.54221, 2.63333, 1, -4.11864, -3.37614, -5.54132, 3.79167, 1, -4.11829, -3.37613, -5.54113) -tracks/25/type = "rotation_3d" -tracks/25/imported = true -tracks/25/enabled = true -tracks/25/path = NodePath("Cube_cell_005_cell_cell_006") -tracks/25/interp = 1 -tracks/25/loop_wrap = true -tracks/25/keys = PackedFloat32Array(0, 1, -0.632826, 0.393141, 0.455339, 0.487481, 0.0333333, 1, 0.175322, 0.722615, 0.617012, -0.257654, 0.0666667, 1, -0.383372, -0.645359, -0.52395, 0.402511, 0.1, 1, -0.373965, -0.655742, -0.54123, 0.370436, 0.133333, 1, -0.363207, -0.667286, -0.552488, 0.342881, 0.3, 1, -0.301501, -0.714943, -0.596606, 0.204976, 0.466667, 1, -0.229155, -0.745218, -0.622693, 0.0662635, 0.566667, 1, -0.181997, -0.755182, -0.629542, -0.0159454, 0.6, 1, 0.16581, 0.757161, 0.630367, 0.0430359, 0.766667, 1, 0.0824972, 0.757263, 0.623767, 0.175107, 0.933333, 1, -0.00256897, 0.741733, 0.600004, 0.299701, 1.1, 1, -0.0865833, 0.711677, 0.560439, 0.414641, 1.13333, 1, -0.10881, 0.705952, 0.549736, 0.433109, 1.16667, 1, -0.148119, 0.705062, 0.535028, 0.441241, 1.2, 1, -0.271735, 0.700451, 0.53161, 0.391049, 1.23333, 1, -0.355882, 0.660597, 0.565651, 0.34205, 1.26667, 1, -0.420138, 0.606718, 0.608671, 0.291369, 1.33333, 1, -0.524116, 0.486651, 0.676135, 0.176959, 1.4, 1, -0.599184, 0.354925, 0.716281, 0.0441364, 1.43333, 1, -0.62552, 0.286375, 0.725261, -0.0266419, 1.46667, 1, 0.64329, -0.219398, -0.727552, 0.093328, 1.5, 1, 0.65237, -0.159816, -0.726807, 0.143609, 1.6, 1, 0.658046, 0.0144416, -0.701928, 0.272148, 1.7, 1, 0.649596, 0.20144, -0.636071, 0.3645, 1.73333, 1, 0.653464, 0.260794, -0.608816, 0.366489, 1.76667, 1, 0.659885, 0.314623, -0.581353, 0.357202, 1.8, 1, 0.666828, 0.354567, -0.560378, 0.339997, 1.83333, 1, 0.674831, 0.365309, -0.559963, 0.3124, 1.86667, 1, 0.680256, 0.368759, -0.565083, 0.28627, 1.9, 1, 0.681996, 0.36635, -0.575003, 0.264652, 1.93333, 1, 0.680867, 0.359166, -0.588631, 0.246848, 1.96667, 1, 0.677299, 0.347619, -0.605303, 0.232455, 2, 1, 0.671368, 0.331469, -0.624804, 0.221388, 2.03333, 1, 0.660003, 0.310674, -0.647645, 0.220076, 2.06667, 1, 0.643484, 0.290072, -0.670673, 0.228002, 2.1, 1, 0.62442, 0.283808, -0.686257, 0.242081, 2.13333, 1, 0.605016, 0.294394, -0.69297, 0.258999, 2.16667, 1, 0.586423, 0.312419, -0.694899, 0.274989, 2.2, 1, 0.576809, 0.335593, -0.692081, 0.275121, 2.23333, 1, 0.57075, 0.35279, -0.691785, 0.266868, 2.26667, 1, 0.565663, 0.359614, -0.697223, 0.254133, 2.3, 1, 0.559283, 0.355928, -0.708845, 0.240951, 2.33333, 1, 0.549667, 0.345846, -0.72434, 0.23149, 2.36667, 1, 0.534027, 0.344319, -0.735752, 0.234367, 2.4, 1, 0.521533, 0.351667, -0.741296, 0.234122, 2.43333, 1, 0.513265, 0.357709, -0.745992, 0.228252, 2.46667, 1, 0.507842, 0.357983, -0.752155, 0.219563, 2.5, 1, 0.501433, 0.353749, -0.759407, 0.216166, 2.53333, 1, 0.495559, 0.358324, -0.761699, 0.214102, 2.56667, 1, 0.489651, 0.363325, -0.763179, 0.213996, 2.6, 1, 0.485362, 0.366078, -0.764713, 0.213599, 2.63333, 1, 0.483109, 0.366422, -0.766293, 0.212453, 2.66667, 1, 0.482046, 0.366693, -0.766992, 0.211875, 3.79167, 1, 0.482023, 0.366689, -0.767013, 0.211859) -tracks/26/type = "scale_3d" -tracks/26/imported = true -tracks/26/enabled = true -tracks/26/path = NodePath("Cube_cell_005_cell_cell_006") -tracks/26/interp = 1 -tracks/26/loop_wrap = true -tracks/26/keys = PackedFloat32Array(0, 1, -0.21215, -0.194165, -0.000689907, 0.0333333, 1, 0.683762, 0.687359, 0.726054, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) -tracks/27/type = "position_3d" -tracks/27/imported = true -tracks/27/enabled = true -tracks/27/path = NodePath("Cube_cell_012_cell_002_cell_003") -tracks/27/interp = 1 -tracks/27/loop_wrap = true -tracks/27/keys = PackedFloat32Array(0, 1, 2.78099, -3.4924, 0.877203, 0.0333333, 1, 2.8092, -3.40848, 0.90195, 0.0666667, 1, 2.86259, -3.29743, 0.940936, 0.1, 1, 2.9282, -3.17324, 0.986806, 0.133333, 1, 2.99743, -3.04873, 1.03467, 0.166667, 1, 3.06602, -2.93555, 1.0821, 0.2, 1, 3.13384, -2.8372, 1.129, 0.233333, 1, 3.2011, -2.74983, 1.17551, 0.266667, 1, 3.26783, -2.67334, 1.22164, 0.3, 1, 3.33403, -2.60764, 1.26742, 0.333333, 1, 3.39972, -2.55264, 1.31284, 0.366667, 1, 3.46475, -2.51176, 1.35781, 0.4, 1, 3.5293, -2.48136, 1.40244, 0.433333, 1, 3.59337, -2.46137, 1.44675, 0.466667, 1, 3.65698, -2.45171, 1.49073, 0.533333, 1, 3.78263, -2.46649, 1.57761, 0.566667, 1, 3.84468, -2.49073, 1.62052, 0.6, 1, 3.90628, -2.52498, 1.66311, 0.633333, 1, 3.96742, -2.56915, 1.70539, 0.666667, 1, 4.0281, -2.6232, 1.74734, 0.7, 1, 4.08815, -2.69024, 1.78887, 0.733333, 1, 4.14774, -2.76693, 1.83007, 0.766667, 1, 4.20684, -2.85318, 1.87094, 0.8, 1, 4.26546, -2.9489, 1.91147, 0.833333, 1, 4.32358, -3.054, 1.95166, 0.866667, 1, 4.38102, -3.17142, 1.99137, 0.9, 1, 4.43791, -3.29789, 2.03071, 0.933333, 1, 4.48936, -3.40054, 2.06344, 0.966667, 1, 4.53183, -3.45592, 2.08517, 1, 1, 4.5632, -3.45004, 2.09342, 1.03333, 1, 4.59274, -3.45195, 2.10101, 1.06667, 1, 4.61941, -3.45399, 2.10784, 1.1, 1, 4.6428, -3.45419, 2.11402, 1.13333, 1, 4.66298, -3.45262, 2.11959, 1.16667, 1, 4.68056, -3.45138, 2.12452, 1.2, 1, 4.69468, -3.45048, 2.1286, 1.23333, 1, 4.70619, -3.44961, 2.13203, 1.26667, 1, 4.71515, -3.44883, 2.13479, 1.3, 1, 4.72167, -3.44816, 2.13688, 1.33333, 1, 4.72601, -3.4476, 2.13828, 1.36667, 1, 4.72884, -3.44725, 2.13915, 1.4, 1, 4.73062, -3.44706, 2.13971, 1.46667, 1, 4.73117, -3.44712, 2.13999, 1.5, 1, 4.73019, -3.4474, 2.13983, 1.53333, 1, 4.72836, -3.44794, 2.13953, 1.56667, 1, 4.72587, -3.4487, 2.13912, 1.6, 1, 4.72271, -3.44971, 2.13861, 1.63333, 1, 4.71887, -3.451, 2.13798, 1.66667, 1, 4.71431, -3.45261, 2.13724, 1.7, 1, 4.70877, -3.45476, 2.13635, 1.73333, 1, 4.70415, -3.45465, 2.13562, 1.76667, 1, 4.70113, -3.4549, 2.13526, 1.8, 1, 4.6998, -3.45593, 2.13525, 3.79167, 1, 4.69964, -3.45594, 2.13534) -tracks/28/type = "rotation_3d" -tracks/28/imported = true -tracks/28/enabled = true -tracks/28/path = NodePath("Cube_cell_012_cell_002_cell_003") -tracks/28/interp = 1 -tracks/28/loop_wrap = true -tracks/28/keys = PackedFloat32Array(0, 1, 0.154426, -0.984419, 0.0711561, 0.0448136, 0.0333333, 1, 0.113061, -0.35448, -0.125041, -0.919742, 0.0666667, 1, -0.0679695, 0.0608816, 0.155069, 0.98368, 0.233333, 1, -0.059879, 0.100473, 0.156168, 0.980781, 0.4, 1, -0.0516631, 0.139186, 0.156541, 0.976449, 0.533333, 1, -0.0450425, 0.169503, 0.156337, 0.972008, 0.666667, 1, -0.038412, 0.199221, 0.155703, 0.966743, 0.833333, 1, -0.0301533, 0.235502, 0.154327, 0.959069, 0.9, 1, -0.0268703, 0.249738, 0.1536, 0.955676, 0.933333, 1, -0.0292056, 0.256412, 0.155966, 0.953454, 0.966667, 1, -0.0347239, 0.262547, 0.162336, 0.950532, 1, 1, -0.0378698, 0.268312, 0.17248, 0.947008, 1.03333, 1, -0.038624, 0.273525, 0.167791, 0.946329, 1.06667, 1, -0.0306748, 0.279215, 0.161776, 0.946006, 1.1, 1, -0.0223603, 0.284806, 0.153867, 0.945891, 1.13333, 1, -0.0166304, 0.290148, 0.14492, 0.945799, 1.16667, 1, -0.0110417, 0.295482, 0.137189, 0.945382, 1.2, 1, -0.00610953, 0.300761, 0.13033, 0.944733, 1.23333, 1, -0.00169971, 0.305982, 0.123918, 0.943937, 1.26667, 1, 0.00234439, 0.311159, 0.117963, 0.943005, 1.3, 1, 0.00605538, 0.316221, 0.112505, 0.941972, 1.33333, 1, 0.00934189, 0.321011, 0.107621, 0.940894, 1.36667, 1, 0.0114352, 0.324443, 0.104499, 0.940046, 1.4, 1, 0.0126513, 0.326806, 0.102737, 0.939406, 1.43333, 1, 0.0130125, 0.328113, 0.102322, 0.93899, 1.46667, 1, 0.0125211, 0.328586, 0.10331, 0.938723, 1.5, 1, 0.0111594, 0.328653, 0.105815, 0.938438, 1.53333, 1, 0.00861134, 0.328788, 0.110503, 0.937877, 1.56667, 1, 0.00514634, 0.328962, 0.116874, 0.937069, 1.6, 1, 0.00073536, 0.32916, 0.124974, 0.935967, 1.63333, 1, -0.00465463, 0.329369, 0.134858, 0.934509, 1.66667, 1, -0.0110603, 0.329579, 0.146587, 0.932613, 1.7, 1, -0.0189295, 0.329757, 0.160969, 0.930049, 1.73333, 1, -0.0245669, 0.330013, 0.166615, 0.928831, 1.76667, 1, -0.0254503, 0.329525, 0.167958, 0.928739, 1.8, 1, -0.0231654, 0.328544, 0.168053, 0.929129, 3.79167, 1, -0.0233992, 0.328432, 0.168625, 0.929059) -tracks/29/type = "scale_3d" -tracks/29/imported = true -tracks/29/enabled = true -tracks/29/path = NodePath("Cube_cell_012_cell_002_cell_003") -tracks/29/interp = 1 -tracks/29/loop_wrap = true -tracks/29/keys = PackedFloat32Array(0, 1, -0.17755, -0.00306912, -0.203464, 0.0333333, 1, 0.690682, 0.725578, 0.685499, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) -tracks/30/type = "position_3d" -tracks/30/imported = true -tracks/30/enabled = true -tracks/30/path = NodePath("Cube_cell_026_cell_006_cell_006") -tracks/30/interp = 1 -tracks/30/loop_wrap = true -tracks/30/keys = PackedFloat32Array(0, 1, 1.42712, -3.49096, 0.945437, 0.0333333, 1, 1.39105, -3.42036, 0.997579, 0.0666667, 1, 1.30748, -3.27795, 1.12409, 0.1, 1, 1.20365, -3.10548, 1.28228, 0.133333, 1, 1.09572, -2.93079, 1.44687, 0.166667, 1, 0.988735, -2.76783, 1.61002, 0.2, 1, 0.88291, -2.6202, 1.77139, 0.233333, 1, 0.777899, -2.48387, 1.93153, 0.266667, 1, 0.67367, -2.35875, 2.09048, 0.3, 1, 0.570197, -2.24472, 2.24827, 0.333333, 1, 0.467457, -2.1417, 2.40494, 0.366667, 1, 0.365655, -2.05319, 2.56018, 0.4, 1, 0.264532, -1.97545, 2.71439, 0.433333, 1, 0.164076, -1.90841, 2.86758, 0.466667, 1, 0.0642758, -1.852, 3.01977, 0.5, 1, -0.0348801, -1.80616, 3.17098, 0.533333, 1, -0.133194, -1.77428, 3.3209, 0.566667, 1, -0.230886, -1.75278, 3.46988, 0.766667, 1, -0.803616, -1.84841, 4.34327, 0.8, 1, -0.896854, -1.90113, 4.48545, 0.833333, 1, -0.989484, -1.9637, 4.62671, 0.866667, 1, -1.0813, -2.03929, 4.76672, 0.9, 1, -1.17249, -2.12455, 4.90579, 0.933333, 1, -1.26306, -2.21941, 5.0439, 0.966667, 1, -1.35299, -2.3238, 5.18105, 1, 1, -1.44228, -2.43763, 5.3172, 1.03333, 1, -1.53069, -2.5639, 5.45202, 1.06667, 1, -1.6184, -2.69936, 5.58578, 1.1, 1, -1.70541, -2.84389, 5.71846, 1.13333, 1, -1.79168, -2.99739, 5.85002, 1.16667, 1, -1.87719, -3.15972, 5.98041, 1.2, 1, -1.9616, -3.33351, 6.10914, 1.23333, 1, -2.01826, -3.37516, 6.22208, 1.26667, 1, -2.06413, -3.37471, 6.32906, 1.3, 1, -2.10789, -3.37755, 6.43466, 1.33333, 1, -2.14997, -3.38443, 6.5382, 1.43333, 1, -2.26933, -3.45546, 6.83801, 1.46667, 1, -2.30603, -3.48357, 6.93274, 1.5, 1, -2.33717, -3.48372, 7.01856, 1.53333, 1, -2.36573, -3.48034, 7.09948, 1.56667, 1, -2.3933, -3.47986, 7.17787, 1.6, 1, -2.41983, -3.48118, 7.25347, 1.63333, 1, -2.44526, -3.48369, 7.32615, 1.66667, 1, -2.46956, -3.48734, 7.39593, 1.7, 1, -2.492, -3.48808, 7.46076, 1.73333, 1, -2.5134, -3.48831, 7.52231, 1.76667, 1, -2.53371, -3.48844, 7.58058, 1.8, 1, -2.55289, -3.48873, 7.63565, 1.83333, 1, -2.57086, -3.48919, 7.68763, 1.86667, 1, -2.58733, -3.48917, 7.73557, 1.9, 1, -2.6027, -3.48928, 7.78055, 1.93333, 1, -2.61691, -3.48934, 7.82237, 1.96667, 1, -2.62995, -3.48931, 7.86107, 2, 1, -2.64194, -3.48933, 7.89694, 2.03333, 1, -2.65257, -3.48934, 7.92905, 2.06667, 1, -2.66216, -3.48939, 7.95828, 2.1, 1, -2.67076, -3.48936, 7.98474, 2.13333, 1, -2.6784, -3.48928, 8.00848, 2.16667, 1, -2.68515, -3.48929, 8.02953, 2.2, 1, -2.69075, -3.48925, 8.04704, 2.23333, 1, -2.69547, -3.48925, 8.06196, 2.26667, 1, -2.69944, -3.48926, 8.07438, 2.3, 1, -2.70271, -3.48926, 8.08442, 2.33333, 1, -2.70535, -3.48928, 8.09222, 2.36667, 1, -2.70722, -3.48925, 8.09728, 2.4, 1, -2.70851, -3.48924, 8.10057, 2.43333, 1, -2.70921, -3.48924, 8.10229, 3.79167, 1, -2.70943, -3.48923, 8.10288) -tracks/31/type = "rotation_3d" -tracks/31/imported = true -tracks/31/enabled = true -tracks/31/path = NodePath("Cube_cell_026_cell_006_cell_006") -tracks/31/interp = 1 -tracks/31/loop_wrap = true -tracks/31/keys = PackedFloat32Array(0, 1, -0.423797, -0.733826, 0.296452, 0.440468, 0.0333333, 1, -0.423813, -0.733815, 0.296454, 0.440469, 0.0666667, 1, -0.35447, -0.791536, 0.251492, 0.42962, 0.1, 1, -0.250837, -0.859101, 0.184728, 0.406082, 0.166667, 1, -0.0192723, -0.944155, 0.0371368, 0.326833, 0.233333, 1, 0.211352, -0.947662, -0.10914, 0.212966, 0.3, 1, 0.42027, -0.870823, -0.243501, 0.0758169, 0.366667, 1, 0.588908, -0.722006, -0.35588, -0.0724237, 0.4, 1, -0.653487, 0.624805, 0.401386, 0.146504, 0.466667, 1, -0.737202, 0.395428, 0.467298, 0.28601, 0.533333, 1, -0.755711, 0.136417, 0.497022, 0.404055, 0.6, 1, -0.709018, -0.130828, 0.489741, 0.490236, 0.666667, 1, -0.602749, -0.385175, 0.446951, 0.537186, 0.733333, 1, -0.446816, -0.60677, 0.373686, 0.540873, 0.8, 1, -0.255292, -0.779615, 0.275553, 0.501095, 0.866667, 1, -0.0442568, -0.891594, 0.160731, 0.421031, 0.933333, 1, 0.169125, -0.935785, 0.0378282, 0.307039, 1, 1, 0.368348, -0.910431, -0.0845717, 0.168177, 1.06667, 1, 0.538148, -0.819227, -0.197601, 0.0147608, 1.1, 1, -0.608183, 0.751231, 0.248406, 0.063719, 1.16667, 1, -0.712497, 0.577367, 0.334503, 0.217033, 1.2, 1, -0.744908, 0.475099, 0.368435, 0.28922, 1.23333, 1, -0.723338, 0.461795, 0.345619, 0.379573, 1.26667, 1, -0.680906, 0.479525, 0.299103, 0.46579, 1.3, 1, -0.634583, 0.498068, 0.245332, 0.537629, 1.36667, 1, -0.533403, 0.532608, 0.116879, 0.646645, 1.4, 1, -0.476147, 0.545398, 0.046578, 0.688226, 1.43333, 1, -0.413907, 0.554203, -0.0263165, 0.721698, 1.46667, 1, -0.357471, 0.554506, -0.0863142, 0.746517, 1.5, 1, -0.330611, 0.540958, -0.103418, 0.766398, 1.53333, 1, -0.32007, 0.52205, -0.105042, 0.783572, 1.56667, 1, -0.317632, 0.501634, -0.105855, 0.797664, 1.6, 1, -0.321283, 0.480347, -0.10887, 0.808821, 1.63333, 1, -0.327415, 0.459029, -0.118081, 0.817404, 1.66667, 1, -0.330826, 0.438729, -0.138454, 0.823955, 1.7, 1, -0.333754, 0.418074, -0.157348, 0.830099, 1.73333, 1, -0.329596, 0.397886, -0.168194, 0.839503, 1.76667, 1, -0.324238, 0.377323, -0.171994, 0.850244, 1.8, 1, -0.319989, 0.35637, -0.173985, 0.860428, 1.83333, 1, -0.315606, 0.335868, -0.18364, 0.868252, 1.86667, 1, -0.311037, 0.315409, -0.192229, 0.875684, 1.96667, 1, -0.297432, 0.253456, -0.21268, 0.895579, 2, 1, -0.292567, 0.232899, -0.219663, 0.901061, 2.03333, 1, -0.287555, 0.212609, -0.225969, 0.906117, 2.06667, 1, -0.282384, 0.192691, -0.232263, 0.910595, 2.1, 1, -0.277289, 0.173074, -0.238305, 0.914531, 2.13333, 1, -0.27227, 0.153763, -0.244051, 0.917968, 2.16667, 1, -0.267092, 0.13484, -0.249647, 0.920954, 2.2, 1, -0.262009, 0.116561, -0.254616, 0.923545, 2.23333, 1, -0.25728, 0.0990532, -0.25973, 0.925492, 2.26667, 1, -0.252732, 0.0825784, -0.264365, 0.927048, 2.3, 1, -0.248391, 0.0674352, -0.268403, 0.928286, 2.33333, 1, -0.244484, 0.0539593, -0.272224, 0.929091, 2.36667, 1, -0.241311, 0.0433009, -0.274853, 0.929704, 2.4, 1, -0.238919, 0.035192, -0.276926, 0.930049, 2.43333, 1, -0.237376, 0.0298928, -0.278263, 0.930231, 2.46667, 1, -0.23664, 0.0273535, -0.278878, 0.930312, 3.79167, 1, -0.236555, 0.0272172, -0.27898, 0.930307) -tracks/32/type = "scale_3d" -tracks/32/imported = true -tracks/32/enabled = true -tracks/32/path = NodePath("Cube_cell_026_cell_006_cell_006") -tracks/32/interp = 1 -tracks/32/loop_wrap = true -tracks/32/keys = PackedFloat32Array(0, 1, 0.0109984, 0.131733, 0.211756, 0.0333333, 1, 0.728392, 0.752539, 0.768543, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) -tracks/33/type = "position_3d" -tracks/33/imported = true -tracks/33/enabled = true -tracks/33/path = NodePath("Cube_cell_039_cell_005") -tracks/33/interp = 1 -tracks/33/loop_wrap = true -tracks/33/keys = PackedFloat32Array(0, 1, 2.32324, -3.49179, -0.189974, 0.0333333, 1, 2.36893, -3.40299, -0.23454, 0.0666667, 1, 2.44905, -3.26455, -0.316165, 0.1, 1, 2.54477, -3.10391, -0.414605, 0.133333, 1, 2.64433, -2.9415, -0.517209, 0.166667, 1, 2.74302, -2.79071, -0.618917, 0.2, 1, 2.84064, -2.65511, -0.719524, 0.233333, 1, 2.93751, -2.53073, -0.819356, 0.266667, 1, 3.03365, -2.41746, -0.918439, 0.3, 1, 3.12909, -2.31521, -1.0168, 0.333333, 1, 3.22385, -2.22389, -1.11446, 0.366667, 1, 3.31773, -2.14698, -1.21122, 0.4, 1, 3.41098, -2.08077, -1.30732, 0.433333, 1, 3.50361, -2.02519, -1.40278, 0.466667, 1, 3.59562, -1.98017, -1.49761, 0.5, 1, 3.68703, -1.94565, -1.59181, 0.533333, 1, 3.77765, -1.92499, -1.6852, 0.666667, 1, 4.13432, -1.94493, -2.05278, 0.7, 1, 4.22186, -1.97857, -2.143, 0.733333, 1, 4.30882, -2.02216, -2.23263, 0.766667, 1, 4.39522, -2.07566, -2.32166, 0.8, 1, 4.48103, -2.13898, -2.41011, 0.833333, 1, 4.56627, -2.21209, -2.49796, 0.866667, 1, 4.65073, -2.29809, -2.585, 0.9, 1, 4.7346, -2.39366, -2.67143, 0.933333, 1, 4.81786, -2.49872, -2.75723, 0.966667, 1, 4.9005, -2.6132, -2.84241, 1, 1, 4.98252, -2.73701, -2.92694, 1.03333, 1, 5.06368, -2.87307, -3.01057, 1.06667, 1, 5.14415, -3.01816, -3.09351, 1.13333, 1, 5.30202, -3.32866, -3.25596, 1.16667, 1, 5.37654, -3.47507, -3.33176, 1.2, 1, 5.42885, -3.45569, -3.3684, 1.23333, 1, 5.47971, -3.44227, -3.40403, 1.26667, 1, 5.5284, -3.43153, -3.43822, 1.3, 1, 5.57463, -3.42211, -3.47083, 1.33333, 1, 5.6186, -3.41459, -3.50199, 1.36667, 1, 5.65953, -3.40947, -3.53132, 1.4, 1, 5.69814, -3.406, -3.55938, 1.43333, 1, 5.73446, -3.40427, -3.58624, 1.46667, 1, 5.7684, -3.40399, -3.61195, 1.5, 1, 5.79977, -3.40436, -3.63651, 1.53333, 1, 5.82507, -3.39132, -3.65697, 1.56667, 1, 5.84925, -3.3834, -3.67621, 1.6, 1, 5.87215, -3.37971, -3.69401, 1.63333, 1, 5.89373, -3.3798, -3.71031, 1.66667, 1, 5.91402, -3.38368, -3.72521, 1.7, 1, 5.93268, -3.39288, -3.73838, 1.73333, 1, 5.94935, -3.40201, -3.74963, 1.76667, 1, 5.96306, -3.4059, -3.75817, 1.8, 1, 5.97381, -3.4048, -3.76414, 1.83333, 1, 5.98254, -3.40432, -3.76868, 1.86667, 1, 5.98848, -3.40417, -3.77134, 1.9, 1, 5.99229, -3.40408, -3.77294, 1.93333, 1, 5.99427, -3.40405, -3.77394, 1.96667, 1, 5.99499, -3.40406, -3.77467, 2.03333, 1, 5.99557, -3.40413, -3.77616, 2.06667, 1, 5.99597, -3.4042, -3.77717, 2.1, 1, 5.99644, -3.40427, -3.77836, 2.13333, 1, 5.99699, -3.40437, -3.77976, 2.16667, 1, 5.99762, -3.4045, -3.78137, 2.2, 1, 5.99838, -3.40467, -3.7833, 2.23333, 1, 5.99925, -3.40489, -3.78552, 2.26667, 1, 6.00024, -3.40516, -3.78803, 2.3, 1, 6.00136, -3.4055, -3.79087, 2.33333, 1, 6.00261, -3.40592, -3.79406, 2.36667, 1, 6.00341, -3.40597, -3.79695, 2.4, 1, 6.00363, -3.40605, -3.79796, 3.79167, 1, 6.00366, -3.40609, -3.79812) -tracks/34/type = "rotation_3d" -tracks/34/imported = true -tracks/34/enabled = true -tracks/34/path = NodePath("Cube_cell_039_cell_005") -tracks/34/interp = 1 -tracks/34/loop_wrap = true -tracks/34/keys = PackedFloat32Array(0, 1, 0.00849711, -0.156956, -0.217664, 0.963284, 0.0333333, 1, 0.00791731, -0.156487, -0.216889, 0.96354, 0.0666667, 1, 0.00716387, -0.155793, -0.215929, 0.963874, 0.1, 1, 0.00635454, -0.155025, -0.214909, 0.964231, 0.133333, 1, 0.00554818, -0.154259, -0.213892, 0.964585, 0.166667, 1, 0.00474478, -0.153495, -0.212877, 0.964935, 0.2, 1, 0.0039453, -0.152734, -0.211866, 0.965282, 0.233333, 1, 0.00314877, -0.151975, -0.210858, 0.965626, 0.366667, 1, -7.21793e-06, -0.148963, -0.206851, 0.966966, 0.4, 1, -0.000788254, -0.148216, -0.205856, 0.967293, 0.433333, 1, -0.00156642, -0.147471, -0.204864, 0.967616, 0.5, 1, -0.00311414, -0.145987, -0.202888, 0.968253, 0.566667, 1, -0.0046486, -0.144513, -0.200924, 0.968878, 0.6, 1, -0.00541158, -0.143779, -0.199946, 0.969185, 0.666667, 1, -0.00692911, -0.142318, -0.197997, 0.969791, 0.733333, 1, -0.00843362, -0.140867, -0.196061, 0.970384, 0.766667, 1, -0.0091817, -0.140145, -0.195097, 0.970676, 0.866667, 1, -0.0114085, -0.137991, -0.19222, 0.971535, 0.9, 1, -0.0121447, -0.137278, -0.191267, 0.971815, 0.933333, 1, -0.0128781, -0.136566, -0.190316, 0.972092, 1.03333, 1, -0.0150614, -0.134446, -0.187481, 0.972907, 1.06667, 1, -0.0157831, -0.133743, -0.186541, 0.973173, 1.1, 1, -0.0165022, -0.133043, -0.185604, 0.973436, 1.13333, 1, -0.0100633, -0.129172, -0.191505, 0.972902, 1.16667, 1, 0.0178474, -0.115654, -0.217711, 0.968972, 1.2, 1, -0.0311067, -0.114102, -0.253252, 0.960144, 1.23333, 1, -0.0801554, -0.112922, -0.284634, 0.948582, 1.26667, 1, -0.126305, -0.110583, -0.314333, 0.934352, 1.3, 1, -0.169087, -0.107043, -0.34278, 0.917853, 1.33333, 1, -0.210532, -0.103718, -0.36829, 0.899601, 1.4, 1, -0.291425, -0.0988078, -0.413192, 0.857077, 1.43333, 1, -0.331925, -0.0976081, -0.433769, 0.831951, 1.5, 1, -0.410973, -0.0961888, -0.472218, 0.77386, 1.53333, 1, -0.427344, -0.0851066, -0.47957, 0.761674, 1.56667, 1, -0.441226, -0.0769068, -0.482041, 0.753022, 1.6, 1, -0.451004, -0.0689451, -0.480733, 0.748824, 1.63333, 1, -0.456159, -0.0604009, -0.475932, 0.749506, 1.66667, 1, -0.457248, -0.052279, -0.467101, 0.754989, 1.7, 1, -0.452633, -0.0441108, -0.453177, 0.766687, 1.73333, 1, -0.444263, -0.0339765, -0.438255, 0.780646, 1.76667, 1, -0.436286, -0.0231006, -0.425293, 0.79262, 1.8, 1, -0.430672, -0.0123697, -0.415411, 0.801125, 1.83333, 1, -0.427028, -0.00231485, -0.407702, 0.807106, 1.86667, 1, -0.4261, 0.00591917, -0.402094, 0.810385, 1.9, 1, -0.426726, 0.0124517, -0.397964, 0.812019, 1.93333, 1, -0.428107, 0.0168768, -0.39541, 0.81246, 1.96667, 1, -0.429619, 0.0190274, -0.394386, 0.812112, 2, 1, -0.430811, 0.0189746, -0.394706, 0.811326, 2.03333, 1, -0.432347, 0.0185466, -0.395349, 0.810205, 2.06667, 1, -0.434211, 0.0180243, -0.396129, 0.808837, 2.1, 1, -0.436421, 0.0174024, -0.397054, 0.807206, 2.13333, 1, -0.439002, 0.0166744, -0.398132, 0.805289, 2.16667, 1, -0.441977, 0.0158329, -0.399371, 0.803062, 2.2, 1, -0.445543, 0.0148214, -0.400852, 0.800368, 2.23333, 1, -0.449605, 0.0136652, -0.402532, 0.797268, 2.26667, 1, -0.454204, 0.0123508, -0.404427, 0.793716, 2.3, 1, -0.459386, 0.0108632, -0.406552, 0.78966, 2.33333, 1, -0.465197, 0.00918645, -0.408921, 0.785042, 2.36667, 1, -0.467268, 0.00880669, -0.40969, 0.783414, 3.79167, 1, -0.467678, 0.00873257, -0.409703, 0.783163) -tracks/35/type = "scale_3d" -tracks/35/imported = true -tracks/35/enabled = true -tracks/35/path = NodePath("Cube_cell_039_cell_005") -tracks/35/interp = 1 -tracks/35/loop_wrap = true -tracks/35/keys = PackedFloat32Array(0, 1, 0.144713, 0.00668692, 0.209832, 0.0333333, 1, 0.755135, 0.64488, 0.759968, 0.0666667, 1, 0.90774, 0.804428, 0.897503, 3.79167, 1, 0.90774, 0.804428, 0.897503) -tracks/36/type = "position_3d" -tracks/36/imported = true -tracks/36/enabled = true -tracks/36/path = NodePath("Cube_cell_032_cell_007") -tracks/36/interp = 1 -tracks/36/loop_wrap = true -tracks/36/keys = PackedFloat32Array(0, 1, 1.58707, -3.48663, 1.54889, 0.0333333, 1, 1.58139, -3.52102, 1.5776, 0.0666667, 1, 1.57065, -3.45305, 1.63214, 0.1, 1, 1.55745, -3.34678, 1.69947, 0.133333, 1, 1.54351, -3.24008, 1.77071, 0.166667, 1, 1.52971, -3.14462, 1.84126, 0.2, 1, 1.51608, -3.06391, 1.91093, 0.233333, 1, 1.50257, -2.99408, 1.97997, 0.266667, 1, 1.48918, -2.93504, 2.04841, 0.3, 1, 1.47591, -2.8867, 2.11626, 0.333333, 1, 1.46275, -2.84896, 2.18353, 0.366667, 1, 1.44974, -2.8252, 2.25006, 0.4, 1, 1.43683, -2.8118, 2.31604, 0.466667, 1, 1.41133, -2.8158, 2.44636, 0.5, 1, 1.39874, -2.83304, 2.51072, 0.533333, 1, 1.38629, -2.86365, 2.57437, 0.566667, 1, 1.37394, -2.90417, 2.63749, 0.6, 1, 1.3617, -2.95452, 2.70006, 0.633333, 1, 1.34957, -3.01462, 2.7621, 0.666667, 1, 1.33754, -3.08438, 2.82358, 0.7, 1, 1.32565, -3.16685, 2.88432, 0.733333, 1, 1.31388, -3.25868, 2.94449, 0.766667, 1, 1.30223, -3.35977, 3.00406, 0.8, 1, 1.2907, -3.47, 3.06302, 0.833333, 1, 1.27928, -3.58925, 3.12135, 0.866667, 1, 1.28252, -3.57448, 3.14366, 0.9, 1, 1.28684, -3.5584, 3.16265, 0.933333, 1, 1.29149, -3.54877, 3.1804, 0.966667, 1, 1.29605, -3.54752, 3.19749, 1, 1, 1.30042, -3.55076, 3.21299, 1.03333, 1, 1.30413, -3.55552, 3.22524, 1.06667, 1, 1.30715, -3.56432, 3.23611, 1.1, 1, 1.30878, -3.57634, 3.24608, 1.13333, 1, 1.30828, -3.58615, 3.25446, 1.16667, 1, 1.3049, -3.58373, 3.25941, 1.2, 1, 1.30269, -3.58549, 3.26225, 1.23333, 1, 1.30194, -3.58592, 3.26327, 3.79167, 1, 1.30179, -3.58591, 3.2635) -tracks/37/type = "rotation_3d" -tracks/37/imported = true -tracks/37/enabled = true -tracks/37/path = NodePath("Cube_cell_032_cell_007") -tracks/37/interp = 1 -tracks/37/loop_wrap = true -tracks/37/keys = PackedFloat32Array(0, 1, -0.000103984, -0.0492278, -8.0784e-05, 0.998788, 0.833333, 1, -0.000125621, -0.0492278, -8.66656e-05, 0.998788, 0.866667, 1, -0.0125745, -0.0424697, -0.0363936, 0.998356, 0.9, 1, -0.0397837, -0.0326452, -0.061065, 0.996806, 0.933333, 1, -0.0719685, -0.0216342, -0.0814038, 0.993844, 0.966667, 1, -0.101091, -0.00977598, -0.0962626, 0.990161, 1, 1, -0.120943, 0.00412922, -0.096104, 0.987988, 1.03333, 1, -0.109123, 0.0206883, -0.0772376, 0.990807, 1.06667, 1, -0.0763204, 0.0377973, -0.0550263, 0.994846, 1.1, 1, -0.0328192, 0.0558399, -0.0234287, 0.997625, 1.13333, 1, 0.00375549, 0.07122, 0.00678381, 0.997431, 1.16667, 1, 0.00852376, 0.0766477, 0.00809169, 0.996989, 1.2, 1, 0.00104579, 0.081328, 0.00130802, 0.996686, 1.23333, 1, -0.000409428, 0.0836713, -0.000204134, 0.996493, 3.79167, 1, -0.000108537, 0.0844563, -7.14679e-05, 0.996427) -tracks/38/type = "scale_3d" -tracks/38/imported = true -tracks/38/enabled = true -tracks/38/path = NodePath("Cube_cell_032_cell_007") -tracks/38/interp = 1 -tracks/38/loop_wrap = true -tracks/38/keys = PackedFloat32Array(0, 1, 0.213365, 1.21704e-06, 0.213365, 0.0333333, 1, 0.768865, 0.726192, 0.768865, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) -tracks/39/type = "position_3d" -tracks/39/imported = true -tracks/39/enabled = true -tracks/39/path = NodePath("Cube_cell_008_cell_004") -tracks/39/interp = 1 -tracks/39/loop_wrap = true -tracks/39/keys = PackedFloat32Array(0, 1, 2.16462, -3.49961, 1.29807, 0.0333333, 1, 2.17375, -3.28059, 1.32536, 0.0666667, 1, 2.19128, -3.13739, 1.37647, 0.1, 1, 2.2129, -3.01559, 1.43915, 0.133333, 1, 2.23576, -2.89365, 1.50527, 0.166667, 1, 2.25843, -2.78295, 1.57083, 0.2, 1, 2.28085, -2.68702, 1.63567, 0.233333, 1, 2.30309, -2.602, 1.70001, 0.266667, 1, 2.32516, -2.52782, 1.76385, 0.3, 1, 2.34707, -2.46438, 1.82721, 0.333333, 1, 2.36882, -2.41162, 1.8901, 0.366667, 1, 2.39035, -2.37294, 1.95239, 0.4, 1, 2.41173, -2.34471, 2.01422, 0.433333, 1, 2.43295, -2.32686, 2.07561, 0.466667, 1, 2.45403, -2.31934, 2.13656, 0.5, 1, 2.47495, -2.32206, 2.19708, 0.533333, 1, 2.49568, -2.33833, 2.25703, 0.566667, 1, 2.51626, -2.36465, 2.31655, 0.6, 1, 2.53669, -2.40097, 2.37564, 0.633333, 1, 2.55697, -2.44722, 2.4343, 0.666667, 1, 2.5771, -2.50333, 2.49253, 0.7, 1, 2.59703, -2.57244, 2.55018, 0.733333, 1, 2.61682, -2.65119, 2.60739, 0.766667, 1, 2.63644, -2.7395, 2.66416, 0.8, 1, 2.65591, -2.83729, 2.72047, 0.833333, 1, 2.67522, -2.94447, 2.77632, 0.866667, 1, 2.69431, -3.06399, 2.83153, 0.9, 1, 2.71323, -3.19258, 2.88624, 0.933333, 1, 2.73018, -3.27016, 2.93902, 0.966667, 1, 2.74485, -3.28759, 2.98974, 1, 1, 2.75841, -3.28671, 3.03954, 1.03333, 1, 2.77131, -3.29431, 3.08751, 1.06667, 1, 2.78247, -3.29704, 3.13145, 1.1, 1, 2.79231, -3.29831, 3.17225, 1.13333, 1, 2.80105, -3.29988, 3.21039, 1.16667, 1, 2.80866, -3.30183, 3.24594, 1.2, 1, 2.81471, -3.30462, 3.27821, 1.23333, 1, 2.81952, -3.30824, 3.30815, 1.26667, 1, 2.82307, -3.31297, 3.3359, 1.3, 1, 2.82521, -3.31836, 3.36145, 1.33333, 1, 2.82568, -3.32318, 3.38461, 1.36667, 1, 2.82305, -3.31788, 3.40221, 1.4, 1, 2.82027, -3.31495, 3.41763, 1.43333, 1, 2.81756, -3.31362, 3.43073, 1.46667, 1, 2.81518, -3.31347, 3.44147, 1.5, 1, 2.81341, -3.31443, 3.44991, 1.53333, 1, 2.81283, -3.31687, 3.45548, 1.56667, 1, 2.81336, -3.32054, 3.45905, 1.6, 1, 2.81497, -3.32269, 3.46043, 1.63333, 1, 2.81684, -3.323, 3.46034, 3.79167, 1, 2.81729, -3.32356, 3.46052) -tracks/40/type = "rotation_3d" -tracks/40/imported = true -tracks/40/enabled = true -tracks/40/path = NodePath("Cube_cell_008_cell_004") -tracks/40/interp = 1 -tracks/40/loop_wrap = true -tracks/40/keys = PackedFloat32Array(0, 1, -0.0550525, -0.0216789, -0.0326793, 0.997713, 0.0666667, 1, -0.0550358, -0.021712, -0.0313496, 0.997756, 0.166667, 1, -0.0550111, -0.0217613, -0.0293713, 0.997816, 0.233333, 1, -0.0549949, -0.0217939, -0.0280647, 0.997854, 0.333333, 1, -0.0549709, -0.0218423, -0.0261206, 0.997907, 0.4, 1, -0.054955, -0.0218744, -0.0248365, 0.99794, 0.466667, 1, -0.0549393, -0.0219062, -0.0235609, 0.997971, 0.533333, 1, -0.0549238, -0.0219378, -0.0222942, 0.998001, 0.6, 1, -0.0549085, -0.0219691, -0.0210365, 0.998028, 0.7, 1, -0.0548857, -0.0220158, -0.0191661, 0.998066, 0.766667, 1, -0.0548707, -0.0220466, -0.0179302, 0.998089, 0.833333, 1, -0.0548559, -0.0220773, -0.0167025, 0.99811, 0.9, 1, -0.0548412, -0.0221077, -0.0154841, 0.99813, 0.933333, 1, -0.0522985, -0.0223248, -0.0109762, 0.998322, 0.966667, 1, -0.0497653, -0.0228618, -0.00193673, 0.998497, 1, 1, -0.0548716, -0.0237554, 0.00899471, 0.99817, 1.03333, 1, -0.0542168, -0.0241608, 0.0199104, 0.998038, 1.06667, 1, -0.0539761, -0.0245384, 0.031375, 0.997748, 1.1, 1, -0.0538204, -0.0248248, 0.043766, 0.997282, 1.13333, 1, -0.0535664, -0.0249729, 0.0574274, 0.996599, 1.16667, 1, -0.0531763, -0.0249514, 0.0726692, 0.995625, 1.2, 1, -0.0525735, -0.0246571, 0.0906746, 0.994186, 1.23333, 1, -0.0518791, -0.0241251, 0.11129, 0.99214, 1.26667, 1, -0.0510172, -0.0233358, 0.134852, 0.989276, 1.3, 1, -0.0493593, -0.0223831, 0.160675, 0.985518, 1.33333, 1, -0.045731, -0.0214785, 0.187077, 0.981045, 1.36667, 1, -0.0357618, -0.0228994, 0.193335, 0.980214, 1.4, 1, -0.0297434, -0.0239135, 0.198812, 0.979294, 1.43333, 1, -0.0268447, -0.0247524, 0.201934, 0.978718, 1.46667, 1, -0.0266204, -0.0254588, 0.202157, 0.97866, 1.5, 1, -0.0290111, -0.0258862, 0.199967, 0.979031, 1.53333, 1, -0.0347044, -0.0258798, 0.19457, 0.979933, 1.56667, 1, -0.0428853, -0.0255139, 0.186692, 0.98115, 1.6, 1, -0.0483492, -0.0254716, 0.180174, 0.982116, 1.63333, 1, -0.0497882, -0.0259076, 0.177558, 0.982509, 1.66667, 1, -0.0497817, -0.0264418, 0.180048, 0.982041, 3.79167, 1, -0.049827, -0.0268702, 0.179878, 0.982059) -tracks/41/type = "scale_3d" -tracks/41/imported = true -tracks/41/enabled = true -tracks/41/path = NodePath("Cube_cell_008_cell_004") -tracks/41/interp = 1 -tracks/41/loop_wrap = true -tracks/41/keys = PackedFloat32Array(0, 1, 0.211699, 0.000109523, 0.208163, 0.0333333, 1, 0.768532, 0.726214, 0.767825, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) -tracks/42/type = "value" -tracks/42/imported = false -tracks/42/enabled = true -tracks/42/path = NodePath(".:position") -tracks/42/interp = 1 -tracks/42/loop_wrap = true -tracks/42/keys = { -"times": PackedFloat32Array(0, 3.8, 6.73333), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 0, -"values": [Vector3(-3.59119, 7.25161, 10.1115), Vector3(-3.59119, 7.25161, 10.1115), Vector3(-3.591, 6.167, 10.111)] -} - -[sub_resource type="Animation" id="Animation_5u62c"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector3(-3.591, 6.757, 10.111)] -} -tracks/1/type = "position_3d" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Cube_cell_036") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = PackedFloat32Array(0, 1, 2.6238, -3.48718, 0.350017) -tracks/2/type = "rotation_3d" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Cube_cell_036") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = PackedFloat32Array(0, 1, -0.14538, 0.659332, -0.0898637, 0.732168) -tracks/3/type = "scale_3d" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Cube_cell_036") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = PackedFloat32Array(0, 1, -0.171464, -0.00312708, -0.209615) -tracks/4/type = "position_3d" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("Cube_cell_026_cell") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = PackedFloat32Array(0, 1, 1.77564, -3.48865, 0.617611) -tracks/5/type = "rotation_3d" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("Cube_cell_026_cell") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = PackedFloat32Array(0, 1, -0.333142, 0.115554, -0.084272, 0.931967) -tracks/6/type = "scale_3d" -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/path = NodePath("Cube_cell_026_cell") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/keys = PackedFloat32Array(0, 1, 0.19083, 0.0379784, 0.0878208) -tracks/7/type = "position_3d" -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/path = NodePath("Cube_cell_012_cell_006") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/keys = PackedFloat32Array(0, 1, 2.94116, -3.48725, 0.277391) -tracks/8/type = "rotation_3d" -tracks/8/imported = false -tracks/8/enabled = true -tracks/8/path = NodePath("Cube_cell_012_cell_006") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/keys = PackedFloat32Array(0, 1, 0.0296721, 0.987512, -0.118532, 0.0994433) -tracks/9/type = "scale_3d" -tracks/9/imported = false -tracks/9/enabled = true -tracks/9/path = NodePath("Cube_cell_012_cell_006") -tracks/9/interp = 1 -tracks/9/loop_wrap = true -tracks/9/keys = PackedFloat32Array(0, 1, -0.212846, -0.000941459, -0.189707) -tracks/10/type = "position_3d" -tracks/10/imported = false -tracks/10/enabled = true -tracks/10/path = NodePath("Cube_cell_005_cell_001") -tracks/10/interp = 1 -tracks/10/loop_wrap = true -tracks/10/keys = PackedFloat32Array(0, 1, 1.71506, -3.48988, -0.219024) -tracks/11/type = "rotation_3d" -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/path = NodePath("Cube_cell_005_cell_001") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/keys = PackedFloat32Array(0, 1, 0.0717273, 0.266614, 0.908617, 0.313348) -tracks/12/type = "scale_3d" -tracks/12/imported = false -tracks/12/enabled = true -tracks/12/path = NodePath("Cube_cell_005_cell_001") -tracks/12/interp = 1 -tracks/12/loop_wrap = true -tracks/12/keys = PackedFloat32Array(0, 1, 0.0858004, 0.0684725, 0.1395) -tracks/13/type = "position_3d" -tracks/13/imported = false -tracks/13/enabled = true -tracks/13/path = NodePath("Cube_cell_cell") -tracks/13/interp = 1 -tracks/13/loop_wrap = true -tracks/13/keys = PackedFloat32Array(0, 1, 0.434769, -3.49682, 0.186093) -tracks/14/type = "rotation_3d" -tracks/14/imported = false -tracks/14/enabled = true -tracks/14/path = NodePath("Cube_cell_cell") -tracks/14/interp = 1 -tracks/14/loop_wrap = true -tracks/14/keys = PackedFloat32Array(0, 1, -0.167726, -0.0186818, 0.259071, 0.951) -tracks/15/type = "scale_3d" -tracks/15/imported = false -tracks/15/enabled = true -tracks/15/path = NodePath("Cube_cell_cell") -tracks/15/interp = 1 -tracks/15/loop_wrap = true -tracks/15/keys = PackedFloat32Array(0, 1, 0.12107, 0.0137085, 0.174828) -tracks/16/type = "position_3d" -tracks/16/imported = false -tracks/16/enabled = true -tracks/16/path = NodePath("Cube_cell_cell_005") -tracks/16/interp = 1 -tracks/16/loop_wrap = true -tracks/16/keys = PackedFloat32Array(0, 1, 2.2522, -3.4861, 0.994269) -tracks/17/type = "rotation_3d" -tracks/17/imported = false -tracks/17/enabled = true -tracks/17/path = NodePath("Cube_cell_cell_005") -tracks/17/interp = 1 -tracks/17/loop_wrap = true -tracks/17/keys = PackedFloat32Array(0, 1, -0.195401, -0.0790228, 0.970916, 0.113561) -tracks/18/type = "scale_3d" -tracks/18/imported = false -tracks/18/enabled = true -tracks/18/path = NodePath("Cube_cell_cell_005") -tracks/18/interp = 1 -tracks/18/loop_wrap = true -tracks/18/keys = PackedFloat32Array(0, 1, -0.187482, -0.00146178, -0.208365) -tracks/19/type = "position_3d" -tracks/19/imported = false -tracks/19/enabled = true -tracks/19/path = NodePath("Cube_cell_cell_007") -tracks/19/interp = 1 -tracks/19/loop_wrap = true -tracks/19/keys = PackedFloat32Array(0, 1, 1.67089, -3.48847, 0.205951) -tracks/20/type = "rotation_3d" -tracks/20/imported = false -tracks/20/enabled = true -tracks/20/path = NodePath("Cube_cell_cell_007") -tracks/20/interp = 1 -tracks/20/loop_wrap = true -tracks/20/keys = PackedFloat32Array(0, 1, -0.0687176, 0.0624383, -0.0182627, 0.995513) -tracks/21/type = "scale_3d" -tracks/21/imported = false -tracks/21/enabled = true -tracks/21/path = NodePath("Cube_cell_cell_007") -tracks/21/interp = 1 -tracks/21/loop_wrap = true -tracks/21/keys = PackedFloat32Array(0, 1, 0.212512, 0.000152375, 0.205781) -tracks/22/type = "position_3d" -tracks/22/imported = false -tracks/22/enabled = true -tracks/22/path = NodePath("Cube_cell_cell_004_cell_007") -tracks/22/interp = 1 -tracks/22/loop_wrap = true -tracks/22/keys = PackedFloat32Array(0, 1, 2.04388, -3.49043, -0.657416) -tracks/23/type = "rotation_3d" -tracks/23/imported = false -tracks/23/enabled = true -tracks/23/path = NodePath("Cube_cell_cell_004_cell_007") -tracks/23/interp = 1 -tracks/23/loop_wrap = true -tracks/23/keys = PackedFloat32Array(0, 1, 0.777605, 0.0915886, -0.617753, 0.0729637) -tracks/24/type = "scale_3d" -tracks/24/imported = false -tracks/24/enabled = true -tracks/24/path = NodePath("Cube_cell_cell_004_cell_007") -tracks/24/interp = 1 -tracks/24/loop_wrap = true -tracks/24/keys = PackedFloat32Array(0, 1, -0.21221, -0.000810979, -0.192203) -tracks/25/type = "position_3d" -tracks/25/imported = false -tracks/25/enabled = true -tracks/25/path = NodePath("Cube_cell_005_cell_cell_006") -tracks/25/interp = 1 -tracks/25/loop_wrap = true -tracks/25/keys = PackedFloat32Array(0, 1, 1.25987, -3.4957, -0.328338) -tracks/26/type = "rotation_3d" -tracks/26/imported = false -tracks/26/enabled = true -tracks/26/path = NodePath("Cube_cell_005_cell_cell_006") -tracks/26/interp = 1 -tracks/26/loop_wrap = true -tracks/26/keys = PackedFloat32Array(0, 1, -0.632826, 0.393141, 0.455339, 0.487481) -tracks/27/type = "scale_3d" -tracks/27/imported = false -tracks/27/enabled = true -tracks/27/path = NodePath("Cube_cell_005_cell_cell_006") -tracks/27/interp = 1 -tracks/27/loop_wrap = true -tracks/27/keys = PackedFloat32Array(0, 1, -0.21215, -0.194165, -0.000689907) -tracks/28/type = "position_3d" -tracks/28/imported = false -tracks/28/enabled = true -tracks/28/path = NodePath("Cube_cell_012_cell_002_cell_003") -tracks/28/interp = 1 -tracks/28/loop_wrap = true -tracks/28/keys = PackedFloat32Array(0, 1, 2.78099, -3.4924, 0.877203) -tracks/29/type = "rotation_3d" -tracks/29/imported = false -tracks/29/enabled = true -tracks/29/path = NodePath("Cube_cell_012_cell_002_cell_003") -tracks/29/interp = 1 -tracks/29/loop_wrap = true -tracks/29/keys = PackedFloat32Array(0, 1, 0.154426, -0.984419, 0.0711561, 0.0448136) -tracks/30/type = "scale_3d" -tracks/30/imported = false -tracks/30/enabled = true -tracks/30/path = NodePath("Cube_cell_012_cell_002_cell_003") -tracks/30/interp = 1 -tracks/30/loop_wrap = true -tracks/30/keys = PackedFloat32Array(0, 1, -0.17755, -0.00306912, -0.203464) -tracks/31/type = "position_3d" -tracks/31/imported = false -tracks/31/enabled = true -tracks/31/path = NodePath("Cube_cell_026_cell_006_cell_006") -tracks/31/interp = 1 -tracks/31/loop_wrap = true -tracks/31/keys = PackedFloat32Array(0, 1, 1.42712, -3.49096, 0.945437) -tracks/32/type = "rotation_3d" -tracks/32/imported = false -tracks/32/enabled = true -tracks/32/path = NodePath("Cube_cell_026_cell_006_cell_006") -tracks/32/interp = 1 -tracks/32/loop_wrap = true -tracks/32/keys = PackedFloat32Array(0, 1, -0.423797, -0.733826, 0.296452, 0.440468) -tracks/33/type = "scale_3d" -tracks/33/imported = false -tracks/33/enabled = true -tracks/33/path = NodePath("Cube_cell_026_cell_006_cell_006") -tracks/33/interp = 1 -tracks/33/loop_wrap = true -tracks/33/keys = PackedFloat32Array(0, 1, 0.0109984, 0.131733, 0.211756) -tracks/34/type = "position_3d" -tracks/34/imported = false -tracks/34/enabled = true -tracks/34/path = NodePath("Cube_cell_039_cell_005") -tracks/34/interp = 1 -tracks/34/loop_wrap = true -tracks/34/keys = PackedFloat32Array(0, 1, 2.32324, -3.49179, -0.189974) -tracks/35/type = "rotation_3d" -tracks/35/imported = false -tracks/35/enabled = true -tracks/35/path = NodePath("Cube_cell_039_cell_005") -tracks/35/interp = 1 -tracks/35/loop_wrap = true -tracks/35/keys = PackedFloat32Array(0, 1, 0.00849711, -0.156956, -0.217664, 0.963284) -tracks/36/type = "scale_3d" -tracks/36/imported = false -tracks/36/enabled = true -tracks/36/path = NodePath("Cube_cell_039_cell_005") -tracks/36/interp = 1 -tracks/36/loop_wrap = true -tracks/36/keys = PackedFloat32Array(0, 1, 0.144713, 0.00668692, 0.209832) -tracks/37/type = "position_3d" -tracks/37/imported = false -tracks/37/enabled = true -tracks/37/path = NodePath("Cube_cell_032_cell_007") -tracks/37/interp = 1 -tracks/37/loop_wrap = true -tracks/37/keys = PackedFloat32Array(0, 1, 1.58707, -3.48663, 1.54889) -tracks/38/type = "rotation_3d" -tracks/38/imported = false -tracks/38/enabled = true -tracks/38/path = NodePath("Cube_cell_032_cell_007") -tracks/38/interp = 1 -tracks/38/loop_wrap = true -tracks/38/keys = PackedFloat32Array(0, 1, -0.000103984, -0.0492278, -8.0784e-05, 0.998788) -tracks/39/type = "scale_3d" -tracks/39/imported = false -tracks/39/enabled = true -tracks/39/path = NodePath("Cube_cell_032_cell_007") -tracks/39/interp = 1 -tracks/39/loop_wrap = true -tracks/39/keys = PackedFloat32Array(0, 1, 0.213365, 1.21704e-06, 0.213365) -tracks/40/type = "position_3d" -tracks/40/imported = false -tracks/40/enabled = true -tracks/40/path = NodePath("Cube_cell_008_cell_004") -tracks/40/interp = 1 -tracks/40/loop_wrap = true -tracks/40/keys = PackedFloat32Array(0, 1, 2.16462, -3.49961, 1.29807) -tracks/41/type = "rotation_3d" -tracks/41/imported = false -tracks/41/enabled = true -tracks/41/path = NodePath("Cube_cell_008_cell_004") -tracks/41/interp = 1 -tracks/41/loop_wrap = true -tracks/41/keys = PackedFloat32Array(0, 1, -0.0550525, -0.0216789, -0.0326793, 0.997713) -tracks/42/type = "scale_3d" -tracks/42/imported = false -tracks/42/enabled = true -tracks/42/path = NodePath("Cube_cell_008_cell_004") -tracks/42/interp = 1 -tracks/42/loop_wrap = true -tracks/42/keys = PackedFloat32Array(0, 1, 0.211699, 0.000109523, 0.208163) -tracks/43/type = "value" -tracks/43/imported = false -tracks/43/enabled = true -tracks/43/path = NodePath(".:position") -tracks/43/interp = 1 -tracks/43/loop_wrap = true -tracks/43/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector3(-3.59119, 7.25161, 10.1115)] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_s7ahh"] -_data = { -&"Animation": SubResource("Animation_sn5j6"), -&"RESET": SubResource("Animation_5u62c") -} - [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_so2su"] resource_name = "Material.004" cull_mode = 2 @@ -1415,52 +778,28 @@ tracks/24/path = NodePath("%Hitbox/CollisionShape3D:disabled") tracks/24/interp = 1 tracks/24/loop_wrap = true tracks/24/keys = { -"times": PackedFloat32Array(0, 0.96, 1.03333), +"times": PackedFloat32Array(0, 0.96, 1.1), "transitions": PackedFloat32Array(1, 1, 1), "update": 1, "values": [true, false, true] } -tracks/25/type = "value" +tracks/25/type = "animation" tracks/25/imported = false tracks/25/enabled = true -tracks/25/path = NodePath("../ROCK SMASH/Rock Smash Animation:active") +tracks/25/path = NodePath("Rock Smash Animation") tracks/25/interp = 1 tracks/25/loop_wrap = true tracks/25/keys = { -"times": PackedFloat32Array(0, 1, 1.03333, 4.96667, 5.13333), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1), -"update": 1, -"values": [false, false, true, true, false] -} -tracks/26/type = "animation" -tracks/26/imported = false -tracks/26/enabled = true -tracks/26/path = NodePath("../ROCK SMASH/Rock Smash Animation") -tracks/26/interp = 1 -tracks/26/loop_wrap = true -tracks/26/keys = { "clips": PackedStringArray("[stop]", "Animation"), "times": PackedFloat32Array(0, 1.03333) } -tracks/27/type = "value" -tracks/27/imported = false -tracks/27/enabled = true -tracks/27/path = NodePath("../ROCK SMASH:visible") -tracks/27/interp = 1 -tracks/27/loop_wrap = true -tracks/27/keys = { -"times": PackedFloat32Array(0, 1, 1.03333, 4.96667, 5.03333), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1), -"update": 1, -"values": [false, false, true, true, false] -} -tracks/28/type = "audio" -tracks/28/imported = false -tracks/28/enabled = true -tracks/28/path = NodePath("../AudioStreamPlayer3D") -tracks/28/interp = 1 -tracks/28/loop_wrap = true -tracks/28/keys = { +tracks/26/type = "audio" +tracks/26/imported = false +tracks/26/enabled = true +tracks/26/path = NodePath("../AudioStreamPlayer3D") +tracks/26/interp = 1 +tracks/26/loop_wrap = true +tracks/26/keys = { "clips": [{ "end_offset": 0.0, "start_offset": 0.0, @@ -1468,14 +807,14 @@ tracks/28/keys = { }], "times": PackedFloat32Array(1.03333) } -tracks/28/use_blend = true -tracks/29/type = "audio" -tracks/29/imported = false -tracks/29/enabled = true -tracks/29/path = NodePath("../AudioStreamPlayer3D") -tracks/29/interp = 1 -tracks/29/loop_wrap = true -tracks/29/keys = { +tracks/26/use_blend = true +tracks/27/type = "audio" +tracks/27/imported = false +tracks/27/enabled = true +tracks/27/path = NodePath("../AudioStreamPlayer3D") +tracks/27/interp = 1 +tracks/27/loop_wrap = true +tracks/27/keys = { "clips": [{ "end_offset": 0.0, "start_offset": 0.0, @@ -1483,7 +822,7 @@ tracks/29/keys = { }], "times": PackedFloat32Array(0.766667) } -tracks/29/use_blend = true +tracks/27/use_blend = true [sub_resource type="Animation" id="Animation_8dvpv"] resource_name = "ARM 5 IDLE" @@ -1672,40 +1011,367 @@ tracks/0/keys = { "update": 1, "values": [true] } -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("../ROCK SMASH/Rock Smash Animation:active") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(), -"transitions": PackedFloat32Array(), -"update": 1, -"values": [] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("../ROCK SMASH:visible") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(), -"transitions": PackedFloat32Array(), -"update": 1, -"values": [] -} - -[sub_resource type="Animation" id="Animation_flp87"] -resource_name = "Rock Smash" [sub_resource type="AnimationLibrary" id="AnimationLibrary_chbc8"] _data = { &"5_ _ R MELEE SLAM": SubResource("Animation_poh2u"), &"ARM 5 IDLE": SubResource("Animation_8dvpv"), -&"RESET": SubResource("Animation_l5gtd"), -&"Rock Smash": SubResource("Animation_flp87") +&"RESET": SubResource("Animation_l5gtd") +} + +[sub_resource type="Animation" id="Animation_sn5j6"] +resource_name = "Animation" +length = 7.0137 +tracks/0/type = "position_3d" +tracks/0/imported = true +tracks/0/enabled = true +tracks/0/path = NodePath("Cube_cell_036") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = PackedFloat32Array(0, 1, 2.6238, -3.48718, 0.350017, 0.0333333, 1, 2.68423, -3.51351, 0.357514, 0.0666667, 1, 2.79869, -3.43393, 0.367417, 0.1, 1, 2.93864, -3.3132, 0.378261, 0.133333, 1, 3.08562, -3.19044, 0.38921, 0.166667, 1, 3.23118, -3.07905, 0.400055, 0.2, 1, 3.375, -2.98255, 0.41077, 0.233333, 1, 3.51758, -2.89704, 0.421392, 0.266667, 1, 3.65897, -2.82243, 0.431926, 0.3, 1, 3.7992, -2.75862, 0.442373, 0.333333, 1, 3.9383, -2.70553, 0.452736, 0.366667, 1, 4.07594, -2.66655, 0.46299, 0.4, 1, 4.21251, -2.63804, 0.473165, 0.433333, 1, 4.34803, -2.61994, 0.483261, 0.566667, 1, 4.87914, -2.65673, 0.52283, 0.6, 1, 5.00921, -2.69277, 0.53252, 0.633333, 1, 5.13826, -2.73873, 0.542134, 0.666667, 1, 5.26629, -2.79452, 0.551673, 0.7, 1, 5.39295, -2.86326, 0.561109, 0.733333, 1, 5.51856, -2.9416, 0.570467, 0.766667, 1, 5.64311, -3.02945, 0.579746, 0.8, 1, 5.76657, -3.12671, 0.588944, 0.833333, 1, 5.88893, -3.2333, 0.598059, 0.9, 1, 6.12808, -3.47484, 0.61599, 0.933333, 1, 6.2294, -3.54076, 0.621814, 0.966667, 1, 6.31189, -3.54053, 0.623027, 1, 1, 6.38641, -3.51633, 0.619653, 1.03333, 1, 6.45988, -3.50601, 0.616328, 1.06667, 1, 6.53256, -3.50595, 0.613037, 1.1, 1, 6.60353, -3.51105, 0.608941, 1.13333, 1, 6.67194, -3.51753, 0.603804, 1.2, 1, 6.80002, -3.53733, 0.591988, 1.23333, 1, 6.86176, -3.5591, 0.586086, 1.26667, 1, 6.91732, -3.56809, 0.581123, 1.3, 1, 6.96596, -3.56099, 0.577328, 1.33333, 1, 7.01106, -3.55144, 0.574328, 1.36667, 1, 7.05431, -3.55074, 0.571415, 1.4, 1, 7.09616, -3.55643, 0.568472, 1.43333, 1, 7.1358, -3.56527, 0.56532, 1.46667, 1, 7.17242, -3.57381, 0.562035, 1.5, 1, 7.20515, -3.57838, 0.558944, 1.53333, 1, 7.2332, -3.57965, 0.556455, 1.56667, 1, 7.25791, -3.57965, 0.554203, 1.6, 1, 7.27963, -3.57944, 0.552161, 1.63333, 1, 7.29855, -3.57943, 0.550331, 1.66667, 1, 7.31469, -3.57944, 0.548736, 1.7, 1, 7.32722, -3.57943, 0.547451, 1.73333, 1, 7.33704, -3.57938, 0.546477, 1.76667, 1, 7.34427, -3.57931, 0.545864, 1.8, 1, 7.34908, -3.57925, 0.545606, 1.83333, 1, 7.35168, -3.57917, 0.545642, 3.79167, 1, 7.35226, -3.57915, 0.545726) +tracks/1/type = "rotation_3d" +tracks/1/imported = true +tracks/1/enabled = true +tracks/1/path = NodePath("Cube_cell_036") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = PackedFloat32Array(0, 1, -0.14538, 0.659332, -0.0898637, 0.732168, 0.0333333, 1, -0.0334735, 0.906019, -0.107782, -0.407911, 0.0666667, 1, 0.0300783, -0.743505, 0.0474022, 0.66637, 0.133333, 1, 0.141956, -0.740768, -0.0497955, 0.6547, 0.2, 1, 0.252058, -0.721638, -0.142684, 0.628766, 0.266667, 1, 0.357925, -0.686942, -0.229346, 0.589407, 0.366667, 1, 0.503785, -0.608216, -0.34425, 0.507707, 0.466667, 1, 0.628292, -0.501836, -0.436863, 0.403188, 0.566667, 1, 0.726116, -0.373524, -0.503929, 0.281587, 0.666667, 1, 0.793413, -0.229536, -0.543661, 0.149139, 0.766667, 1, 0.828199, -0.0765259, -0.555044, 0.0125174, 0.8, 1, -0.83238, 0.0246407, 0.552679, 0.0328917, 0.866667, 1, -0.82979, -0.0789684, 0.538813, 0.122041, 0.9, 1, -0.826584, -0.128082, 0.529644, 0.140822, 0.933333, 1, -0.854682, -0.0349738, 0.514507, 0.0598199, 0.966667, 1, 0.861653, -0.182277, -0.466212, 0.0835268, 1.03333, 1, 0.781164, -0.492444, -0.347053, 0.163815, 1.06667, 1, 0.702045, -0.62986, -0.276296, 0.184582, 1.1, 1, 0.61392, -0.73907, -0.191254, 0.200748, 1.13333, 1, 0.513755, -0.825356, -0.102382, 0.21062, 1.16667, 1, 0.372878, -0.905142, -0.0354345, 0.201059, 1.2, 1, 0.205501, -0.961631, 0.0213224, 0.1805, 1.23333, 1, 0.0151824, -0.986123, 0.0634351, 0.152663, 1.26667, 1, -0.122046, -0.98206, 0.064634, 0.128397, 1.3, 1, -0.185095, -0.975815, 0.0329289, 0.111537, 1.33333, 1, -0.20644, -0.974039, 0.00693456, 0.0926464, 1.36667, 1, -0.217509, -0.973836, 0.0025204, 0.0657838, 1.4, 1, -0.22153, -0.9745, 0.0151536, 0.0323249, 1.43333, 1, -0.200051, -0.979167, 0.0346736, -0.00313294, 1.46667, 1, 0.157845, 0.985577, -0.0495739, 0.0355582, 1.5, 1, 0.123575, 0.989424, -0.0471632, 0.0595488, 1.53333, 1, 0.130603, 0.987025, -0.0450702, 0.0818121, 1.56667, 1, 0.132495, 0.984905, -0.042161, 0.103099, 1.6, 1, 0.132808, 0.982619, -0.039105, 0.123663, 1.63333, 1, 0.133565, 0.979926, -0.0361543, 0.143519, 1.66667, 1, 0.135267, 0.97684, -0.0331464, 0.162441, 1.7, 1, 0.135321, 0.973719, -0.0308107, 0.180585, 1.73333, 1, 0.135615, 0.970419, -0.0289237, 0.197635, 1.76667, 1, 0.136151, 0.967327, -0.0270713, 0.212151, 1.8, 1, 0.136774, 0.964812, -0.0253278, 0.223136, 1.83333, 1, 0.137165, 0.963165, -0.0242547, 0.230022, 1.86667, 1, 0.137077, 0.962823, -0.024078, 0.231523, 3.79167, 1, 0.137172, 0.962724, -0.0239865, 0.231885) +tracks/2/type = "scale_3d" +tracks/2/imported = true +tracks/2/enabled = true +tracks/2/path = NodePath("Cube_cell_036") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = PackedFloat32Array(0, 1, -0.171464, -0.00312708, -0.209615, 0.0333333, 1, 0.691899, 0.725567, 0.684269, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) +tracks/3/type = "position_3d" +tracks/3/imported = true +tracks/3/enabled = true +tracks/3/path = NodePath("Cube_cell_026_cell") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = PackedFloat32Array(0, 1, 1.77564, -3.48865, 0.617611, 0.0333333, 1, 1.72202, -3.3242, 0.813539, 0.0666667, 1, 1.66541, -3.02973, 1.05969, 0.133333, 1, 1.55237, -2.34729, 1.58694, 0.166667, 1, 1.49667, -2.01907, 1.84864, 0.2, 1, 1.44146, -1.70734, 2.10803, 0.233333, 1, 1.38659, -1.4077, 2.36582, 0.266667, 1, 1.33205, -1.12001, 2.6221, 0.3, 1, 1.27781, -0.844157, 2.87692, 0.333333, 1, 1.22387, -0.580012, 3.13035, 0.366667, 1, 1.17031, -0.331284, 3.38203, 0.4, 1, 1.11701, -0.0939902, 3.63244, 0.433333, 1, 1.06398, 0.131946, 3.88162, 0.466667, 1, 1.0112, 0.346597, 4.12961, 0.5, 1, 0.958664, 0.550033, 4.37644, 0.533333, 1, 0.906452, 0.738638, 4.62175, 0.566667, 1, 0.854475, 0.916206, 4.86597, 0.6, 1, 0.802726, 1.08279, 5.10911, 0.633333, 1, 0.751205, 1.23845, 5.35118, 0.666667, 1, 0.699905, 1.38322, 5.59221, 0.7, 1, 0.648897, 1.51359, 5.83187, 0.733333, 1, 0.598102, 1.63321, 6.07053, 0.766667, 1, 0.54752, 1.74214, 6.30819, 0.8, 1, 0.497146, 1.84042, 6.54487, 0.833333, 1, 0.44698, 1.92808, 6.78058, 0.866667, 1, 0.397086, 2.00168, 7.015, 0.9, 1, 0.347395, 2.06479, 7.24848, 0.933333, 1, 0.297904, 2.11744, 7.48101, 0.966667, 1, 0.248612, 2.15967, 7.71261, 1, 1, 0.199518, 2.19153, 7.94327, 1.23333, 1, -0.138106, 2.09723, 9.5296, 1.3, 1, -0.232745, 1.9747, 9.97426, 1.33333, 1, -0.279777, 1.89851, 10.1952, 1.36667, 1, -0.326552, 1.80914, 10.415, 1.4, 1, -0.373134, 1.70995, 10.6339, 1.43333, 1, -0.419523, 1.60097, 10.8518, 1.46667, 1, -0.465718, 1.48224, 11.0689, 1.5, 1, -0.511719, 1.35381, 11.285, 1.53333, 1, -0.557457, 1.21252, 11.4999, 1.56667, 1, -0.602997, 1.06166, 11.7139, 1.6, 1, -0.648337, 0.901254, 11.9269, 1.63333, 1, -0.693476, 0.731364, 12.139, 1.66667, 1, -0.738412, 0.552033, 12.3501, 1.7, 1, -0.783073, 0.360212, 12.56, 1.73333, 1, -0.827524, 0.159105, 12.7688, 1.76667, 1, -0.871762, -0.0512313, 12.9767, 1.8, 1, -0.915783, -0.270736, 13.1835, 1.83333, 1, -0.959584, -0.499349, 13.3893, 1.86667, 1, -1.00308, -0.739963, 13.5937, 1.9, 1, -1.04635, -0.989465, 13.797, 1.93333, 1, -1.08937, -1.24777, 13.9991, 1.96667, 1, -1.13214, -1.51477, 14.2001, 2, 1, -1.17466, -1.79037, 14.3998, 2.03333, 1, -1.21682, -2.0772, 14.5979, 2.06667, 1, -1.25868, -2.37222, 14.7946, 2.1, 1, -1.30024, -2.67523, 14.9899, 2.13333, 1, -1.34146, -2.986, 15.1835, 2.16667, 1, -1.38232, -3.30425, 15.3755, 2.2, 1, -1.41488, -3.47644, 15.5274, 2.23333, 1, -1.43697, -3.51746, 15.6455, 2.26667, 1, -1.4542, -3.51478, 15.7506, 2.3, 1, -1.46941, -3.50975, 15.852, 2.33333, 1, -1.48269, -3.49753, 15.9485, 2.36667, 1, -1.4954, -3.49549, 16.0427, 2.43333, 1, -1.51948, -3.51495, 16.2269, 2.46667, 1, -1.53049, -3.53094, 16.3155, 2.5, 1, -1.54001, -3.53789, 16.3988, 2.53333, 1, -1.5487, -3.53639, 16.4755, 2.56667, 1, -1.55702, -3.53511, 16.549, 2.6, 1, -1.56481, -3.53453, 16.6194, 2.63333, 1, -1.57196, -3.53476, 16.6867, 2.66667, 1, -1.57847, -3.53559, 16.7511, 2.7, 1, -1.58481, -3.53516, 16.811, 2.73333, 1, -1.59067, -3.53364, 16.8676, 2.76667, 1, -1.5958, -3.53234, 16.9213, 2.8, 1, -1.60006, -3.53186, 16.9721, 2.83333, 1, -1.60349, -3.53212, 17.0202, 2.86667, 1, -1.60589, -3.53352, 17.0647, 2.9, 1, -1.60801, -3.5351, 17.1063, 2.93333, 1, -1.6101, -3.53726, 17.145, 2.96667, 1, -1.612, -3.53908, 17.1808, 3, 1, -1.61313, -3.53837, 17.2133, 3.03333, 1, -1.61225, -3.53967, 17.2433, 3.06667, 1, -1.61153, -3.53979, 17.2703, 3.1, 1, -1.61122, -3.53988, 17.2947, 3.13333, 1, -1.61113, -3.54026, 17.3168, 3.16667, 1, -1.61068, -3.5404, 17.3373, 3.2, 1, -1.61052, -3.54049, 17.3553, 3.23333, 1, -1.61062, -3.5405, 17.3715, 3.26667, 1, -1.61081, -3.54049, 17.3858, 3.3, 1, -1.61098, -3.54051, 17.3984, 3.33333, 1, -1.61114, -3.54059, 17.409, 3.36667, 1, -1.61086, -3.54052, 17.417, 3.4, 1, -1.61017, -3.54049, 17.4235, 3.43333, 1, -1.60891, -3.54049, 17.4284, 3.46667, 1, -1.60695, -3.54049, 17.4317, 3.5, 1, -1.60419, -3.54051, 17.4338, 3.53333, 1, -1.60016, -3.54048, 17.4345, 3.6, 1, -1.59091, -3.54046, 17.4361, 3.63333, 1, -1.58666, -3.54046, 17.4373, 3.66667, 1, -1.58273, -3.54046, 17.439, 3.7, 1, -1.57934, -3.54046, 17.4409, 3.73333, 1, -1.5763, -3.54046, 17.4429, 3.76667, 1, -1.57361, -3.54047, 17.4451, 3.79167, 1, -1.57176, -3.54047, 17.4467) +tracks/4/type = "rotation_3d" +tracks/4/imported = true +tracks/4/enabled = true +tracks/4/path = NodePath("Cube_cell_026_cell") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = PackedFloat32Array(0, 1, -0.333142, 0.115554, -0.084272, 0.931967, 0.0333333, 1, -0.333142, 0.115554, -0.0842719, 0.931967, 0.0666667, 1, -0.334102, -0.00675165, -0.111396, 0.935907, 0.1, 1, -0.319415, -0.17832, -0.143391, 0.919574, 0.133333, 1, -0.283755, -0.352768, -0.166382, 0.875988, 0.2, 1, -0.163425, -0.658771, -0.162628, 0.716146, 0.266667, 1, -0.0205427, -0.875635, -0.0868279, 0.47466, 0.333333, 1, 0.100306, -0.97818, 0.0406523, 0.177344, 0.366667, 1, 0.13757, -0.983735, 0.114154, 0.0175919, 0.4, 1, -0.158566, 0.959236, -0.18442, 0.143917, 0.466667, 1, -0.152766, 0.826868, -0.295498, 0.453467, 0.533333, 1, -0.0949548, 0.603698, -0.336985, 0.716222, 0.6, 1, -0.0200602, 0.320423, -0.292264, 0.900838, 0.633333, 1, 0.013011, 0.166492, -0.241228, 0.955992, 0.666667, 1, 0.0385152, 0.0102513, -0.174692, 0.983816, 0.7, 1, 0.0499039, -0.143622, -0.0961355, 0.983687, 0.8, 1, 0.0109309, -0.558561, 0.144909, 0.816634, 0.933333, 1, -0.14787, -0.895258, 0.304103, 0.290118, 0.966667, 1, -0.181851, -0.927884, 0.298879, 0.128969, 1, 1, 0.206391, 0.937958, -0.276443, 0.034873, 1.1, 1, 0.188805, 0.837295, -0.133662, 0.495403, 1.16667, 1, 0.103998, 0.667342, -0.0197586, 0.737189, 1.23333, 1, -0.0258762, 0.432503, 0.0677699, 0.898709, 1.26667, 1, -0.0961783, 0.296731, 0.0959581, 0.945247, 1.3, 1, -0.16485, 0.152952, 0.112111, 0.967916, 1.33333, 1, -0.227987, 0.00459767, 0.115884, 0.966733, 1.36667, 1, -0.279635, -0.145204, 0.105609, 0.943169, 1.43333, 1, -0.339668, -0.433688, 0.0605873, 0.832388, 1.53333, 1, -0.301379, -0.786915, -0.0276758, 0.537746, 1.63333, 1, -0.132353, -0.977349, -0.0670264, 0.150926, 1.7, 1, 0.0105642, -0.991654, -0.0421774, -0.121372, 1.73333, 1, -0.0785345, 0.963949, 0.0141175, 0.25384, 1.8, 1, -0.191293, 0.842951, -0.0620698, 0.498986, 1.86667, 1, -0.254843, 0.646659, -0.149296, 0.703277, 1.93333, 1, -0.261022, 0.395529, -0.220984, 0.852403, 1.96667, 1, -0.244882, 0.25687, -0.244336, 0.902413, 2, 1, -0.217748, 0.113819, -0.256761, 0.934722, 2.03333, 1, -0.181313, -0.0298391, -0.254296, 0.94951, 2.06667, 1, -0.139978, -0.171416, -0.238615, 0.945561, 2.1, 1, -0.0963481, -0.307897, -0.210153, 0.922904, 2.16667, 1, -0.0124051, -0.554577, -0.119268, 0.823448, 2.2, 1, 0.0168145, -0.666434, -0.200066, 0.718022, 2.23333, 1, 0.0356033, -0.757825, -0.333478, 0.559666, 2.26667, 1, 0.0507759, -0.816193, -0.44686, 0.362721, 2.3, 1, 0.0780696, -0.845818, -0.502824, 0.160203, 2.33333, 1, -0.141357, 0.854974, 0.498769, 0.0163389, 2.4, 1, -0.248299, 0.818751, 0.386285, 0.344642, 2.43333, 1, -0.279998, 0.772007, 0.291145, 0.490755, 2.46667, 1, -0.297975, 0.705113, 0.184373, 0.616469, 2.5, 1, -0.312693, 0.619062, 0.0883906, 0.714963, 2.53333, 1, -0.317945, 0.518314, 0.0299837, 0.793324, 2.56667, 1, -0.311936, 0.409677, -0.012227, 0.857153, 2.6, 1, -0.302562, 0.295452, -0.0416492, 0.905224, 2.63333, 1, -0.294506, 0.177617, -0.0608142, 0.937027, 2.66667, 1, -0.289227, 0.0580786, -0.0712187, 0.952839, 2.7, 1, -0.273624, -0.060312, -0.0912661, 0.955596, 2.73333, 1, -0.250249, -0.176527, -0.116858, 0.944753, 2.8, 1, -0.204255, -0.397901, -0.165818, 0.878897, 2.83333, 1, -0.185015, -0.50074, -0.189508, 0.824085, 2.86667, 1, -0.168641, -0.596639, -0.218225, 0.753631, 2.9, 1, -0.14134, -0.682147, -0.252752, 0.671428, 2.93333, 1, -0.103358, -0.754957, -0.292981, 0.577512, 2.96667, 1, -0.0559634, -0.813894, -0.330499, 0.474569, 3, 1, -0.00164395, -0.861054, -0.349589, 0.369283, 3.03333, 1, 0.0368553, -0.903284, -0.337493, 0.262333, 3.06667, 1, 0.0685934, -0.929695, -0.328557, 0.151695, 3.1, 1, 0.103919, -0.940546, -0.320552, 0.0426749, 3.13333, 1, -0.143139, 0.937788, 0.310177, 0.0620923, 3.16667, 1, -0.176562, 0.925402, 0.29326, 0.162654, 3.2, 1, -0.206749, 0.903681, 0.273849, 0.256166, 3.23333, 1, -0.232997, 0.874056, 0.252307, 0.343626, 3.26667, 1, -0.255707, 0.83792, 0.228814, 0.424439, 3.3, 1, -0.275107, 0.796411, 0.204255, 0.498322, 3.33333, 1, -0.291239, 0.750427, 0.180221, 0.565296, 3.36667, 1, -0.305874, 0.701941, 0.156579, 0.623862, 3.4, 1, -0.317207, 0.651657, 0.132626, 0.676117, 3.43333, 1, -0.326072, 0.600194, 0.108886, 0.722211, 3.46667, 1, -0.332908, 0.548241, 0.0856618, 0.762408, 3.5, 1, -0.337761, 0.496576, 0.0630385, 0.797092, 3.53333, 1, -0.341064, 0.446753, 0.0427116, 0.825992, 3.56667, 1, -0.342797, 0.398564, 0.0229449, 0.850359, 3.6, 1, -0.343515, 0.351661, 0.0042075, 0.870812, 3.63333, 1, -0.343385, 0.306112, -0.0134325, 0.887807, 3.66667, 1, -0.342221, 0.262456, -0.0303013, 0.901711, 3.7, 1, -0.340547, 0.221455, -0.0456566, 0.912634, 3.73333, 1, -0.338343, 0.182546, -0.0600139, 0.921194, 3.76667, 1, -0.335704, 0.145924, -0.073405, 0.927696, 3.79167, 1, -0.333471, 0.119629, -0.0829577, 0.931452) +tracks/5/type = "scale_3d" +tracks/5/imported = true +tracks/5/enabled = true +tracks/5/path = NodePath("Cube_cell_026_cell") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = PackedFloat32Array(0, 1, 0.19083, 0.0379784, 0.0878208, 0.0333333, 1, 0.764358, 0.733788, 0.743756, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) +tracks/6/type = "position_3d" +tracks/6/imported = true +tracks/6/enabled = true +tracks/6/path = NodePath("Cube_cell_012_cell_006") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = PackedFloat32Array(0, 1, 2.94116, -3.48725, 0.277391, 0.0333333, 1, 2.9867, -3.50453, 0.26992, 0.0666667, 1, 3.06706, -3.42457, 0.259002, 0.1, 1, 3.16377, -3.30777, 0.246651, 0.133333, 1, 3.2649, -3.19033, 0.234057, 0.166667, 1, 3.36505, -3.08421, 0.221584, 0.2, 1, 3.46401, -2.99293, 0.20926, 0.233333, 1, 3.56211, -2.91259, 0.197043, 0.266667, 1, 3.65938, -2.84311, 0.184928, 0.3, 1, 3.75585, -2.78439, 0.172914, 0.333333, 1, 3.85154, -2.73635, 0.160997, 0.366667, 1, 3.94621, -2.70237, 0.149207, 0.4, 1, 4.04014, -2.67884, 0.137508, 0.433333, 1, 4.13334, -2.66567, 0.125902, 0.5, 1, 4.31757, -2.67012, 0.102958, 0.533333, 1, 4.40837, -2.69095, 0.091649, 0.566667, 1, 4.49846, -2.72178, 0.0804288, 0.6, 1, 4.58785, -2.76255, 0.0692972, 0.633333, 1, 4.67651, -2.81318, 0.0582546, 0.666667, 1, 4.76446, -2.87359, 0.0473014, 0.7, 1, 4.85144, -2.9469, 0.036469, 0.733333, 1, 4.93768, -3.02974, 0.0257291, 0.766667, 1, 5.02316, -3.12202, 0.0150835, 0.8, 1, 5.10786, -3.22365, 0.00453427, 0.833333, 1, 5.19177, -3.33451, -0.00591607, 0.866667, 1, 5.27457, -3.45745, -0.0162279, 0.9, 1, 5.34349, -3.53659, -0.026011, 0.933333, 1, 5.39747, -3.56727, -0.0358505, 0.966667, 1, 5.44027, -3.56467, -0.0457776, 1, 1, 5.48051, -3.56374, -0.0552691, 1.03333, 1, 5.51469, -3.55431, -0.0643073, 1.06667, 1, 5.54675, -3.54809, -0.0731507, 1.1, 1, 5.57688, -3.54569, -0.0816994, 1.13333, 1, 5.60479, -3.54589, -0.0898309, 1.16667, 1, 5.62972, -3.54568, -0.0974003, 1.2, 1, 5.65104, -3.54626, -0.104331, 1.23333, 1, 5.6697, -3.54713, -0.110742, 1.26667, 1, 5.68571, -3.54819, -0.11662, 1.3, 1, 5.69909, -3.54941, -0.121963, 1.33333, 1, 5.70988, -3.55083, -0.12678, 1.36667, 1, 5.71728, -3.55272, -0.130963, 1.4, 1, 5.72224, -3.55519, -0.13477, 1.43333, 1, 5.72482, -3.55846, -0.138305, 1.46667, 1, 5.72501, -3.5611, -0.141271, 1.5, 1, 5.72266, -3.56002, -0.142977, 1.53333, 1, 5.7222, -3.56048, -0.143085, 1.56667, 1, 5.72322, -3.56111, -0.142781, 3.79167, 1, 5.72316, -3.56185, -0.142704) +tracks/7/type = "rotation_3d" +tracks/7/imported = true +tracks/7/enabled = true +tracks/7/path = NodePath("Cube_cell_012_cell_006") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = PackedFloat32Array(0, 1, 0.0296721, 0.987512, -0.118532, 0.0994433, 0.0333333, 1, 0.138151, 0.410145, 0.00917614, -0.90145, 0.0666667, 1, -0.147076, -0.124843, -0.0619276, 0.979259, 0.2, 1, -0.202316, -0.183685, -0.137384, 0.952079, 0.333333, 1, -0.251239, -0.236063, -0.214393, 0.913887, 0.5, 1, -0.302463, -0.29225, -0.31074, 0.852377, 0.666667, 1, -0.341966, -0.338192, -0.404839, 0.777683, 0.833333, 1, -0.369394, -0.374097, -0.494527, 0.692129, 0.866667, 1, -0.373398, -0.380086, -0.511779, 0.673936, 0.9, 1, -0.344268, -0.46733, -0.451239, 0.677839, 0.933333, 1, -0.238308, -0.570886, -0.32062, 0.717288, 0.966667, 1, -0.0748616, -0.63824, -0.135414, 0.754128, 1, 1, 0.0493847, -0.665849, 0.0617971, 0.741881, 1.03333, 1, 0.112771, -0.662121, 0.197733, 0.713989, 1.06667, 1, 0.177809, -0.645013, 0.301233, 0.679412, 1.1, 1, 0.241882, -0.621561, 0.380598, 0.640547, 1.13333, 1, 0.296194, -0.596, 0.44306, 0.600626, 1.16667, 1, 0.326382, -0.572163, 0.49533, 0.566351, 1.2, 1, 0.347182, -0.552933, 0.534309, 0.536883, 1.23333, 1, 0.363185, -0.53561, 0.567046, 0.509585, 1.26667, 1, 0.375509, -0.5193, 0.595872, 0.484001, 1.33333, 1, 0.394258, -0.485811, 0.64806, 0.434243, 1.36667, 1, 0.403578, -0.465087, 0.674731, 0.406888, 1.4, 1, 0.413709, -0.439183, 0.703307, 0.375929, 1.43333, 1, 0.424938, -0.406407, 0.733976, 0.339912, 1.46667, 1, 0.434792, -0.374429, 0.759853, 0.305586, 1.5, 1, 0.4396, -0.361623, 0.769716, 0.288994, 1.53333, 1, 0.436519, -0.365369, 0.76837, 0.292515, 1.56667, 1, 0.431279, -0.374018, 0.763834, 0.301109, 1.6, 1, 0.428868, -0.377645, 0.761871, 0.304972, 1.63333, 1, 0.429822, -0.375349, 0.763261, 0.302983, 3.79167, 1, 0.430083, -0.374893, 0.763481, 0.302622) +tracks/8/type = "scale_3d" +tracks/8/imported = true +tracks/8/enabled = true +tracks/8/path = NodePath("Cube_cell_012_cell_006") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = PackedFloat32Array(0, 1, -0.212846, -0.000941459, -0.189707, 0.0333333, 1, 0.683623, 0.726004, 0.688251, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.907741, 0.907741, 0.90774) +tracks/9/type = "position_3d" +tracks/9/imported = true +tracks/9/enabled = true +tracks/9/path = NodePath("Cube_cell_005_cell_001") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = PackedFloat32Array(0, 1, 1.71506, -3.48988, -0.219024, 0.0333333, 1, 1.67452, -3.38904, -0.326711, 0.0666667, 1, 1.61686, -3.19575, -0.497872, 0.133333, 1, 1.5088, -2.74409, -0.882286, 0.166667, 1, 1.4587, -2.53122, -1.07245, 0.2, 1, 1.40911, -2.33406, -1.2607, 0.233333, 1, 1.35986, -2.14846, -1.44762, 0.266667, 1, 1.31096, -1.97432, -1.63326, 0.3, 1, 1.26237, -1.81153, -1.81768, 0.333333, 1, 1.2141, -1.65998, -2.00091, 0.366667, 1, 1.16623, -1.52326, -2.18264, 0.4, 1, 1.11864, -1.39753, -2.36328, 0.433333, 1, 1.07133, -1.28274, -2.54285, 0.466667, 1, 1.02429, -1.1788, -2.72139, 0.5, 1, 0.977526, -1.08566, -2.89891, 0.533333, 1, 0.931108, -1.0068, -3.0751, 0.566667, 1, 0.884946, -0.938558, -3.25033, 0.6, 1, 0.839037, -0.880881, -3.42459, 0.633333, 1, 0.793377, -0.833715, -3.59791, 0.666667, 1, 0.747963, -0.797009, -3.77029, 0.7, 1, 0.702875, -0.774144, -3.94144, 0.9, 1, 0.437516, -0.858331, -4.9487, 0.933333, 1, 0.39417, -0.909839, -5.11323, 0.966667, 1, 0.351061, -0.971263, -5.27687, 1, 1, 0.308188, -1.04255, -5.4396, 1.03333, 1, 0.265634, -1.12689, -5.60113, 1.06667, 1, 0.22332, -1.22094, -5.76175, 1.1, 1, 0.181249, -1.32463, -5.92144, 1.13333, 1, 0.139422, -1.43792, -6.08021, 1.16667, 1, 0.0978432, -1.56074, -6.23804, 1.2, 1, 0.0566006, -1.69613, -6.39459, 1.23333, 1, 0.0156166, -1.84086, -6.55016, 1.26667, 1, -0.0251039, -1.99484, -6.70472, 1.3, 1, -0.0655549, -2.15799, -6.85827, 1.33333, 1, -0.10573, -2.33023, -7.01077, 1.36667, 1, -0.145521, -2.51438, -7.16181, 1.4, 1, -0.185007, -2.7073, -7.31169, 1.43333, 1, -0.224175, -2.90884, -7.46037, 1.46667, 1, -0.263009, -3.11884, -7.60777, 1.5, 1, -0.301487, -3.33711, -7.75383, 1.53333, 1, -0.329799, -3.46498, -7.87488, 1.56667, 1, -0.34619, -3.50856, -7.97493, 1.6, 1, -0.357675, -3.52412, -8.06593, 1.63333, 1, -0.36702, -3.53146, -8.1519, 1.66667, 1, -0.372747, -3.51394, -8.22895, 1.7, 1, -0.378039, -3.50623, -8.30398, 1.73333, 1, -0.382626, -3.50173, -8.37658, 1.76667, 1, -0.386565, -3.50065, -8.44679, 1.8, 1, -0.389887, -3.50006, -8.51392, 1.83333, 1, -0.392598, -3.4939, -8.57645, 1.86667, 1, -0.395257, -3.48545, -8.63419, 1.9, 1, -0.398721, -3.47858, -8.68923, 1.93333, 1, -0.402637, -3.47632, -8.74233, 2, 1, -0.411178, -3.49072, -8.84405, 2.03333, 1, -0.415862, -3.50811, -8.8919, 2.06667, 1, -0.420198, -3.51396, -8.93379, 2.1, 1, -0.424006, -3.51397, -8.97119, 2.13333, 1, -0.427284, -3.51295, -9.00535, 2.16667, 1, -0.430206, -3.51484, -9.03736, 2.2, 1, -0.432784, -3.51539, -9.0649, 2.23333, 1, -0.435447, -3.51447, -9.08885, 2.26667, 1, -0.438081, -3.51625, -9.1105, 2.3, 1, -0.440436, -3.51972, -9.1297, 2.33333, 1, -0.44212, -3.51869, -9.14488, 2.36667, 1, -0.44368, -3.51823, -9.15634, 2.4, 1, -0.445345, -3.51884, -9.16532, 2.43333, 1, -0.446409, -3.51955, -9.17197, 2.46667, 1, -0.446869, -3.51989, -9.17637, 2.5, 1, -0.447428, -3.51994, -9.17851, 3.79167, 1, -0.447331, -3.51994, -9.17886) +tracks/10/type = "rotation_3d" +tracks/10/imported = true +tracks/10/enabled = true +tracks/10/path = NodePath("Cube_cell_005_cell_001") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = PackedFloat32Array(0, 1, 0.0717273, 0.266614, 0.908617, 0.313348, 0.0333333, 1, -0.0425531, 0.321406, 0.857639, 0.399177, 0.0666667, 1, -0.176891, 0.394751, 0.775152, 0.460458, 0.1, 1, -0.293887, 0.471231, 0.674948, 0.485815, 0.166667, 1, -0.463086, 0.605395, 0.45156, 0.463834, 0.233333, 1, -0.578783, 0.691499, 0.189407, 0.388541, 0.3, 1, -0.630416, 0.721282, -0.0881937, 0.273039, 0.366667, 1, -0.612141, 0.693561, -0.356031, 0.132285, 0.433333, 1, -0.526531, 0.610913, -0.591013, -0.0159284, 0.466667, 1, 0.46157, -0.550785, 0.689865, 0.087616, 0.533333, 1, 0.29556, -0.399573, 0.840571, 0.215465, 0.6, 1, 0.0973105, -0.216954, 0.919956, 0.311677, 0.666667, 1, -0.112207, -0.0169737, 0.922875, 0.367999, 0.733333, 1, -0.31138, 0.18536, 0.85193, 0.378021, 0.8, 1, -0.480362, 0.374915, 0.714037, 0.344736, 0.866667, 1, -0.602517, 0.538097, 0.522495, 0.272808, 0.933333, 1, -0.666248, 0.663455, 0.293834, 0.172051, 1, 1, -0.66684, 0.741744, 0.046391, 0.054664, 1.03333, 1, -0.642702, 0.762118, -0.0779299, -0.00608223, 1.06667, 1, 0.603543, -0.76908, 0.199764, 0.0659202, 1.13333, 1, 0.484432, -0.742782, 0.426963, 0.176925, 1.2, 1, 0.320394, -0.665811, 0.618784, 0.266738, 1.26667, 1, 0.126902, -0.543827, 0.762605, 0.326467, 1.33333, 1, -0.0785205, -0.385204, 0.849595, 0.351626, 1.4, 1, -0.277951, -0.201468, 0.875961, 0.338889, 1.46667, 1, -0.454596, -0.00450602, 0.841497, 0.291898, 1.5, 1, -0.529872, 0.0947693, 0.80263, 0.256982, 1.53333, 1, -0.531509, 0.219033, 0.736694, 0.356097, 1.56667, 1, -0.553663, 0.358204, 0.646789, 0.383159, 1.6, 1, -0.573086, 0.494941, 0.540357, 0.366907, 1.63333, 1, -0.580164, 0.609213, 0.427722, 0.33064, 1.66667, 1, -0.583624, 0.684026, 0.324403, 0.293689, 1.73333, 1, -0.576787, 0.785995, 0.105071, 0.196185, 1.76667, 1, -0.570822, 0.809168, -0.0102076, 0.138943, 1.8, 1, -0.564662, 0.812024, -0.118986, 0.0872673, 1.83333, 1, -0.566239, 0.796158, -0.204466, 0.0608299, 1.86667, 1, -0.580628, 0.768381, -0.261101, 0.0654859, 1.9, 1, -0.590288, 0.746157, -0.296231, 0.0840057, 1.96667, 1, -0.599603, 0.715777, -0.326456, 0.146856, 2, 1, -0.600434, 0.705329, -0.325908, 0.189139, 2.03333, 1, -0.59427, 0.701727, -0.309918, 0.241605, 2.06667, 1, -0.576409, 0.707073, -0.295937, 0.283235, 2.1, 1, -0.560355, 0.7092, -0.291215, 0.313419, 2.13333, 1, -0.553185, 0.702666, -0.298055, 0.333782, 2.16667, 1, -0.554786, 0.687794, -0.313434, 0.347722, 2.2, 1, -0.561742, 0.66789, -0.34068, 0.349724, 2.23333, 1, -0.555359, 0.661097, -0.36324, 0.350121, 2.26667, 1, -0.53922, 0.663906, -0.37789, 0.354498, 2.3, 1, -0.522162, 0.667047, -0.384999, 0.366293, 2.33333, 1, -0.518597, 0.655882, -0.388728, 0.386998, 2.36667, 1, -0.517493, 0.643, -0.401042, 0.397388, 2.4, 1, -0.507775, 0.639452, -0.410233, 0.406171, 2.43333, 1, -0.497939, 0.637902, -0.419417, 0.411373, 2.46667, 1, -0.491909, 0.63488, -0.428008, 0.414443, 2.5, 1, -0.489027, 0.63077, -0.431714, 0.420245, 2.53333, 1, -0.487326, 0.629111, -0.433624, 0.422733, 2.56667, 1, -0.486871, 0.628602, -0.434206, 0.423416, 3.79167, 1, -0.486878, 0.628532, -0.43426, 0.423457) +tracks/11/type = "scale_3d" +tracks/11/imported = true +tracks/11/enabled = true +tracks/11/path = NodePath("Cube_cell_005_cell_001") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = PackedFloat32Array(0, 1, 0.0858004, 0.0684725, 0.1395, 0.0333333, 1, 0.743352, 0.739887, 0.754092, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) +tracks/12/type = "position_3d" +tracks/12/imported = true +tracks/12/enabled = true +tracks/12/path = NodePath("Cube_cell_cell") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = PackedFloat32Array(0, 1, 0.434769, -3.49682, 0.186093, 0.0333333, 1, 0.409204, -3.34669, 0.194641, 0.0666667, 1, 0.367882, -3.23762, 0.201377, 0.133333, 1, 0.267059, -3.04072, 0.212625, 0.166667, 1, 0.215891, -2.95356, 0.218025, 0.2, 1, 0.165317, -2.88098, 0.223363, 0.233333, 1, 0.115169, -2.81917, 0.228655, 0.266667, 1, 0.0654364, -2.76805, 0.233904, 0.3, 1, 0.0161103, -2.72753, 0.23911, 0.333333, 1, -0.0328167, -2.69755, 0.244273, 0.366667, 1, -0.0812236, -2.68144, 0.249382, 0.4, 1, -0.129247, -2.67563, 0.25445, 0.433333, 1, -0.176889, -2.68004, 0.259479, 0.466667, 1, -0.224154, -2.69461, 0.264467, 0.5, 1, -0.271041, -2.71926, 0.269415, 0.533333, 1, -0.317426, -2.7572, 0.274311, 0.566667, 1, -0.363432, -2.805, 0.279166, 0.6, 1, -0.409057, -2.86259, 0.283981, 0.633333, 1, -0.454296, -2.92987, 0.288756, 0.666667, 1, -0.499147, -3.00677, 0.293489, 0.7, 1, -0.542884, -3.09376, 0.298427, 0.733333, 1, -0.573967, -3.13798, 0.302825, 0.766667, 1, -0.598835, -3.16399, 0.305031, 0.8, 1, -0.621328, -3.18774, 0.304964, 0.833333, 1, -0.642689, -3.21662, 0.304109, 0.866667, 1, -0.662604, -3.25263, 0.302307, 0.9, 1, -0.680066, -3.28769, 0.299009, 0.933333, 1, -0.694568, -3.31955, 0.293982, 0.966667, 1, -0.706535, -3.35021, 0.287546, 1, 1, -0.717323, -3.38586, 0.28057, 1.03333, 1, -0.714096, -3.37703, 0.270006, 1.06667, 1, -0.709551, -3.37213, 0.260362, 1.1, 1, -0.703688, -3.37039, 0.251916, 1.13333, 1, -0.696605, -3.37131, 0.24491, 1.16667, 1, -0.688501, -3.37472, 0.239547, 1.2, 1, -0.679493, -3.38145, 0.236583, 1.23333, 1, -0.670082, -3.39083, 0.235436, 1.26667, 1, -0.660392, -3.40304, 0.236067, 1.3, 1, -0.650538, -3.41828, 0.238423, 1.33333, 1, -0.640615, -3.43676, 0.242439, 1.36667, 1, -0.631321, -3.45654, 0.249293, 1.4, 1, -0.623235, -3.47514, 0.258643, 1.43333, 1, -0.616133, -3.49688, 0.269256, 1.46667, 1, -0.609901, -3.51686, 0.280336, 1.5, 1, -0.604528, -3.52094, 0.291516, 1.53333, 1, -0.600271, -3.52502, 0.301636, 1.56667, 1, -0.596727, -3.52885, 0.30965, 1.6, 1, -0.59268, -3.5341, 0.315882, 1.63333, 1, -0.58851, -3.53991, 0.320838, 1.66667, 1, -0.586186, -3.54292, 0.325207, 1.7, 1, -0.587193, -3.53856, 0.327041, 1.73333, 1, -0.588862, -3.53838, 0.328065, 1.76667, 1, -0.59053, -3.54203, 0.329205, 1.8, 1, -0.591879, -3.54879, 0.330617, 1.83333, 1, -0.59293, -3.55758, 0.331684, 1.86667, 1, -0.592833, -3.55956, 0.33281, 1.93333, 1, -0.593213, -3.55921, 0.334149, 1.96667, 1, -0.593568, -3.56066, 0.334526, 2, 1, -0.59298, -3.5634, 0.335392, 3.79167, 1, -0.592601, -3.56393, 0.335403) +tracks/13/type = "rotation_3d" +tracks/13/imported = true +tracks/13/enabled = true +tracks/13/path = NodePath("Cube_cell_cell") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = PackedFloat32Array(0, 1, -0.167726, -0.0186818, 0.259071, 0.951, 0.166667, 1, -0.0788655, -0.0972052, 0.278651, 0.9522, 0.333333, 1, 0.0100184, -0.17342, 0.289584, 0.941258, 0.5, 1, 0.0979718, -0.245746, 0.292212, 0.919034, 0.666667, 1, 0.184112, -0.31281, 0.287071, 0.886478, 0.7, 1, 0.199124, -0.324192, 0.285172, 0.879731, 0.733333, 1, 0.179777, -0.314739, 0.281429, 0.888491, 0.766667, 1, 0.146843, -0.298702, 0.272469, 0.90276, 0.8, 1, 0.111422, -0.282958, 0.257895, 0.917066, 0.833333, 1, 0.074876, -0.26693, 0.240229, 0.930286, 0.866667, 1, 0.0364487, -0.250454, 0.218405, 0.942467, 0.9, 1, -0.00466251, -0.233043, 0.191949, 0.953323, 0.933333, 1, -0.0482911, -0.21471, 0.160798, 0.962139, 0.966667, 1, -0.0937718, -0.195643, 0.12556, 0.968073, 1, 1, -0.13996, -0.176254, 0.0875475, 0.970403, 1.03333, 1, -0.153895, -0.172805, 0.0527408, 0.971429, 1.06667, 1, -0.164486, -0.170986, 0.0183004, 0.971274, 1.1, 1, -0.171543, -0.170592, -0.0159166, 0.970164, 1.16667, 1, -0.174914, -0.172672, -0.0845595, 0.965629, 1.2, 1, -0.170308, -0.174039, -0.11993, 0.962456, 1.23333, 1, -0.162301, -0.174688, -0.156317, 0.958492, 1.26667, 1, -0.150892, -0.174215, -0.193855, 0.953573, 1.3, 1, -0.136071, -0.172224, -0.232621, 0.947476, 1.33333, 1, -0.117829, -0.16833, -0.272633, 0.939922, 1.36667, 1, -0.0926135, -0.160261, -0.313077, 0.931516, 1.4, 1, -0.0596278, -0.147972, -0.349762, 0.923155, 1.43333, 1, -0.0216869, -0.13209, -0.38326, 0.913889, 1.46667, 1, 0.0160491, -0.115413, -0.404694, 0.906998, 1.5, 1, 0.046129, -0.103035, -0.396303, 0.911153, 1.53333, 1, 0.0653116, -0.098988, -0.376122, 0.918949, 1.56667, 1, 0.0711944, -0.10401, -0.353639, 0.926851, 1.6, 1, 0.0664646, -0.115137, -0.333146, 0.933456, 1.63333, 1, 0.0542167, -0.13013, -0.318975, 0.93722, 1.66667, 1, 0.0379591, -0.147492, -0.315544, 0.936609, 1.7, 1, 0.0332708, -0.155879, -0.320974, 0.933579, 1.73333, 1, 0.0328392, -0.161571, -0.328419, 0.930031, 1.76667, 1, 0.0368157, -0.164924, -0.337771, 0.925935, 1.8, 1, 0.0458553, -0.165598, -0.347902, 0.92165, 1.83333, 1, 0.0611155, -0.162558, -0.356666, 0.917949, 1.86667, 1, 0.0672802, -0.162251, -0.348478, 0.920712, 1.9, 1, 0.0652287, -0.16546, -0.344089, 0.921939, 1.93333, 1, 0.0635635, -0.168016, -0.343292, 0.92189, 1.96667, 1, 0.065546, -0.168376, -0.345678, 0.920793, 2, 1, 0.0690935, -0.167617, -0.350621, 0.918801, 3.79167, 1, 0.0687939, -0.167509, -0.350193, 0.919007) +tracks/14/type = "scale_3d" +tracks/14/imported = true +tracks/14/enabled = true +tracks/14/path = NodePath("Cube_cell_cell") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/keys = PackedFloat32Array(0, 1, 0.12107, 0.0137085, 0.174828, 0.0333333, 1, 0.750406, 0.382166, 0.761158, 0.0666667, 1, 0.90774, 0.47428, 0.90774, 3.79167, 1, 0.90774, 0.47428, 0.90774) +tracks/15/type = "position_3d" +tracks/15/imported = true +tracks/15/enabled = true +tracks/15/path = NodePath("Cube_cell_cell_005") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/keys = PackedFloat32Array(0, 1, 2.2522, -3.4861, 0.994269, 0.0333333, 1, 2.29023, -3.51852, 1.0552, 0.0666667, 1, 2.35863, -3.43054, 1.16449, 0.1, 1, 2.44093, -3.29684, 1.29583, 0.133333, 1, 2.52674, -3.16136, 1.43266, 0.166667, 1, 2.61173, -3.03737, 1.56819, 0.2, 1, 2.69572, -2.9284, 1.70211, 0.233333, 1, 2.779, -2.83052, 1.8349, 0.266667, 1, 2.86159, -2.74362, 1.9666, 0.3, 1, 2.94352, -2.66761, 2.09725, 0.333333, 1, 3.0248, -2.6024, 2.22686, 0.366667, 1, 3.10526, -2.55141, 2.35515, 0.4, 1, 3.18511, -2.51099, 2.48248, 0.433333, 1, 3.26436, -2.48104, 2.60886, 0.466667, 1, 3.34303, -2.46151, 2.7343, 0.5, 1, 3.42112, -2.45232, 2.85882, 0.633333, 1, 3.72701, -2.53077, 3.3466, 0.666667, 1, 3.80207, -2.5754, 3.46629, 0.7, 1, 3.87637, -2.63313, 3.58477, 0.733333, 1, 3.9501, -2.70059, 3.70233, 0.766667, 1, 4.02325, -2.77769, 3.81897, 0.8, 1, 4.09581, -2.86436, 3.93467, 0.833333, 1, 4.16776, -2.96051, 4.04941, 0.866667, 1, 4.2389, -3.06912, 4.16285, 0.9, 1, 4.3094, -3.18691, 4.27526, 0.933333, 1, 4.37923, -3.31376, 4.38661, 0.966667, 1, 4.44837, -3.44953, 4.49686, 1, 1, 4.5168, -3.59408, 4.60597, 1.03333, 1, 4.5576, -3.58863, 4.68549, 1.06667, 1, 4.59415, -3.5709, 4.76049, 1.1, 1, 4.62904, -3.556, 4.83345, 1.13333, 1, 4.66341, -3.55014, 4.90535, 1.16667, 1, 4.69702, -3.55066, 4.97561, 1.2, 1, 4.72912, -3.55522, 5.04274, 1.23333, 1, 4.76025, -3.56459, 5.108, 1.26667, 1, 4.79034, -3.57194, 5.16971, 1.3, 1, 4.8194, -3.57658, 5.22772, 1.33333, 1, 4.84757, -3.58392, 5.28339, 1.36667, 1, 4.87435, -3.59103, 5.33509, 1.4, 1, 4.89972, -3.58954, 5.38178, 1.43333, 1, 4.92393, -3.58704, 5.42536, 1.46667, 1, 4.94704, -3.58674, 5.46668, 1.5, 1, 4.96892, -3.58744, 5.50548, 1.53333, 1, 4.98916, -3.59004, 5.54116, 1.56667, 1, 5.00786, -3.59231, 5.57422, 1.6, 1, 5.02487, -3.59343, 5.60456, 1.63333, 1, 5.04029, -3.59357, 5.63219, 1.66667, 1, 5.05449, -3.5939, 5.65728, 1.7, 1, 5.06673, -3.59393, 5.67891, 1.73333, 1, 5.07762, -3.59385, 5.698, 1.76667, 1, 5.08715, -3.59378, 5.71457, 1.8, 1, 5.09534, -3.59377, 5.72867, 1.83333, 1, 5.10225, -3.59374, 5.74041, 1.86667, 1, 5.10736, -3.59361, 5.74893, 1.9, 1, 5.11104, -3.59356, 5.75524, 1.93333, 1, 5.11342, -3.59351, 5.75946, 1.96667, 1, 5.1147, -3.59347, 5.76179, 3.79167, 1, 5.1152, -3.59344, 5.76258) +tracks/16/type = "rotation_3d" +tracks/16/imported = true +tracks/16/enabled = true +tracks/16/path = NodePath("Cube_cell_cell_005") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/keys = PackedFloat32Array(0, 1, -0.195401, -0.0790228, 0.970916, 0.113561, 0.0333333, 1, -0.983778, 0.083582, 0.114192, 0.110248, 0.0666667, 1, -0.970916, 0.113559, -0.195401, 0.0790233, 1, 1, -0.970919, 0.113531, -0.195399, 0.0790298, 1.03333, 1, -0.947099, 0.146715, -0.28343, 0.033842, 1.06667, 1, -0.910399, 0.139346, -0.383901, -0.0661611, 1.1, 1, 0.850407, -0.11753, 0.47901, 0.183151, 1.13333, 1, 0.769893, -0.106213, 0.558165, 0.290577, 1.2, 1, 0.592488, -0.224242, 0.650906, 0.418323, 1.23333, 1, 0.504783, -0.354185, 0.653379, 0.439138, 1.26667, 1, 0.398367, -0.482915, 0.635098, 0.45249, 1.3, 1, 0.274039, -0.596436, 0.595286, 0.463466, 1.33333, 1, 0.147903, -0.700394, 0.520093, 0.465916, 1.36667, 1, 0.0359286, -0.779688, 0.433028, 0.450869, 1.4, 1, -0.034061, -0.818504, 0.392231, 0.418386, 1.43333, 1, -0.0766552, -0.843438, 0.37251, 0.379438, 1.46667, 1, -0.101079, -0.863442, 0.361807, 0.336669, 1.5, 1, -0.110131, -0.877541, 0.366242, 0.289239, 1.56667, 1, -0.0963999, -0.885658, 0.416709, 0.180749, 1.6, 1, -0.106206, -0.890469, 0.421681, 0.134055, 1.63333, 1, -0.126591, -0.898762, 0.409026, 0.0943334, 1.66667, 1, -0.143, -0.900016, 0.408465, 0.0517568, 1.7, 1, -0.160182, -0.90168, 0.401441, 0.0126576, 1.73333, 1, -0.175938, -0.90191, 0.393644, -0.0254661, 1.76667, 1, 0.191503, 0.900016, -0.386438, 0.0629503, 1.8, 1, 0.207066, 0.89627, -0.379507, 0.0989826, 1.83333, 1, 0.221819, 0.892117, -0.370944, 0.131621, 1.86667, 1, 0.232827, 0.887256, -0.364608, 0.160094, 1.9, 1, 0.242448, 0.882745, -0.357949, 0.183994, 1.93333, 1, 0.250237, 0.878815, -0.351949, 0.202972, 1.96667, 1, 0.255588, 0.875865, -0.3476, 0.216123, 2, 1, 0.257722, 0.874447, -0.3459, 0.22198, 3.79167, 1, 0.257738, 0.874476, -0.345857, 0.221914) +tracks/17/type = "scale_3d" +tracks/17/imported = true +tracks/17/enabled = true +tracks/17/path = NodePath("Cube_cell_cell_005") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/keys = PackedFloat32Array(0, 1, -0.187482, -0.00146178, -0.208365, 0.0333333, 1, 0.688696, 0.7259, 0.684519, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.907741, 0.90774, 0.90774) +tracks/18/type = "position_3d" +tracks/18/imported = true +tracks/18/enabled = true +tracks/18/path = NodePath("Cube_cell_cell_007") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/keys = PackedFloat32Array(0, 1, 1.67089, -3.48847, 0.205951, 0.0333333, 1, 1.52638, -3.30668, 0.116712, 0.0666667, 1, 1.32805, -2.9749, 0.00129642, 0.133333, 1, 0.889525, -2.2011, -0.250259, 0.166667, 1, 0.67101, -1.8269, -0.375581, 0.2, 1, 0.45436, -1.46947, -0.499835, 0.233333, 1, 0.238984, -1.12432, -0.623357, 0.266667, 1, 0.0248218, -0.791309, -0.746184, 0.3, 1, -0.188183, -0.470297, -0.868346, 0.333333, 1, -0.400079, -0.161162, -0.989873, 0.366667, 1, -0.610576, 0.132346, -1.1106, 0.4, 1, -0.820072, 0.414268, -1.23075, 0.433333, 1, -1.02859, 0.684684, -1.35034, 0.466667, 1, -1.23617, 0.943669, -1.46939, 0.5, 1, -1.44282, 1.19129, -1.58791, 0.533333, 1, -1.64828, 1.4239, -1.70574, 0.566667, 1, -1.85286, 1.64533, -1.82308, 0.6, 1, -2.0566, 1.85563, -1.93992, 0.633333, 1, -2.2595, 2.05487, -2.05629, 0.666667, 1, -2.46157, 2.24309, -2.17218, 0.7, 1, -2.66257, 2.41672, -2.28746, 0.733333, 1, -2.86277, 2.57947, -2.40228, 0.766667, 1, -3.0622, 2.73138, -2.51665, 0.8, 1, -3.26085, 2.87251, -2.63058, 0.833333, 1, -3.45874, 3.00288, -2.74408, 0.866667, 1, -3.65562, 3.119, -2.85699, 0.9, 1, -3.85176, 3.22448, -2.96949, 0.933333, 1, -4.04717, 3.31937, -3.08156, 0.966667, 1, -4.24185, 3.40369, -3.19321, 1, 1, -4.4358, 3.4775, -3.30444, 1.03333, 1, -4.6288, 3.53735, -3.41513, 1.06667, 1, -4.82108, 3.58678, -3.52541, 1.1, 1, -5.01266, 3.62583, -3.63528, 1.16667, 1, -5.39371, 3.67292, -3.85382, 1.33333, 1, -6.33304, 3.59465, -4.39255, 1.4, 1, -6.7035, 3.4859, -4.60501, 1.43333, 1, -6.8877, 3.41654, -4.71066, 1.46667, 1, -7.07122, 3.33723, -4.81591, 1.5, 1, -7.25405, 3.24801, -4.92076, 1.53333, 1, -7.43596, 3.14565, -5.0251, 1.56667, 1, -7.61719, 3.03348, -5.12903, 1.6, 1, -7.79773, 2.91153, -5.23258, 1.63333, 1, -7.97757, 2.77985, -5.33572, 1.66667, 1, -8.15672, 2.63848, -5.43847, 1.7, 1, -8.33494, 2.48424, -5.54068, 1.73333, 1, -8.51245, 2.32042, -5.64248, 1.76667, 1, -8.68925, 2.14706, -5.74388, 1.8, 1, -8.86533, 1.9642, -5.84487, 1.83333, 1, -9.0407, 1.77187, -5.94545, 1.86667, 1, -9.21509, 1.56703, -6.04546, 1.9, 1, -9.38874, 1.35286, -6.14506, 1.93333, 1, -9.56165, 1.12942, -6.24422, 1.96667, 1, -9.73379, 0.896761, -6.34295, 2, 1, -9.90517, 0.654935, -6.44124, 2.03333, 1, -10.0755, 0.401005, -6.53892, 2.06667, 1, -10.245, 0.138088, -6.63614, 2.1, 1, -10.4137, -0.133741, -6.73289, 2.13333, 1, -10.5816, -0.414409, -6.82916, 2.16667, 1, -10.7485, -0.703832, -6.92493, 2.2, 1, -10.9143, -1.00475, -7.02, 2.23333, 1, -11.0791, -1.31412, -7.11454, 2.26667, 1, -11.243, -1.63183, -7.2085, 2.3, 1, -11.4058, -1.95772, -7.30188, 2.33333, 1, -11.5675, -2.29163, -7.39462, 2.36667, 1, -11.7276, -2.6358, -7.48646, 2.4, 1, -11.8864, -2.98722, -7.57751, 2.43333, 1, -12.0374, -3.29922, -7.66126, 2.46667, 1, -12.1716, -3.48293, -7.72209, 2.5, 1, -12.2772, -3.40728, -7.73526, 2.53333, 1, -12.3803, -3.33664, -7.74612, 2.56667, 1, -12.4822, -3.27691, -7.75687, 2.6, 1, -12.5831, -3.22798, -7.7675, 2.63333, 1, -12.6828, -3.18974, -7.77802, 2.66667, 1, -12.7816, -3.1621, -7.78843, 2.7, 1, -12.879, -3.14836, -7.7987, 2.8, 1, -13.1654, -3.16854, -7.82888, 2.83333, 1, -13.2589, -3.19543, -7.83874, 2.86667, 1, -13.3511, -3.23547, -7.84846, 2.9, 1, -13.4423, -3.28524, -7.85808, 2.93333, 1, -13.5326, -3.34464, -7.86759, 2.96667, 1, -13.6205, -3.40021, -7.87396, 3, 1, -13.7033, -3.4251, -7.87109, 3.03333, 1, -13.7781, -3.42193, -7.8617, 3.06667, 1, -13.8496, -3.41792, -7.85147, 3.1, 1, -13.9184, -3.41631, -7.84099, 3.13333, 1, -13.9841, -3.41478, -7.83075, 3.16667, 1, -14.0446, -3.40541, -7.82116, 3.2, 1, -14.1032, -3.40556, -7.81146, 3.23333, 1, -14.1597, -3.4081, -7.80082, 3.26667, 1, -14.2121, -3.4035, -7.78772, 3.3, 1, -14.2606, -3.39228, -7.77246, 3.33333, 1, -14.307, -3.38494, -7.7572, 3.36667, 1, -14.3501, -3.38083, -7.74209, 3.4, 1, -14.3907, -3.37856, -7.72725, 3.43333, 1, -14.4288, -3.37807, -7.71275, 3.46667, 1, -14.4642, -3.37815, -7.69891, 3.5, 1, -14.4963, -3.37641, -7.68629, 3.53333, 1, -14.526, -3.37918, -7.67478, 3.56667, 1, -14.5524, -3.38089, -7.66283, 3.6, 1, -14.5762, -3.38355, -7.65045, 3.63333, 1, -14.5976, -3.38829, -7.63755, 3.66667, 1, -14.6169, -3.39531, -7.62395, 3.7, 1, -14.6339, -3.40647, -7.60918, 3.73333, 1, -14.6495, -3.42165, -7.5935, 3.76667, 1, -14.6639, -3.44147, -7.57696, 3.79167, 1, -14.6742, -3.45879, -7.56414) +tracks/19/type = "rotation_3d" +tracks/19/imported = true +tracks/19/enabled = true +tracks/19/path = NodePath("Cube_cell_cell_007") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/keys = PackedFloat32Array(0, 1, -0.0687176, 0.0624383, -0.0182627, 0.995513, 0.0333333, 1, -0.247483, 0.0656937, 0.0216266, 0.966421, 0.0666667, 1, -0.485419, 0.0622084, 0.0797759, 0.868409, 0.2, 1, -0.960929, -0.106452, 0.237983, -0.0929946, 0.233333, 1, 0.885078, 0.177157, -0.233983, 0.361254, 0.3, 1, 0.526158, 0.307903, -0.171483, 0.773916, 0.333333, 1, 0.274754, 0.355659, -0.117821, 0.885514, 0.366667, 1, 0.00350489, 0.388376, -0.0528317, 0.919979, 0.4, 1, -0.265463, 0.400009, 0.0193895, 0.87701, 0.466667, 1, -0.710992, 0.360042, 0.16543, 0.580942, 0.533333, 1, -0.920508, 0.256061, 0.27986, 0.0936821, 0.566667, 1, -0.913902, 0.190806, 0.313405, -0.173651, 0.6, 1, 0.833634, -0.121527, -0.326847, 0.428319, 0.666667, 1, 0.485752, 0.0108324, -0.292618, 0.823591, 0.7, 1, 0.245303, 0.0633969, -0.25124, 0.934177, 0.733333, 1, -0.0153929, 0.104069, -0.198167, 0.974506, 0.766667, 1, -0.276763, 0.129853, -0.138245, 0.942034, 0.833333, 1, -0.725314, 0.130296, -0.018032, 0.675735, 0.933333, 1, -0.994801, 0.00815145, 0.0930902, -0.0404944, 0.966667, 1, 0.948504, 0.0500818, -0.103803, 0.295055, 1.03333, 1, 0.668454, 0.164406, -0.0780422, 0.721144, 1.06667, 1, 0.455809, 0.210338, -0.0424553, 0.863825, 1.1, 1, 0.214079, 0.243524, 0.00509202, 0.94596, 1.13333, 1, -0.0395947, 0.261649, 0.0616229, 0.96238, 1.16667, 1, -0.287466, 0.2636, 0.123423, 0.912494, 1.23333, 1, -0.696865, 0.221737, 0.250511, 0.634394, 1.3, 1, -0.910357, 0.127863, 0.343671, 0.191809, 1.33333, 1, 0.925473, -0.0678024, -0.368683, 0.054548, 1.4, 1, 0.769802, 0.06384, -0.371958, 0.514759, 1.43333, 1, 0.61111, 0.128089, -0.348591, 0.699015, 1.46667, 1, 0.411614, 0.186154, -0.310795, 0.836258, 1.5, 1, 0.184437, 0.234492, -0.261362, 0.917979, 1.53333, 1, -0.0558601, 0.270607, -0.206374, 0.938649, 1.56667, 1, -0.293317, 0.29158, -0.146465, 0.898607, 1.63333, 1, -0.701351, 0.284851, -0.0255684, 0.652927, 1.7, 1, -0.94126, 0.220196, 0.0739043, 0.245116, 1.73333, 1, -0.978852, 0.172773, 0.108997, 0.0108716, 1.76667, 1, 0.957947, -0.119518, -0.132186, 0.224901, 1.83333, 1, 0.750856, -0.0101539, -0.138242, 0.645756, 1.9, 1, 0.372916, 0.0770823, -0.0872113, 0.920536, 1.93333, 1, 0.147328, 0.107436, -0.0453719, 0.982188, 1.96667, 1, -0.0853224, 0.126729, 0.0037974, 0.988254, 2.13333, 1, -0.922807, 0.0395868, 0.240818, 0.298106, 2.2, 1, -0.947328, -0.0634744, 0.274843, -0.151662, 2.23333, 1, 0.88127, 0.12147, -0.27272, 0.366377, 2.3, 1, 0.613059, 0.232428, -0.23103, 0.718861, 2.33333, 1, 0.426281, 0.279101, -0.193835, 0.838341, 2.36667, 1, 0.217915, 0.317756, -0.148435, 0.910775, 2.4, 1, -0.000889137, 0.344587, -0.0962435, 0.933807, 2.43333, 1, -0.154485, 0.342714, -0.0072181, 0.926623, 2.46667, 1, -0.149574, 0.332779, 0.0883634, 0.926865, 2.5, 1, 0.12897, 0.347762, 0.100079, 0.923262, 2.53333, 1, 0.387804, 0.370782, 0.0787914, 0.840191, 2.6, 1, 0.784859, 0.390056, 0.0100079, 0.481407, 2.63333, 1, 0.89119, 0.38676, -0.0328723, 0.23477, 2.66667, 1, -0.922936, -0.375932, 0.0767789, 0.0311344, 2.73333, 1, -0.757463, -0.348075, 0.151127, 0.531277, 2.76667, 1, -0.579469, -0.324471, 0.174916, 0.726869, 2.8, 1, -0.356097, -0.295331, 0.188154, 0.866356, 2.83333, 1, -0.104599, -0.261699, 0.191083, 0.940245, 2.86667, 1, 0.156767, -0.230179, 0.187565, 0.941945, 2.9, 1, 0.408044, -0.198265, 0.178375, 0.87314, 2.93333, 1, 0.6309, -0.168974, 0.165121, 0.739018, 2.96667, 1, 0.795084, -0.126555, 0.160376, 0.571056, 3, 1, 0.878583, -0.0401694, 0.190298, 0.436194, 3.06667, 1, 0.947995, 0.140735, 0.212832, 0.190269, 3.1, 1, 0.953174, 0.215254, 0.204548, 0.0573219, 3.13333, 1, -0.941707, -0.26718, -0.191282, 0.0722028, 3.16667, 1, -0.923616, -0.2773, -0.182604, 0.191555, 3.2, 1, -0.892987, -0.279886, -0.176355, 0.305184, 3.23333, 1, -0.854355, -0.276999, -0.172132, 0.404623, 3.26667, 1, -0.820932, -0.272315, -0.166722, 0.473412, 3.3, 1, -0.798009, -0.268814, -0.159206, 0.515338, 3.33333, 1, -0.776716, -0.266674, -0.149691, 0.550627, 3.36667, 1, -0.758027, -0.267319, -0.136101, 0.579148, 3.4, 1, -0.740002, -0.270381, -0.118455, 0.604367, 3.43333, 1, -0.721722, -0.275988, -0.0961854, 0.627453, 3.46667, 1, -0.701976, -0.282341, -0.0723516, 0.64983, 3.5, 1, -0.679605, -0.285845, -0.0536787, 0.67346, 3.53333, 1, -0.655475, -0.281921, -0.0491008, 0.6989, 3.56667, 1, -0.627074, -0.280505, -0.0427605, 0.725442, 3.6, 1, -0.594374, -0.279928, -0.036958, 0.75299, 3.63333, 1, -0.556982, -0.279407, -0.0326632, 0.781432, 3.66667, 1, -0.514081, -0.27901, -0.0295101, 0.810558, 3.7, 1, -0.463037, -0.279156, -0.0281146, 0.840761, 3.73333, 1, -0.404483, -0.279592, -0.0280666, 0.870307, 3.76667, 1, -0.337733, -0.280342, -0.0293582, 0.898044, 3.79167, 1, -0.283099, -0.280736, -0.0309573, 0.916561) +tracks/20/type = "scale_3d" +tracks/20/imported = true +tracks/20/enabled = true +tracks/20/path = NodePath("Cube_cell_cell_007") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/keys = PackedFloat32Array(0, 1, 0.212512, 0.000152375, 0.205781, 0.0333333, 1, 0.768695, 0.726223, 0.767348, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) +tracks/21/type = "position_3d" +tracks/21/imported = true +tracks/21/enabled = true +tracks/21/path = NodePath("Cube_cell_cell_004_cell_007") +tracks/21/interp = 1 +tracks/21/loop_wrap = true +tracks/21/keys = PackedFloat32Array(0, 1, 2.04388, -3.49043, -0.657416, 0.0333333, 1, 2.06471, -3.46221, -0.70222, 0.0666667, 1, 2.09253, -3.3781, -0.78009, 0.1, 1, 2.12377, -3.27065, -0.8738, 0.133333, 1, 2.15601, -3.16223, -0.972016, 0.166667, 1, 2.18793, -3.06503, -1.0693, 0.2, 1, 2.21948, -2.98255, -1.16542, 0.233333, 1, 2.25075, -2.91095, -1.2607, 0.266667, 1, 2.28175, -2.85014, -1.35518, 0.3, 1, 2.3125, -2.80002, -1.44888, 0.333333, 1, 2.34299, -2.76051, -1.5418, 0.366667, 1, 2.37316, -2.73498, -1.63373, 0.4, 1, 2.40309, -2.71983, -1.72492, 0.5, 1, 2.49145, -2.73587, -1.99417, 0.533333, 1, 2.52036, -2.76479, -2.08226, 0.566667, 1, 2.54904, -2.80365, -2.16964, 0.6, 1, 2.57748, -2.85237, -2.2563, 0.633333, 1, 2.60568, -2.91087, -2.34225, 0.666667, 1, 2.63365, -2.97907, -2.42746, 0.7, 1, 2.66129, -3.06003, -2.5117, 0.733333, 1, 2.68869, -3.15043, -2.59517, 0.766667, 1, 2.71583, -3.25014, -2.67787, 0.8, 1, 2.74276, -3.35472, -2.75868, 0.833333, 1, 2.7696, -3.45535, -2.83541, 0.866667, 1, 2.79655, -3.4971, -2.89365, 0.9, 1, 2.81427, -3.50775, -2.94659, 0.966667, 1, 2.83219, -3.46839, -3.0365, 1, 1, 2.8386, -3.44913, -3.07788, 1.03333, 1, 2.84451, -3.43937, -3.11767, 1.06667, 1, 2.85016, -3.43631, -3.15618, 1.13333, 1, 2.86112, -3.44981, -3.22928, 1.16667, 1, 2.86665, -3.46637, -3.26393, 1.2, 1, 2.87351, -3.4754, -3.29301, 1.23333, 1, 2.88102, -3.48254, -3.31886, 1.26667, 1, 2.88903, -3.4873, -3.34128, 1.3, 1, 2.89726, -3.49167, -3.36078, 1.33333, 1, 2.90527, -3.50016, -3.37857, 1.36667, 1, 2.91257, -3.51313, -3.39387, 1.4, 1, 2.9188, -3.52359, -3.40594, 1.43333, 1, 2.92353, -3.52808, -3.41407, 1.46667, 1, 2.92689, -3.52915, -3.41895, 1.5, 1, 2.92957, -3.53536, -3.42272, 1.53333, 1, 2.9315, -3.53426, -3.42488, 1.56667, 1, 2.93197, -3.53541, -3.42635, 1.6, 1, 2.93169, -3.53706, -3.4272, 1.63333, 1, 2.93121, -3.53817, -3.42766, 3.79167, 1, 2.93068, -3.53875, -3.42814) +tracks/22/type = "rotation_3d" +tracks/22/imported = true +tracks/22/enabled = true +tracks/22/path = NodePath("Cube_cell_cell_004_cell_007") +tracks/22/interp = 1 +tracks/22/loop_wrap = true +tracks/22/keys = PackedFloat32Array(0, 1, 0.777605, 0.0915886, -0.617753, 0.0729637, 0.0333333, 1, -0.341358, -0.00645716, -0.939862, 0.00962105, 0.0666667, 1, 0.605535, 0.0160927, 0.791916, 0.0770527, 0.2, 1, 0.53733, -0.0938656, 0.736125, 0.400731, 0.333333, 1, 0.419126, -0.197967, 0.580517, 0.669434, 0.433333, 1, 0.307411, -0.266405, 0.412027, 0.815328, 0.5, 1, 0.22586, -0.305393, 0.282198, 0.880958, 0.566667, 1, 0.142136, -0.338773, 0.143137, 0.91899, 0.6, 1, 0.0999779, -0.353061, 0.0715856, 0.927485, 0.633333, 1, 0.0580186, -0.365693, -0.000573573, 0.928925, 0.7, 1, -0.0238915, -0.38626, -0.144489, 0.91069, 0.766667, 1, -0.101533, -0.400575, -0.284135, 0.865158, 0.8, 1, -0.138321, -0.40935, -0.340652, 0.835019, 0.833333, 1, -0.173945, -0.42964, -0.364329, 0.807723, 0.866667, 1, -0.211005, -0.507616, -0.217558, 0.806518, 0.9, 1, -0.188968, -0.563629, -0.0812944, 0.800003, 0.933333, 1, -0.166174, -0.593525, 0.0135988, 0.787356, 0.966667, 1, -0.165243, -0.606347, 0.0657328, 0.77506, 1, 1, -0.169943, -0.614109, 0.102349, 0.763881, 1.03333, 1, -0.18057, -0.617359, 0.124163, 0.755543, 1.06667, 1, -0.196013, -0.617054, 0.134936, 0.750077, 1.1, 1, -0.216372, -0.61314, 0.135103, 0.747656, 1.13333, 1, -0.241602, -0.605347, 0.125124, 0.748016, 1.16667, 1, -0.271496, -0.593221, 0.105511, 0.750497, 1.2, 1, -0.293855, -0.579188, 0.066792, 0.757449, 1.23333, 1, -0.308554, -0.565091, 0.0198574, 0.7649, 1.26667, 1, -0.307282, -0.555054, -0.0297249, 0.772405, 1.3, 1, -0.288551, -0.550144, -0.0786287, 0.779678, 1.33333, 1, -0.257458, -0.547882, -0.125783, 0.785951, 1.36667, 1, -0.207321, -0.548866, -0.168176, 0.792137, 1.4, 1, -0.148584, -0.557621, -0.181056, 0.796367, 1.43333, 1, -0.118222, -0.569302, -0.173203, 0.794933, 1.46667, 1, -0.124643, -0.581397, -0.155873, 0.788762, 1.5, 1, -0.147205, -0.591352, -0.141974, 0.780049, 1.53333, 1, -0.153214, -0.595716, -0.156395, 0.77278, 1.56667, 1, -0.143717, -0.600932, -0.16401, 0.768978, 1.6, 1, -0.138688, -0.606928, -0.161883, 0.765635, 1.63333, 1, -0.141582, -0.612577, -0.155942, 0.76183, 1.66667, 1, -0.139328, -0.615675, -0.160964, 0.758698, 1.7, 1, -0.138134, -0.615974, -0.161539, 0.758551, 3.79167, 1, -0.137952, -0.616079, -0.161554, 0.758496) +tracks/23/type = "scale_3d" +tracks/23/imported = true +tracks/23/enabled = true +tracks/23/path = NodePath("Cube_cell_cell_004_cell_007") +tracks/23/interp = 1 +tracks/23/loop_wrap = true +tracks/23/keys = PackedFloat32Array(0, 1, -0.21221, -0.000810979, -0.192203, 0.0333333, 1, 0.68375, 0.72603, 0.687752, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) +tracks/24/type = "position_3d" +tracks/24/imported = true +tracks/24/enabled = true +tracks/24/path = NodePath("Cube_cell_005_cell_cell_006") +tracks/24/interp = 1 +tracks/24/loop_wrap = true +tracks/24/keys = PackedFloat32Array(0, 1, 1.25987, -3.4957, -0.328338, 0.0333333, 1, 1.21407, -3.33068, -0.388122, 0.0666667, 1, 1.13019, -3.17171, -0.494464, 0.1, 1, 1.02376, -3.00809, -0.624166, 0.133333, 1, 0.907718, -2.84164, -0.761399, 0.166667, 1, 0.792334, -2.68668, -0.897695, 0.2, 1, 0.678169, -2.54693, -1.03255, 0.233333, 1, 0.564863, -2.41839, -1.16639, 0.266667, 1, 0.452386, -2.30098, -1.29925, 0.3, 1, 0.340714, -2.1946, -1.43116, 0.333333, 1, 0.229821, -2.09917, -1.56215, 0.366667, 1, 0.119932, -2.01817, -1.69196, 0.4, 1, 0.01077, -1.94788, -1.82091, 0.433333, 1, -0.0976757, -1.88825, -1.94901, 0.466667, 1, -0.205417, -1.83919, -2.07627, 0.5, 1, -0.312465, -1.80065, -2.20272, 0.533333, 1, -0.418605, -1.77601, -2.3281, 0.6, 1, -0.628874, -1.75768, -2.57648, 0.7, 1, -0.939096, -1.81003, -2.94292, 0.733333, 1, -1.04104, -1.84981, -3.06335, 0.766667, 1, -1.14233, -1.89951, -3.18299, 0.8, 1, -1.24296, -1.95908, -3.30186, 0.833333, 1, -1.34293, -2.02847, -3.41995, 0.866667, 1, -1.44201, -2.1108, -3.53698, 0.9, 1, -1.5404, -2.20274, -3.65321, 0.933333, 1, -1.63811, -2.30423, -3.76862, 0.966667, 1, -1.73511, -2.41518, -3.88321, 1, 1, -1.83141, -2.53551, -3.99696, 1.03333, 1, -1.92672, -2.66817, -4.10954, 1.06667, 1, -2.02127, -2.80994, -4.22123, 1.13333, 1, -2.20717, -3.11641, -4.44117, 1.16667, 1, -2.2961, -3.26918, -4.54763, 1.2, 1, -2.37301, -3.34032, -4.63582, 1.23333, 1, -2.45174, -3.32692, -4.70057, 1.26667, 1, -2.53057, -3.2892, -4.75633, 1.3, 1, -2.60862, -3.25885, -4.81074, 1.33333, 1, -2.68589, -3.23899, -4.86459, 1.36667, 1, -2.76214, -3.23294, -4.91774, 1.43333, 1, -2.91237, -3.2514, -5.02244, 1.46667, 1, -2.98583, -3.26576, -5.07158, 1.5, 1, -3.05697, -3.26013, -5.1129, 1.53333, 1, -3.12618, -3.25512, -5.1506, 1.56667, 1, -3.19419, -3.25532, -5.18673, 1.6, 1, -3.26105, -3.26108, -5.22141, 1.63333, 1, -3.32665, -3.27103, -5.25434, 1.66667, 1, -3.3907, -3.28204, -5.28482, 1.7, 1, -3.45284, -3.29556, -5.31235, 1.73333, 1, -3.51321, -3.30751, -5.33686, 1.76667, 1, -3.57198, -3.32141, -5.35933, 1.8, 1, -3.62803, -3.33128, -5.37873, 1.83333, 1, -3.67898, -3.32169, -5.39204, 1.86667, 1, -3.72728, -3.31746, -5.4043, 1.9, 1, -3.77314, -3.31545, -5.41569, 1.93333, 1, -3.81695, -3.31718, -5.42653, 1.96667, 1, -3.85891, -3.32339, -5.43702, 2, 1, -3.89903, -3.33407, -5.44727, 2.03333, 1, -3.93544, -3.34588, -5.45736, 2.06667, 1, -3.96904, -3.35819, -5.46742, 2.1, 1, -3.9978, -3.36296, -5.47768, 2.13333, 1, -4.02195, -3.36072, -5.48787, 2.16667, 1, -4.04392, -3.36068, -5.49723, 2.2, 1, -4.06171, -3.35878, -5.505, 2.23333, 1, -4.07779, -3.35986, -5.51167, 2.26667, 1, -4.09192, -3.36197, -5.51692, 2.3, 1, -4.10403, -3.36521, -5.52104, 2.33333, 1, -4.11425, -3.37177, -5.5249, 2.36667, 1, -4.11944, -3.37212, -5.52894, 2.4, 1, -4.12193, -3.37172, -5.533, 2.43333, 1, -4.12294, -3.37277, -5.5369, 2.46667, 1, -4.12295, -3.37455, -5.54022, 2.5, 1, -4.12169, -3.37347, -5.54221, 2.53333, 1, -4.11916, -3.37462, -5.54281, 2.56667, 1, -4.11845, -3.37564, -5.54221, 2.63333, 1, -4.11864, -3.37614, -5.54132, 3.79167, 1, -4.11829, -3.37613, -5.54113) +tracks/25/type = "rotation_3d" +tracks/25/imported = true +tracks/25/enabled = true +tracks/25/path = NodePath("Cube_cell_005_cell_cell_006") +tracks/25/interp = 1 +tracks/25/loop_wrap = true +tracks/25/keys = PackedFloat32Array(0, 1, -0.632826, 0.393141, 0.455339, 0.487481, 0.0333333, 1, 0.175322, 0.722615, 0.617012, -0.257654, 0.0666667, 1, -0.383372, -0.645359, -0.52395, 0.402511, 0.1, 1, -0.373965, -0.655742, -0.54123, 0.370436, 0.133333, 1, -0.363207, -0.667286, -0.552488, 0.342881, 0.3, 1, -0.301501, -0.714943, -0.596606, 0.204976, 0.466667, 1, -0.229155, -0.745218, -0.622693, 0.0662635, 0.566667, 1, -0.181997, -0.755182, -0.629542, -0.0159454, 0.6, 1, 0.16581, 0.757161, 0.630367, 0.0430359, 0.766667, 1, 0.0824972, 0.757263, 0.623767, 0.175107, 0.933333, 1, -0.00256897, 0.741733, 0.600004, 0.299701, 1.1, 1, -0.0865833, 0.711677, 0.560439, 0.414641, 1.13333, 1, -0.10881, 0.705952, 0.549736, 0.433109, 1.16667, 1, -0.148119, 0.705062, 0.535028, 0.441241, 1.2, 1, -0.271735, 0.700451, 0.53161, 0.391049, 1.23333, 1, -0.355882, 0.660597, 0.565651, 0.34205, 1.26667, 1, -0.420138, 0.606718, 0.608671, 0.291369, 1.33333, 1, -0.524116, 0.486651, 0.676135, 0.176959, 1.4, 1, -0.599184, 0.354925, 0.716281, 0.0441364, 1.43333, 1, -0.62552, 0.286375, 0.725261, -0.0266419, 1.46667, 1, 0.64329, -0.219398, -0.727552, 0.093328, 1.5, 1, 0.65237, -0.159816, -0.726807, 0.143609, 1.6, 1, 0.658046, 0.0144416, -0.701928, 0.272148, 1.7, 1, 0.649596, 0.20144, -0.636071, 0.3645, 1.73333, 1, 0.653464, 0.260794, -0.608816, 0.366489, 1.76667, 1, 0.659885, 0.314623, -0.581353, 0.357202, 1.8, 1, 0.666828, 0.354567, -0.560378, 0.339997, 1.83333, 1, 0.674831, 0.365309, -0.559963, 0.3124, 1.86667, 1, 0.680256, 0.368759, -0.565083, 0.28627, 1.9, 1, 0.681996, 0.36635, -0.575003, 0.264652, 1.93333, 1, 0.680867, 0.359166, -0.588631, 0.246848, 1.96667, 1, 0.677299, 0.347619, -0.605303, 0.232455, 2, 1, 0.671368, 0.331469, -0.624804, 0.221388, 2.03333, 1, 0.660003, 0.310674, -0.647645, 0.220076, 2.06667, 1, 0.643484, 0.290072, -0.670673, 0.228002, 2.1, 1, 0.62442, 0.283808, -0.686257, 0.242081, 2.13333, 1, 0.605016, 0.294394, -0.69297, 0.258999, 2.16667, 1, 0.586423, 0.312419, -0.694899, 0.274989, 2.2, 1, 0.576809, 0.335593, -0.692081, 0.275121, 2.23333, 1, 0.57075, 0.35279, -0.691785, 0.266868, 2.26667, 1, 0.565663, 0.359614, -0.697223, 0.254133, 2.3, 1, 0.559283, 0.355928, -0.708845, 0.240951, 2.33333, 1, 0.549667, 0.345846, -0.72434, 0.23149, 2.36667, 1, 0.534027, 0.344319, -0.735752, 0.234367, 2.4, 1, 0.521533, 0.351667, -0.741296, 0.234122, 2.43333, 1, 0.513265, 0.357709, -0.745992, 0.228252, 2.46667, 1, 0.507842, 0.357983, -0.752155, 0.219563, 2.5, 1, 0.501433, 0.353749, -0.759407, 0.216166, 2.53333, 1, 0.495559, 0.358324, -0.761699, 0.214102, 2.56667, 1, 0.489651, 0.363325, -0.763179, 0.213996, 2.6, 1, 0.485362, 0.366078, -0.764713, 0.213599, 2.63333, 1, 0.483109, 0.366422, -0.766293, 0.212453, 2.66667, 1, 0.482046, 0.366693, -0.766992, 0.211875, 3.79167, 1, 0.482023, 0.366689, -0.767013, 0.211859) +tracks/26/type = "scale_3d" +tracks/26/imported = true +tracks/26/enabled = true +tracks/26/path = NodePath("Cube_cell_005_cell_cell_006") +tracks/26/interp = 1 +tracks/26/loop_wrap = true +tracks/26/keys = PackedFloat32Array(0, 1, -0.21215, -0.194165, -0.000689907, 0.0333333, 1, 0.683762, 0.687359, 0.726054, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) +tracks/27/type = "position_3d" +tracks/27/imported = true +tracks/27/enabled = true +tracks/27/path = NodePath("Cube_cell_012_cell_002_cell_003") +tracks/27/interp = 1 +tracks/27/loop_wrap = true +tracks/27/keys = PackedFloat32Array(0, 1, 2.78099, -3.4924, 0.877203, 0.0333333, 1, 2.8092, -3.40848, 0.90195, 0.0666667, 1, 2.86259, -3.29743, 0.940936, 0.1, 1, 2.9282, -3.17324, 0.986806, 0.133333, 1, 2.99743, -3.04873, 1.03467, 0.166667, 1, 3.06602, -2.93555, 1.0821, 0.2, 1, 3.13384, -2.8372, 1.129, 0.233333, 1, 3.2011, -2.74983, 1.17551, 0.266667, 1, 3.26783, -2.67334, 1.22164, 0.3, 1, 3.33403, -2.60764, 1.26742, 0.333333, 1, 3.39972, -2.55264, 1.31284, 0.366667, 1, 3.46475, -2.51176, 1.35781, 0.4, 1, 3.5293, -2.48136, 1.40244, 0.433333, 1, 3.59337, -2.46137, 1.44675, 0.466667, 1, 3.65698, -2.45171, 1.49073, 0.533333, 1, 3.78263, -2.46649, 1.57761, 0.566667, 1, 3.84468, -2.49073, 1.62052, 0.6, 1, 3.90628, -2.52498, 1.66311, 0.633333, 1, 3.96742, -2.56915, 1.70539, 0.666667, 1, 4.0281, -2.6232, 1.74734, 0.7, 1, 4.08815, -2.69024, 1.78887, 0.733333, 1, 4.14774, -2.76693, 1.83007, 0.766667, 1, 4.20684, -2.85318, 1.87094, 0.8, 1, 4.26546, -2.9489, 1.91147, 0.833333, 1, 4.32358, -3.054, 1.95166, 0.866667, 1, 4.38102, -3.17142, 1.99137, 0.9, 1, 4.43791, -3.29789, 2.03071, 0.933333, 1, 4.48936, -3.40054, 2.06344, 0.966667, 1, 4.53183, -3.45592, 2.08517, 1, 1, 4.5632, -3.45004, 2.09342, 1.03333, 1, 4.59274, -3.45195, 2.10101, 1.06667, 1, 4.61941, -3.45399, 2.10784, 1.1, 1, 4.6428, -3.45419, 2.11402, 1.13333, 1, 4.66298, -3.45262, 2.11959, 1.16667, 1, 4.68056, -3.45138, 2.12452, 1.2, 1, 4.69468, -3.45048, 2.1286, 1.23333, 1, 4.70619, -3.44961, 2.13203, 1.26667, 1, 4.71515, -3.44883, 2.13479, 1.3, 1, 4.72167, -3.44816, 2.13688, 1.33333, 1, 4.72601, -3.4476, 2.13828, 1.36667, 1, 4.72884, -3.44725, 2.13915, 1.4, 1, 4.73062, -3.44706, 2.13971, 1.46667, 1, 4.73117, -3.44712, 2.13999, 1.5, 1, 4.73019, -3.4474, 2.13983, 1.53333, 1, 4.72836, -3.44794, 2.13953, 1.56667, 1, 4.72587, -3.4487, 2.13912, 1.6, 1, 4.72271, -3.44971, 2.13861, 1.63333, 1, 4.71887, -3.451, 2.13798, 1.66667, 1, 4.71431, -3.45261, 2.13724, 1.7, 1, 4.70877, -3.45476, 2.13635, 1.73333, 1, 4.70415, -3.45465, 2.13562, 1.76667, 1, 4.70113, -3.4549, 2.13526, 1.8, 1, 4.6998, -3.45593, 2.13525, 3.79167, 1, 4.69964, -3.45594, 2.13534) +tracks/28/type = "rotation_3d" +tracks/28/imported = true +tracks/28/enabled = true +tracks/28/path = NodePath("Cube_cell_012_cell_002_cell_003") +tracks/28/interp = 1 +tracks/28/loop_wrap = true +tracks/28/keys = PackedFloat32Array(0, 1, 0.154426, -0.984419, 0.0711561, 0.0448136, 0.0333333, 1, 0.113061, -0.35448, -0.125041, -0.919742, 0.0666667, 1, -0.0679695, 0.0608816, 0.155069, 0.98368, 0.233333, 1, -0.059879, 0.100473, 0.156168, 0.980781, 0.4, 1, -0.0516631, 0.139186, 0.156541, 0.976449, 0.533333, 1, -0.0450425, 0.169503, 0.156337, 0.972008, 0.666667, 1, -0.038412, 0.199221, 0.155703, 0.966743, 0.833333, 1, -0.0301533, 0.235502, 0.154327, 0.959069, 0.9, 1, -0.0268703, 0.249738, 0.1536, 0.955676, 0.933333, 1, -0.0292056, 0.256412, 0.155966, 0.953454, 0.966667, 1, -0.0347239, 0.262547, 0.162336, 0.950532, 1, 1, -0.0378698, 0.268312, 0.17248, 0.947008, 1.03333, 1, -0.038624, 0.273525, 0.167791, 0.946329, 1.06667, 1, -0.0306748, 0.279215, 0.161776, 0.946006, 1.1, 1, -0.0223603, 0.284806, 0.153867, 0.945891, 1.13333, 1, -0.0166304, 0.290148, 0.14492, 0.945799, 1.16667, 1, -0.0110417, 0.295482, 0.137189, 0.945382, 1.2, 1, -0.00610953, 0.300761, 0.13033, 0.944733, 1.23333, 1, -0.00169971, 0.305982, 0.123918, 0.943937, 1.26667, 1, 0.00234439, 0.311159, 0.117963, 0.943005, 1.3, 1, 0.00605538, 0.316221, 0.112505, 0.941972, 1.33333, 1, 0.00934189, 0.321011, 0.107621, 0.940894, 1.36667, 1, 0.0114352, 0.324443, 0.104499, 0.940046, 1.4, 1, 0.0126513, 0.326806, 0.102737, 0.939406, 1.43333, 1, 0.0130125, 0.328113, 0.102322, 0.93899, 1.46667, 1, 0.0125211, 0.328586, 0.10331, 0.938723, 1.5, 1, 0.0111594, 0.328653, 0.105815, 0.938438, 1.53333, 1, 0.00861134, 0.328788, 0.110503, 0.937877, 1.56667, 1, 0.00514634, 0.328962, 0.116874, 0.937069, 1.6, 1, 0.00073536, 0.32916, 0.124974, 0.935967, 1.63333, 1, -0.00465463, 0.329369, 0.134858, 0.934509, 1.66667, 1, -0.0110603, 0.329579, 0.146587, 0.932613, 1.7, 1, -0.0189295, 0.329757, 0.160969, 0.930049, 1.73333, 1, -0.0245669, 0.330013, 0.166615, 0.928831, 1.76667, 1, -0.0254503, 0.329525, 0.167958, 0.928739, 1.8, 1, -0.0231654, 0.328544, 0.168053, 0.929129, 3.79167, 1, -0.0233992, 0.328432, 0.168625, 0.929059) +tracks/29/type = "scale_3d" +tracks/29/imported = true +tracks/29/enabled = true +tracks/29/path = NodePath("Cube_cell_012_cell_002_cell_003") +tracks/29/interp = 1 +tracks/29/loop_wrap = true +tracks/29/keys = PackedFloat32Array(0, 1, -0.17755, -0.00306912, -0.203464, 0.0333333, 1, 0.690682, 0.725578, 0.685499, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) +tracks/30/type = "position_3d" +tracks/30/imported = true +tracks/30/enabled = true +tracks/30/path = NodePath("Cube_cell_026_cell_006_cell_006") +tracks/30/interp = 1 +tracks/30/loop_wrap = true +tracks/30/keys = PackedFloat32Array(0, 1, 1.42712, -3.49096, 0.945437, 0.0333333, 1, 1.39105, -3.42036, 0.997579, 0.0666667, 1, 1.30748, -3.27795, 1.12409, 0.1, 1, 1.20365, -3.10548, 1.28228, 0.133333, 1, 1.09572, -2.93079, 1.44687, 0.166667, 1, 0.988735, -2.76783, 1.61002, 0.2, 1, 0.88291, -2.6202, 1.77139, 0.233333, 1, 0.777899, -2.48387, 1.93153, 0.266667, 1, 0.67367, -2.35875, 2.09048, 0.3, 1, 0.570197, -2.24472, 2.24827, 0.333333, 1, 0.467457, -2.1417, 2.40494, 0.366667, 1, 0.365655, -2.05319, 2.56018, 0.4, 1, 0.264532, -1.97545, 2.71439, 0.433333, 1, 0.164076, -1.90841, 2.86758, 0.466667, 1, 0.0642758, -1.852, 3.01977, 0.5, 1, -0.0348801, -1.80616, 3.17098, 0.533333, 1, -0.133194, -1.77428, 3.3209, 0.566667, 1, -0.230886, -1.75278, 3.46988, 0.766667, 1, -0.803616, -1.84841, 4.34327, 0.8, 1, -0.896854, -1.90113, 4.48545, 0.833333, 1, -0.989484, -1.9637, 4.62671, 0.866667, 1, -1.0813, -2.03929, 4.76672, 0.9, 1, -1.17249, -2.12455, 4.90579, 0.933333, 1, -1.26306, -2.21941, 5.0439, 0.966667, 1, -1.35299, -2.3238, 5.18105, 1, 1, -1.44228, -2.43763, 5.3172, 1.03333, 1, -1.53069, -2.5639, 5.45202, 1.06667, 1, -1.6184, -2.69936, 5.58578, 1.1, 1, -1.70541, -2.84389, 5.71846, 1.13333, 1, -1.79168, -2.99739, 5.85002, 1.16667, 1, -1.87719, -3.15972, 5.98041, 1.2, 1, -1.9616, -3.33351, 6.10914, 1.23333, 1, -2.01826, -3.37516, 6.22208, 1.26667, 1, -2.06413, -3.37471, 6.32906, 1.3, 1, -2.10789, -3.37755, 6.43466, 1.33333, 1, -2.14997, -3.38443, 6.5382, 1.43333, 1, -2.26933, -3.45546, 6.83801, 1.46667, 1, -2.30603, -3.48357, 6.93274, 1.5, 1, -2.33717, -3.48372, 7.01856, 1.53333, 1, -2.36573, -3.48034, 7.09948, 1.56667, 1, -2.3933, -3.47986, 7.17787, 1.6, 1, -2.41983, -3.48118, 7.25347, 1.63333, 1, -2.44526, -3.48369, 7.32615, 1.66667, 1, -2.46956, -3.48734, 7.39593, 1.7, 1, -2.492, -3.48808, 7.46076, 1.73333, 1, -2.5134, -3.48831, 7.52231, 1.76667, 1, -2.53371, -3.48844, 7.58058, 1.8, 1, -2.55289, -3.48873, 7.63565, 1.83333, 1, -2.57086, -3.48919, 7.68763, 1.86667, 1, -2.58733, -3.48917, 7.73557, 1.9, 1, -2.6027, -3.48928, 7.78055, 1.93333, 1, -2.61691, -3.48934, 7.82237, 1.96667, 1, -2.62995, -3.48931, 7.86107, 2, 1, -2.64194, -3.48933, 7.89694, 2.03333, 1, -2.65257, -3.48934, 7.92905, 2.06667, 1, -2.66216, -3.48939, 7.95828, 2.1, 1, -2.67076, -3.48936, 7.98474, 2.13333, 1, -2.6784, -3.48928, 8.00848, 2.16667, 1, -2.68515, -3.48929, 8.02953, 2.2, 1, -2.69075, -3.48925, 8.04704, 2.23333, 1, -2.69547, -3.48925, 8.06196, 2.26667, 1, -2.69944, -3.48926, 8.07438, 2.3, 1, -2.70271, -3.48926, 8.08442, 2.33333, 1, -2.70535, -3.48928, 8.09222, 2.36667, 1, -2.70722, -3.48925, 8.09728, 2.4, 1, -2.70851, -3.48924, 8.10057, 2.43333, 1, -2.70921, -3.48924, 8.10229, 3.79167, 1, -2.70943, -3.48923, 8.10288) +tracks/31/type = "rotation_3d" +tracks/31/imported = true +tracks/31/enabled = true +tracks/31/path = NodePath("Cube_cell_026_cell_006_cell_006") +tracks/31/interp = 1 +tracks/31/loop_wrap = true +tracks/31/keys = PackedFloat32Array(0, 1, -0.423797, -0.733826, 0.296452, 0.440468, 0.0333333, 1, -0.423813, -0.733815, 0.296454, 0.440469, 0.0666667, 1, -0.35447, -0.791536, 0.251492, 0.42962, 0.1, 1, -0.250837, -0.859101, 0.184728, 0.406082, 0.166667, 1, -0.0192723, -0.944155, 0.0371368, 0.326833, 0.233333, 1, 0.211352, -0.947662, -0.10914, 0.212966, 0.3, 1, 0.42027, -0.870823, -0.243501, 0.0758169, 0.366667, 1, 0.588908, -0.722006, -0.35588, -0.0724237, 0.4, 1, -0.653487, 0.624805, 0.401386, 0.146504, 0.466667, 1, -0.737202, 0.395428, 0.467298, 0.28601, 0.533333, 1, -0.755711, 0.136417, 0.497022, 0.404055, 0.6, 1, -0.709018, -0.130828, 0.489741, 0.490236, 0.666667, 1, -0.602749, -0.385175, 0.446951, 0.537186, 0.733333, 1, -0.446816, -0.60677, 0.373686, 0.540873, 0.8, 1, -0.255292, -0.779615, 0.275553, 0.501095, 0.866667, 1, -0.0442568, -0.891594, 0.160731, 0.421031, 0.933333, 1, 0.169125, -0.935785, 0.0378282, 0.307039, 1, 1, 0.368348, -0.910431, -0.0845717, 0.168177, 1.06667, 1, 0.538148, -0.819227, -0.197601, 0.0147608, 1.1, 1, -0.608183, 0.751231, 0.248406, 0.063719, 1.16667, 1, -0.712497, 0.577367, 0.334503, 0.217033, 1.2, 1, -0.744908, 0.475099, 0.368435, 0.28922, 1.23333, 1, -0.723338, 0.461795, 0.345619, 0.379573, 1.26667, 1, -0.680906, 0.479525, 0.299103, 0.46579, 1.3, 1, -0.634583, 0.498068, 0.245332, 0.537629, 1.36667, 1, -0.533403, 0.532608, 0.116879, 0.646645, 1.4, 1, -0.476147, 0.545398, 0.046578, 0.688226, 1.43333, 1, -0.413907, 0.554203, -0.0263165, 0.721698, 1.46667, 1, -0.357471, 0.554506, -0.0863142, 0.746517, 1.5, 1, -0.330611, 0.540958, -0.103418, 0.766398, 1.53333, 1, -0.32007, 0.52205, -0.105042, 0.783572, 1.56667, 1, -0.317632, 0.501634, -0.105855, 0.797664, 1.6, 1, -0.321283, 0.480347, -0.10887, 0.808821, 1.63333, 1, -0.327415, 0.459029, -0.118081, 0.817404, 1.66667, 1, -0.330826, 0.438729, -0.138454, 0.823955, 1.7, 1, -0.333754, 0.418074, -0.157348, 0.830099, 1.73333, 1, -0.329596, 0.397886, -0.168194, 0.839503, 1.76667, 1, -0.324238, 0.377323, -0.171994, 0.850244, 1.8, 1, -0.319989, 0.35637, -0.173985, 0.860428, 1.83333, 1, -0.315606, 0.335868, -0.18364, 0.868252, 1.86667, 1, -0.311037, 0.315409, -0.192229, 0.875684, 1.96667, 1, -0.297432, 0.253456, -0.21268, 0.895579, 2, 1, -0.292567, 0.232899, -0.219663, 0.901061, 2.03333, 1, -0.287555, 0.212609, -0.225969, 0.906117, 2.06667, 1, -0.282384, 0.192691, -0.232263, 0.910595, 2.1, 1, -0.277289, 0.173074, -0.238305, 0.914531, 2.13333, 1, -0.27227, 0.153763, -0.244051, 0.917968, 2.16667, 1, -0.267092, 0.13484, -0.249647, 0.920954, 2.2, 1, -0.262009, 0.116561, -0.254616, 0.923545, 2.23333, 1, -0.25728, 0.0990532, -0.25973, 0.925492, 2.26667, 1, -0.252732, 0.0825784, -0.264365, 0.927048, 2.3, 1, -0.248391, 0.0674352, -0.268403, 0.928286, 2.33333, 1, -0.244484, 0.0539593, -0.272224, 0.929091, 2.36667, 1, -0.241311, 0.0433009, -0.274853, 0.929704, 2.4, 1, -0.238919, 0.035192, -0.276926, 0.930049, 2.43333, 1, -0.237376, 0.0298928, -0.278263, 0.930231, 2.46667, 1, -0.23664, 0.0273535, -0.278878, 0.930312, 3.79167, 1, -0.236555, 0.0272172, -0.27898, 0.930307) +tracks/32/type = "scale_3d" +tracks/32/imported = true +tracks/32/enabled = true +tracks/32/path = NodePath("Cube_cell_026_cell_006_cell_006") +tracks/32/interp = 1 +tracks/32/loop_wrap = true +tracks/32/keys = PackedFloat32Array(0, 1, 0.0109984, 0.131733, 0.211756, 0.0333333, 1, 0.728392, 0.752539, 0.768543, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) +tracks/33/type = "position_3d" +tracks/33/imported = true +tracks/33/enabled = true +tracks/33/path = NodePath("Cube_cell_039_cell_005") +tracks/33/interp = 1 +tracks/33/loop_wrap = true +tracks/33/keys = PackedFloat32Array(0, 1, 2.32324, -3.49179, -0.189974, 0.0333333, 1, 2.36893, -3.40299, -0.23454, 0.0666667, 1, 2.44905, -3.26455, -0.316165, 0.1, 1, 2.54477, -3.10391, -0.414605, 0.133333, 1, 2.64433, -2.9415, -0.517209, 0.166667, 1, 2.74302, -2.79071, -0.618917, 0.2, 1, 2.84064, -2.65511, -0.719524, 0.233333, 1, 2.93751, -2.53073, -0.819356, 0.266667, 1, 3.03365, -2.41746, -0.918439, 0.3, 1, 3.12909, -2.31521, -1.0168, 0.333333, 1, 3.22385, -2.22389, -1.11446, 0.366667, 1, 3.31773, -2.14698, -1.21122, 0.4, 1, 3.41098, -2.08077, -1.30732, 0.433333, 1, 3.50361, -2.02519, -1.40278, 0.466667, 1, 3.59562, -1.98017, -1.49761, 0.5, 1, 3.68703, -1.94565, -1.59181, 0.533333, 1, 3.77765, -1.92499, -1.6852, 0.666667, 1, 4.13432, -1.94493, -2.05278, 0.7, 1, 4.22186, -1.97857, -2.143, 0.733333, 1, 4.30882, -2.02216, -2.23263, 0.766667, 1, 4.39522, -2.07566, -2.32166, 0.8, 1, 4.48103, -2.13898, -2.41011, 0.833333, 1, 4.56627, -2.21209, -2.49796, 0.866667, 1, 4.65073, -2.29809, -2.585, 0.9, 1, 4.7346, -2.39366, -2.67143, 0.933333, 1, 4.81786, -2.49872, -2.75723, 0.966667, 1, 4.9005, -2.6132, -2.84241, 1, 1, 4.98252, -2.73701, -2.92694, 1.03333, 1, 5.06368, -2.87307, -3.01057, 1.06667, 1, 5.14415, -3.01816, -3.09351, 1.13333, 1, 5.30202, -3.32866, -3.25596, 1.16667, 1, 5.37654, -3.47507, -3.33176, 1.2, 1, 5.42885, -3.45569, -3.3684, 1.23333, 1, 5.47971, -3.44227, -3.40403, 1.26667, 1, 5.5284, -3.43153, -3.43822, 1.3, 1, 5.57463, -3.42211, -3.47083, 1.33333, 1, 5.6186, -3.41459, -3.50199, 1.36667, 1, 5.65953, -3.40947, -3.53132, 1.4, 1, 5.69814, -3.406, -3.55938, 1.43333, 1, 5.73446, -3.40427, -3.58624, 1.46667, 1, 5.7684, -3.40399, -3.61195, 1.5, 1, 5.79977, -3.40436, -3.63651, 1.53333, 1, 5.82507, -3.39132, -3.65697, 1.56667, 1, 5.84925, -3.3834, -3.67621, 1.6, 1, 5.87215, -3.37971, -3.69401, 1.63333, 1, 5.89373, -3.3798, -3.71031, 1.66667, 1, 5.91402, -3.38368, -3.72521, 1.7, 1, 5.93268, -3.39288, -3.73838, 1.73333, 1, 5.94935, -3.40201, -3.74963, 1.76667, 1, 5.96306, -3.4059, -3.75817, 1.8, 1, 5.97381, -3.4048, -3.76414, 1.83333, 1, 5.98254, -3.40432, -3.76868, 1.86667, 1, 5.98848, -3.40417, -3.77134, 1.9, 1, 5.99229, -3.40408, -3.77294, 1.93333, 1, 5.99427, -3.40405, -3.77394, 1.96667, 1, 5.99499, -3.40406, -3.77467, 2.03333, 1, 5.99557, -3.40413, -3.77616, 2.06667, 1, 5.99597, -3.4042, -3.77717, 2.1, 1, 5.99644, -3.40427, -3.77836, 2.13333, 1, 5.99699, -3.40437, -3.77976, 2.16667, 1, 5.99762, -3.4045, -3.78137, 2.2, 1, 5.99838, -3.40467, -3.7833, 2.23333, 1, 5.99925, -3.40489, -3.78552, 2.26667, 1, 6.00024, -3.40516, -3.78803, 2.3, 1, 6.00136, -3.4055, -3.79087, 2.33333, 1, 6.00261, -3.40592, -3.79406, 2.36667, 1, 6.00341, -3.40597, -3.79695, 2.4, 1, 6.00363, -3.40605, -3.79796, 3.79167, 1, 6.00366, -3.40609, -3.79812) +tracks/34/type = "rotation_3d" +tracks/34/imported = true +tracks/34/enabled = true +tracks/34/path = NodePath("Cube_cell_039_cell_005") +tracks/34/interp = 1 +tracks/34/loop_wrap = true +tracks/34/keys = PackedFloat32Array(0, 1, 0.00849711, -0.156956, -0.217664, 0.963284, 0.0333333, 1, 0.00791731, -0.156487, -0.216889, 0.96354, 0.0666667, 1, 0.00716387, -0.155793, -0.215929, 0.963874, 0.1, 1, 0.00635454, -0.155025, -0.214909, 0.964231, 0.133333, 1, 0.00554818, -0.154259, -0.213892, 0.964585, 0.166667, 1, 0.00474478, -0.153495, -0.212877, 0.964935, 0.2, 1, 0.0039453, -0.152734, -0.211866, 0.965282, 0.233333, 1, 0.00314877, -0.151975, -0.210858, 0.965626, 0.366667, 1, -7.21793e-06, -0.148963, -0.206851, 0.966966, 0.4, 1, -0.000788254, -0.148216, -0.205856, 0.967293, 0.433333, 1, -0.00156642, -0.147471, -0.204864, 0.967616, 0.5, 1, -0.00311414, -0.145987, -0.202888, 0.968253, 0.566667, 1, -0.0046486, -0.144513, -0.200924, 0.968878, 0.6, 1, -0.00541158, -0.143779, -0.199946, 0.969185, 0.666667, 1, -0.00692911, -0.142318, -0.197997, 0.969791, 0.733333, 1, -0.00843362, -0.140867, -0.196061, 0.970384, 0.766667, 1, -0.0091817, -0.140145, -0.195097, 0.970676, 0.866667, 1, -0.0114085, -0.137991, -0.19222, 0.971535, 0.9, 1, -0.0121447, -0.137278, -0.191267, 0.971815, 0.933333, 1, -0.0128781, -0.136566, -0.190316, 0.972092, 1.03333, 1, -0.0150614, -0.134446, -0.187481, 0.972907, 1.06667, 1, -0.0157831, -0.133743, -0.186541, 0.973173, 1.1, 1, -0.0165022, -0.133043, -0.185604, 0.973436, 1.13333, 1, -0.0100633, -0.129172, -0.191505, 0.972902, 1.16667, 1, 0.0178474, -0.115654, -0.217711, 0.968972, 1.2, 1, -0.0311067, -0.114102, -0.253252, 0.960144, 1.23333, 1, -0.0801554, -0.112922, -0.284634, 0.948582, 1.26667, 1, -0.126305, -0.110583, -0.314333, 0.934352, 1.3, 1, -0.169087, -0.107043, -0.34278, 0.917853, 1.33333, 1, -0.210532, -0.103718, -0.36829, 0.899601, 1.4, 1, -0.291425, -0.0988078, -0.413192, 0.857077, 1.43333, 1, -0.331925, -0.0976081, -0.433769, 0.831951, 1.5, 1, -0.410973, -0.0961888, -0.472218, 0.77386, 1.53333, 1, -0.427344, -0.0851066, -0.47957, 0.761674, 1.56667, 1, -0.441226, -0.0769068, -0.482041, 0.753022, 1.6, 1, -0.451004, -0.0689451, -0.480733, 0.748824, 1.63333, 1, -0.456159, -0.0604009, -0.475932, 0.749506, 1.66667, 1, -0.457248, -0.052279, -0.467101, 0.754989, 1.7, 1, -0.452633, -0.0441108, -0.453177, 0.766687, 1.73333, 1, -0.444263, -0.0339765, -0.438255, 0.780646, 1.76667, 1, -0.436286, -0.0231006, -0.425293, 0.79262, 1.8, 1, -0.430672, -0.0123697, -0.415411, 0.801125, 1.83333, 1, -0.427028, -0.00231485, -0.407702, 0.807106, 1.86667, 1, -0.4261, 0.00591917, -0.402094, 0.810385, 1.9, 1, -0.426726, 0.0124517, -0.397964, 0.812019, 1.93333, 1, -0.428107, 0.0168768, -0.39541, 0.81246, 1.96667, 1, -0.429619, 0.0190274, -0.394386, 0.812112, 2, 1, -0.430811, 0.0189746, -0.394706, 0.811326, 2.03333, 1, -0.432347, 0.0185466, -0.395349, 0.810205, 2.06667, 1, -0.434211, 0.0180243, -0.396129, 0.808837, 2.1, 1, -0.436421, 0.0174024, -0.397054, 0.807206, 2.13333, 1, -0.439002, 0.0166744, -0.398132, 0.805289, 2.16667, 1, -0.441977, 0.0158329, -0.399371, 0.803062, 2.2, 1, -0.445543, 0.0148214, -0.400852, 0.800368, 2.23333, 1, -0.449605, 0.0136652, -0.402532, 0.797268, 2.26667, 1, -0.454204, 0.0123508, -0.404427, 0.793716, 2.3, 1, -0.459386, 0.0108632, -0.406552, 0.78966, 2.33333, 1, -0.465197, 0.00918645, -0.408921, 0.785042, 2.36667, 1, -0.467268, 0.00880669, -0.40969, 0.783414, 3.79167, 1, -0.467678, 0.00873257, -0.409703, 0.783163) +tracks/35/type = "scale_3d" +tracks/35/imported = true +tracks/35/enabled = true +tracks/35/path = NodePath("Cube_cell_039_cell_005") +tracks/35/interp = 1 +tracks/35/loop_wrap = true +tracks/35/keys = PackedFloat32Array(0, 1, 0.144713, 0.00668692, 0.209832, 0.0333333, 1, 0.755135, 0.64488, 0.759968, 0.0666667, 1, 0.90774, 0.804428, 0.897503, 3.79167, 1, 0.90774, 0.804428, 0.897503) +tracks/36/type = "position_3d" +tracks/36/imported = true +tracks/36/enabled = true +tracks/36/path = NodePath("Cube_cell_032_cell_007") +tracks/36/interp = 1 +tracks/36/loop_wrap = true +tracks/36/keys = PackedFloat32Array(0, 1, 1.58707, -3.48663, 1.54889, 0.0333333, 1, 1.58139, -3.52102, 1.5776, 0.0666667, 1, 1.57065, -3.45305, 1.63214, 0.1, 1, 1.55745, -3.34678, 1.69947, 0.133333, 1, 1.54351, -3.24008, 1.77071, 0.166667, 1, 1.52971, -3.14462, 1.84126, 0.2, 1, 1.51608, -3.06391, 1.91093, 0.233333, 1, 1.50257, -2.99408, 1.97997, 0.266667, 1, 1.48918, -2.93504, 2.04841, 0.3, 1, 1.47591, -2.8867, 2.11626, 0.333333, 1, 1.46275, -2.84896, 2.18353, 0.366667, 1, 1.44974, -2.8252, 2.25006, 0.4, 1, 1.43683, -2.8118, 2.31604, 0.466667, 1, 1.41133, -2.8158, 2.44636, 0.5, 1, 1.39874, -2.83304, 2.51072, 0.533333, 1, 1.38629, -2.86365, 2.57437, 0.566667, 1, 1.37394, -2.90417, 2.63749, 0.6, 1, 1.3617, -2.95452, 2.70006, 0.633333, 1, 1.34957, -3.01462, 2.7621, 0.666667, 1, 1.33754, -3.08438, 2.82358, 0.7, 1, 1.32565, -3.16685, 2.88432, 0.733333, 1, 1.31388, -3.25868, 2.94449, 0.766667, 1, 1.30223, -3.35977, 3.00406, 0.8, 1, 1.2907, -3.47, 3.06302, 0.833333, 1, 1.27928, -3.58925, 3.12135, 0.866667, 1, 1.28252, -3.57448, 3.14366, 0.9, 1, 1.28684, -3.5584, 3.16265, 0.933333, 1, 1.29149, -3.54877, 3.1804, 0.966667, 1, 1.29605, -3.54752, 3.19749, 1, 1, 1.30042, -3.55076, 3.21299, 1.03333, 1, 1.30413, -3.55552, 3.22524, 1.06667, 1, 1.30715, -3.56432, 3.23611, 1.1, 1, 1.30878, -3.57634, 3.24608, 1.13333, 1, 1.30828, -3.58615, 3.25446, 1.16667, 1, 1.3049, -3.58373, 3.25941, 1.2, 1, 1.30269, -3.58549, 3.26225, 1.23333, 1, 1.30194, -3.58592, 3.26327, 3.79167, 1, 1.30179, -3.58591, 3.2635) +tracks/37/type = "rotation_3d" +tracks/37/imported = true +tracks/37/enabled = true +tracks/37/path = NodePath("Cube_cell_032_cell_007") +tracks/37/interp = 1 +tracks/37/loop_wrap = true +tracks/37/keys = PackedFloat32Array(0, 1, -0.000103984, -0.0492278, -8.0784e-05, 0.998788, 0.833333, 1, -0.000125621, -0.0492278, -8.66656e-05, 0.998788, 0.866667, 1, -0.0125745, -0.0424697, -0.0363936, 0.998356, 0.9, 1, -0.0397837, -0.0326452, -0.061065, 0.996806, 0.933333, 1, -0.0719685, -0.0216342, -0.0814038, 0.993844, 0.966667, 1, -0.101091, -0.00977598, -0.0962626, 0.990161, 1, 1, -0.120943, 0.00412922, -0.096104, 0.987988, 1.03333, 1, -0.109123, 0.0206883, -0.0772376, 0.990807, 1.06667, 1, -0.0763204, 0.0377973, -0.0550263, 0.994846, 1.1, 1, -0.0328192, 0.0558399, -0.0234287, 0.997625, 1.13333, 1, 0.00375549, 0.07122, 0.00678381, 0.997431, 1.16667, 1, 0.00852376, 0.0766477, 0.00809169, 0.996989, 1.2, 1, 0.00104579, 0.081328, 0.00130802, 0.996686, 1.23333, 1, -0.000409428, 0.0836713, -0.000204134, 0.996493, 3.79167, 1, -0.000108537, 0.0844563, -7.14679e-05, 0.996427) +tracks/38/type = "scale_3d" +tracks/38/imported = true +tracks/38/enabled = true +tracks/38/path = NodePath("Cube_cell_032_cell_007") +tracks/38/interp = 1 +tracks/38/loop_wrap = true +tracks/38/keys = PackedFloat32Array(0, 1, 0.213365, 1.21704e-06, 0.213365, 0.0333333, 1, 0.768865, 0.726192, 0.768865, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) +tracks/39/type = "position_3d" +tracks/39/imported = true +tracks/39/enabled = true +tracks/39/path = NodePath("Cube_cell_008_cell_004") +tracks/39/interp = 1 +tracks/39/loop_wrap = true +tracks/39/keys = PackedFloat32Array(0, 1, 2.16462, -3.49961, 1.29807, 0.0333333, 1, 2.17375, -3.28059, 1.32536, 0.0666667, 1, 2.19128, -3.13739, 1.37647, 0.1, 1, 2.2129, -3.01559, 1.43915, 0.133333, 1, 2.23576, -2.89365, 1.50527, 0.166667, 1, 2.25843, -2.78295, 1.57083, 0.2, 1, 2.28085, -2.68702, 1.63567, 0.233333, 1, 2.30309, -2.602, 1.70001, 0.266667, 1, 2.32516, -2.52782, 1.76385, 0.3, 1, 2.34707, -2.46438, 1.82721, 0.333333, 1, 2.36882, -2.41162, 1.8901, 0.366667, 1, 2.39035, -2.37294, 1.95239, 0.4, 1, 2.41173, -2.34471, 2.01422, 0.433333, 1, 2.43295, -2.32686, 2.07561, 0.466667, 1, 2.45403, -2.31934, 2.13656, 0.5, 1, 2.47495, -2.32206, 2.19708, 0.533333, 1, 2.49568, -2.33833, 2.25703, 0.566667, 1, 2.51626, -2.36465, 2.31655, 0.6, 1, 2.53669, -2.40097, 2.37564, 0.633333, 1, 2.55697, -2.44722, 2.4343, 0.666667, 1, 2.5771, -2.50333, 2.49253, 0.7, 1, 2.59703, -2.57244, 2.55018, 0.733333, 1, 2.61682, -2.65119, 2.60739, 0.766667, 1, 2.63644, -2.7395, 2.66416, 0.8, 1, 2.65591, -2.83729, 2.72047, 0.833333, 1, 2.67522, -2.94447, 2.77632, 0.866667, 1, 2.69431, -3.06399, 2.83153, 0.9, 1, 2.71323, -3.19258, 2.88624, 0.933333, 1, 2.73018, -3.27016, 2.93902, 0.966667, 1, 2.74485, -3.28759, 2.98974, 1, 1, 2.75841, -3.28671, 3.03954, 1.03333, 1, 2.77131, -3.29431, 3.08751, 1.06667, 1, 2.78247, -3.29704, 3.13145, 1.1, 1, 2.79231, -3.29831, 3.17225, 1.13333, 1, 2.80105, -3.29988, 3.21039, 1.16667, 1, 2.80866, -3.30183, 3.24594, 1.2, 1, 2.81471, -3.30462, 3.27821, 1.23333, 1, 2.81952, -3.30824, 3.30815, 1.26667, 1, 2.82307, -3.31297, 3.3359, 1.3, 1, 2.82521, -3.31836, 3.36145, 1.33333, 1, 2.82568, -3.32318, 3.38461, 1.36667, 1, 2.82305, -3.31788, 3.40221, 1.4, 1, 2.82027, -3.31495, 3.41763, 1.43333, 1, 2.81756, -3.31362, 3.43073, 1.46667, 1, 2.81518, -3.31347, 3.44147, 1.5, 1, 2.81341, -3.31443, 3.44991, 1.53333, 1, 2.81283, -3.31687, 3.45548, 1.56667, 1, 2.81336, -3.32054, 3.45905, 1.6, 1, 2.81497, -3.32269, 3.46043, 1.63333, 1, 2.81684, -3.323, 3.46034, 3.79167, 1, 2.81729, -3.32356, 3.46052) +tracks/40/type = "rotation_3d" +tracks/40/imported = true +tracks/40/enabled = true +tracks/40/path = NodePath("Cube_cell_008_cell_004") +tracks/40/interp = 1 +tracks/40/loop_wrap = true +tracks/40/keys = PackedFloat32Array(0, 1, -0.0550525, -0.0216789, -0.0326793, 0.997713, 0.0666667, 1, -0.0550358, -0.021712, -0.0313496, 0.997756, 0.166667, 1, -0.0550111, -0.0217613, -0.0293713, 0.997816, 0.233333, 1, -0.0549949, -0.0217939, -0.0280647, 0.997854, 0.333333, 1, -0.0549709, -0.0218423, -0.0261206, 0.997907, 0.4, 1, -0.054955, -0.0218744, -0.0248365, 0.99794, 0.466667, 1, -0.0549393, -0.0219062, -0.0235609, 0.997971, 0.533333, 1, -0.0549238, -0.0219378, -0.0222942, 0.998001, 0.6, 1, -0.0549085, -0.0219691, -0.0210365, 0.998028, 0.7, 1, -0.0548857, -0.0220158, -0.0191661, 0.998066, 0.766667, 1, -0.0548707, -0.0220466, -0.0179302, 0.998089, 0.833333, 1, -0.0548559, -0.0220773, -0.0167025, 0.99811, 0.9, 1, -0.0548412, -0.0221077, -0.0154841, 0.99813, 0.933333, 1, -0.0522985, -0.0223248, -0.0109762, 0.998322, 0.966667, 1, -0.0497653, -0.0228618, -0.00193673, 0.998497, 1, 1, -0.0548716, -0.0237554, 0.00899471, 0.99817, 1.03333, 1, -0.0542168, -0.0241608, 0.0199104, 0.998038, 1.06667, 1, -0.0539761, -0.0245384, 0.031375, 0.997748, 1.1, 1, -0.0538204, -0.0248248, 0.043766, 0.997282, 1.13333, 1, -0.0535664, -0.0249729, 0.0574274, 0.996599, 1.16667, 1, -0.0531763, -0.0249514, 0.0726692, 0.995625, 1.2, 1, -0.0525735, -0.0246571, 0.0906746, 0.994186, 1.23333, 1, -0.0518791, -0.0241251, 0.11129, 0.99214, 1.26667, 1, -0.0510172, -0.0233358, 0.134852, 0.989276, 1.3, 1, -0.0493593, -0.0223831, 0.160675, 0.985518, 1.33333, 1, -0.045731, -0.0214785, 0.187077, 0.981045, 1.36667, 1, -0.0357618, -0.0228994, 0.193335, 0.980214, 1.4, 1, -0.0297434, -0.0239135, 0.198812, 0.979294, 1.43333, 1, -0.0268447, -0.0247524, 0.201934, 0.978718, 1.46667, 1, -0.0266204, -0.0254588, 0.202157, 0.97866, 1.5, 1, -0.0290111, -0.0258862, 0.199967, 0.979031, 1.53333, 1, -0.0347044, -0.0258798, 0.19457, 0.979933, 1.56667, 1, -0.0428853, -0.0255139, 0.186692, 0.98115, 1.6, 1, -0.0483492, -0.0254716, 0.180174, 0.982116, 1.63333, 1, -0.0497882, -0.0259076, 0.177558, 0.982509, 1.66667, 1, -0.0497817, -0.0264418, 0.180048, 0.982041, 3.79167, 1, -0.049827, -0.0268702, 0.179878, 0.982059) +tracks/41/type = "scale_3d" +tracks/41/imported = true +tracks/41/enabled = true +tracks/41/path = NodePath("Cube_cell_008_cell_004") +tracks/41/interp = 1 +tracks/41/loop_wrap = true +tracks/41/keys = PackedFloat32Array(0, 1, 0.211699, 0.000109523, 0.208163, 0.0333333, 1, 0.768532, 0.726214, 0.767825, 0.0666667, 1, 0.90774, 0.90774, 0.90774, 3.79167, 1, 0.90774, 0.90774, 0.90774) +tracks/42/type = "value" +tracks/42/imported = false +tracks/42/enabled = true +tracks/42/path = NodePath(".:position") +tracks/42/interp = 1 +tracks/42/loop_wrap = true +tracks/42/keys = { +"times": PackedFloat32Array(0, 3.8, 6.73333), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector3(-3.59119, 7.25161, 10.1115), Vector3(-3.59119, 7.25161, 10.1115), Vector3(-3.591, 6.167, 10.111)] +} +tracks/43/type = "value" +tracks/43/imported = false +tracks/43/enabled = true +tracks/43/path = NodePath(".:visible") +tracks/43/interp = 1 +tracks/43/loop_wrap = true +tracks/43/keys = { +"times": PackedFloat32Array(0, 0.166667, 6.76667), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [false, true, false] +} + +[sub_resource type="Animation" id="Animation_5u62c"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(-3.59119, 7.25161, 10.1115)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_s7ahh"] +_data = { +&"Animation": SubResource("Animation_sn5j6"), +&"RESET": SubResource("Animation_5u62c") } [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_sjgs2"] @@ -1729,7 +1395,7 @@ advance_mode = 2 states/attack/node = SubResource("AnimationNodeAnimation_sjgs2") states/attack/position = Vector2(724, 85) states/idle/node = SubResource("AnimationNodeAnimation_p21h7") -states/idle/position = Vector2(386, 79) +states/idle/position = Vector2(387, 79) transitions = ["Start", "idle", SubResource("AnimationNodeStateMachineTransition_aw4be"), "idle", "attack", SubResource("AnimationNodeStateMachineTransition_cpus0"), "attack", "idle", SubResource("AnimationNodeStateMachineTransition_l47f2")] [node name="Arm5" type="Node3D"] @@ -1738,80 +1404,75 @@ AttackData = SubResource("Resource_flp87") [node name="ROCK SMASH" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.59119, 7.25161, 10.1115) - -[node name="Rock Smash Animation" type="AnimationPlayer" parent="ROCK SMASH"] -process_mode = 3 -libraries = { -&"": SubResource("AnimationLibrary_s7ahh") -} +visible = false [node name="Cube_cell_036" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(-0.0196174, 0.000187991, -0.207857, 0.055434, -0.00294441, -0.0197846, 0.161066, 0.00103627, -0.0185072, 2.6238, -3.48718, 0.350017) +transform = Transform3D(-0.77596, 0.249848, 0.399317, 0.229652, 0.872535, -0.0996708, -0.411264, 0.0158233, -0.809076, 7.35226, -3.57915, 0.545726) mesh = SubResource("ArrayMesh_mwsfi") skeleton = NodePath("") [node name="Cube_cell_026_cell" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(0.183023, 0.00304152, 0.0238463, -0.0446674, 0.029009, 0.0528223, -0.030387, -0.0243225, 0.0659822, 1.77564, -3.48865, 0.617611) +transform = Transform3D(0.869264, 0.0678596, 0.25252, -0.212709, 0.693359, 0.545894, -0.152073, -0.581928, 0.679871, -1.57176, -3.54047, 17.4467) mesh = SubResource("ArrayMesh_yaf82") skeleton = NodePath("") [node name="Cube_cell_012_cell_006" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(0.208262, -7.73714e-05, -0.0359246, -0.00745572, -0.000913401, 0.0455307, 0.0433008, 0.000214856, 0.180624, 2.94116, -3.48725, 0.277391) +transform = Transform3D(-0.405666, -0.71218, 0.390164, 0.126741, -0.486322, -0.755923, 0.802101, -0.283344, 0.316771, 5.72316, -3.56185, -0.142704) mesh = SubResource("ArrayMesh_mf0fv") skeleton = NodePath("") [node name="Cube_cell_005_cell_001" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(-0.0680686, -0.0363712, 0.0414917, 0.0521387, -0.0452918, 0.0613171, -0.00315236, 0.0362529, 0.118232, 1.71506, -3.48988, -0.219024) +transform = Transform3D(-0.151836, -0.221721, 0.867051, -0.889419, 0.135014, -0.121228, -0.0993516, -0.869829, -0.23983, -0.447331, -3.51994, -9.17886) mesh = SubResource("ArrayMesh_ftrgi") skeleton = NodePath("") [node name="Cube_cell_cell" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(0.104734, -0.00666898, -0.0214057, 0.0604164, 0.011097, 0.0540804, -0.00621975, -0.0045059, 0.164869, 0.434769, -3.49682, 0.186093) +transform = Transform3D(0.634157, 0.294344, -0.323215, -0.605196, 0.353464, -0.00828141, 0.235741, 0.115613, 0.848207, -0.592601, -3.56393, 0.335403) mesh = SubResource("ArrayMesh_puagn") skeleton = NodePath("") [node name="Cube_cell_cell_005" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(0.16833, 0.000277197, 0.0828008, -0.0471327, 0.00140579, 0.0227262, 0.0677725, 0.000289175, -0.189851, 2.2522, -3.4861, 0.994269) +transform = Transform3D(-0.697736, 0.548522, 0.190476, 0.269844, 0.569977, -0.652918, -0.514143, -0.445243, -0.601173, 5.1152, -3.59344, 5.76258) mesh = SubResource("ArrayMesh_082ym") skeleton = NodePath("") [node name="Cube_cell_cell_007" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(0.210713, 4.23231e-06, 0.0260984, -0.00955087, 0.000150809, 0.0276853, -0.0258853, -2.11917e-05, 0.202233, 1.67089, -3.48847, 0.205951) +transform = Transform3D(0.762917, 0.1958, -0.451233, 0.0927743, 0.760498, 0.486854, 0.483055, -0.455298, 0.619155, -14.6742, -3.45879, -7.56414) mesh = SubResource("ArrayMesh_fugsc") skeleton = NodePath("") [node name="Cube_cell_cell_004_cell_007" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(-0.0466832, -0.000188623, 0.182087, -0.011097, 0.00078874, 0.0435594, 0.206714, -2.56011e-07, 0.0434601, 2.04388, -3.49043, -0.657416) +transform = Transform3D(0.171285, 0.376762, -0.807901, -0.0681689, 0.825807, 0.370659, 0.888823, -0.00926998, 0.184119, 2.93068, -3.53875, -3.42814) mesh = SubResource("ArrayMesh_8hrhs") skeleton = NodePath("") [node name="Cube_cell_005_cell_cell_006" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(-0.0585986, 0.18281, 0.000133146, 0.01138, 0.0418629, -0.000672622, 0.203579, 0.0502803, 7.59246e-05, 1.25987, -3.4957, -0.328338) +transform = Transform3D(-0.404434, 0.615904, -0.530177, 0.0258777, -0.582143, -0.696012, -0.812253, -0.325215, 0.241809, -4.11829, -3.37613, -5.54113) mesh = SubResource("ArrayMesh_53pjh") skeleton = NodePath("") [node name="Cube_cell_012_cell_002_cell_003" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(0.168369, 0.000952721, 0.0134803, 0.0528499, -0.0028917, 0.0313204, -0.0195673, 0.000387494, 0.200586, 2.78099, -3.4924, 0.877203) +transform = Transform3D(0.660287, -0.29837, 0.546799, 0.270466, 0.855124, 0.140012, -0.561126, 0.0610774, 0.710915, 4.69964, -3.45594, 2.13534) mesh = SubResource("ArrayMesh_f8xj0") skeleton = NodePath("") [node name="Cube_cell_026_cell_006_cell_006" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(-0.00278005, 0.0475334, -0.190099, 0.00971317, 0.0612591, -0.013076, 0.00434639, -0.106496, -0.0923698, 1.42712, -3.49096, 0.945437) +transform = Transform3D(0.765097, 0.459496, 0.16578, -0.482873, 0.66485, 0.385745, 0.0738425, -0.413315, 0.804804, -2.70943, -3.48923, 8.10288) mesh = SubResource("ArrayMesh_xmko7") skeleton = NodePath("") [node name="Cube_cell_039_cell_005" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(0.123871, 0.00278629, -0.0642265, -0.0610705, 0.00605234, 0.0109022, 0.0432239, 0.000566366, 0.199463, 2.32324, -3.49179, -0.189974) +transform = Transform3D(0.602861, 0.509654, 0.356216, -0.589937, 0.182478, 0.651031, 0.335446, -0.595029, 0.504758, 6.00366, -3.40609, -3.79812) mesh = SubResource("ArrayMesh_s7bwr") skeleton = NodePath("") [node name="Cube_cell_032_cell_007" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(0.212331, 2.04575e-10, -0.0209815, -3.22468e-05, 1.19209e-06, 4.60163e-05, 0.0209815, -2.38135e-10, 0.212331, 1.58707, -3.48663, 1.54889) +transform = Transform3D(0.89479, 0.000112643, 0.152781, -0.000145927, 0.90774, 0.000185385, -0.152781, -0.000207301, 0.89479, 1.30179, -3.58591, 3.2635) mesh = SubResource("ArrayMesh_t7oxb") skeleton = NodePath("") [node name="Cube_cell_008_cell_004" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(0.211048, 7.40135e-06, -0.00825585, -0.0132994, 0.000108596, 0.0231623, 0.00991954, -1.18731e-05, 0.206706, 2.16462, -3.49961, 1.29807) +transform = Transform3D(0.847687, -0.318275, -0.0641788, 0.323137, 0.844491, 0.080062, 0.0316354, -0.0976118, 0.901922, 2.81729, -3.32356, 3.46052) mesh = SubResource("ArrayMesh_ms1fr") skeleton = NodePath("") @@ -1825,155 +1486,155 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(0.0151219, -0.673616, 0.738927, 0.999829, 0.0180681, -0.00399013, -0.0106631, 0.738861, 0.673774, 1.71286, 0.00923371, -1.71285) bones/0/enabled = true -bones/0/position = Vector3(2.6364, -0.477488, -0.76737) -bones/0/rotation = Quaternion(0.334376, 0.275458, 0.74656, 0.50494) +bones/0/position = Vector3(2.62006, -0.0504998, -1.30297) +bones/0/rotation = Quaternion(0.305712, 0.531545, 0.670669, 0.417376) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, -0.0728417, -0.00159788, 0.0728471, 0.996536, 0.040124, -0.00133035, -0.0401337, 0.999193, -2.93367e-07, 1.85949, 2.16067e-07) bones/1/enabled = true bones/1/position = Vector3(-2.93367e-07, 1.85949, 2.16067e-07) -bones/1/rotation = Quaternion(0.184576, 0.599548, -0.0675545, 0.775829) +bones/1/rotation = Quaternion(-0.0168523, 0.173041, -0.130468, 0.97609) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.175376, 0.963955, 0.200086, -0.983797, 0.179282, -0.00142622, -0.0372466, -0.196594, 0.979777, 5.40167e-08, 0.416929, 1.78814e-07) bones/2/enabled = true bones/2/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07) -bones/2/rotation = Quaternion(-0.0388248, 0.270133, -0.682359, 0.678164) +bones/2/rotation = Quaternion(-0.391899, -0.0013121, -0.5353, 0.748243) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.795966, -0.570792, -0.201583, 0.584248, 0.811525, 0.00907693, 0.158408, -0.124999, 0.97943, -1.04308e-07, 0.298126, 2.5332e-07) bones/3/enabled = true bones/3/position = Vector3(-1.04308e-07, 0.298126, 2.5332e-07) -bones/3/rotation = Quaternion(0.0988556, -0.616188, 0.0971576, 0.775307) +bones/3/rotation = Quaternion(0.106525, -0.412173, 0.141205, 0.893771) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 bones/4/rest = Transform3D(0.989608, -0.143495, 0.00921016, 0.143742, 0.98559, -0.0891694, 0.00371789, 0.0895667, 0.995974, -2.08616e-07, 0.217615, -2.68221e-07) bones/4/enabled = true bones/4/position = Vector3(-2.08616e-07, 0.217615, -2.68221e-07) -bones/4/rotation = Quaternion(0.140021, 0.0495498, 0.241109, 0.959065) +bones/4/rotation = Quaternion(0.0344162, 0.0906012, 0.385334, 0.917673) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "Bone.005" bones/5/parent = 1 bones/5/rest = Transform3D(0.891185, 0.451269, 0.046316, -0.453486, 0.88889, 0.0650086, -0.0118334, -0.0789384, 0.996809, 5.40167e-08, 0.416929, 1.78814e-07) bones/5/enabled = true bones/5/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07) -bones/5/rotation = Quaternion(-0.116292, -0.0518593, -0.234746, 0.963681) +bones/5/rotation = Quaternion(-0.110087, 0.126641, -0.29005, 0.942186) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 bones/6/rest = Transform3D(0.94556, -0.313252, -0.0882632, 0.32395, 0.931928, 0.162991, 0.0311977, -0.182711, 0.982672, 1.63913e-07, 0.366572, 3.05474e-07) bones/6/enabled = true bones/6/position = Vector3(1.63913e-07, 0.366572, 3.05474e-07) -bones/6/rotation = Quaternion(0.0362164, -0.109524, 0.0434567, 0.992373) +bones/6/rotation = Quaternion(-0.0172498, 0.0338069, 0.0637341, 0.997245) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 bones/7/rest = Transform3D(0.999951, -0.00959701, -0.00243369, 0.00990077, 0.968862, 0.247402, -1.64111e-05, -0.247414, 0.96891, -4.76837e-07, 0.229155, -5.1409e-07) bones/7/enabled = true bones/7/position = Vector3(-4.76837e-07, 0.229155, -5.1409e-07) -bones/7/rotation = Quaternion(0.0058983, 0.101477, 0.0523821, 0.99344) +bones/7/rotation = Quaternion(-0.356789, 0.0213727, 0.125447, 0.925477) bones/7/scale = Vector3(1, 1, 1) bones/8/name = "Bone.008" bones/8/parent = 7 bones/8/rest = Transform3D(0.996094, -0.035984, -0.080632, 0.0483354, 0.986431, 0.156897, 0.0738921, -0.160182, 0.984318, -2.98023e-08, 0.142665, -1.49012e-07) bones/8/enabled = true bones/8/position = Vector3(-2.98023e-08, 0.142665, -1.49012e-07) -bones/8/rotation = Quaternion(-0.033733, -0.00212775, 0.0295423, 0.998992) +bones/8/rotation = Quaternion(-0.216176, -0.017716, 0.121016, 0.968664) bones/8/scale = Vector3(1, 1, 1) bones/9/name = "Bone.009" bones/9/parent = 1 bones/9/rest = Transform3D(0.998888, 0.0470357, 0.00321129, -0.0471435, 0.997098, 0.0597784, -0.000390256, -0.0598634, 0.998206, 5.40167e-08, 0.416929, 1.78814e-07) bones/9/enabled = true bones/9/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07) -bones/9/rotation = Quaternion(-0.0762984, -0.0447964, 0.0380019, 0.995353) +bones/9/rotation = Quaternion(-0.0210906, 0.123642, -0.0302292, 0.991642) bones/9/scale = Vector3(1, 1, 1) bones/10/name = "Bone.010" bones/10/parent = 9 bones/10/rest = Transform3D(0.999465, -0.0299665, -0.0130887, 0.0321758, 0.972617, 0.230174, 0.00583279, -0.230472, 0.973062, 3.42727e-07, 0.347822, -2.98023e-08) bones/10/enabled = true bones/10/position = Vector3(3.42727e-07, 0.347822, -2.98023e-08) -bones/10/rotation = Quaternion(0.0158861, -0.0450614, 0.00121232, 0.998857) +bones/10/rotation = Quaternion(-0.019315, -0.0501023, -0.0934555, 0.994174) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 bones/11/rest = Transform3D(0.999927, -0.00348298, -0.0115384, 0.00625, 0.968404, 0.249308, 0.0103055, -0.249362, 0.968355, 2.08616e-07, 0.23661, 1.93715e-07) bones/11/enabled = true bones/11/position = Vector3(2.08616e-07, 0.23661, 1.93715e-07) -bones/11/rotation = Quaternion(-0.0348411, -0.102087, 0.0188294, 0.993987) +bones/11/rotation = Quaternion(-0.333723, -0.122333, 0.122729, 0.926607) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "Bone.012" bones/12/parent = 11 bones/12/rest = Transform3D(0.997952, 0.0219325, -0.0600965, -0.0135852, 0.990624, 0.13594, 0.0625145, -0.134846, 0.988893, -2.71946e-07, 0.172989, -3.42727e-07) bones/12/enabled = true bones/12/position = Vector3(-2.71946e-07, 0.172989, -3.42727e-07) -bones/12/rotation = Quaternion(-0.0406208, 0.223864, 0.0769568, 0.970728) +bones/12/rotation = Quaternion(-0.377254, 0.194678, 0.0996594, 0.899916) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "Bone.013" bones/13/parent = 1 bones/13/rest = Transform3D(0.924678, -0.380194, -0.0205531, 0.380732, 0.922777, 0.0593806, -0.00361027, -0.0627332, 0.998024, 5.40167e-08, 0.416929, 1.78814e-07) bones/13/enabled = true bones/13/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07) -bones/13/rotation = Quaternion(0.0233421, -0.054735, 0.294493, 0.953799) +bones/13/rotation = Quaternion(0.11576, 0.0979914, 0.145937, 0.977599) bones/13/scale = Vector3(1, 1, 1) bones/14/name = "Bone.014" bones/14/parent = 13 bones/14/rest = Transform3D(0.961503, 0.268956, 0.0563545, -0.274783, 0.938957, 0.207014, 0.00276326, -0.21453, 0.976714, -5.96046e-08, 0.369993, -2.08616e-07) bones/14/enabled = true bones/14/position = Vector3(-5.96046e-08, 0.369993, -2.08616e-07) -bones/14/rotation = Quaternion(-0.0499747, 0.0261371, -0.0869832, 0.994612) +bones/14/rotation = Quaternion(-0.157885, 0.0388772, -0.163171, 0.973107) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 bones/15/rest = Transform3D(0.991898, -0.123696, -0.0289438, 0.124233, 0.89688, 0.424467, -0.0265457, -0.424624, 0.904981, 2.10945e-07, 0.248162, 2.38419e-07) bones/15/enabled = true bones/15/position = Vector3(2.10945e-07, 0.248162, 2.38419e-07) -bones/15/rotation = Quaternion(-0.105849, -0.123894, 0.0896954, 0.982548) +bones/15/rotation = Quaternion(-0.465696, -0.24585, 0.18627, 0.829451) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "Bone.016" bones/16/parent = 15 bones/16/rest = Transform3D(0.985405, 0.151268, 0.0780709, -0.133169, 0.97071, -0.199974, -0.106034, 0.186658, 0.976686, 1.86265e-07, 0.160425, 2.27243e-07) bones/16/enabled = true bones/16/position = Vector3(1.86265e-07, 0.160425, 2.27243e-07) -bones/16/rotation = Quaternion(0.116053, 0.296393, -0.144087, 0.936975) +bones/16/rotation = Quaternion(-0.272157, 0.262101, 0.0715777, 0.923098) bones/16/scale = Vector3(1, 1, 1) bones/17/name = "Bone.017" bones/17/parent = 1 bones/17/rest = Transform3D(0.731155, -0.681922, -0.0198745, 0.682036, 0.729995, 0.0439837, -0.0154852, -0.045714, 0.998834, 5.40167e-08, 0.416929, 1.78814e-07) bones/17/enabled = true bones/17/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07) -bones/17/rotation = Quaternion(0.138911, -0.108978, 0.545674, 0.819187) +bones/17/rotation = Quaternion(0.209665, -0.0019727, 0.251644, 0.944834) bones/17/scale = Vector3(1, 1, 0.999999) bones/18/name = "Bone.018" bones/18/parent = 17 bones/18/rest = Transform3D(0.857941, 0.502855, 0.105235, -0.513706, 0.842315, 0.163129, -0.00661092, -0.194015, 0.980976, -7.45058e-08, 0.400228, -5.96046e-08) bones/18/enabled = true bones/18/position = Vector3(-7.45058e-08, 0.400228, -5.96046e-08) -bones/18/rotation = Quaternion(-0.111175, 0.281589, -0.158559, 0.939791) +bones/18/rotation = Quaternion(-0.318419, 0.228508, -0.106485, 0.913813) bones/18/scale = Vector3(1, 1, 1) bones/19/name = "Bone.019" bones/19/parent = 18 bones/19/rest = Transform3D(0.998612, 0.0399219, -0.0343592, -0.0384997, 0.998413, 0.0411046, 0.0359456, -0.0397247, 0.998564, -2.79397e-07, 0.196712, 1.78814e-07) bones/19/enabled = true bones/19/position = Vector3(-2.79397e-07, 0.196712, 1.78814e-07) -bones/19/rotation = Quaternion(0.0489777, -0.182736, -0.12624, 0.973793) +bones/19/rotation = Quaternion(-0.238211, -0.127466, -0.00681601, 0.962788) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "Bone.020" bones/20/parent = 19 bones/20/rest = Transform3D(0.986971, -0.159728, -0.019369, 0.158628, 0.945817, 0.283313, -0.0269336, -0.282694, 0.958832, -1.2666e-07, 0.127214, 2.08616e-07) bones/20/enabled = true bones/20/position = Vector3(-1.2666e-07, 0.127214, 2.08616e-07) -bones/20/rotation = Quaternion(-0.0493745, 0.217153, 0.0123814, 0.974809) +bones/20/rotation = Quaternion(-0.391428, 0.227345, 0.0444461, 0.890575) bones/20/scale = Vector3(1, 0.999999, 1) bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.769842, -0.636234, 0.0505046, 0.0970479, 0.038481, -0.994536, 0.630814, 0.770536, 0.0913694, 3.03019, -0.0704418, -3.30826) bones/21/enabled = true -bones/21/position = Vector3(1.9305, -0.0460586, -2.74803) -bones/21/rotation = Quaternion(0.749237, 0.144511, -0.0891115, 0.640172) +bones/21/position = Vector3(2.37565, -0.462059, -3.45991) +bones/21/rotation = Quaternion(0.541548, 0.478946, 0.336956, 0.603155) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_008" type="MeshInstance3D" parent="ARM5/5_ R MELEE ARM/Skeleton3D"] @@ -1981,7 +1642,7 @@ mesh = SubResource("ArrayMesh_mat8l") skin = SubResource("Skin_em6a3") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM5/5_ R MELEE ARM/Skeleton3D"] -transform = Transform3D(-0.930569, 0.361794, -0.0560824, -0.137993, -0.20472, 0.969044, 0.339113, 0.909502, 0.240432, 1.65374, -1.11233, 1.2963) +transform = Transform3D(-0.92118, -0.279613, 0.270633, 0.362958, -0.366615, 0.856653, -0.140313, 0.887361, 0.439207, 2.10933, -0.149498, 1.26339) bone_name = "Bone.018" bone_idx = 18 @@ -1999,7 +1660,13 @@ disabled = true libraries = { &"": SubResource("AnimationLibrary_chbc8") } -autoplay = "ARM 5 IDLE" + +[node name="Rock Smash Animation" type="AnimationPlayer" parent="ARM5"] +process_mode = 3 +root_node = NodePath("../../ROCK SMASH") +libraries = { +&"": SubResource("AnimationLibrary_s7ahh") +} [node name="AnimationTree" type="AnimationTree" parent="ARM5"] unique_name_in_owner = true @@ -2012,3 +1679,10 @@ process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.69006, 2.77812, 9.53749) pitch_scale = 0.81 bus = &"SFX" + +[node name="SFX" type="Node3D" parent="."] + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm6.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm6.tscn index 26452869..8b2391bb 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm6.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm6.tscn @@ -536,29 +536,29 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(0.351559, -0.633916, 0.68888, 0.936032, 0.250429, -0.247241, -0.0157858, 0.731734, 0.681407, 1.6292, -0.58344, -1.69503) bones/0/enabled = true -bones/0/position = Vector3(2.33342, -0.687147, -1.91261) -bones/0/rotation = Quaternion(0.234862, 0.559252, 0.453205, 0.653209) +bones/0/position = Vector3(2.43413, -0.758034, -1.98741) +bones/0/rotation = Quaternion(0.219615, 0.635419, 0.374157, 0.638763) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, -0.0728406, -0.00159759, 0.072846, 0.996536, 0.0401254, -0.0013307, -0.0401352, 0.999193, -2.57045e-07, 1.85949, -1.63913e-07) bones/1/enabled = true bones/1/position = Vector3(-2.57045e-07, 1.85949, -1.63913e-07) -bones/1/rotation = Quaternion(-0.0200825, -6.67805e-05, 0.0364532, 0.999134) +bones/1/rotation = Quaternion(-0.0226169, 0.0365289, -0.0305677, 0.998609) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.175377, 0.963955, 0.200084, -0.983797, 0.179282, -0.00142542, -0.0372455, -0.196592, 0.979778, -2.04891e-08, 0.416929, -1.19209e-07) bones/2/enabled = true bones/2/position = Vector3(-2.04891e-08, 0.416929, -1.19209e-07) -bones/2/rotation = Quaternion(-0.464257, 0.232683, -0.547169, 0.656453) +bones/2/rotation = Quaternion(-0.48634, 0.214547, -0.553479, 0.641174) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.795964, -0.570795, -0.201579, 0.584251, 0.811522, 0.00907907, 0.158404, -0.125, 0.97943, -2.79397e-07, 0.298125, 7.07805e-08) bones/3/enabled = true bones/3/position = Vector3(-2.79397e-07, 0.298125, 7.07805e-08) -bones/3/rotation = Quaternion(0.143653, -0.0285067, 0.515388, 0.844349) +bones/3/rotation = Quaternion(0.160391, -0.0163611, 0.532711, 0.830799) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 @@ -572,14 +572,14 @@ bones/5/parent = 1 bones/5/rest = Transform3D(0.891186, 0.451268, 0.0463134, -0.453484, 0.888891, 0.0650076, -0.0118317, -0.0789362, 0.996809, -2.04891e-08, 0.416929, -1.19209e-07) bones/5/enabled = true bones/5/position = Vector3(-2.04891e-08, 0.416929, -1.19209e-07) -bones/5/rotation = Quaternion(-0.0550595, 0.0166141, -0.0757134, 0.99547) +bones/5/rotation = Quaternion(-0.0879521, 0.0148485, -0.0751249, 0.993177) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 bones/6/rest = Transform3D(0.94556, -0.31325, -0.0882615, 0.323948, 0.931928, 0.162993, 0.0311958, -0.182712, 0.982671, 0, 0.366571, 4.47035e-08) bones/6/enabled = true bones/6/position = Vector3(0, 0.366571, 4.47035e-08) -bones/6/rotation = Quaternion(-0.654594, -0.210106, 0.0679959, 0.723007) +bones/6/rotation = Quaternion(-0.696016, -0.210966, 0.0748524, 0.68224) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 @@ -607,7 +607,7 @@ bones/10/parent = 9 bones/10/rest = Transform3D(0.999465, -0.0299655, -0.0130879, 0.0321747, 0.972617, 0.230176, 0.00583219, -0.230474, 0.973061, -2.98023e-08, 0.347821, 2.23517e-07) bones/10/enabled = true bones/10/position = Vector3(-2.98023e-08, 0.347821, 2.23517e-07) -bones/10/rotation = Quaternion(-0.675095, -0.0610144, -0.0962713, 0.728873) +bones/10/rotation = Quaternion(-0.739675, -0.0534615, -0.0912674, 0.6646) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 @@ -635,7 +635,7 @@ bones/14/parent = 13 bones/14/rest = Transform3D(0.961502, 0.268958, 0.056354, -0.274785, 0.938956, 0.207015, 0.00276436, -0.21453, 0.976713, 4.93601e-08, 0.369994, -2.08616e-07) bones/14/enabled = true bones/14/position = Vector3(4.93601e-08, 0.369994, -2.08616e-07) -bones/14/rotation = Quaternion(-0.731906, 0.096456, -0.170995, 0.652511) +bones/14/rotation = Quaternion(-0.790172, 0.102029, -0.148332, 0.585847) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 @@ -656,14 +656,14 @@ bones/17/parent = 1 bones/17/rest = Transform3D(0.731154, -0.681923, -0.0198726, 0.682037, 0.729994, 0.0439829, -0.0154861, -0.0457121, 0.998834, -2.04891e-08, 0.416929, -1.19209e-07) bones/17/enabled = true bones/17/position = Vector3(-2.04891e-08, 0.416929, -1.19209e-07) -bones/17/rotation = Quaternion(-0.0199501, 0.00705526, 0.334738, 0.942074) +bones/17/rotation = Quaternion(-0.0372924, 0.0136837, 0.335118, 0.941338) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "Bone.018" bones/18/parent = 17 bones/18/rest = Transform3D(0.857941, 0.502855, 0.105234, -0.513706, 0.842315, 0.163132, -0.00660832, -0.194017, 0.980976, -1.56462e-07, 0.400229, 2.23517e-07) bones/18/enabled = true bones/18/position = Vector3(-1.56462e-07, 0.400229, 2.23517e-07) -bones/18/rotation = Quaternion(-0.695336, 0.104526, -0.215964, 0.677452) +bones/18/rotation = Quaternion(-0.752679, 0.127129, -0.179054, 0.620687) bones/18/scale = Vector3(1, 1, 1) bones/19/name = "Bone.019" bones/19/parent = 18 @@ -683,8 +683,8 @@ bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.752405, -0.592093, -0.288639, -0.162915, 0.257308, -0.952497, 0.638236, 0.763687, 0.0971389, 2.85513, -1.1162, -3.27626) bones/21/enabled = true -bones/21/position = Vector3(1.21143, -0.972924, -3.57818) -bones/21/rotation = Quaternion(0.642021, 0.331106, -0.056294, 0.689209) +bones/21/position = Vector3(1.11072, -0.902037, -3.50338) +bones/21/rotation = Quaternion(0.663182, 0.392296, -0.0958793, 0.630159) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_001" type="MeshInstance3D" parent="ARM6/6_ L WEAPON ARM/Skeleton3D"] @@ -692,7 +692,7 @@ mesh = SubResource("ArrayMesh_4ec00") skin = SubResource("Skin_37t5x") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM6/6_ L WEAPON ARM/Skeleton3D"] -transform = Transform3D(0.216771, 0.848718, -0.482378, 0.906272, -0.35863, -0.223729, -0.362878, -0.388668, -0.84691, 1.24707, 0.226933, 0.130769) +transform = Transform3D(0.116803, 0.904972, -0.409124, 0.785922, -0.336077, -0.519016, -0.607193, -0.260917, -0.750493, 1.7, 0.568608, -0.0619529) bone_name = "Bone.020" bone_idx = 20 @@ -721,3 +721,10 @@ anim_player = NodePath("../AnimationPlayer") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="ARM6"] bus = &"SFX" + +[node name="SFX" type="Node3D" parent="."] + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm7.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm7.tscn index 41c123c5..199154fe 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm7.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm7.tscn @@ -628,155 +628,155 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(0.0151218, -0.673616, 0.738927, 0.999829, 0.0180678, -0.0039901, -0.010663, 0.738861, 0.673774, 1.71286, 0.009233, -1.71285) bones/0/enabled = true -bones/0/position = Vector3(2.26057, -0.58924, -1.49507) -bones/0/rotation = Quaternion(0.26789, 0.252339, 0.642376, 0.672245) +bones/0/position = Vector3(2.25513, -0.594931, -1.49851) +bones/0/rotation = Quaternion(0.241272, 0.28664, 0.625464, 0.684412) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, -0.0728417, -0.00159799, 0.0728471, 0.996536, 0.0401243, -0.00133027, -0.0401341, 0.999193, 3.45986e-07, 1.85949, 1.30385e-07) bones/1/enabled = true bones/1/position = Vector3(3.45986e-07, 1.85949, 1.30385e-07) -bones/1/rotation = Quaternion(0.109135, 0.589299, 0.142325, 0.787756) +bones/1/rotation = Quaternion(0.0832379, 0.578544, 0.158159, 0.79583) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.175376, 0.963955, 0.200084, -0.983797, 0.179281, -0.0014251, -0.0372451, -0.196592, 0.979778, 5.59958e-08, 0.416929, 4.28408e-08) bones/2/enabled = true bones/2/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08) -bones/2/rotation = Quaternion(-0.0460023, 0.184268, -0.610478, 0.768925) +bones/2/rotation = Quaternion(-0.0476991, 0.174387, -0.61332, 0.768865) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.795965, -0.570793, -0.20158, 0.584249, 0.811523, 0.0090791, 0.158405, -0.125, 0.97943, -3.50177e-07, 0.298125, 3.20375e-07) bones/3/enabled = true bones/3/position = Vector3(-3.50177e-07, 0.298125, 3.20375e-07) -bones/3/rotation = Quaternion(-0.109051, -0.120154, 0.313226, 0.935714) +bones/3/rotation = Quaternion(-0.123493, -0.125017, 0.31463, 0.932806) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 bones/4/rest = Transform3D(0.989609, -0.143493, 0.00920777, 0.14374, 0.98559, -0.089171, 0.00372037, 0.0895679, 0.995974, 6.03497e-07, 0.217615, -2.83122e-07) bones/4/enabled = true bones/4/position = Vector3(6.03497e-07, 0.217615, -2.83122e-07) -bones/4/rotation = Quaternion(0.0221466, 0.0253836, 0.181483, 0.982817) +bones/4/rotation = Quaternion(0.0175996, 0.0301154, 0.202945, 0.978569) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "Bone.005" bones/5/parent = 1 bones/5/rest = Transform3D(0.891185, 0.45127, 0.0463153, -0.453486, 0.888889, 0.0650082, -0.011833, -0.0789377, 0.996809, 5.59958e-08, 0.416929, 4.28408e-08) bones/5/enabled = true bones/5/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08) -bones/5/rotation = Quaternion(-0.0247138, 0.0211622, -0.234737, 0.971514) +bones/5/rotation = Quaternion(-0.0223058, 0.0223735, -0.235116, 0.971454) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 bones/6/rest = Transform3D(0.94556, -0.313252, -0.0882626, 0.323951, 0.931928, 0.162992, 0.0311969, -0.182711, 0.982671, -1.56462e-07, 0.366571, -7.45058e-08) bones/6/enabled = true bones/6/position = Vector3(-1.56462e-07, 0.366571, -7.45058e-08) -bones/6/rotation = Quaternion(-0.142808, -0.0321113, 0.181877, 0.972366) +bones/6/rotation = Quaternion(-0.153508, -0.0324337, 0.185671, 0.970005) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 bones/7/rest = Transform3D(0.999951, -0.00959686, -0.00243394, 0.00990068, 0.968863, 0.247401, -1.61149e-05, -0.247413, 0.96891, 2.14204e-07, 0.229155, -1.71363e-07) bones/7/enabled = true bones/7/position = Vector3(2.14204e-07, 0.229155, -1.71363e-07) -bones/7/rotation = Quaternion(-0.0434401, 0.0383146, 0.0127929, 0.998239) +bones/7/rotation = Quaternion(-0.027344, 0.0459692, 0.0143377, 0.998466) bones/7/scale = Vector3(1, 1, 1) bones/8/name = "Bone.008" bones/8/parent = 7 bones/8/rest = Transform3D(0.996094, -0.0359841, -0.0806318, 0.0483356, 0.986431, 0.156898, 0.0738919, -0.160182, 0.984318, 1.47149e-07, 0.142665, 1.63913e-07) bones/8/enabled = true bones/8/position = Vector3(1.47149e-07, 0.142665, 1.63913e-07) -bones/8/rotation = Quaternion(-0.162636, -0.0733529, 0.00860706, 0.983918) +bones/8/rotation = Quaternion(-0.178866, -0.0801028, 0.00611895, 0.980588) bones/8/scale = Vector3(1, 1, 1) bones/9/name = "Bone.009" bones/9/parent = 1 bones/9/rest = Transform3D(0.998888, 0.0470356, 0.00321137, -0.0471435, 0.997098, 0.0597771, -0.000390392, -0.0598621, 0.998207, 5.59958e-08, 0.416929, 4.28408e-08) bones/9/enabled = true bones/9/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08) -bones/9/rotation = Quaternion(-0.02428, 0.01823, -0.016507, 0.999403) +bones/9/rotation = Quaternion(-0.0231721, 0.0216227, -0.0151247, 0.999383) bones/9/scale = Vector3(1, 1, 1) bones/10/name = "Bone.010" bones/10/parent = 9 bones/10/rest = Transform3D(0.999465, -0.0299664, -0.0130889, 0.0321758, 0.972617, 0.230175, 0.00583295, -0.230473, 0.973061, 2.34169e-07, 0.347821, 2.51457e-07) bones/10/enabled = true bones/10/position = Vector3(2.34169e-07, 0.347821, 2.51457e-07) -bones/10/rotation = Quaternion(-0.071014, -0.00295506, 0.00145, 0.99747) +bones/10/rotation = Quaternion(-0.0621742, -0.00259941, -0.00133589, 0.998061) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 bones/11/rest = Transform3D(0.999927, -0.00348307, -0.0115382, 0.00625005, 0.968404, 0.249308, 0.0103053, -0.249362, 0.968356, -4.47035e-07, 0.236611, -1.2666e-07) bones/11/enabled = true bones/11/position = Vector3(-4.47035e-07, 0.236611, -1.2666e-07) -bones/11/rotation = Quaternion(-0.122306, 0.00456606, 0.00970363, 0.992435) +bones/11/rotation = Quaternion(-0.121646, 0.00653855, 0.0111237, 0.99249) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "Bone.012" bones/12/parent = 11 bones/12/rest = Transform3D(0.997952, 0.0219325, -0.0600964, -0.0135852, 0.990624, 0.13594, 0.0625145, -0.134845, 0.988893, -2.6077e-08, 0.172989, -8.9407e-08) bones/12/enabled = true bones/12/position = Vector3(-2.6077e-08, 0.172989, -8.9407e-08) -bones/12/rotation = Quaternion(-0.100849, -0.0415303, -0.00702041, 0.99401) +bones/12/rotation = Quaternion(-0.107288, -0.0436371, -0.00665055, 0.993248) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "Bone.013" bones/13/parent = 1 bones/13/rest = Transform3D(0.924678, -0.380194, -0.020553, 0.380732, 0.922777, 0.0593802, -0.00361024, -0.0627328, 0.998024, 5.59958e-08, 0.416929, 4.28408e-08) bones/13/enabled = true bones/13/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08) -bones/13/rotation = Quaternion(-0.096354, -0.0403972, 0.181861, 0.977758) +bones/13/rotation = Quaternion(-0.0902744, -0.037031, 0.183043, 0.978251) bones/13/scale = Vector3(1, 1, 1) bones/14/name = "Bone.014" bones/14/parent = 13 bones/14/rest = Transform3D(0.961502, 0.268956, 0.0563545, -0.274783, 0.938957, 0.207014, 0.00276324, -0.21453, 0.976713, -5.96046e-08, 0.369994, -1.19209e-07) bones/14/enabled = true bones/14/position = Vector3(-5.96046e-08, 0.369994, -1.19209e-07) -bones/14/rotation = Quaternion(-0.0441205, 0.0664242, -0.158735, 0.984096) +bones/14/rotation = Quaternion(-0.0316788, 0.0767801, -0.162675, 0.983178) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 bones/15/rest = Transform3D(0.991898, -0.123696, -0.0289435, 0.124233, 0.89688, 0.424467, -0.0265461, -0.424624, 0.904981, 3.35276e-07, 0.248162, 2.98023e-08) bones/15/enabled = true bones/15/position = Vector3(3.35276e-07, 0.248162, 2.98023e-08) -bones/15/rotation = Quaternion(-0.239689, -0.0635565, 0.0483058, 0.967562) +bones/15/rotation = Quaternion(-0.243831, -0.0759087, 0.0452602, 0.965783) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "Bone.016" bones/16/parent = 15 bones/16/rest = Transform3D(0.985405, 0.151269, 0.0780704, -0.133169, 0.970709, -0.199973, -0.106033, 0.186658, 0.976686, 2.5332e-07, 0.160425, 2.38419e-07) bones/16/enabled = true bones/16/position = Vector3(2.5332e-07, 0.160425, 2.38419e-07) -bones/16/rotation = Quaternion(-0.0298466, 0.0139438, -0.0717367, 0.996879) +bones/16/rotation = Quaternion(-0.0552159, 0.00742891, -0.0715926, 0.995877) bones/16/scale = Vector3(1, 1, 1) bones/17/name = "Bone.017" bones/17/parent = 1 bones/17/rest = Transform3D(0.731155, -0.681922, -0.0198728, 0.682036, 0.729995, 0.0439838, -0.0154864, -0.0457129, 0.998835, 5.59958e-08, 0.416929, 4.28408e-08) bones/17/enabled = true bones/17/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08) -bones/17/rotation = Quaternion(-0.029617, -0.0603954, 0.362598, 0.929515) +bones/17/rotation = Quaternion(-0.0306865, -0.0720045, 0.361655, 0.929021) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "Bone.018" bones/18/parent = 17 bones/18/rest = Transform3D(0.857941, 0.502855, 0.105234, -0.513706, 0.842315, 0.163131, -0.00660895, -0.194016, 0.980976, 3.20375e-07, 0.400228, 5.21541e-08) bones/18/enabled = true bones/18/position = Vector3(3.20375e-07, 0.400228, 5.21541e-08) -bones/18/rotation = Quaternion(-0.0746717, 0.118308, -0.247479, 0.958739) +bones/18/rotation = Quaternion(-0.0709579, 0.135816, -0.24378, 0.957648) bones/18/scale = Vector3(1, 1, 1) bones/19/name = "Bone.019" bones/19/parent = 18 bones/19/rest = Transform3D(0.998612, 0.039922, -0.0343595, -0.0384998, 0.998413, 0.041105, 0.035946, -0.0397251, 0.998564, -1.11759e-08, 0.196711, 2.08616e-07) bones/19/enabled = true bones/19/position = Vector3(-1.11759e-08, 0.196711, 2.08616e-07) -bones/19/rotation = Quaternion(-0.0172129, -0.0512878, -0.0300501, 0.998083) +bones/19/rotation = Quaternion(-0.0166218, -0.0578792, -0.0320887, 0.997669) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "Bone.020" bones/20/parent = 19 bones/20/rest = Transform3D(0.986971, -0.159729, -0.0193674, 0.158629, 0.945818, 0.283312, -0.0269352, -0.282693, 0.958832, -2.01166e-07, 0.127215, 4.47035e-08) bones/20/enabled = true bones/20/position = Vector3(-2.01166e-07, 0.127215, 4.47035e-08) -bones/20/rotation = Quaternion(-0.17066, -0.0247428, 0.0763065, 0.982059) +bones/20/rotation = Quaternion(-0.175964, -0.0299666, 0.0754335, 0.981045) bones/20/scale = Vector3(1, 1, 1) bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.769842, -0.636234, 0.0505047, 0.097048, 0.038481, -0.994536, 0.630814, 0.770536, 0.0913695, 3.03019, -0.0704427, -3.30826) bones/21/enabled = true -bones/21/position = Vector3(2.72592, 0.0508442, -3.40417) -bones/21/rotation = Quaternion(0.755484, 0.0750541, 0.29032, 0.582516) +bones/21/position = Vector3(2.73136, 0.0565356, -3.40071) +bones/21/rotation = Quaternion(0.756788, 0.0717616, 0.291718, 0.580536) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_002" type="MeshInstance3D" parent="Pivot/ARM7/7_ L AGNI CONE ARM/Skeleton3D"] @@ -784,7 +784,7 @@ mesh = SubResource("ArrayMesh_x24rv") skin = SubResource("Skin_pqs8c") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Pivot/ARM7/7_ L AGNI CONE ARM/Skeleton3D"] -transform = Transform3D(-0.857808, -0.453976, 0.240978, 0.307932, -0.0785529, 0.94816, -0.411513, 0.887544, 0.207177, 0.905988, -0.531269, -0.222489) +transform = Transform3D(-0.855846, -0.461249, 0.234045, 0.288884, -0.050929, 0.956009, -0.429038, 0.885808, 0.176835, 0.920325, -0.406816, -0.21765) bone_name = "Bone.001" bone_idx = 1 @@ -837,3 +837,10 @@ bus = &"SFX" [node name="Rotation" type="Node3D" parent="."] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.47512, 10.9398, -1.13179) + +[node name="SFX" type="Node3D" parent="."] + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm8.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm8.tscn index f48efe14..68e7e027 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm8.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm8.tscn @@ -550,155 +550,155 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(-0.0590079, 0.671656, -0.73851, -0.998184, -0.0307105, 0.0518258, 0.0121291, 0.740227, 0.672248, -1.70411, 0.133377, -1.7164) bones/0/enabled = true -bones/0/position = Vector3(-2.86036, 0.536001, -1.17785) -bones/0/rotation = Quaternion(0.0477168, -0.235363, -0.730041, 0.639819) +bones/0/position = Vector3(-2.86362, 0.703859, -1.20191) +bones/0/rotation = Quaternion(0.00731149, -0.584844, -0.714614, 0.383707) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, 0.0728404, -0.00158078, -0.0727175, 0.996536, 0.0403564, 0.00451488, -0.0401342, 0.999184, -2.90573e-07, 1.85949, 2.08616e-07) bones/1/enabled = true bones/1/position = Vector3(-2.90573e-07, 1.85949, 2.08616e-07) -bones/1/rotation = Quaternion(-0.415121, -0.0296713, 0.160074, 0.895081) +bones/1/rotation = Quaternion(-0.102341, 0.0154878, 0.19142, 0.976035) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.189847, -0.964576, -0.183168, 0.981103, 0.179283, 0.0727586, -0.0373423, -0.19352, 0.980385, -4.00469e-08, 0.416929, 2.21189e-07) bones/2/enabled = true bones/2/position = Vector3(-4.00469e-08, 0.416929, 2.21189e-07) -bones/2/rotation = Quaternion(-0.111191, -0.136088, 0.756034, 0.6305) +bones/2/rotation = Quaternion(-0.33906, -0.0849842, 0.763966, 0.542376) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.810203, 0.578594, -0.09381, -0.560363, 0.811523, 0.165603, 0.171946, -0.0816041, 0.981721, -3.22238e-07, 0.298125, 1.47149e-07) bones/3/enabled = true bones/3/position = Vector3(-3.22238e-07, 0.298125, 1.47149e-07) -bones/3/rotation = Quaternion(-0.0191914, -0.0799707, -0.475948, 0.87562) +bones/3/rotation = Quaternion(-0.161693, -0.00224077, -0.427307, 0.889527) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 bones/4/rest = Transform3D(0.986624, 0.16227, 0.0155225, -0.161299, 0.98559, -0.0509395, -0.0235648, 0.0477544, 0.998581, -3.7998e-07, 0.217615, -1.49012e-08) bones/4/enabled = true bones/4/position = Vector3(-3.7998e-07, 0.217615, -1.49012e-08) -bones/4/rotation = Quaternion(-0.344798, -0.195804, -0.454989, 0.797345) +bones/4/rotation = Quaternion(-0.158547, 0.0300075, -0.38603, 0.908264) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "Bone.005" bones/5/parent = 1 bones/5/rest = Transform3D(0.89182, -0.451516, 0.0281059, 0.446851, 0.888891, 0.100983, -0.0705783, -0.0774991, 0.994491, -4.00469e-08, 0.416929, 2.21189e-07) bones/5/enabled = true bones/5/position = Vector3(-4.00469e-08, 0.416929, 2.21189e-07) -bones/5/rotation = Quaternion(0.0485217, 0.24554, 0.183288, 0.950664) +bones/5/rotation = Quaternion(-0.252243, 0.225327, 0.0500557, 0.939732) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 bones/6/rest = Transform3D(0.941855, 0.326829, -0.0780508, -0.307447, 0.931929, 0.192315, 0.135592, -0.157136, 0.978224, 1.04308e-07, 0.366571, -1.04308e-07) bones/6/enabled = true bones/6/position = Vector3(1.04308e-07, 0.366571, -1.04308e-07) -bones/6/rotation = Quaternion(-0.36339, 0.505576, -0.430126, 0.653707) +bones/6/rotation = Quaternion(-0.31201, 0.300991, -0.17525, 0.883935) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 bones/7/rest = Transform3D(0.999908, -0.0133745, -0.00243147, 0.0135605, 0.968863, 0.247226, -0.000950764, -0.247236, 0.968955, -2.23517e-08, 0.229155, -3.05474e-07) bones/7/enabled = true bones/7/position = Vector3(-2.23517e-08, 0.229155, -3.05474e-07) -bones/7/rotation = Quaternion(-0.0343927, -0.34582, -0.0847676, 0.933831) +bones/7/rotation = Quaternion(-0.493366, -0.103627, -0.27291, 0.819373) bones/7/scale = Vector3(1, 1, 1) bones/8/name = "Bone.008" bones/8/parent = 7 bones/8/rest = Transform3D(0.996542, 0.0206575, -0.080485, -0.00720112, 0.986431, 0.164018, 0.0827811, -0.162871, 0.983168, -2.23517e-08, 0.142665, 3.8743e-07) bones/8/enabled = true bones/8/position = Vector3(-2.23517e-08, 0.142665, 3.8743e-07) -bones/8/rotation = Quaternion(-0.733689, -0.248099, -0.0666938, 0.629046) +bones/8/rotation = Quaternion(-0.0820702, -0.0409904, -0.00699433, 0.995759) bones/8/scale = Vector3(1, 1, 1) bones/9/name = "Bone.009" bones/9/parent = 1 bones/9/rest = Transform3D(0.998879, -0.0472238, 0.00320375, 0.0469474, 0.997098, 0.0599291, -0.00602453, -0.0597115, 0.998197, -4.00469e-08, 0.416929, 2.21189e-07) bones/9/enabled = true bones/9/position = Vector3(-4.00469e-08, 0.416929, 2.21189e-07) -bones/9/rotation = Quaternion(-0.00287504, 0.197654, -0.0587341, 0.978507) +bones/9/rotation = Quaternion(-0.277044, 0.152217, -0.146671, 0.937318) bones/9/scale = Vector3(1, 1, 1) bones/10/name = "Bone.010" bones/10/parent = 9 bones/10/rest = Transform3D(0.999443, 0.0307126, -0.0130675, -0.0268699, 0.972617, 0.230855, 0.0197998, -0.230375, 0.9729, 2.6077e-08, 0.347822, -2.08616e-07) bones/10/enabled = true bones/10/position = Vector3(2.6077e-08, 0.347822, -2.08616e-07) -bones/10/rotation = Quaternion(-0.366187, 0.286794, -0.0282133, 0.884794) +bones/10/rotation = Quaternion(-0.418828, 0.268042, -0.053925, 0.865927) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 bones/11/rest = Transform3D(0.999931, -0.00226062, -0.0115383, 0.00506643, 0.968404, 0.249333, 0.0106101, -0.249375, 0.968349, -1.30385e-07, 0.236611, 4.47035e-08) bones/11/enabled = true bones/11/position = Vector3(-1.30385e-07, 0.236611, 4.47035e-08) -bones/11/rotation = Quaternion(-0.484883, -0.143005, -0.305947, 0.806743) +bones/11/rotation = Quaternion(-0.445537, -0.132568, -0.326403, 0.823033) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "Bone.012" bones/12/parent = 11 bones/12/rest = Transform3D(0.997806, -0.0280226, -0.0599812, 0.0357474, 0.990624, 0.13186, 0.0557237, -0.133715, 0.989452, -7.47386e-08, 0.172989, -1.93715e-07) bones/12/enabled = true bones/12/position = Vector3(-7.47386e-08, 0.172989, -1.93715e-07) -bones/12/rotation = Quaternion(-0.674764, -0.181574, -0.053637, 0.713336) +bones/12/rotation = Quaternion(-0.0665781, -0.0290065, 0.0159868, 0.997231) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "Bone.013" bones/13/parent = 1 bones/13/rest = Transform3D(0.92488, 0.379995, -0.0141588, -0.377984, 0.922776, 0.0749238, 0.0415361, -0.0639438, 0.997089, -4.00469e-08, 0.416929, 2.21189e-07) bones/13/enabled = true bones/13/position = Vector3(-4.00469e-08, 0.416929, 2.21189e-07) -bones/13/rotation = Quaternion(-0.0404105, 0.235688, -0.241636, 0.940442) +bones/13/rotation = Quaternion(-0.310431, 0.0801896, -0.342708, 0.883036) bones/13/scale = Vector3(1, 1, 1) bones/14/name = "Bone.014" bones/14/parent = 13 bones/14/rest = Transform3D(0.959373, -0.277519, 0.0508523, 0.259649, 0.938956, 0.225709, -0.110386, -0.203335, 0.972867, -1.75089e-07, 0.369994, 8.9407e-08) bones/14/enabled = true bones/14/position = Vector3(-1.75089e-07, 0.369994, 8.9407e-08) -bones/14/rotation = Quaternion(-0.323858, 0.266294, 0.0707673, 0.905094) +bones/14/rotation = Quaternion(-0.47282, 0.213317, 0.0551757, 0.853166) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 bones/15/rest = Transform3D(0.987789, 0.153063, -0.029059, -0.126508, 0.89688, 0.423794, 0.0909294, -0.414943, 0.905292, 1.37836e-07, 0.248162, 1.49012e-08) bones/15/enabled = true bones/15/position = Vector3(1.37836e-07, 0.248162, 1.49012e-08) -bones/15/rotation = Quaternion(-0.485912, -0.170427, -0.307875, 0.800036) +bones/15/rotation = Quaternion(-0.443631, -0.175899, -0.440825, 0.760213) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "Bone.016" bones/16/parent = 15 bones/16/rest = Transform3D(0.985538, -0.152265, 0.0743632, 0.163273, 0.97071, -0.176253, -0.045348, 0.185845, 0.981532, -3.12924e-07, 0.160424, 2.98023e-07) bones/16/enabled = true bones/16/position = Vector3(-3.12924e-07, 0.160424, 2.98023e-07) -bones/16/rotation = Quaternion(-0.752622, -0.12995, -0.0285064, 0.644872) +bones/16/rotation = Quaternion(0.0912368, 0.0301633, 0.0795053, 0.992192) bones/16/scale = Vector3(1, 1, 1) bones/17/name = "Bone.017" bones/17/parent = 1 bones/17/rest = Transform3D(0.731562, 0.681774, 8.39867e-05, -0.68032, 0.729993, 0.0653793, 0.0445127, -0.0478862, 0.99786, -4.00469e-08, 0.416929, 2.21189e-07) bones/17/enabled = true bones/17/position = Vector3(-4.00469e-08, 0.416929, 2.21189e-07) -bones/17/rotation = Quaternion(-0.0447271, 0.191138, -0.382897, 0.902694) +bones/17/rotation = Quaternion(-0.316659, 0.0307608, -0.49809, 0.806652) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "Bone.018" bones/18/parent = 17 bones/18/rest = Transform3D(0.858902, -0.508701, 0.0592547, 0.482273, 0.842314, 0.240665, -0.172338, -0.178131, 0.968798, 0, 0.400229, -1.49012e-07) bones/18/enabled = true bones/18/position = Vector3(0, 0.400229, -1.49012e-07) -bones/18/rotation = Quaternion(-0.4059, 0.212815, 0.176386, 0.871116) +bones/18/rotation = Quaternion(-0.498708, 0.139406, 0.136107, 0.844589) bones/18/scale = Vector3(1, 1, 1) bones/19/name = "Bone.019" bones/19/parent = 18 bones/19/rest = Transform3D(0.998851, -0.0332958, -0.0344644, 0.0348088, 0.998413, 0.0442743, 0.0329356, -0.0454231, 0.998425, 0, 0.196711, -1.63913e-07) bones/19/enabled = true bones/19/position = Vector3(0, 0.196711, -1.63913e-07) -bones/19/rotation = Quaternion(-0.215568, -0.177333, -0.179672, 0.943293) +bones/19/rotation = Quaternion(-0.240197, -0.252963, -0.349941, 0.8694) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "Bone.020" bones/20/parent = 19 bones/20/rest = Transform3D(0.982791, 0.183548, -0.0207621, -0.170809, 0.945816, 0.276143, 0.0703228, -0.267845, 0.960892, 8.9407e-08, 0.127214, -4.32134e-07) bones/20/enabled = true bones/20/position = Vector3(8.9407e-08, 0.127214, -4.32134e-07) -bones/20/rotation = Quaternion(-0.783862, -0.099073, -0.385542, 0.476553) +bones/20/rotation = Quaternion(-0.137915, -0.0230925, -0.089839, 0.986091) bones/20/scale = Vector3(1, 1, 1) bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.761771, 0.635827, -0.12422, -0.154809, -0.00753331, -0.987916, -0.629079, 0.771795, 0.0926929, -3.0206, 0.148976, -3.31442) bones/21/enabled = true -bones/21/position = Vector3(-3.00047, 0.649937, -3.30368) -bones/21/rotation = Quaternion(0.519951, -0.430294, -0.484721, 0.556366) +bones/21/position = Vector3(-2.9972, 0.482079, -3.27963) +bones/21/rotation = Quaternion(0.526979, -0.398985, -0.408239, 0.629639) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_007" type="MeshInstance3D" parent="ARM8/8_ L MELEE ARM/Skeleton3D"] @@ -706,7 +706,7 @@ mesh = SubResource("ArrayMesh_3e72b") skin = SubResource("Skin_v7bct") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM8/8_ L MELEE ARM/Skeleton3D"] -transform = Transform3D(-0.0850457, -0.714909, -0.694026, -0.979893, -0.0661661, 0.188233, -0.18049, 0.69608, -0.694907, -0.543206, 0.392299, -1.12294) +transform = Transform3D(-0.698426, -0.463424, 0.54538, -0.528493, -0.17989, -0.829659, 0.482592, -0.867685, -0.119277, -1.16401, 0.291725, 0.414628) bone_name = "Bone.012" bone_idx = 12 @@ -736,3 +736,10 @@ unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_5tnjc") anim_player = NodePath("../AnimationPlayer") + +[node name="SFX" type="Node3D" parent="."] + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm9.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm9.tscn index a03237e5..33f72364 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm9.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm9.tscn @@ -1549,141 +1549,141 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(0.664239, -0.5079, 0.548475, 0.747327, 0.467912, -0.471764, -0.0170288, 0.723254, 0.690372, 1.32537, -1.1447, -1.67359) bones/0/enabled = true -bones/0/position = Vector3(1.44897, -1.07412, -1.44597) -bones/0/rotation = Quaternion(0.0718747, 0.589407, 0.652798, 0.470413) +bones/0/position = Vector3(1.49708, -1.0679, -1.42367) +bones/0/rotation = Quaternion(0.025682, 0.677428, 0.611803, 0.40759) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, -0.0728411, -0.00159727, 0.0728464, 0.996536, 0.0401251, -0.00133102, -0.0401348, 0.999193, 4.76837e-07, 1.85949, -3.57628e-07) bones/1/enabled = true bones/1/position = Vector3(4.76837e-07, 1.85949, -3.57628e-07) -bones/1/rotation = Quaternion(-0.0359125, -0.0151549, 0.0408274, 0.998406) +bones/1/rotation = Quaternion(-0.103688, -0.0798619, 0.0593791, 0.989619) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.175377, 0.963955, 0.200084, -0.983796, 0.179283, -0.00142535, -0.0372456, -0.196592, 0.979778, 2.38419e-07, 0.416929, 0) bones/2/enabled = true bones/2/position = Vector3(2.38419e-07, 0.416929, 0) -bones/2/rotation = Quaternion(-0.0773159, 0.0838183, -0.639008, 0.7607) +bones/2/rotation = Quaternion(-0.134362, 0.109791, -0.644194, 0.74492) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.795965, -0.570793, -0.20158, 0.584249, 0.811523, 0.00907775, 0.158406, -0.124999, 0.97943, -3.57628e-07, 0.298125, 2.98023e-07) bones/3/enabled = true bones/3/position = Vector3(-3.57628e-07, 0.298125, 2.98023e-07) -bones/3/rotation = Quaternion(-0.0337242, -0.0945647, 0.311406, 0.944958) +bones/3/rotation = Quaternion(-0.0266758, -0.0925272, 0.338443, 0.936047) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 bones/4/rest = Transform3D(0.989609, -0.143491, 0.00920793, 0.143738, 0.98559, -0.0891698, 0.00371984, 0.0895667, 0.995974, -1.19209e-07, 0.217615, 0) bones/4/enabled = true bones/4/position = Vector3(-1.19209e-07, 0.217615, 0) -bones/4/rotation = Quaternion(0.0521753, 0.00185834, 0.0816374, 0.995294) +bones/4/rotation = Quaternion(0.0832059, 0.00389879, 0.122132, 0.989012) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "Bone.005" bones/5/parent = 1 bones/5/rest = Transform3D(0.891187, 0.451267, 0.0463142, -0.453483, 0.888891, 0.0650071, -0.0118327, -0.0789361, 0.99681, 2.38419e-07, 0.416929, 0) bones/5/enabled = true bones/5/position = Vector3(2.38419e-07, 0.416929, 0) -bones/5/rotation = Quaternion(-0.042723, 0.015574, -0.23099, 0.971893) +bones/5/rotation = Quaternion(-0.0656899, 0.0180486, -0.223705, 0.972273) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 bones/6/rest = Transform3D(0.945561, -0.313247, -0.0882632, 0.323946, 0.931929, 0.162995, 0.0311974, -0.182714, 0.982671, 2.38419e-07, 0.366571, 2.38419e-07) bones/6/enabled = true bones/6/position = Vector3(2.38419e-07, 0.366571, 2.38419e-07) -bones/6/rotation = Quaternion(-0.0998232, -0.0320376, 0.162093, 0.981191) +bones/6/rotation = Quaternion(-0.149944, -0.0389323, 0.161557, 0.974628) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 bones/7/rest = Transform3D(0.999951, -0.00959863, -0.00243464, 0.00990257, 0.968864, 0.247396, -1.58236e-05, -0.247408, 0.968911, -3.57628e-07, 0.229155, -4.76837e-07) bones/7/enabled = true bones/7/position = Vector3(-3.57628e-07, 0.229155, -4.76837e-07) -bones/7/rotation = Quaternion(-0.137217, 0.00181086, 0.00700867, 0.990515) +bones/7/rotation = Quaternion(-0.190246, 0.0120906, 0.015896, 0.981533) bones/7/scale = Vector3(1, 1, 1) bones/8/name = "Bone.008" bones/8/parent = 7 bones/8/rest = Transform3D(0.996094, -0.0359844, -0.080632, 0.0483362, 0.986431, 0.156901, 0.0738919, -0.160186, 0.984317, -1.19209e-07, 0.142665, 5.96046e-08) bones/8/enabled = true bones/8/position = Vector3(-1.19209e-07, 0.142665, 5.96046e-08) -bones/8/rotation = Quaternion(-0.0954148, -0.035903, 0.0250445, 0.994475) +bones/8/rotation = Quaternion(-0.162525, -0.0234763, 0.0414917, 0.985552) bones/8/scale = Vector3(1, 1, 1) bones/9/name = "Bone.009" bones/9/parent = 1 bones/9/rest = Transform3D(0.998888, 0.0470345, 0.00320965, -0.0471423, 0.997098, 0.0597765, -0.000388783, -0.0598614, 0.998207, 2.38419e-07, 0.416929, 0) bones/9/enabled = true bones/9/position = Vector3(2.38419e-07, 0.416929, 0) -bones/9/rotation = Quaternion(-0.0397928, 0.00394305, -0.0225522, 0.998946) +bones/9/rotation = Quaternion(-0.0815746, 0.0168447, -0.0182451, 0.996358) bones/9/scale = Vector3(1, 1, 1) bones/10/name = "Bone.010" bones/10/parent = 9 bones/10/rest = Transform3D(0.999465, -0.0299688, -0.013087, 0.0321776, 0.972617, 0.230175, 0.00583061, -0.230473, 0.973061, 1.19209e-07, 0.347821, -4.76837e-07) bones/10/enabled = true bones/10/position = Vector3(1.19209e-07, 0.347821, -4.76837e-07) -bones/10/rotation = Quaternion(-0.126392, -0.00753509, 0.0163716, 0.991817) +bones/10/rotation = Quaternion(-0.170474, -0.019287, 0.0194353, 0.984982) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 bones/11/rest = Transform3D(0.999927, -0.00347542, -0.0115401, 0.00624306, 0.968405, 0.249306, 0.010309, -0.24936, 0.968356, -1.19209e-07, 0.23661, -3.57628e-07) bones/11/enabled = true bones/11/position = Vector3(-1.19209e-07, 0.23661, -3.57628e-07) -bones/11/rotation = Quaternion(-0.136613, -0.0026669, 0.00493318, 0.990609) +bones/11/rotation = Quaternion(-0.182889, 0.00939047, 0.0154718, 0.982967) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "Bone.012" bones/12/parent = 11 bones/12/rest = Transform3D(0.997952, 0.0219231, -0.0600952, -0.0135757, 0.990623, 0.135945, 0.062512, -0.13485, 0.988892, -7.15256e-07, 0.172989, -3.57628e-07) bones/12/enabled = true bones/12/position = Vector3(-7.15256e-07, 0.172989, -3.57628e-07) -bones/12/rotation = Quaternion(-0.0776163, -0.028758, -0.00588307, 0.996551) +bones/12/rotation = Quaternion(-0.118764, -0.0203251, 0.00691565, 0.99269) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "Bone.013" bones/13/parent = 1 bones/13/rest = Transform3D(0.924677, -0.380196, -0.0205531, 0.380734, 0.922776, 0.0593795, -0.00360998, -0.0627321, 0.998024, 2.38419e-07, 0.416929, 0) bones/13/enabled = true bones/13/position = Vector3(2.38419e-07, 0.416929, 0) -bones/13/rotation = Quaternion(-0.0348283, -0.00326677, 0.194121, 0.980354) +bones/13/rotation = Quaternion(-0.0504366, 0.00118676, 0.194531, 0.979598) bones/13/scale = Vector3(1, 1, 1) bones/14/name = "Bone.014" bones/14/parent = 13 bones/14/rest = Transform3D(0.961502, 0.268959, 0.0563536, -0.274785, 0.938956, 0.207013, 0.00276419, -0.214528, 0.976714, -4.76837e-07, 0.369994, 1.19209e-07) bones/14/enabled = true bones/14/position = Vector3(-4.76837e-07, 0.369994, 1.19209e-07) -bones/14/rotation = Quaternion(-0.111192, 0.0150185, -0.137708, 0.984097) +bones/14/rotation = Quaternion(-0.12793, 0.020711, -0.136208, 0.982167) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 bones/15/rest = Transform3D(0.991898, -0.123694, -0.0289441, 0.12423, 0.896878, 0.424473, -0.0265452, -0.42463, 0.904978, 4.17233e-07, 0.248162, 0) bones/15/enabled = true bones/15/position = Vector3(4.17233e-07, 0.248162, 0) -bones/15/rotation = Quaternion(-0.226146, 0.00125277, 0.0647348, 0.971939) +bones/15/rotation = Quaternion(-0.260592, 0.00916688, 0.0693033, 0.962915) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "Bone.016" bones/16/parent = 15 bones/16/rest = Transform3D(0.985406, 0.151262, 0.0780701, -0.133163, 0.970709, -0.199978, -0.106032, 0.186663, 0.976685, -8.9407e-08, 0.160424, -8.34465e-07) bones/16/enabled = true bones/16/position = Vector3(-8.9407e-08, 0.160424, -8.34465e-07) -bones/16/rotation = Quaternion(0.0938265, 0.0471315, -0.0712779, 0.991915) +bones/16/rotation = Quaternion(0.0783437, 0.0501464, -0.0694346, 0.99324) bones/16/scale = Vector3(1, 1, 1) bones/17/name = "Bone.017" bones/17/parent = 1 bones/17/rest = Transform3D(0.731154, -0.681923, -0.0198735, 0.682037, 0.729994, 0.0439834, -0.0154858, -0.0457131, 0.998835, 2.38419e-07, 0.416929, 0) bones/17/enabled = true bones/17/position = Vector3(2.38419e-07, 0.416929, 0) -bones/17/rotation = Quaternion(-0.0294796, 0.00224952, 0.368691, 0.929082) +bones/17/rotation = Quaternion(-0.0518302, 0.0165322, 0.377071, 0.924585) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "Bone.018" bones/18/parent = 17 bones/18/rest = Transform3D(0.857942, 0.502854, 0.105233, -0.513705, 0.842316, 0.163129, -0.00660948, -0.194014, 0.980976, -5.96046e-07, 0.400228, -7.15256e-07) bones/18/enabled = true bones/18/position = Vector3(-5.96046e-07, 0.400228, -7.15256e-07) -bones/18/rotation = Quaternion(-0.0980325, 0.0316004, -0.264996, 0.958733) +bones/18/rotation = Quaternion(-0.118684, 0.0418215, -0.265245, 0.955934) bones/18/scale = Vector3(1, 1, 1) bones/19/name = "Bone.019" bones/19/parent = 18 bones/19/rest = Transform3D(0.998612, 0.039929, -0.0343581, -0.0385066, 0.998412, 0.0411099, 0.035945, -0.0397298, 0.998564, 2.08616e-07, 0.196712, -2.38419e-07) bones/19/enabled = true bones/19/position = Vector3(2.08616e-07, 0.196712, -2.38419e-07) -bones/19/rotation = Quaternion(-0.0271079, -0.0183765, -0.0209701, 0.999244) +bones/19/rotation = Quaternion(-0.0562708, -0.0217182, -0.0266794, 0.997823) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "Bone.020" bones/20/parent = 19 @@ -1696,8 +1696,8 @@ bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.638395, -0.466665, -0.612108, -0.416251, 0.459614, -0.784532, 0.647446, 0.755632, 0.0991659, 2.29161, -2.09633, -3.23813) bones/21/enabled = true -bones/21/position = Vector3(2.51047, -1.41014, -3.1887) -bones/21/rotation = Quaternion(0.498242, 0.110053, 0.412814, 0.754472) +bones/21/position = Vector3(2.46236, -1.41636, -3.211) +bones/21/rotation = Quaternion(0.509965, 0.123608, 0.393738, 0.754737) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST" type="MeshInstance3D" parent="ARM9/9_ L MAGIC 3 ARM/Skeleton3D"] @@ -1705,7 +1705,7 @@ mesh = SubResource("ArrayMesh_auq5d") skin = SubResource("Skin_h0kek") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM9/9_ L MAGIC 3 ARM/Skeleton3D"] -transform = Transform3D(-0.707206, -0.686869, 0.167544, 0.677321, -0.590263, 0.439119, -0.202722, 0.424029, 0.882668, -0.0281033, -0.977807, 0.981261) +transform = Transform3D(-0.778122, -0.62636, 0.0468986, 0.587952, -0.700064, 0.405244, -0.220997, 0.342903, 0.913005, 0.16503, -0.792149, 1.03006) bone_name = "Bone.015" bone_idx = 15 @@ -1742,3 +1742,10 @@ unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_fjfqv") anim_player = NodePath("../AnimationPlayer") + +[node name="SFX" type="Node3D" parent="."] + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWall.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWall.tscn index d0bc3d2b..f43e7094 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWall.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWall.tscn @@ -1,7 +1,11 @@ -[gd_scene load_steps=5 format=3 uid="uid://6kck5vborfyk"] +[gd_scene load_steps=9 format=3 uid="uid://6kck5vborfyk"] [ext_resource type="Script" uid="uid://dlvk70cr20nva" path="res://src/enemy/enemy_types/16. demon wall/DemonWall.cs" id="1_dqcrh"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="3_dcpnv"] [ext_resource type="PackedScene" uid="uid://l4413jwn0m8v" path="res://src/enemy/enemy_types/16. demon wall/DemonWallModelView.tscn" id="4_affkc"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="4_xpabq"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="5_blux6"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="6_f313b"] [sub_resource type="BoxShape3D" id="BoxShape3D_5ht6q"] size = Vector3(28.3283, 10.355, 4.45671) @@ -29,3 +33,29 @@ shape = SubResource("BoxShape3D_5gof3") [node name="EnemyModelView" parent="." instance=ExtResource("4_affkc")] unique_name_in_owner = true + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("3_dcpnv") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("4_xpabq") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("5_blux6") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_f313b") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallArm.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallArm.cs index e40fd446..718c09a1 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallArm.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallArm.cs @@ -25,14 +25,14 @@ public partial class DemonWallArm : EnemyModelView public new void OnReady() { - Hitbox.AreaEntered += Hitbox_AreaEntered; - base.OnReady(); + Hitbox.AreaEntered += Hitbox_AreaEntered; + base.OnReady(); } private void Hitbox_AreaEntered(Area3D area) { - var target = area.GetOwner(); - if (target is IPlayer player) - OnPlayerHit(new AttackEventArgs(new AttackData(AttackData.Damage, AttackData.ElementType))); + var target = area.GetOwner(); + if (target is IPlayer player) + base.OnPlayerHit(new AttackEventArgs(AttackData)); } } diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallModelView.tscn index b9a70724..176dcdaf 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallModelView.tscn @@ -456,3 +456,8 @@ unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_r5yku") anim_player = NodePath("../AnimationPlayer") + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemon.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemon.tscn index a229f0cc..c238fcf3 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemon.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemon.tscn @@ -1,10 +1,13 @@ -[gd_scene load_steps=10 format=3 uid="uid://dpq17ej06uah1"] +[gd_scene load_steps=13 format=3 uid="uid://dpq17ej06uah1"] [ext_resource type="Script" uid="uid://ccakkuoppaidy" path="res://src/enemy/enemy_types/9b. Aqueos Demon/AqueousDemon.cs" id="1_8b86o"] [ext_resource type="PackedScene" uid="uid://cu7n814hhtjwm" path="res://src/enemy/enemy_types/9b. Aqueos Demon/AqueosModelView.tscn" id="2_0hbxv"] [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_5pbfd"] [ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_ha827"] [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_7afhy"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_hqaqe"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_dmy4c"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_gxnga"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -84,3 +87,28 @@ _acquireTargetTime = 2.0 unique_name_in_owner = true avoidance_enabled = true radius = 1.0 + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_hqaqe") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_dmy4c") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_gxnga") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemonStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemonStats.tres deleted file mode 100644 index 8400ccb4..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemonStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://cpoxit5pafww5"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_8v7ib"] - -[resource] -script = ExtResource("1_8v7ib") -CurrentHP = 100.0 -MaximumHP = 100 -CurrentAttack = 10 -CurrentDefense = 5 -MaxAttack = 10 -MaxDefense = 5 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.5 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosModelView.tscn index 689c7f79..945aa715 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosModelView.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=367 format=3 uid="uid://cu7n814hhtjwm"] +[gd_scene load_steps=368 format=3 uid="uid://cu7n814hhtjwm"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_vf7er"] [ext_resource type="Resource" uid="uid://co0eq5nl2ai24" path="res://src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemonInfo.tres" id="2_ejhrk"] @@ -335,6 +335,7 @@ [ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="334_sm161"] [ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="335_6g4mi"] [ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="336_oklrx"] +[ext_resource type="AudioStream" uid="uid://ddcyb2ni2aisr" path="res://src/audio/sfx/ENEMY_AQUEOS_LOOP.ogg" id="336_sm161"] [sub_resource type="ViewportTexture" id="ViewportTexture_h1kaf"] viewport_path = NodePath("Sprite3D/SubViewportContainer/SubViewport") @@ -2130,5 +2131,12 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.565754, 0) light_color = Color(0.607843, 1, 1, 1) [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] +stream = ExtResource("336_sm161") autoplay = true +bus = &"SFX" doppler_tracking = 1 + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/game/Game.cs b/Zennysoft.Game.Ma/src/game/Game.cs index 778b12ec..b3859bd2 100644 --- a/Zennysoft.Game.Ma/src/game/Game.cs +++ b/Zennysoft.Game.Ma/src/game/Game.cs @@ -162,6 +162,8 @@ public partial class Game : Node3D, IGame GameRepo.RestorativePickedUp += GameEventDepot_RestorativePickedUp; + _player.Inventory.BroadcastMessage += BroadcastMessage; + _player.PlayerDied += GameOver; DeathMenu.NewGame += OnNewGame; DeathMenu.QuitGame += OnQuit; @@ -170,6 +172,11 @@ public partial class Game : Node3D, IGame InGameUI.PlayerInfoUI.Activate(); } + private void BroadcastMessage(string obj) + { + InGameUI.InventoryMessageUI.DisplayMessage(obj); + } + public void LoadExistingGame() => SaveFile.Load().ContinueWith((_) => CallDeferred(nameof(FinishedLoadingSaveFile))); public async Task InitializeGame() @@ -371,14 +378,26 @@ public partial class Game : Node3D, IGame private void EnactConsumableItemEffects(ConsumableItem consumableItem) { if (_player.HealthComponent.AtFullHealth && consumableItem.RaiseHPAmount > 0) + { _player.HealthComponent.RaiseMaximumHP(consumableItem.RaiseHPAmount); + SfxDatabase.Instance.Play(SoundEffect.IncreaseStat); + } if (_player.VTComponent.AtFullVT && consumableItem.RaiseVTAmount > 0) + { _player.VTComponent.RaiseMaximumVT(consumableItem.RaiseVTAmount); + SfxDatabase.Instance.Play(SoundEffect.IncreaseStat); + } if (consumableItem.HealHPAmount > 0) + { _player.HealthComponent.Heal(consumableItem.HealHPAmount); + SfxDatabase.Instance.Play(SoundEffect.HealHP); + } if (consumableItem.HealVTAmount > 0) + { _player.VTComponent.Restore(consumableItem.HealVTAmount); + SfxDatabase.Instance.Play(SoundEffect.HealVT); + } } private void EnactEffectItemEffects(EffectItem effectItem) @@ -388,6 +407,7 @@ public partial class Game : Node3D, IGame case UsableItemTag.TeleportAllEnemiesToRoom: _effectService.TeleportEnemiesToCurrentRoom(); GameRepo.CloseInventory(); + SfxDatabase.Instance.Play(SoundEffect.RecallEnemies); break; case UsableItemTag.KillHalfEnemiesInRoom: _effectService.KillHalfEnemiesInRoom(); @@ -482,6 +502,8 @@ public partial class Game : Node3D, IGame FloorClearMenu.Exit -= FloorClearMenu_Exit; FloorClearMenu.TransitionCompleted -= FloorClearMenu_TransitionCompleted; + _player.Inventory.BroadcastMessage -= BroadcastMessage; + GameRepo.RestorativePickedUp -= GameEventDepot_RestorativePickedUp; DeathMenu.NewGame -= OnNewGame; diff --git a/Zennysoft.Game.Ma/src/items/EffectService.cs b/Zennysoft.Game.Ma/src/items/EffectService.cs index 81cc11a5..ca4154a8 100644 --- a/Zennysoft.Game.Ma/src/items/EffectService.cs +++ b/Zennysoft.Game.Ma/src/items/EffectService.cs @@ -64,9 +64,11 @@ public class EffectService var currentEnemies = currentRoom.EnemiesInRoom; foreach (var enemy in currentEnemies) { - enemy.Die(); + enemy.OnMorph(); DropHealingItem(enemy.GlobalPosition); } + if (!currentEnemies.IsEmpty) + SfxDatabase.Instance.Play(SoundEffect.TurnAllEnemiesIntoHealingItems); } public void DropHealingItem(Vector3 vector) @@ -109,6 +111,7 @@ public class EffectService var absorbAmount = enemy.HealthComponent.MaximumHP.Value * 0.05; enemy.HealthComponent.Damage((int)absorbAmount); hpToAbsorb += absorbAmount; + enemy.OnAbsorb(); } _player.HealthComponent.Heal((int)hpToAbsorb); GD.Print("HP to absorb: " + hpToAbsorb); @@ -136,6 +139,7 @@ public class EffectService _player.HealthComponent.SetCurrentHealth(oldVt); _player.VTComponent.SetVT(oldHp); + SfxDatabase.Instance.Play(SoundEffect.SwapHPAndVT); } public void RandomEffect(EffectItem item) @@ -155,6 +159,7 @@ public class EffectService var currentWeapon = (Weapon)_player.EquipmentComponent.EquippedWeapon.Value; currentWeapon.IncreaseWeaponAttack(1); + SfxDatabase.Instance.Play(SoundEffect.IncreaseStat); } public void RaiseCurrentArmorDefense() @@ -164,6 +169,7 @@ public class EffectService var currentArmor = (Armor)_player.EquipmentComponent.EquippedArmor.Value; currentArmor.IncreaseArmorDefense(1); + SfxDatabase.Instance.Play(SoundEffect.IncreaseStat); } public void RaiseLevel() => _player.LevelUp(); @@ -204,6 +210,7 @@ public class EffectService var randomRoom = roomsGodotCollection.PickRandom(); var spawnPoint = randomRoom.PlayerSpawn; player.TeleportPlayer(spawnPoint.Transform); + SfxDatabase.Instance.Play(SoundEffect.TeleportToRandomRoom); } public void ChangeAffinity(ThrowableItem throwableItem) @@ -224,6 +231,9 @@ public class EffectService { var exitRoom = _game.CurrentFloor.Rooms.OfType().Single(); if (exitRoom.PlayerDiscoveredRoom) + { + SfxDatabase.Instance.Play(SoundEffect.TeleportToExit); player.TeleportPlayer(exitRoom.PlayerSpawn.Transform); + } } } diff --git a/Zennysoft.Game.Ma/src/items/Inventory.cs b/Zennysoft.Game.Ma/src/items/Inventory.cs index 9e9cf032..0e258063 100644 --- a/Zennysoft.Game.Ma/src/items/Inventory.cs +++ b/Zennysoft.Game.Ma/src/items/Inventory.cs @@ -33,7 +33,10 @@ public partial class Inventory : Node, IInventory { var isAdded = TryAdd(item); if (isAdded) + { BroadcastMessage?.Invoke($"{item.ItemName} picked up."); + SfxDatabase.Instance.Play(SoundEffect.PickupItem); + } else BroadcastMessage?.Invoke($"Could not pick up {item.ItemName}."); @@ -66,8 +69,9 @@ public partial class Inventory : Node, IInventory InventoryChanged?.Invoke(); } - public void Sort(EquipableItem currentWeapon, EquipableItem currentArmor, EquipableItem currentAccessory) + public bool Sort(EquipableItem currentWeapon, EquipableItem currentArmor, EquipableItem currentAccessory) { + var initialList = Items; var equippedWeapon = Items.OfType().Where(x => x == currentWeapon); var equippedArmor = Items.OfType().Where(x => x == currentArmor); var equippedAccessory = Items.OfType().Where(x => x == currentAccessory); @@ -93,6 +97,8 @@ public partial class Inventory : Node, IInventory var itemsToRemove = itemStack.Except([firstItem]).Cast(); Items = [.. Items.Except(itemsToRemove)]; } + + return !Items.SequenceEqual(initialList); } public class WeaponComparer : IComparer diff --git a/Zennysoft.Game.Ma/src/items/InventoryItemStats.cs b/Zennysoft.Game.Ma/src/items/InventoryItemStats.cs index 91f6e87e..ef640c39 100644 --- a/Zennysoft.Game.Ma/src/items/InventoryItemStats.cs +++ b/Zennysoft.Game.Ma/src/items/InventoryItemStats.cs @@ -74,4 +74,7 @@ public abstract partial class InventoryItemStats : Resource [Export] [Save("inventory_item_texture")] public Texture2D Texture { get; set; } + + [Export] + public AudioStream AudioStream { get; set; } } \ No newline at end of file diff --git a/Zennysoft.Game.Ma/src/items/consumable/ConsumableItem.cs b/Zennysoft.Game.Ma/src/items/consumable/ConsumableItem.cs index 3ba68446..c62e3501 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/ConsumableItem.cs +++ b/Zennysoft.Game.Ma/src/items/consumable/ConsumableItem.cs @@ -13,10 +13,7 @@ public partial class ConsumableItem : InventoryItem [Node] private Sprite3D _sprite { get; set; } = default!; - public override void _Ready() - { - _sprite.Texture = Stats.Texture; - } + public override void _Ready() => _sprite.Texture = Stats.Texture; public override string ItemName => Stats.Name; diff --git a/Zennysoft.Game.Ma/src/items/consumable/resources/AmritShard.tres b/Zennysoft.Game.Ma/src/items/consumable/resources/AmritShard.tres index 4ac5745e..603b4704 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/resources/AmritShard.tres +++ b/Zennysoft.Game.Ma/src/items/consumable/resources/AmritShard.tres @@ -1,5 +1,6 @@ -[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=3 format=3 uid="uid://d0cxrf0nldona"] +[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=4 format=3 uid="uid://d0cxrf0nldona"] +[ext_resource type="AudioStream" uid="uid://cye8wlqbx66h4" path="res://src/audio/sfx/player_heal.ogg" id="1_71cro"] [ext_resource type="Texture2D" uid="uid://ttmu3vttq8yo" path="res://src/items/consumable/textures/amrit shard.PNG" id="1_f1n30"] [ext_resource type="Script" uid="uid://cymeea1n4f04i" path="res://src/items/consumable/ConsumableItemStats.cs" id="2_riwik"] @@ -27,3 +28,4 @@ ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_f1n30") +AudioStream = ExtResource("1_71cro") diff --git a/Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfRemnant.tres b/Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfRemnant.tres index 19934a67..f1f2e0f5 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfRemnant.tres +++ b/Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfRemnant.tres @@ -1,5 +1,6 @@ -[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=3 format=3 uid="uid://dns281deffo6q"] +[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=4 format=3 uid="uid://dns281deffo6q"] +[ext_resource type="AudioStream" uid="uid://cye8wlqbx66h4" path="res://src/audio/sfx/player_heal.ogg" id="1_mkk8c"] [ext_resource type="Texture2D" uid="uid://bg47n2tmintm0" path="res://src/items/consumable/textures/past self remnant.PNG" id="1_rc8t1"] [ext_resource type="Script" uid="uid://cymeea1n4f04i" path="res://src/items/consumable/ConsumableItemStats.cs" id="2_e61q8"] @@ -26,3 +27,4 @@ ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_rc8t1") +AudioStream = ExtResource("1_mkk8c") diff --git a/Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfSpirit.tres b/Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfSpirit.tres index 14e78af5..dd366f57 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfSpirit.tres +++ b/Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfSpirit.tres @@ -1,5 +1,6 @@ -[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=3 format=3 uid="uid://bnec53frgyue8"] +[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=4 format=3 uid="uid://bnec53frgyue8"] +[ext_resource type="AudioStream" uid="uid://1nuk6xpkwujl" path="res://src/audio/sfx/player_gain_VT.ogg" id="1_cp706"] [ext_resource type="Texture2D" uid="uid://cj0x1u7rknrvy" path="res://src/items/consumable/textures/past self spirit.PNG" id="1_jx43p"] [ext_resource type="Script" uid="uid://cymeea1n4f04i" path="res://src/items/consumable/ConsumableItemStats.cs" id="2_wmtl1"] @@ -26,3 +27,4 @@ ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_jx43p") +AudioStream = ExtResource("1_cp706") diff --git a/Zennysoft.Game.Ma/src/items/consumable/resources/SteloFragment.tres b/Zennysoft.Game.Ma/src/items/consumable/resources/SteloFragment.tres index 9e426c19..4ea1a030 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/resources/SteloFragment.tres +++ b/Zennysoft.Game.Ma/src/items/consumable/resources/SteloFragment.tres @@ -1,7 +1,8 @@ -[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=3 format=3 uid="uid://75fpkwfp0t0k"] +[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=4 format=3 uid="uid://75fpkwfp0t0k"] [ext_resource type="Script" uid="uid://cymeea1n4f04i" path="res://src/items/consumable/ConsumableItemStats.cs" id="1_f8ogj"] [ext_resource type="Texture2D" uid="uid://dbl5v5i1s3m2u" path="res://src/items/consumable/textures/stelo fragment.PNG" id="1_ic5xm"] +[ext_resource type="AudioStream" uid="uid://1nuk6xpkwujl" path="res://src/audio/sfx/player_gain_VT.ogg" id="1_r23np"] [resource] script = ExtResource("1_f8ogj") @@ -27,3 +28,4 @@ ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_ic5xm") +AudioStream = ExtResource("1_r23np") diff --git a/Zennysoft.Game.Ma/src/items/consumable/resources/SunaFragment.tres b/Zennysoft.Game.Ma/src/items/consumable/resources/SunaFragment.tres index 48523dfa..960686a3 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/resources/SunaFragment.tres +++ b/Zennysoft.Game.Ma/src/items/consumable/resources/SunaFragment.tres @@ -1,6 +1,7 @@ -[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=3 format=3 uid="uid://ypw2yg10430p"] +[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=4 format=3 uid="uid://ypw2yg10430p"] [ext_resource type="Texture2D" uid="uid://bqyjjdgub6iem" path="res://src/items/consumable/textures/suna fragment.PNG" id="1_ldd10"] +[ext_resource type="AudioStream" uid="uid://1nuk6xpkwujl" path="res://src/audio/sfx/player_gain_VT.ogg" id="1_n3jpf"] [ext_resource type="Script" uid="uid://cymeea1n4f04i" path="res://src/items/consumable/ConsumableItemStats.cs" id="2_41hue"] [resource] @@ -27,3 +28,4 @@ ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_ldd10") +AudioStream = ExtResource("1_n3jpf") diff --git a/Zennysoft.Game.Ma/src/items/consumable/resources/YdunicShard.tres b/Zennysoft.Game.Ma/src/items/consumable/resources/YdunicShard.tres index 94931c7b..36eade58 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/resources/YdunicShard.tres +++ b/Zennysoft.Game.Ma/src/items/consumable/resources/YdunicShard.tres @@ -1,6 +1,7 @@ -[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=3 format=3 uid="uid://lu0ddu3538p6"] +[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=4 format=3 uid="uid://lu0ddu3538p6"] [ext_resource type="Texture2D" uid="uid://dw06kkltgk3sv" path="res://src/items/consumable/textures/ydunic fragment.PNG" id="1_4llax"] +[ext_resource type="AudioStream" uid="uid://cye8wlqbx66h4" path="res://src/audio/sfx/player_heal.ogg" id="1_me3g8"] [ext_resource type="Script" uid="uid://cymeea1n4f04i" path="res://src/items/consumable/ConsumableItemStats.cs" id="2_q4pyq"] [resource] @@ -27,3 +28,4 @@ ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_4llax") +AudioStream = ExtResource("1_me3g8") diff --git a/Zennysoft.Game.Ma/src/items/dropped/DroppedItem.cs b/Zennysoft.Game.Ma/src/items/dropped/DroppedItem.cs index d6f624d1..aace8985 100644 --- a/Zennysoft.Game.Ma/src/items/dropped/DroppedItem.cs +++ b/Zennysoft.Game.Ma/src/items/dropped/DroppedItem.cs @@ -44,6 +44,7 @@ public partial class DroppedItem : RigidBody3D, IDroppedItem ContactMonitor = false; Pickup.Monitorable = false; Pickup.Monitoring = false; + SfxDatabase.Instance.Play(SoundEffect.Transfer); PlayRescueAnimation(); Game.RescuedItems.Items.Add(Item); } diff --git a/Zennysoft.Game.Ma/src/items/weapons/Weapon.cs b/Zennysoft.Game.Ma/src/items/weapons/Weapon.cs index 4e14102e..3fb74188 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/Weapon.cs +++ b/Zennysoft.Game.Ma/src/items/weapons/Weapon.cs @@ -1,7 +1,9 @@ using Chickensoft.AutoInject; +using Chickensoft.GodotNodeInterfaces; using Chickensoft.Introspection; using Chickensoft.Serialization; using Godot; +using System; using Zennysoft.Ma.Adapter; using Zennysoft.Ma.Adapter.Entity; @@ -12,9 +14,11 @@ public partial class Weapon : EquipableItem { public override void _Notification(int what) => this.Notify(what); - [Node] private Sprite3D _sprite { get; set; } = default!; + [Node] private Sprite3D _sprite { get; set; } - public override void _Ready() + public SoundEffect SoundEffect => Stats.SoundEffect; + + public void OnReady() { _sprite.Texture = Stats.Texture; } @@ -50,5 +54,6 @@ public partial class Weapon : EquipableItem [Export] [Save("weapon_stats")] public WeaponStats Stats { get; set; } = new WeaponStats(); + public override Texture2D GetTexture() => Stats.Texture; } diff --git a/Zennysoft.Game.Ma/src/items/weapons/WeaponStats.cs b/Zennysoft.Game.Ma/src/items/weapons/WeaponStats.cs index c3b25f68..442ca017 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/WeaponStats.cs +++ b/Zennysoft.Game.Ma/src/items/weapons/WeaponStats.cs @@ -20,4 +20,7 @@ public partial class WeaponStats : InventoryItemStats [Export] [Save("weapon_tag")] public WeaponTag WeaponTag { get; set; } = WeaponTag.None; + + [Export] + public SoundEffect SoundEffect { get; set; } = SoundEffect.WeaponSwing; } diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Jiblett.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Jiblett.tres index 39215aea..bbed1aa2 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Jiblett.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Jiblett.tres @@ -1,6 +1,7 @@ -[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://c1bg0o7nmu2xw"] +[gd_resource type="Resource" script_class="WeaponStats" load_steps=4 format=3 uid="uid://c1bg0o7nmu2xw"] [ext_resource type="Texture2D" uid="uid://cil3xe3jq82r6" path="res://src/items/weapons/textures/JIBLETT.PNG" id="1_ifm43"] +[ext_resource type="AudioStream" uid="uid://ilf2s8ct2stt" path="res://src/audio/sfx/PLAYER_slower_slash.ogg" id="1_n167u"] [ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="1_re512"] [resource] @@ -13,11 +14,17 @@ Description = "+3 ATK A halberd for the tasteful." SpawnRate = 0.1 BonusAttack = 3 -Defense = 0 -Luck = 0.05 +BonusDefense = 0 +BonusLuck = 0.05 +BonusHP = 0 +BonusVT = 0 +AeolicResistance = 0 +TelluricResistance = 0 +HydricResistance = 0 +IgneousResistance = 0 +FerrumResistance = 0 ThrowSpeed = 12.0 -IncreaseMaxHPAmount = 0 -IncreaseMaxVTAmount = 0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_ifm43") +AudioStream = ExtResource("1_n167u") diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Katara.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Katara.tres index 10d0a0c0..3d2c90a7 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Katara.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Katara.tres @@ -1,5 +1,6 @@ -[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://c8bvtfcq772sv"] +[gd_resource type="Resource" script_class="WeaponStats" load_steps=4 format=3 uid="uid://c8bvtfcq772sv"] +[ext_resource type="AudioStream" uid="uid://bo2u1ceci6k1i" path="res://src/audio/sfx/PLAYER_quicker_slash.ogg" id="1_0xyft"] [ext_resource type="Texture2D" uid="uid://dsi0myqu80aq3" path="res://src/items/weapons/textures/katar.PNG" id="1_3waom"] [ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="2_3gdyl"] @@ -12,11 +13,17 @@ Name = "Katara" Description = "+1 ATK, Fast" SpawnRate = 0.3 BonusAttack = 1 -Defense = 0 -Luck = 0.05 +BonusDefense = 0 +BonusLuck = 0.05 +BonusHP = 0 +BonusVT = 0 +AeolicResistance = 0 +TelluricResistance = 0 +HydricResistance = 0 +IgneousResistance = 0 +FerrumResistance = 0 ThrowSpeed = 12.0 -IncreaseMaxHPAmount = 0 -IncreaseMaxVTAmount = 0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_3waom") +AudioStream = ExtResource("1_0xyft") diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Kubel.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Kubel.tres index 039d285e..1fa21dee 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Kubel.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Kubel.tres @@ -1,7 +1,8 @@ -[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://db075qhmlmrcu"] +[gd_resource type="Resource" script_class="WeaponStats" load_steps=4 format=3 uid="uid://db075qhmlmrcu"] [ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="1_kbje7"] [ext_resource type="Texture2D" uid="uid://bkntmni5jxfpk" path="res://src/items/weapons/textures/KUBEL.PNG" id="1_kwtbu"] +[ext_resource type="AudioStream" uid="uid://ilf2s8ct2stt" path="res://src/audio/sfx/PLAYER_slower_slash.ogg" id="1_xfglq"] [resource] script = ExtResource("1_kbje7") @@ -14,11 +15,17 @@ A very powerful spear. For every hit, you lose 5 HP." SpawnRate = 0.01 BonusAttack = 9 -Defense = 0 -Luck = 0.05 +BonusDefense = 0 +BonusLuck = 0.05 +BonusHP = 0 +BonusVT = 0 +AeolicResistance = 0 +TelluricResistance = 0 +HydricResistance = 0 +IgneousResistance = 0 +FerrumResistance = 0 ThrowSpeed = 12.0 -IncreaseMaxHPAmount = 0 -IncreaseMaxVTAmount = 0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_kwtbu") +AudioStream = ExtResource("1_xfglq") diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/LoveJudgement.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/LoveJudgement.tres index 345be78b..069db1b4 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/LoveJudgement.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/LoveJudgement.tres @@ -1,7 +1,8 @@ -[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://cfr100khjkloh"] +[gd_resource type="Resource" script_class="WeaponStats" load_steps=4 format=3 uid="uid://cfr100khjkloh"] [ext_resource type="Texture2D" uid="uid://blq3nnyostunl" path="res://src/items/weapons/textures/LOVE JUDGEMENT.PNG" id="1_ivlxj"] [ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="1_vroib"] +[ext_resource type="AudioStream" uid="uid://bo2u1ceci6k1i" path="res://src/audio/sfx/PLAYER_quicker_slash.ogg" id="1_yxxsk"] [resource] script = ExtResource("1_vroib") @@ -13,11 +14,17 @@ Description = "+12 ATK A mace only wieldable by the strong of heart." SpawnRate = 0.01 BonusAttack = 12 -Defense = 0 -Luck = 0.05 +BonusDefense = 0 +BonusLuck = 0.05 +BonusHP = 0 +BonusVT = 0 +AeolicResistance = 0 +TelluricResistance = 0 +HydricResistance = 0 +IgneousResistance = 0 +FerrumResistance = 0 ThrowSpeed = 12.0 -IncreaseMaxHPAmount = 0 -IncreaseMaxVTAmount = 0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_ivlxj") +AudioStream = ExtResource("1_yxxsk") diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Palm of Heaven.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Palm of Heaven.tres index df244a42..074afb04 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Palm of Heaven.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Palm of Heaven.tres @@ -1,5 +1,6 @@ -[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://ckj1m4iv4m02r"] +[gd_resource type="Resource" script_class="WeaponStats" load_steps=4 format=3 uid="uid://ckj1m4iv4m02r"] +[ext_resource type="AudioStream" uid="uid://ilf2s8ct2stt" path="res://src/audio/sfx/PLAYER_slower_slash.ogg" id="1_eh5k4"] [ext_resource type="Texture2D" uid="uid://740syoj0w14p" path="res://src/items/weapons/textures/PALM OF HEAVEN.PNG" id="1_hi6xm"] [ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="1_pwwg7"] @@ -14,11 +15,17 @@ Very Powerful. Breaks upon leaving the floor." SpawnRate = 0.01 BonusAttack = 10 -Defense = 0 -Luck = 0.05 +BonusDefense = 0 +BonusLuck = 0.05 +BonusHP = 0 +BonusVT = 0 +AeolicResistance = 0 +TelluricResistance = 0 +HydricResistance = 0 +IgneousResistance = 0 +FerrumResistance = 0 ThrowSpeed = 12.0 -IncreaseMaxHPAmount = 0 -IncreaseMaxVTAmount = 0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_hi6xm") +AudioStream = ExtResource("1_eh5k4") diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Rondo.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Rondo.tres index 23fc03ec..20e375d0 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Rondo.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Rondo.tres @@ -1,5 +1,6 @@ -[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://gebgo2x6nr3t"] +[gd_resource type="Resource" script_class="WeaponStats" load_steps=4 format=3 uid="uid://gebgo2x6nr3t"] +[ext_resource type="AudioStream" uid="uid://bo2u1ceci6k1i" path="res://src/audio/sfx/PLAYER_quicker_slash.ogg" id="1_0caxp"] [ext_resource type="Texture2D" uid="uid://b8c7kd436tg4" path="res://src/items/weapons/textures/RONDO.PNG" id="1_cvwbh"] [ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="1_xfb0x"] @@ -13,11 +14,17 @@ Description = "+7 ATK An eastern blade outside of time and reproach." SpawnRate = 0.01 BonusAttack = 7 -Defense = 0 -Luck = 0.05 +BonusDefense = 0 +BonusLuck = 0.05 +BonusHP = 0 +BonusVT = 0 +AeolicResistance = 0 +TelluricResistance = 0 +HydricResistance = 0 +IgneousResistance = 0 +FerrumResistance = 0 ThrowSpeed = 12.0 -IncreaseMaxHPAmount = 0 -IncreaseMaxVTAmount = 0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_cvwbh") +AudioStream = ExtResource("1_0caxp") diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/SealingRod.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/SealingRod.tres index 262d6cd2..c8b927cd 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/SealingRod.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/SealingRod.tres @@ -1,6 +1,7 @@ -[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://b7xr0l4a8g1gk"] +[gd_resource type="Resource" script_class="WeaponStats" load_steps=4 format=3 uid="uid://b7xr0l4a8g1gk"] [ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="1_40b5j"] +[ext_resource type="AudioStream" uid="uid://bo2u1ceci6k1i" path="res://src/audio/sfx/PLAYER_quicker_slash.ogg" id="1_mw721"] [ext_resource type="Texture2D" uid="uid://b1qbho30vnuxf" path="res://src/items/weapons/textures/sealing rod.PNG" id="1_wiylj"] [resource] @@ -14,11 +15,17 @@ A wand fitted with charms said to cleanse and purify that which belongs to other It's unaligned nature has the power to balance all that it comes into contact with, should the wielder have the will." SpawnRate = 0.5 BonusAttack = 2 -Defense = 0 -Luck = 0.05 +BonusDefense = 0 +BonusLuck = 0.05 +BonusHP = 0 +BonusVT = 0 +AeolicResistance = 0 +TelluricResistance = 0 +HydricResistance = 0 +IgneousResistance = 0 +FerrumResistance = 0 ThrowSpeed = 12.0 -IncreaseMaxHPAmount = 0 -IncreaseMaxVTAmount = 0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_wiylj") +AudioStream = ExtResource("1_mw721") diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/SpadedStaff.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/SpadedStaff.tres index c1d631e8..3b4362a6 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/SpadedStaff.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/SpadedStaff.tres @@ -1,6 +1,7 @@ -[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://dj6i0em2a3hj8"] +[gd_resource type="Resource" script_class="WeaponStats" load_steps=4 format=3 uid="uid://dj6i0em2a3hj8"] [ext_resource type="Texture2D" uid="uid://cixq2naufiuhv" path="res://src/items/weapons/textures/spaded staff.PNG" id="1_6tifm"] +[ext_resource type="AudioStream" uid="uid://ilf2s8ct2stt" path="res://src/audio/sfx/PLAYER_slower_slash.ogg" id="1_n7ptf"] [ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="2_w4n0u"] [resource] @@ -12,11 +13,17 @@ Name = "Monk's Spade" Description = "+5 ATK, Slow" SpawnRate = 0.3 BonusAttack = 5 -Defense = 0 -Luck = 0.1 +BonusDefense = 0 +BonusLuck = 0.05 +BonusHP = 0 +BonusVT = 0 +AeolicResistance = 0 +TelluricResistance = 0 +HydricResistance = 0 +IgneousResistance = 0 +FerrumResistance = 0 ThrowSpeed = 12.0 -IncreaseMaxHPAmount = 0 -IncreaseMaxVTAmount = 0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_6tifm") +AudioStream = ExtResource("1_n7ptf") diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Swan Sword Odette.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Swan Sword Odette.tres index f9d4a655..62e3ec61 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Swan Sword Odette.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Swan Sword Odette.tres @@ -1,6 +1,7 @@ -[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://bpdbuf0k0exb5"] +[gd_resource type="Resource" script_class="WeaponStats" load_steps=4 format=3 uid="uid://bpdbuf0k0exb5"] [ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="1_cik6n"] +[ext_resource type="AudioStream" uid="uid://bo2u1ceci6k1i" path="res://src/audio/sfx/PLAYER_quicker_slash.ogg" id="1_n2quq"] [ext_resource type="Texture2D" uid="uid://cvtcsi2sagfwm" path="res://src/items/weapons/textures/SWAN SWORD.PNG" id="1_qc4eu"] [resource] @@ -15,11 +16,17 @@ Ignores Affinity. The blade of a thousand faced heroine." SpawnRate = 0.01 BonusAttack = 12 -Defense = 0 -Luck = 0.05 +BonusDefense = 0 +BonusLuck = 0.05 +BonusHP = 0 +BonusVT = 0 +AeolicResistance = 0 +TelluricResistance = 0 +HydricResistance = 0 +IgneousResistance = 0 +FerrumResistance = 0 ThrowSpeed = 12.0 -IncreaseMaxHPAmount = 0 -IncreaseMaxVTAmount = 0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_qc4eu") +AudioStream = ExtResource("1_n2quq") diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Talwar.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Talwar.tres index 800a8c77..f1afe3e3 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Talwar.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Talwar.tres @@ -1,6 +1,7 @@ -[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://bs01dnjkcmi7a"] +[gd_resource type="Resource" script_class="WeaponStats" load_steps=4 format=3 uid="uid://bs01dnjkcmi7a"] [ext_resource type="Texture2D" uid="uid://d02gqi3icdp8l" path="res://src/items/weapons/textures/talwar.PNG" id="1_8a832"] +[ext_resource type="AudioStream" uid="uid://bo2u1ceci6k1i" path="res://src/audio/sfx/PLAYER_quicker_slash.ogg" id="1_ytv4p"] [ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="2_a7ln4"] [resource] @@ -12,11 +13,17 @@ Name = "Talwar" Description = "+3 ATK" SpawnRate = 0.3 BonusAttack = 3 -Defense = 0 -Luck = 0.07 +BonusDefense = 0 +BonusLuck = 0.05 +BonusHP = 0 +BonusVT = 0 +AeolicResistance = 0 +TelluricResistance = 0 +HydricResistance = 0 +IgneousResistance = 0 +FerrumResistance = 0 ThrowSpeed = 12.0 -IncreaseMaxHPAmount = 0 -IncreaseMaxVTAmount = 0 ThrowDamage = 5 ItemTag = 0 Texture = ExtResource("1_8a832") +AudioStream = ExtResource("1_ytv4p") diff --git a/Zennysoft.Game.Ma/src/map/dungeon/code/MonsterRoom.cs b/Zennysoft.Game.Ma/src/map/dungeon/code/MonsterRoom.cs index 41c22eff..cb572440 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/code/MonsterRoom.cs +++ b/Zennysoft.Game.Ma/src/map/dungeon/code/MonsterRoom.cs @@ -24,7 +24,7 @@ public partial class MonsterRoom : DungeonRoom public void SpawnEnemies(Godot.Collections.Dictionary enemyInfo) { - if (enemyInfo == null || enemyInfo.Count == 0) + if (enemyInfo == null || !enemyInfo.Any(x => x.Value > 0)) return; var rng = new RandomNumberGenerator(); diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/SetAFloors/test_floor.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/SetAFloors/test_floor.tscn index 6201c8ce..7f62a4b5 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/SetAFloors/test_floor.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/SetAFloors/test_floor.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=21 format=3 uid="uid://c5ekisphioovm"] +[gd_scene load_steps=22 format=3 uid="uid://c5ekisphioovm"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_cfhj4"] [ext_resource type="PackedScene" uid="uid://dhkbvos11tkdw" path="res://src/map/dungeon/rooms/Set A/12. Jump Scare Room.tscn" id="1_crv4e"] @@ -13,6 +13,7 @@ [ext_resource type="PackedScene" uid="uid://cam640h4euewx" path="res://src/map/dungeon/rooms/Set A/05. Pit Room A.tscn" id="12_4sygy"] [ext_resource type="PackedScene" uid="uid://cdkcvd7pwmr2r" path="res://src/map/assets/Dungeon Doors/DOORA.tscn" id="12_hkp1m"] [ext_resource type="Script" uid="uid://b8bvom6o034gm" path="res://src/quest/QuestTest.cs" id="13_hkp1m"] +[ext_resource type="PackedScene" uid="uid://cmvimr0pvsgqy" path="res://src/enemy/enemy_types/10. Eden Pillar/Eden Pillar.tscn" id="14_hsujv"] [sub_resource type="Environment" id="Environment_yrcgx"] background_mode = 1 @@ -227,3 +228,11 @@ navigation_mesh = SubResource("NavigationMesh_hkp1m") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.41175, 1.02274, 0) visible = false mesh = SubResource("PlaneMesh_hkp1m") + +[node name="Eden Pillar" parent="." instance=ExtResource("14_hsujv")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -17.8435, 0, 0) + +[node name="CSGBox3D" type="CSGBox3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.4918, 1.20905, -1.40112) +use_collision = true +size = Vector3(1, 3.41809, 3.80225) diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Overworld.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Overworld.tscn index 6a6ba0a1..b095f7dd 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Overworld.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Overworld.tscn @@ -3,10 +3,10 @@ [ext_resource type="Script" uid="uid://cuhfkyh3d7noa" path="res://src/map/dungeon/code/Overworld.cs" id="1_5hmt3"] [ext_resource type="Texture2D" uid="uid://co6h8vyi11sl2" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_63.png" id="2_g6b7b"] [ext_resource type="Texture2D" uid="uid://ty5jk5c5qxyx" path="res://src/map/overworld/Overworld Fixes Models/Overworld Reexport Fixes_A1_eyeblock.png" id="2_vmdvy"] -[ext_resource type="AudioStream" uid="uid://ym4ur8a2qxhp" path="res://src/audio/amb/amb_perlin.wav" id="2_wbbo3"] +[ext_resource type="AudioStream" uid="uid://ym4ur8a2qxhp" path="res://src/audio/AMB/amb_perlin.wav" id="2_wbbo3"] [ext_resource type="Texture2D" uid="uid://cfb626ush22mu" path="res://src/map/overworld/Overworld Fixes Models/Overworld Reexport Fixes_concrete_0025_color_1k.jpg" id="3_b6pah"] -[ext_resource type="AudioStream" uid="uid://b7wxddjx3qw5o" path="res://src/audio/amb/amb_white_noise.wav" id="3_c2gp5"] -[ext_resource type="AudioStream" uid="uid://ddii3pi8x75xc" path="res://src/audio/amb/amb_beach.wav" id="3_pvi8n"] +[ext_resource type="AudioStream" uid="uid://b7wxddjx3qw5o" path="res://src/audio/AMB/amb_white_noise.wav" id="3_c2gp5"] +[ext_resource type="AudioStream" uid="uid://ddii3pi8x75xc" path="res://src/audio/AMB/amb_beach.wav" id="3_pvi8n"] [ext_resource type="Texture2D" uid="uid://w33fr6exryiy" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_37.png" id="3_uyygh"] [ext_resource type="Texture2D" uid="uid://yt43jew75oaa" path="res://src/map/overworld/Overworld Fixes Models/Overworld Reexport Fixes_carved_stone_3.png" id="4_clblw"] [ext_resource type="Texture2D" uid="uid://dv10yaqvp3mub" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_71.png" id="4_r8r3k"] @@ -18867,6 +18867,7 @@ autoplay = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -203.193, -3.01047, 66.0116) [node name="Interior" type="AudioStreamPlayer3D" parent="Audio/AudioStreamPlayer/AUDIO"] +process_mode = 3 stream = ExtResource("2_wbbo3") volume_db = 5.275 unit_size = 10.55 @@ -18876,6 +18877,7 @@ max_distance = 100.0 bus = &"AMBIENT" [node name="Interior2" type="AudioStreamPlayer3D" parent="Audio/AudioStreamPlayer/AUDIO"] +process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -341.464, 6.43338, -92.712) stream = ExtResource("2_wbbo3") volume_db = 5.275 @@ -18886,6 +18888,7 @@ max_distance = 54.99 bus = &"AMBIENT" [node name="Ocean" type="AudioStreamPlayer3D" parent="Audio/AudioStreamPlayer/AUDIO"] +process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -210.527, -9.55156, -17.1884) stream = ExtResource("3_pvi8n") volume_db = 8.791 @@ -18897,6 +18900,7 @@ bus = &"AMBIENT" attenuation_filter_cutoff_hz = 20500.0 [node name="Ocean2" type="AudioStreamPlayer3D" parent="Audio/AudioStreamPlayer/AUDIO"] +process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 109.176, -9.55156, 33.7551) stream = ExtResource("3_pvi8n") volume_db = 30.769 @@ -18909,6 +18913,7 @@ bus = &"AMBIENT" attenuation_filter_db = -34.0 [node name="Ocean3" type="AudioStreamPlayer3D" parent="Audio/AudioStreamPlayer/AUDIO"] +process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -426.478, -9.13597, -39.3283) stream = ExtResource("3_pvi8n") volume_db = 30.769 @@ -18922,6 +18927,7 @@ attenuation_filter_cutoff_hz = 691.0 attenuation_filter_db = -34.0 [node name="Waterfall" type="AudioStreamPlayer3D" parent="Audio/AudioStreamPlayer/AUDIO"] +process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -196.16, 0, -39.4298) stream = ExtResource("3_c2gp5") volume_db = 2.774 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/models/Area 2/Puer/A2-Puer.glb.import b/Zennysoft.Game.Ma/src/map/dungeon/models/Area 2/Puer/A2-Puer.glb.import index 721d1ffb..90833faa 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/models/Area 2/Puer/A2-Puer.glb.import +++ b/Zennysoft.Game.Ma/src/map/dungeon/models/Area 2/Puer/A2-Puer.glb.import @@ -4,12 +4,12 @@ importer="scene" importer_version=1 type="PackedScene" uid="uid://dh8ji8g36mmx5" -path="res://.godot/imported/a2-puer.glb-20bdcd533f2a6024a2fa1d9a726cae55.scn" +path="res://.godot/imported/A2-Puer.glb-3b11ccd8f9ba6f91fbb05537c52490b0.scn" [deps] -source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer.glb" -dest_files=["res://.godot/imported/a2-puer.glb-20bdcd533f2a6024a2fa1d9a726cae55.scn"] +source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer.glb" +dest_files=["res://.godot/imported/A2-Puer.glb-3b11ccd8f9ba6f91fbb05537c52490b0.scn"] [params] diff --git a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/05. Pit Room A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/05. Pit Room A.tscn index d3e8725b..b281bd4e 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/05. Pit Room A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/05. Pit Room A.tscn @@ -794,10 +794,8 @@ radius = 2.0 size = Vector3(36, 8, 36) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_06rpm"] +shading_mode = 0 albedo_texture = ExtResource("6_5ju0l") -emission_enabled = true -emission = Color(1, 1, 1, 1) -emission_energy_multiplier = 0.0 texture_filter = 0 [sub_resource type="PlaneMesh" id="PlaneMesh_gx7da"] @@ -1119,6 +1117,7 @@ shape = SubResource("BoxShape3D_c4wqw") [node name="Minimap" type="MeshInstance3D" parent="Minimap"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 17.9999) +visible = false layers = 2 mesh = SubResource("PlaneMesh_gx7da") diff --git a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn index 50619dec..48a7141f 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn @@ -560,12 +560,13 @@ shape = SubResource("BoxShape3D_tgauh") [node name="Minimap" type="MeshInstance3D" parent="Minimap"] unique_name_in_owner = true transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, -1.986) +visible = false layers = 2 mesh = SubResource("PlaneMesh_5n72k") surface_material_override/0 = SubResource("StandardMaterial3D_l1s1j") -[node name="Sprite3D" type="Sprite3D" parent="Minimap"] -transform = Transform3D(5.67, 0, 0, 0, -2.47844e-07, 5.67, 0, -5.67, -2.47844e-07, 0, 0.721614, -4.4148) +[node name="Sprite3D" type="Sprite3D" parent="Minimap/Minimap"] +transform = Transform3D(-2.47844e-07, -5.67, -2.47844e-07, 0, -2.47844e-07, 5.67, -5.67, 2.47844e-07, 1.08336e-14, -2.4288, 3.94786, 0) layers = 2 texture_filter = 0 texture = ExtResource("4_ljhl3") diff --git a/Zennysoft.Game.Ma/src/npc/Clalo/Clalo.tscn b/Zennysoft.Game.Ma/src/npc/Clalo/Clalo.tscn index 17ce11e2..31aa60f6 100644 --- a/Zennysoft.Game.Ma/src/npc/Clalo/Clalo.tscn +++ b/Zennysoft.Game.Ma/src/npc/Clalo/Clalo.tscn @@ -29,7 +29,7 @@ animations = [{ }] [sub_resource type="CylinderShape3D" id="CylinderShape3D_wfhgc"] -radius = 3.0 +radius = 5.0 [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_kg3qv"] radius = 0.837722 @@ -57,7 +57,7 @@ frame_progress = 0.274888 [node name="DialogueZone" type="Area3D" parent="."] unique_name_in_owner = true collision_layer = 0 -collision_mask = 2068 +collision_mask = 2070 [node name="CollisionShape3D" type="CollisionShape3D" parent="DialogueZone"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00131226, 0, -0.00723076) diff --git a/Zennysoft.Game.Ma/src/options/InputMapButton.cs b/Zennysoft.Game.Ma/src/options/InputMapButton.cs index 0590d3f4..a7d5f49d 100644 --- a/Zennysoft.Game.Ma/src/options/InputMapButton.cs +++ b/Zennysoft.Game.Ma/src/options/InputMapButton.cs @@ -1,4 +1,5 @@ using Godot; +using System; namespace Zennysoft.Game.Ma; diff --git a/Zennysoft.Game.Ma/src/options/InputMapper.cs b/Zennysoft.Game.Ma/src/options/InputMapper.cs index 88d52f88..fbfc3d80 100644 --- a/Zennysoft.Game.Ma/src/options/InputMapper.cs +++ b/Zennysoft.Game.Ma/src/options/InputMapper.cs @@ -46,17 +46,19 @@ public partial class InputMapper : PanelContainer private List _actionKeyMap = []; private SimpleInjector.Container _container; - private ISaveFileManager _saveFileManager; [Signal] public delegate void SaveControllerInputEventHandler(); + private bool _remappingKeyboard; + private bool _remappingController; + public void OnReady() { + SetProcessInput(false); _container = new SimpleInjector.Container(); _container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle(); _container.RegisterSingleton(); _container.RegisterSingleton(); - _saveFileManager = _container.GetInstance(); MoveForwardController.Action = GameInputs.MoveUp; MoveForwardKeyboard.Action = GameInputs.MoveUp; @@ -79,6 +81,27 @@ public partial class InputMapper : PanelContainer SortController.Action = GameInputs.InventorySort; SortKeyboard.Action = GameInputs.InventorySort; + MoveForwardController.CancelRemap += CancelRemap; + MoveForwardKeyboard.CancelRemap += CancelRemap; + MoveLeftController.CancelRemap += CancelRemap; + MoveLeftKeyboard.CancelRemap += CancelRemap; + MoveRightController.CancelRemap += CancelRemap; + MoveRightKeyboard.CancelRemap += CancelRemap; + MoveBackwardController.CancelRemap += CancelRemap; + MoveBackwardKeyboard.CancelRemap += CancelRemap; + StrafeLeftController.CancelRemap += CancelRemap; + StrafeLeftKeyboard.CancelRemap += CancelRemap; + StrafeRightController.CancelRemap += CancelRemap; + StrafeRightKeyboard.CancelRemap += CancelRemap; + AttackController.CancelRemap += CancelRemap; + AttackKeyboard.CancelRemap += CancelRemap; + InteractController.CancelRemap += CancelRemap; + InteractKeyboard.CancelRemap += CancelRemap; + InventoryController.CancelRemap += CancelRemap; + InventoryKeyboard.CancelRemap += CancelRemap; + SortController.CancelRemap += CancelRemap; + SortKeyboard.CancelRemap += CancelRemap; + _actionJoyMap.Add(MoveForwardController); _actionJoyMap.Add(MoveLeftController); _actionJoyMap.Add(MoveRightController); @@ -122,31 +145,62 @@ public partial class InputMapper : PanelContainer SortKeyboard.Remap += OnRemap; SortController.Remap += OnRemap; + VisibilityChanged += InputMapper_VisibilityChanged; + InputHelper.JoypadInputChanged += (string action, InputEvent input) => { + if (!_remappingController) + return; + var buttonChanged = _actionJoyMap.SingleOrDefault(x => x.Action == action); if (buttonChanged != null) { buttonChanged.SetProcessInput(false); buttonChanged.Text = InputHelper.GetLabelForInput(input); + _remappingController = false; } var allButtons = _actionKeyMap.Concat(_actionJoyMap); foreach (var button in allButtons) button.Disabled = false; }; + InputHelper.KeyboardInputChanged += (string action, InputEvent input) => { + if (!_remappingKeyboard) + return; + var buttonChanged = _actionKeyMap.SingleOrDefault(x => x.Action == action); if (buttonChanged != null) { buttonChanged.SetProcessInput(false); buttonChanged.Text = InputHelper.GetLabelForInput(input); + _remappingKeyboard = false; } var allButtons = _actionKeyMap.Concat(_actionJoyMap); foreach (var button in allButtons) button.Disabled = false; + + if (!InputHelper.HasJoypad()) + foreach (var joyPadButton in _actionJoyMap) + joyPadButton.Disabled = true; }; + + if (!InputHelper.HasJoypad()) + foreach (var joyPadButton in _actionJoyMap) + joyPadButton.Disabled = true; + } + + private void CancelRemap() + { + var allButtons = _actionKeyMap.Concat(_actionJoyMap); + foreach (var button in allButtons) + button.Disabled = false; + } + + private void InputMapper_VisibilityChanged() + { + SetProcessInput(Visible); } public void LoadControllerInput(string jsonData) @@ -181,6 +235,10 @@ public partial class InputMapper : PanelContainer private void OnRemap(InputMapButton inputButton) { + if (_actionJoyMap.Contains(inputButton)) + _remappingController = true; + if (_actionKeyMap.Contains(inputButton)) + _remappingKeyboard = true; inputButton.Text = "..."; inputButton.SetProcessInput(true); var allButtons = _actionKeyMap.Concat(_actionJoyMap); diff --git a/Zennysoft.Game.Ma/src/options/JoypadRemapButton.cs b/Zennysoft.Game.Ma/src/options/JoypadRemapButton.cs index fb90adb4..60086f10 100644 --- a/Zennysoft.Game.Ma/src/options/JoypadRemapButton.cs +++ b/Zennysoft.Game.Ma/src/options/JoypadRemapButton.cs @@ -1,10 +1,13 @@ using Godot; using NathanHoad; +using System; namespace Zennysoft.Game.Ma; public partial class JoypadRemapButton : InputMapButton { + public event Action CancelRemap; + public override void _Ready() { SetProcessInput(false); @@ -17,6 +20,9 @@ public partial class JoypadRemapButton : InputMapButton if (InputHelper.GetJoypadInputForAction(GameInputs.Pause).IsMatch(@event)) { InputHelper.SetJoypadInputForAction(Action, InputEvent); + InputHelper.SetKeyboardInputForAction(Action, InputEvent); + Text = InputHelper.GetLabelForInput(InputEvent); + CancelRemap?.Invoke(); } else { diff --git a/Zennysoft.Game.Ma/src/options/KeyboardRemapButton.cs b/Zennysoft.Game.Ma/src/options/KeyboardRemapButton.cs index 5da3297d..6fec7091 100644 --- a/Zennysoft.Game.Ma/src/options/KeyboardRemapButton.cs +++ b/Zennysoft.Game.Ma/src/options/KeyboardRemapButton.cs @@ -1,10 +1,13 @@ using Godot; using NathanHoad; +using System; namespace Zennysoft.Game.Ma; public partial class KeyboardRemapButton : InputMapButton { + public event Action CancelRemap; + public override void _Ready() { SetProcessInput(false); @@ -18,6 +21,8 @@ public partial class KeyboardRemapButton : InputMapButton if (InputHelper.GetKeyboardInputForAction(GameInputs.Pause).IsMatch(@event)) { InputHelper.SetKeyboardInputForAction(Action, InputEvent); + Text = InputHelper.GetLabelForInput(InputEvent); + CancelRemap?.Invoke(); } else { diff --git a/Zennysoft.Game.Ma/src/options/OptionsMenu.cs b/Zennysoft.Game.Ma/src/options/OptionsMenu.cs index 143fe3ff..2cf7b66c 100644 --- a/Zennysoft.Game.Ma/src/options/OptionsMenu.cs +++ b/Zennysoft.Game.Ma/src/options/OptionsMenu.cs @@ -125,7 +125,7 @@ public partial class OptionsMenu : Control if (!Visible) return; - if (Input.IsActionJustPressed(GameInputs.Interact)) + if (Input.IsActionJustPressed(GameInputs.Interact) || Input.IsActionJustPressed(GameInputs.Pause)) { AcceptEvent(); SaveAndExitMenu(); diff --git a/Zennysoft.Game.Ma/src/options/OptionsMenu.tscn b/Zennysoft.Game.Ma/src/options/OptionsMenu.tscn index 00c49d4a..9fca0da4 100644 --- a/Zennysoft.Game.Ma/src/options/OptionsMenu.tscn +++ b/Zennysoft.Game.Ma/src/options/OptionsMenu.tscn @@ -47,7 +47,9 @@ layout_mode = 2 unique_name_in_owner = true custom_minimum_size = Vector2(1280, 960) layout_mode = 2 +mouse_filter = 0 current_tab = 0 +tab_focus_mode = 0 [node name="Game" type="PanelContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer"] layout_mode = 2 diff --git a/Zennysoft.Game.Ma/src/player/Player.cs b/Zennysoft.Game.Ma/src/player/Player.cs index c0ccd52e..c97ac584 100644 --- a/Zennysoft.Game.Ma/src/player/Player.cs +++ b/Zennysoft.Game.Ma/src/player/Player.cs @@ -74,8 +74,6 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide #region Node Dependencies [Node] private IAnimationPlayer AnimationPlayer { get; set; } = default!; - [Node] private IAnimationPlayer PlayerFXAnimations { get; set; } = default!; - [Node] private Area3D Hitbox { get; set; } = default!; [Node] private Area3D CollisionDetector { get; set; } = default!; @@ -83,6 +81,8 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide [Node] private Timer HealthTimer { get; set; } = default!; [Node] private RigidBody3D WallCheck { get; set; } = default!; + + [Node] private AudioStreamPlayer3D WalkSFX { get; set; } = default!; #endregion @@ -99,177 +99,178 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide public void Initialize() { - var container = new SimpleInjector.Container(); - container.Register(Lifestyle.Singleton); + var container = new SimpleInjector.Container(); + container.Register(Lifestyle.Singleton); - PlayerLogic = container.GetInstance(); - PlayerLogic.Set(this as IPlayer); - PlayerLogic.Set(Settings); + PlayerLogic = container.GetInstance(); + PlayerLogic.Set(this as IPlayer); + PlayerLogic.Set(Settings); - Inventory = new Inventory(); - HealthComponent = new HealthComponent(InitialHP); - VTComponent = new VTComponent(InitialVT); - AttackComponent = new AttackComponent(InitialAttack); - DefenseComponent = new DefenseComponent(InitialDefense); - ExperiencePointsComponent = new ExperiencePointsComponent(); - LuckComponent = new LuckComponent(InitialLuck); - EquipmentComponent = new EquipmentComponent(); + Inventory = new Inventory(); + HealthComponent = new HealthComponent(InitialHP); + VTComponent = new VTComponent(InitialVT); + AttackComponent = new AttackComponent(InitialAttack); + DefenseComponent = new DefenseComponent(InitialDefense); + ExperiencePointsComponent = new ExperiencePointsComponent(); + LuckComponent = new LuckComponent(InitialLuck); + EquipmentComponent = new EquipmentComponent(); - _itemReroller = new ItemReroller(ItemDatabase.Instance); + _itemReroller = new ItemReroller(ItemDatabase.Instance); - Settings = new PlayerLogic.Settings() { RotationSpeed = RotationSpeed, MoveSpeed = MoveSpeed, Acceleration = Acceleration }; + Settings = new PlayerLogic.Settings() { RotationSpeed = RotationSpeed, MoveSpeed = MoveSpeed, Acceleration = Acceleration }; - PlayerBinding = PlayerLogic.Bind(); + PlayerBinding = PlayerLogic.Bind(); - PlayerBinding - .Handle((in PlayerLogic.Output.ThrowItem output) => - { - }) - .Handle((in PlayerLogic.Output.Move output) => - { - Move(output.delta); - }); + PlayerBinding + .Handle((in PlayerLogic.Output.ThrowItem output) => + { + }) + .Handle((in PlayerLogic.Output.Move output) => + { + Move(output.delta); + }); - PlayerLogic.Start(); - this.Provide(); + PlayerLogic.Start(); + this.Provide(); } public void ResetPlayerData() { - foreach (var item in Inventory.Items) - Inventory.Remove(item); + foreach (var item in Inventory.Items) + Inventory.Remove(item); - HealthComponent.Reset(); - VTComponent.Reset(); - AttackComponent.Reset(); - DefenseComponent.Reset(); - ExperiencePointsComponent.Reset(); - LuckComponent.Reset(); - EquipmentComponent.Reset(); + HealthComponent.Reset(); + VTComponent.Reset(); + AttackComponent.Reset(); + DefenseComponent.Reset(); + ExperiencePointsComponent.Reset(); + LuckComponent.Reset(); + EquipmentComponent.Reset(); - HealthTimer.Timeout += OnHealthTimerTimeout; + HealthTimer.Timeout += OnHealthTimerTimeout; } #region Initialization public void OnReady() { - Hitbox.AreaEntered += Hitbox_AreaEntered; - CollisionDetector.AreaEntered += CollisionDetector_AreaEntered; - HealthComponent.HealthReachedZero += Die; - HealthTimer.WaitTime = _healthTimerWaitTime; - SetProcessInput(false); - SetPhysicsProcess(false); + Hitbox.AreaEntered += Hitbox_AreaEntered; + CollisionDetector.AreaEntered += CollisionDetector_AreaEntered; + HealthComponent.HealthReachedZero += Die; + HealthTimer.WaitTime = _healthTimerWaitTime; + SetProcessInput(false); + SetPhysicsProcess(false); } #endregion public void Activate() { - SetProcessInput(true); - SetPhysicsProcess(true); - SetHealthTimerStatus(HealthTimerIsActive); + SetProcessInput(true); + SetPhysicsProcess(true); + SetHealthTimerStatus(HealthTimerIsActive); } public void Deactivate() { - SetProcessInput(false); - SetPhysicsProcess(false); - SetHealthTimerStatus(false); + SetProcessInput(false); + SetPhysicsProcess(false); + SetHealthTimerStatus(false); } private void SetHealthTimerStatus(bool isActive) { - if (isActive) - HealthTimer.Start(); - else - HealthTimer.Stop(); + if (isActive) + HealthTimer.Start(); + else + HealthTimer.Stop(); } public void TeleportPlayer(Transform3D newTransform) { - Transform = newTransform; + Transform = newTransform; } public void TakeDamage(AttackData damage) { - var damageReceived = DamageCalculator.CalculateDamage(damage, DefenseComponent.CurrentDefense.Value + EquipmentComponent.BonusDefense, EquipmentComponent.ElementalResistance); - HealthComponent.Damage(damageReceived); + var damageReceived = DamageCalculator.CalculateDamage(damage, DefenseComponent.CurrentDefense.Value + EquipmentComponent.BonusDefense, EquipmentComponent.ElementalResistance); + HealthComponent.Damage(damageReceived); + SfxDatabase.Instance.Play(SoundEffect.TakeDamage); } public void Knockback(float impulse) { - _knockbackStrength = impulse; - _knockbackDirection = GlobalBasis.Z.Normalized(); + _knockbackStrength = impulse; + _knockbackDirection = GlobalBasis.Z.Normalized(); } public void LevelUp() { - var rng = new RandomNumberGenerator(); - rng.Randomize(); - var hpIncrease = rng.RandiRange(3, 6); - HealthComponent.RaiseMaximumHP(hpIncrease); - ExperiencePointsComponent.LevelUp(); + var rng = new RandomNumberGenerator(); + rng.Randomize(); + var hpIncrease = rng.RandiRange(3, 6); + HealthComponent.RaiseMaximumHP(hpIncrease); + ExperiencePointsComponent.LevelUp(); } public void Die() { - HealthTimer.WaitTime = _healthTimerWaitTime; - HealthTimer.Timeout -= OnHealthTimerTimeout; - SetProcessInput(false); - SetPhysicsProcess(false); - PlayerDied?.Invoke(); + HealthTimer.WaitTime = _healthTimerWaitTime; + HealthTimer.Timeout -= OnHealthTimerTimeout; + SetProcessInput(false); + SetPhysicsProcess(false); + PlayerDied?.Invoke(); } public override void _Input(InputEvent @event) { - if (@event.IsActionPressed(GameInputs.Attack)) - Attack(); - if (@event.IsActionPressed(GameInputs.Sprint)) - Settings.MoveSpeed *= 2; - if (@event.IsActionReleased(GameInputs.Sprint)) - Settings.MoveSpeed /= 2; + if (@event.IsActionPressed(GameInputs.Attack)) + Attack(); + if (@event.IsActionPressed(GameInputs.Sprint)) + Settings.MoveSpeed *= 2; + if (@event.IsActionReleased(GameInputs.Sprint)) + Settings.MoveSpeed /= 2; } public void OnPhysicsProcess(double delta) { - PlayerLogic.Input(new PlayerLogic.Input.PhysicsTick(delta)); - PlayerLogic.Input(new PlayerLogic.Input.Moved(GlobalPosition, GlobalTransform)); + PlayerLogic.Input(new PlayerLogic.Input.PhysicsTick(delta)); + PlayerLogic.Input(new PlayerLogic.Input.Moved(GlobalPosition, GlobalTransform)); } public void Equip(EquipableItem equipable) { - if (equipable.ItemTag == ItemTag.MysteryItem) - { - var rerolledItem = _itemReroller.RerollItem(equipable, Inventory); - Equip(rerolledItem); - return; - } + if (equipable.ItemTag == ItemTag.MysteryItem) + { + var rerolledItem = _itemReroller.RerollItem(equipable, Inventory); + Equip(rerolledItem); + return; + } - HealthComponent.RaiseMaximumHP(equipable.BonusHP, false); - VTComponent.RaiseMaximumVT(equipable.BonusVT, false); + HealthComponent.RaiseMaximumHP(equipable.BonusHP, false); + VTComponent.RaiseMaximumVT(equipable.BonusVT, false); - EquipmentComponent.Equip(equipable); + EquipmentComponent.Equip(equipable); } public void Unequip(EquipableItem equipable) { - HealthComponent.SetMaximumHealth(HealthComponent.MaximumHP.Value - equipable.BonusHP); - VTComponent.SetMaximumVT(VTComponent.MaximumVT.Value - equipable.BonusVT); + HealthComponent.SetMaximumHealth(HealthComponent.MaximumHP.Value - equipable.BonusHP); + VTComponent.SetMaximumVT(VTComponent.MaximumVT.Value - equipable.BonusVT); - EquipmentComponent.Unequip(equipable); + EquipmentComponent.Unequip(equipable); } private static Vector3 GlobalInputVector { - get - { - var rawInput = Input.GetVector(GameInputs.MoveLeft, GameInputs.MoveRight, GameInputs.MoveUp, GameInputs.MoveDown); - var input = new Vector3 - { - X = rawInput.X, - Z = rawInput.Y - }; - return input with { Y = 0f }; - } + get + { + var rawInput = Input.GetVector(GameInputs.MoveLeft, GameInputs.MoveRight, GameInputs.MoveUp, GameInputs.MoveDown); + var input = new Vector3 + { + X = rawInput.X, + Z = rawInput.Y + }; + return input with { Y = 0f }; + } } private static float LeftStrafeInputVector => Input.GetActionStrength(GameInputs.StrafeLeft); @@ -278,140 +279,143 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide private void Attack() { - if (PlayerIsHittingGeometry()) - { - AnimationPlayer.Play("hit_wall"); - } - else - { - PlayAttackAnimation(); - } + if (PlayerIsHittingGeometry()) + AnimationPlayer.Play("hit_wall"); + else if (!AnimationPlayer.IsPlaying()) + PlayAttackAnimation(); } private void ThrowItem() { - var itemScene = GD.Load("res://src/items/throwable/ThrowableItem.tscn"); - var throwItem = itemScene.Instantiate(); - GetTree().Root.AddChildEx(throwItem); - throwItem.GlobalPosition = CurrentPosition + new Vector3(0, 3.5f, 0); - throwItem.GlobalRotation = GlobalRotation; + var itemScene = GD.Load("res://src/items/throwable/ThrowableItem.tscn"); + var throwItem = itemScene.Instantiate(); + GetTree().Root.AddChildEx(throwItem); + throwItem.GlobalPosition = CurrentPosition + new Vector3(0, 3.5f, 0); + throwItem.GlobalRotation = GlobalRotation; } private void PlayAttackAnimation() { - var attackSpeed = ((Weapon)EquipmentComponent.EquippedWeapon.Value).AttackSpeed; - AnimationPlayer.SetSpeedScale((float)attackSpeed); - AnimationPlayer.Play("attack"); + SfxDatabase.Instance.Play(((Weapon)EquipmentComponent.EquippedWeapon.Value).SoundEffect); + var attackSpeed = ((Weapon)EquipmentComponent.EquippedWeapon.Value).AttackSpeed; + AnimationPlayer.SetSpeedScale((float)attackSpeed); + AnimationPlayer.Play("attack"); } private void OnExitTree() { - PlayerLogic.Stop(); - PlayerBinding.Dispose(); - Hitbox.AreaEntered -= Hitbox_AreaEntered; - CollisionDetector.AreaEntered -= CollisionDetector_AreaEntered; - HealthComponent.HealthReachedZero -= Die; - HealthTimer.Timeout -= OnHealthTimerTimeout; + PlayerLogic.Stop(); + PlayerBinding.Dispose(); + Hitbox.AreaEntered -= Hitbox_AreaEntered; + CollisionDetector.AreaEntered -= CollisionDetector_AreaEntered; + HealthComponent.HealthReachedZero -= Die; + HealthTimer.Timeout -= OnHealthTimerTimeout; } private void Move(float delta) { - var rawInput = GlobalInputVector; - var strafeLeftInput = LeftStrafeInputVector; - var strafeRightInput = RightStrafeInputVector; + var rawInput = GlobalInputVector; + var strafeLeftInput = LeftStrafeInputVector; + var strafeRightInput = RightStrafeInputVector; - var transform = Transform; - transform.Basis = new Basis(Vector3.Up, Settings.RotationSpeed * -rawInput.X * delta) * transform.Basis; - var moveDirection = new Vector3(strafeRightInput - strafeLeftInput, 0, rawInput.Z).Normalized(); - var velocity = Basis * moveDirection * Settings.MoveSpeed * Settings.Acceleration; - _knockbackStrength *= 0.9f; - Transform = Transform with { Basis = transform.Basis }; - Velocity = velocity + (_knockbackDirection * _knockbackStrength); - MoveAndSlide(); + var transform = Transform; + transform.Basis = new Basis(Vector3.Up, Settings.RotationSpeed * -rawInput.X * delta) * transform.Basis; + var moveDirection = new Vector3(strafeRightInput - strafeLeftInput, 0, rawInput.Z).Normalized(); + var velocity = Basis * moveDirection * Settings.MoveSpeed * Settings.Acceleration; + _knockbackStrength *= 0.9f; + Transform = Transform with { Basis = transform.Basis }; + Velocity = velocity + (_knockbackDirection * _knockbackStrength); + if (!WalkSFX.Playing && !Velocity.IsZeroApprox()) + WalkSFX.Play(); + else if (Velocity.IsZeroApprox()) + WalkSFX.Stop(); + MoveAndSlide(); } private void OnPlayerPositionUpdated(Vector3 globalPosition) => GlobalPosition = globalPosition; private void OnHealthTimerTimeout() { - if (VTComponent.CurrentVT.Value > 0) - { - if (((Accessory)EquipmentComponent.EquippedAccessory.Value).AccessoryTag == AccessoryTag.HalfVTConsumption) - reduceOnTick = !reduceOnTick; + if (VTComponent.CurrentVT.Value > 0) + { + if (((Accessory)EquipmentComponent.EquippedAccessory.Value).AccessoryTag == AccessoryTag.HalfVTConsumption) + reduceOnTick = !reduceOnTick; - HealthComponent.Heal(1); + HealthComponent.Heal(1); - if (reduceOnTick) - VTComponent.Reduce(1); - } - else - HealthComponent.Damage(1); + if (reduceOnTick) + VTComponent.Reduce(1); + } + else + HealthComponent.Damage(1); } private void Hitbox_AreaEntered(Area3D area) { - var target = area.GetOwner(); - if (target is IEnemy enemy) - HitEnemy(enemy); + var target = area.GetOwner(); + if (target is IEnemy enemy) + HitEnemy(enemy); } private void HitEnemy(IEnemy enemy) { - var ignoreElementalResistance = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponTag == WeaponTag.IgnoreAffinity; - var ignoreDefense = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponTag == WeaponTag.IgnoreDefense; - var isCriticalHit = BattleExtensions.IsCriticalHit(LuckComponent.Luck.Value + EquipmentComponent.BonusLuck); - var totalDamage = AttackComponent.CurrentAttack.Value + EquipmentComponent.BonusAttack; - var element = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponElement; + var ignoreElementalResistance = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponTag == WeaponTag.IgnoreAffinity; + var ignoreDefense = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponTag == WeaponTag.IgnoreDefense; + var isCriticalHit = BattleExtensions.IsCriticalHit(LuckComponent.Luck.Value + EquipmentComponent.BonusLuck); + var totalDamage = AttackComponent.CurrentAttack.Value + EquipmentComponent.BonusAttack; + var element = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponElement; - if (isCriticalHit) - totalDamage += (int)(totalDamage * 0.5f); + if (isCriticalHit) + { + totalDamage += (int)(totalDamage * 0.5f); + SfxDatabase.Instance.Play(SoundEffect.Crit); + } - var baseAttack = new AttackData(totalDamage, element, ignoreDefense, ignoreElementalResistance); - var damageDealt = DamageCalculator.CalculateDamage(baseAttack, enemy.DefenseComponent.CurrentDefense.Value, ElementalResistanceSet.None); - enemy.HealthComponent.Damage(damageDealt); + var baseAttack = new AttackData(totalDamage, element, ignoreDefense, ignoreElementalResistance); + var damageDealt = DamageCalculator.CalculateDamage(baseAttack, enemy.DefenseComponent.CurrentDefense.Value, ElementalResistanceSet.None); + enemy.HealthComponent.Damage(damageDealt); - if (((Weapon)EquipmentComponent.EquippedWeapon.Value).WeaponTag == WeaponTag.Knockback && enemy is IKnockbackable knockbackable) - knockbackable.Knockback(0.3f, -CurrentBasis.Z.Normalized()); - if (((Weapon)EquipmentComponent.EquippedWeapon.Value).WeaponTag == WeaponTag.SelfDamage) - HealthComponent.Damage(5); + if (((Weapon)EquipmentComponent.EquippedWeapon.Value).WeaponTag == WeaponTag.Knockback && enemy is IKnockbackable knockbackable) + knockbackable.Knockback(0.3f, -CurrentBasis.Z.Normalized()); + if (((Weapon)EquipmentComponent.EquippedWeapon.Value).WeaponTag == WeaponTag.SelfDamage) + HealthComponent.Damage(5); } private void CollisionDetector_AreaEntered(Area3D area) { - if (area.GetParent() is InventoryItem inventoryItem) - { - var isAdded = Inventory.PickUpItem(inventoryItem); - if (isAdded) - inventoryItem.QueueFree(); - } - if (area.GetParent() is DroppedItem droppedItem) - { - var isAdded = Inventory.PickUpItem(droppedItem.Item); - if (isAdded) - droppedItem.QueueFree(); - } - if (area.GetParent() is ThrownItem thrownItem) - { - var isAdded = Inventory.PickUpItem(thrownItem.ItemThatIsThrown); - if (isAdded) - thrownItem.QueueFree(); - } - if (area.GetParent() is Restorative restorative) - { - //_gameRepo.OnRestorativePickedUp(restorative); - restorative.QueueFree(); - } + if (area.GetParent() is InventoryItem inventoryItem) + { + var isAdded = Inventory.PickUpItem(inventoryItem); + if (isAdded) + inventoryItem.QueueFree(); + } + if (area.GetParent() is DroppedItem droppedItem) + { + var isAdded = Inventory.PickUpItem(droppedItem.Item); + if (isAdded) + droppedItem.QueueFree(); + } + if (area.GetParent() is ThrownItem thrownItem) + { + var isAdded = Inventory.PickUpItem(thrownItem.ItemThatIsThrown); + if (isAdded) + thrownItem.QueueFree(); + } + if (area.GetParent() is Restorative restorative) + { + restorative.QueueFree(); + } } private bool PlayerIsHittingGeometry() { - var collisions = WallCheck.GetCollidingBodies(); - return collisions.Count > 0; + var collisions = WallCheck.GetCollidingBodies(); + return collisions.Count > 0; } private void WallCheck_BodyEntered(Node body) { - GD.Print("Hit wall"); - AnimationPlayer.Stop(); + GD.Print("Hit wall"); + AnimationPlayer.Stop(); } } diff --git a/Zennysoft.Game.Ma/src/player/Player.tscn b/Zennysoft.Game.Ma/src/player/Player.tscn index d65fb548..38e062e5 100644 --- a/Zennysoft.Game.Ma/src/player/Player.tscn +++ b/Zennysoft.Game.Ma/src/player/Player.tscn @@ -1,9 +1,11 @@ -[gd_scene load_steps=34 format=3 uid="uid://cfecvvav8kkp6"] +[gd_scene load_steps=55 format=3 uid="uid://cfecvvav8kkp6"] [ext_resource type="Script" uid="uid://yxmiqy7i0t7r" path="res://src/player/Player.cs" id="1_xcol5"] +[ext_resource type="AudioStream" uid="uid://cth2xgoqhdf0m" path="res://src/audio/sfx/player_hit_wall.ogg" id="3_565yv"] [ext_resource type="Texture2D" uid="uid://c4ps26w7h3vpq" path="res://src/minimap/textures/player_map_icon.png" id="4_3ojaj"] -[ext_resource type="Texture2D" uid="uid://qhxl3nejqlk1" path="res://src/vfx/World/DUST_1.png" id="4_565yv"] -[ext_resource type="Texture2D" uid="uid://b5qjlbcesth53" path="res://src/vfx/Weapon Strikes/NON ELEMENTAL SLASH.png" id="6_p34sl"] +[ext_resource type="Texture2D" uid="uid://2ig1arptr1e8" path="res://src/vfx/Items Etc/slash_2.png" id="4_v7rlw"] +[ext_resource type="Texture2D" uid="uid://qhxl3nejqlk1" path="res://src/vfx/World/DUST_1.png" id="5_v5qoq"] +[ext_resource type="AudioStream" uid="uid://bsprdc3ka6am0" path="res://src/audio/sfx/player_steps_concrete.ogg" id="6_v7rlw"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_dw45s"] radius = 1.0 @@ -37,15 +39,15 @@ _data = { &"RESET": SubResource("Animation_565yv") } -[sub_resource type="BoxShape3D" id="BoxShape3D_g641l"] -size = Vector3(1, 1, 1.80176) - [sub_resource type="BoxShape3D" id="BoxShape3D_hs4wf"] -size = Vector3(2, 3, 1) +size = Vector3(2, 4.3291, 1) [sub_resource type="SphereShape3D" id="SphereShape3D_g641l"] radius = 0.6 +[sub_resource type="BoxShape3D" id="BoxShape3D_565yv"] +size = Vector3(1, 1, 1.80176) + [sub_resource type="Animation" id="Animation_v7rlw"] length = 0.001 tracks/0/type = "value" @@ -61,7 +63,7 @@ tracks/0/keys = { "values": [true] } -[sub_resource type="Animation" id="Animation_g641l"] +[sub_resource type="Animation" id="Animation_mbasf"] resource_name = "attack" tracks/0/type = "animation" tracks/0/imported = false @@ -80,16 +82,18 @@ tracks/1/path = NodePath("Collision/Hitbox/HitboxCollision:disabled") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 0.0833333, 0.333333), +"times": PackedFloat32Array(0.0333333, 0.166667, 0.333333), "transitions": PackedFloat32Array(1, 1, 1), "update": 1, "values": [true, false, true] } [sub_resource type="Animation" id="Animation_bj1ma"] +resource_name = "crit" + +[sub_resource type="Animation" id="Animation_qgbg1"] resource_name = "hit_wall" -length = 0.583342 -step = 0.0833333 +step = 0.0222222 tracks/0/type = "animation" tracks/0/imported = false tracks/0/enabled = true @@ -100,24 +104,28 @@ tracks/0/keys = { "clips": PackedStringArray("hit_wall"), "times": PackedFloat32Array(0) } -tracks/1/type = "value" +tracks/1/type = "audio" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("Collision/Hitbox/HitboxCollision:disabled") +tracks/1/path = NodePath("HitWallSound") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("3_565yv") +}], +"times": PackedFloat32Array(0.0888889) } +tracks/1/use_blend = true -[sub_resource type="AnimationLibrary" id="AnimationLibrary_3ojaj"] +[sub_resource type="AnimationLibrary" id="AnimationLibrary_u8qj4"] _data = { &"RESET": SubResource("Animation_v7rlw"), -&"attack": SubResource("Animation_g641l"), -&"hit_wall": SubResource("Animation_bj1ma") +&"attack": SubResource("Animation_mbasf"), +&"crit": SubResource("Animation_bj1ma"), +&"hit_wall": SubResource("Animation_qgbg1") } [sub_resource type="Animation" id="Animation_jtmj1"] @@ -144,13 +152,13 @@ tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [11] +"values": [0] } [sub_resource type="Animation" id="Animation_ebyyx"] resource_name = "hit_wall" -length = 0.583342 -step = 0.0833333 +length = 0.155558 +step = 0.0222222 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -170,7 +178,7 @@ tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 0.583333), +"times": PackedFloat32Array(0, 0.155556), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0, 7] @@ -178,8 +186,8 @@ tracks/1/keys = { [sub_resource type="Animation" id="Animation_v5qoq"] resource_name = "normal_attack" -length = 0.916675 -step = 0.0833333 +length = 0.666669 +step = 0.0222222 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -199,10 +207,10 @@ tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 0.916667), +"times": PackedFloat32Array(0, 0.666667), "transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [0, 11] +"values": [0, 30] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_ebyyx"] @@ -212,135 +220,264 @@ _data = { &"normal_attack": SubResource("Animation_v5qoq") } -[sub_resource type="AtlasTexture" id="AtlasTexture_g641l"] -atlas = ExtResource("6_p34sl") -region = Rect2(0, 0, 300, 300) - -[sub_resource type="AtlasTexture" id="AtlasTexture_3ojaj"] -atlas = ExtResource("6_p34sl") -region = Rect2(300, 0, 300, 300) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ebyyx"] -atlas = ExtResource("6_p34sl") -region = Rect2(1800, 0, 300, 300) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bj1ma"] -atlas = ExtResource("6_p34sl") -region = Rect2(2100, 0, 300, 300) - -[sub_resource type="AtlasTexture" id="AtlasTexture_es4xk"] -atlas = ExtResource("6_p34sl") -region = Rect2(2400, 0, 300, 300) - -[sub_resource type="AtlasTexture" id="AtlasTexture_g183x"] -atlas = ExtResource("6_p34sl") -region = Rect2(2700, 0, 300, 300) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ojh85"] -atlas = ExtResource("6_p34sl") -region = Rect2(3000, 0, 300, 300) - -[sub_resource type="AtlasTexture" id="AtlasTexture_wvcio"] -atlas = ExtResource("6_p34sl") -region = Rect2(3300, 0, 300, 300) - -[sub_resource type="AtlasTexture" id="AtlasTexture_565yv"] -atlas = ExtResource("6_p34sl") -region = Rect2(600, 0, 300, 300) - -[sub_resource type="AtlasTexture" id="AtlasTexture_v7rlw"] -atlas = ExtResource("6_p34sl") -region = Rect2(900, 0, 300, 300) - [sub_resource type="AtlasTexture" id="AtlasTexture_v5qoq"] -atlas = ExtResource("6_p34sl") -region = Rect2(1200, 0, 300, 300) +atlas = ExtResource("4_v7rlw") +region = Rect2(0, 0, 512, 512) [sub_resource type="AtlasTexture" id="AtlasTexture_jtmj1"] -atlas = ExtResource("6_p34sl") -region = Rect2(1500, 0, 300, 300) +atlas = ExtResource("4_v7rlw") +region = Rect2(512, 0, 512, 512) -[sub_resource type="SpriteFrames" id="SpriteFrames_lnh6v"] +[sub_resource type="AtlasTexture" id="AtlasTexture_lnh6v"] +atlas = ExtResource("4_v7rlw") +region = Rect2(1024, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bmp5p"] +atlas = ExtResource("4_v7rlw") +region = Rect2(1536, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1wxdb"] +atlas = ExtResource("4_v7rlw") +region = Rect2(2048, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tm4vc"] +atlas = ExtResource("4_v7rlw") +region = Rect2(2560, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ledjb"] +atlas = ExtResource("4_v7rlw") +region = Rect2(3072, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jsrl5"] +atlas = ExtResource("4_v7rlw") +region = Rect2(3584, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v32vt"] +atlas = ExtResource("4_v7rlw") +region = Rect2(4096, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_scfvx"] +atlas = ExtResource("4_v7rlw") +region = Rect2(4608, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_po5jt"] +atlas = ExtResource("4_v7rlw") +region = Rect2(5120, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jj045"] +atlas = ExtResource("4_v7rlw") +region = Rect2(5632, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7wf8o"] +atlas = ExtResource("4_v7rlw") +region = Rect2(6144, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_afsxn"] +atlas = ExtResource("4_v7rlw") +region = Rect2(6656, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_b1ckw"] +atlas = ExtResource("4_v7rlw") +region = Rect2(7168, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3vieb"] +atlas = ExtResource("4_v7rlw") +region = Rect2(7680, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_imkep"] +atlas = ExtResource("4_v7rlw") +region = Rect2(8192, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bngr8"] +atlas = ExtResource("4_v7rlw") +region = Rect2(8704, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ct55r"] +atlas = ExtResource("4_v7rlw") +region = Rect2(9216, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hkhu1"] +atlas = ExtResource("4_v7rlw") +region = Rect2(9728, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2njrj"] +atlas = ExtResource("4_v7rlw") +region = Rect2(10240, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f0ff4"] +atlas = ExtResource("4_v7rlw") +region = Rect2(10752, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_74hqa"] +atlas = ExtResource("4_v7rlw") +region = Rect2(11264, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pbthl"] +atlas = ExtResource("4_v7rlw") +region = Rect2(11776, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jhq84"] +atlas = ExtResource("4_v7rlw") +region = Rect2(12288, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_flmxu"] +atlas = ExtResource("4_v7rlw") +region = Rect2(12800, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ymsks"] +atlas = ExtResource("4_v7rlw") +region = Rect2(13312, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cssau"] +atlas = ExtResource("4_v7rlw") +region = Rect2(13824, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bjon0"] +atlas = ExtResource("4_v7rlw") +region = Rect2(14336, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_toqbu"] +atlas = ExtResource("4_v7rlw") +region = Rect2(14848, 0, 512, 512) + +[sub_resource type="SpriteFrames" id="SpriteFrames_jtmj1"] animations = [{ "frames": [{ "duration": 1.0, -"texture": SubResource("AtlasTexture_g641l") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_3ojaj") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ebyyx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bj1ma") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_es4xk") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_g183x") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ojh85") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_wvcio") -}], -"loop": false, -"name": &"hit_wall", -"speed": 12.0 -}, { -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_g641l") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_3ojaj") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_565yv") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_v7rlw") -}, { -"duration": 1.0, "texture": SubResource("AtlasTexture_v5qoq") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_jtmj1") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_ebyyx") +"texture": SubResource("AtlasTexture_lnh6v") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_bj1ma") +"texture": SubResource("AtlasTexture_bmp5p") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_es4xk") +"texture": SubResource("AtlasTexture_1wxdb") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_g183x") +"texture": SubResource("AtlasTexture_tm4vc") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_ojh85") +"texture": SubResource("AtlasTexture_ledjb") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_wvcio") +"texture": null +}], +"loop": false, +"name": &"hit_wall", +"speed": 12.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_v5qoq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jtmj1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lnh6v") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bmp5p") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1wxdb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tm4vc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ledjb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jsrl5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v32vt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_scfvx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_po5jt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jj045") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7wf8o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_afsxn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_b1ckw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3vieb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_imkep") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bngr8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ct55r") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hkhu1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2njrj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f0ff4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_74hqa") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pbthl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jhq84") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_flmxu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ymsks") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cssau") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bjon0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_toqbu") +}, { +"duration": 1.0, +"texture": null }], "loop": false, "name": &"normal_slash", -"speed": 12.0 +"speed": 45.0 }] -[sub_resource type="SpriteFrames" id="SpriteFrames_g641l"] +[sub_resource type="SpriteFrames" id="SpriteFrames_ebyyx"] animations = [{ "frames": [{ "duration": 1.0, "texture": null }, { "duration": 1.0, -"texture": ExtResource("4_565yv") +"texture": ExtResource("5_v5qoq") }, { "duration": 1.0, "texture": null @@ -413,17 +550,6 @@ autoplay = "IconAnimation" [node name="Collision" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.301443, 0) -[node name="Hitbox" type="Area3D" parent="Collision"] -unique_name_in_owner = true -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.12691, -1) -collision_layer = 2048 -collision_mask = 2048 - -[node name="HitboxCollision" type="CollisionShape3D" parent="Collision/Hitbox"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.177762) -shape = SubResource("BoxShape3D_g641l") -disabled = true - [node name="CollisionDetector" type="Area3D" parent="Collision"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.126903, 0) @@ -431,9 +557,8 @@ collision_layer = 448 collision_mask = 388 [node name="CollisionShape3D" type="CollisionShape3D" parent="Collision/CollisionDetector"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0479561, 0.509249, 0.0101219) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0479561, 0.427706, -0.811867) shape = SubResource("BoxShape3D_hs4wf") -disabled = true [node name="WallCheck" type="RigidBody3D" parent="Collision"] unique_name_in_owner = true @@ -452,14 +577,26 @@ max_contacts_reported = 100 transform = Transform3D(1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, -1.51238, 1.03938, -1.08421) shape = SubResource("SphereShape3D_g641l") -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +[node name="Hitbox" type="Area3D" parent="Collision"] unique_name_in_owner = true -libraries = { -&"": SubResource("AnimationLibrary_3ojaj") -} +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.12691, -1) +collision_layer = 2048 +collision_mask = 2048 + +[node name="HitboxCollision" type="CollisionShape3D" parent="Collision/Hitbox"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.177762) +shape = SubResource("BoxShape3D_565yv") +disabled = true [node name="ScreenFX" type="Node3D" parent="."] +[node name="AnimationPlayer" type="AnimationPlayer" parent="ScreenFX"] +unique_name_in_owner = true +root_node = NodePath("../..") +libraries = { +&"": SubResource("AnimationLibrary_u8qj4") +} + [node name="PlayerFXAnimations" type="AnimationPlayer" parent="ScreenFX"] unique_name_in_owner = true libraries = { @@ -473,7 +610,6 @@ anchor_right = 0.748 anchor_bottom = 1.0 size_flags_horizontal = 3 size_flags_vertical = 3 -stretch = true [node name="SubViewport" type="SubViewport" parent="ScreenFX/SubViewportContainer"] transparent_bg = true @@ -482,29 +618,21 @@ size = Vector2i(1440, 1080) render_target_update_mode = 4 [node name="WeaponAttack" type="AnimatedSprite2D" parent="ScreenFX/SubViewportContainer/SubViewport"] -position = Vector2(720, 540) -scale = Vector2(3, 3) -sprite_frames = SubResource("SpriteFrames_lnh6v") +position = Vector2(720, 580) +scale = Vector2(2.25, 2.25) +sprite_frames = SubResource("SpriteFrames_jtmj1") animation = &"normal_slash" -frame = 11 -flip_h = true -flip_v = true [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="ScreenFX/SubViewportContainer/SubViewport"] position = Vector2(720, 540) scale = Vector2(36.5, 36.5) -sprite_frames = SubResource("SpriteFrames_g641l") +sprite_frames = SubResource("SpriteFrames_ebyyx") animation = &"sample" -frame = 2 -frame_progress = 1.0 -[node name="Control" type="ColorRect" parent="ScreenFX"] -custom_minimum_size = Vector2(480, 0) -anchors_preset = 11 -anchor_left = 1.0 -anchor_right = 1.0 -anchor_bottom = 1.0 -offset_left = -480.0 -grow_horizontal = 0 -grow_vertical = 2 -color = Color(0.158472, 0.158472, 0.158472, 1) +[node name="HitWallSound" type="AudioStreamPlayer" parent="."] +unique_name_in_owner = true +bus = &"SFX" + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +stream = ExtResource("6_v7rlw") diff --git a/Zennysoft.Game.Ma/src/system/IHasPrimaryAttack.cs b/Zennysoft.Game.Ma/src/system/IHasPrimaryAttack.cs index a732801f..9d3cc394 100644 --- a/Zennysoft.Game.Ma/src/system/IHasPrimaryAttack.cs +++ b/Zennysoft.Game.Ma/src/system/IHasPrimaryAttack.cs @@ -1,4 +1,5 @@ -using Zennysoft.Ma.Adapter; +using Godot; +using Zennysoft.Ma.Adapter; namespace Zennysoft.Game.Ma; @@ -30,9 +31,13 @@ public interface IHasTertiaryAttack public interface IHasPrimarySkill { public void PrimarySkill(); + + [Export] public AttackDataResource AttackData { get; set; } } public interface IHasRangedAttack { public void RangedAttack(); + + [Export] public AttackDataResource AttackData { get; set; } } diff --git a/Zennysoft.Game.Ma/src/system/Projectile.cs b/Zennysoft.Game.Ma/src/system/Projectile.cs index 1807518f..312a1e61 100644 --- a/Zennysoft.Game.Ma/src/system/Projectile.cs +++ b/Zennysoft.Game.Ma/src/system/Projectile.cs @@ -20,16 +20,24 @@ public partial class Projectile : Node3D public void OnReady() { - ProjectileHitbox.AreaEntered += Hitbox_AreaEntered; + ProjectileHitbox.AreaEntered += Hitbox_AreaEntered; + ProjectileHitbox.BodyEntered += ProjectileHitbox_BodyEntered; + } + + private void ProjectileHitbox_BodyEntered(Node3D body) + { + AnimationPlayer.Play("RESET"); } public void Fire() { - AnimationPlayer.Play("Fire"); + AnimationPlayer.Play("Fire"); } private void Hitbox_AreaEntered(Area3D area) { - _player.TakeDamage(new AttackData(AttackData.Damage, AttackData.ElementType)); + if (area.GetOwner() is IPlayer) + _player.TakeDamage(new AttackData(AttackData.Damage, AttackData.ElementType)); + AnimationPlayer.Play("RESET"); } } diff --git a/Zennysoft.Game.Ma/src/ui/dialogue/DialogueBalloon.tscn b/Zennysoft.Game.Ma/src/ui/dialogue/DialogueBalloon.tscn index b79badfd..f54e4b3d 100644 --- a/Zennysoft.Game.Ma/src/ui/dialogue/DialogueBalloon.tscn +++ b/Zennysoft.Game.Ma/src/ui/dialogue/DialogueBalloon.tscn @@ -169,6 +169,7 @@ theme_override_styles/normal = SubResource("StyleBoxEmpty_dboi3") text = "I do not know thee but I perceive thine sorrows vividly, for I am embraced by their brethren." skip_action = &"ui_accept" +seconds_per_pause_step = 0.75 [node name="CenterContainer" type="CenterContainer" parent="Balloon"] layout_mode = 1 diff --git a/Zennysoft.Game.Ma/src/ui/in_game_ui/InventoryMessageUI.cs b/Zennysoft.Game.Ma/src/ui/in_game_ui/InventoryMessageUI.cs index b974cf19..e8c32c09 100644 --- a/Zennysoft.Game.Ma/src/ui/in_game_ui/InventoryMessageUI.cs +++ b/Zennysoft.Game.Ma/src/ui/in_game_ui/InventoryMessageUI.cs @@ -18,17 +18,6 @@ public partial class InventoryMessageUI : Control _labelSettings = GD.Load("res://src/ui/label_settings/InventoryFullAlertLabelSetting.tres"); } - public async void DisplayInventoryFullMessage(string rejectedItemName) - { - var newLabel = new Label() { Text = $"Could not pick up {rejectedItemName}.", LabelSettings = _labelSettings }; - MessageBox.AddChild(newLabel); - - GetTree().CreateTimer(3f).Timeout += () => - { - MessageBox.RemoveChild(newLabel); - }; - } - public async void DisplayMessage(string message) { var newLabel = new Label() { Text = message, LabelSettings = _labelSettings }; diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs b/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs index 51c1bd4d..beb253f9 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs @@ -83,7 +83,7 @@ public partial class InventoryMenu : Control, IInventoryMenu ThrowButton.Pressed += ThrowButtonPressed; DropButton.Pressed += DropButtonPressed; - VisibilityChanged += InventoryMenu2_VisibilityChanged; + VisibilityChanged += InventoryMenu_VisibilityChanged; } public override void _Input(InputEvent @event) @@ -91,23 +91,42 @@ public partial class InventoryMenu : Control, IInventoryMenu if (!Visible) return; + if ((!Input.IsActionJustPressed(GameInputs.UiUp) && Input.IsActionPressed(GameInputs.UiUp)) || (!Input.IsActionJustPressed(GameInputs.UiDown) && Input.IsActionPressed(GameInputs.UiDown))) + AcceptEvent(); + + if (Input.IsActionJustPressed(GameInputs.UiUp) && _currentlySelectedItem.GetIndex() != ItemSlots.First().GetIndex() && !(UseButton.HasFocus() || DropButton.HasFocus() || ThrowButton.HasFocus())) + SfxDatabase.Instance.Play(SoundEffect.MoveUI); + if (Input.IsActionJustPressed(GameInputs.UiDown) && _currentlySelectedItem.GetIndex() != ItemSlots.Last(x => x.Visible).GetIndex() && !(UseButton.HasFocus() || DropButton.HasFocus() || ThrowButton.HasFocus())) + SfxDatabase.Instance.Play(SoundEffect.MoveUI); + + if (Input.IsActionJustPressed(GameInputs.UiUp) && (DropButton.HasFocus() || ThrowButton.HasFocus())) + SfxDatabase.Instance.Play(SoundEffect.MoveUI); + if (Input.IsActionJustPressed(GameInputs.UiDown) && (UseButton.HasFocus() || ThrowButton.HasFocus())) + SfxDatabase.Instance.Play(SoundEffect.MoveUI); + + + if (Input.IsActionJustPressed(GameInputs.Inventory) && !(UseButton.HasFocus() || DropButton.HasFocus() || ThrowButton.HasFocus())) { + SfxDatabase.Instance.Play(SoundEffect.CancelUI); AcceptEvent(); _gameRepo.CloseInventory(); } if (Input.IsActionJustPressed(GameInputs.UiCancel) && (UseButton.HasFocus() || DropButton.HasFocus() || ThrowButton.HasFocus())) { + SfxDatabase.Instance.Play(SoundEffect.CancelUI); AcceptEvent(); HideUserActionPrompt(); } else if (Input.IsActionJustPressed(GameInputs.UiCancel)) { + SfxDatabase.Instance.Play(SoundEffect.CancelUI); AcceptEvent(); _gameRepo.CloseInventory(); } if (_currentPageNumber == InventoryPageNumber.FirstPage && _player.Inventory.Items.Count > 10 && Input.IsActionJustPressed(GameInputs.MoveRight)) { + SfxDatabase.Instance.Play(SoundEffect.MoveUI); _currentPageNumber = InventoryPageNumber.SecondPage; Inventory_InventoryChanged(); _currentlySelectedItem = ItemSlot1; @@ -115,6 +134,7 @@ public partial class InventoryMenu : Control, IInventoryMenu } else if (_currentPageNumber == InventoryPageNumber.SecondPage && Input.IsActionJustPressed(GameInputs.MoveLeft)) { + SfxDatabase.Instance.Play(SoundEffect.MoveUI); _currentPageNumber = InventoryPageNumber.FirstPage; Inventory_InventoryChanged(); _currentlySelectedItem = ItemSlot1; @@ -123,7 +143,11 @@ public partial class InventoryMenu : Control, IInventoryMenu if (Input.IsActionJustPressed(GameInputs.InventorySort)) { - _player.Inventory.Sort(_player.EquipmentComponent.EquippedWeapon.Value, _player.EquipmentComponent.EquippedArmor.Value, _player.EquipmentComponent.EquippedAccessory.Value); + var isChanged = _player.Inventory.Sort(_player.EquipmentComponent.EquippedWeapon.Value, _player.EquipmentComponent.EquippedArmor.Value, _player.EquipmentComponent.EquippedAccessory.Value); + if (!isChanged) + return; + + SfxDatabase.Instance.Play(SoundEffect.SortInventory); Inventory_InventoryChanged(); foreach (var slot in ItemSlots) slot.SetItemStyle(); @@ -133,9 +157,13 @@ public partial class InventoryMenu : Control, IInventoryMenu } } - private void InventoryMenu2_VisibilityChanged() + private void InventoryMenu_VisibilityChanged() { - _currentlySelectedItem.GrabFocus(); + if (Visible) + { + SfxDatabase.Instance.Play(SoundEffect.OpenInventory); + _currentlySelectedItem.GrabFocus(); + } } private void Item_ItemExitFocus(IItemSlot itemSlot) @@ -156,6 +184,7 @@ public partial class InventoryMenu : Control, IInventoryMenu _currentlySelectedItem = itemSlot; itemSlot.IsSelected = true; itemSlot.SetItemStyle(); + AcceptEvent(); } private void Item_Pressed(InventoryItem item) => DisplayUserActionPrompt(item); @@ -257,6 +286,7 @@ public partial class InventoryMenu : Control, IInventoryMenu private void DisplayUserActionPrompt(InventoryItem item) { + SfxDatabase.Instance.Play(SoundEffect.SelectUI); ItemDescriptionTitle.Hide(); ItemEffectLabel.Hide(); UseItemPrompt.Show(); @@ -297,11 +327,13 @@ public partial class InventoryMenu : Control, IInventoryMenu { if (_player.EquipmentComponent.IsItemEquipped(equipable)) { + SfxDatabase.Instance.Play(SoundEffect.Unequip); ItemEffectLabel.Text = $"{equipable.GetType().Name} unequipped."; _player.Unequip(equipable); } else { + SfxDatabase.Instance.Play(SoundEffect.Equip); var itemSlot = _currentlySelectedItem; ItemEffectLabel.Text = $"{equipable.GetType().Name} equipped."; _player.Equip(equipable); diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemSlot.tscn b/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemSlot.tscn index 89fe32a0..67730c7e 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemSlot.tscn +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemSlot.tscn @@ -31,6 +31,7 @@ theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_lt1pw") theme_override_styles/pressed = SubResource("StyleBoxEmpty_lt1pw") theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_lt1pw") theme_override_styles/normal = SubResource("StyleBoxEmpty_lt1pw") +button_mask = 0 flat = true alignment = 0 script = ExtResource("1_yttxt") diff --git a/Zennysoft.Game.Ma/src/vfx/Weapon Strikes/._NON ELEMENTAL SLASH.png b/Zennysoft.Game.Ma/src/vfx/Weapon Strikes/._NON ELEMENTAL SLASH.png deleted file mode 100644 index ef7a9cfc..00000000 Binary files a/Zennysoft.Game.Ma/src/vfx/Weapon Strikes/._NON ELEMENTAL SLASH.png and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/vfx/Weapon Strikes/._NON ELEMENTAL SLASH.png.import b/Zennysoft.Game.Ma/src/vfx/Weapon Strikes/._NON ELEMENTAL SLASH.png.import deleted file mode 100644 index 9355b15b..00000000 --- a/Zennysoft.Game.Ma/src/vfx/Weapon Strikes/._NON ELEMENTAL SLASH.png.import +++ /dev/null @@ -1,30 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://n1p83m0uo03v" -valid=false - -[deps] - -source_file="res://src/vfx/Weapon Strikes/._NON ELEMENTAL SLASH.png" - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=0 diff --git a/Zennysoft.Game.Ma/src/vfx/Weapon Strikes/NON ELEMENTAL SLASH.png b/Zennysoft.Game.Ma/src/vfx/Weapon Strikes/NON ELEMENTAL SLASH.png deleted file mode 100644 index c7c09fa4..00000000 Binary files a/Zennysoft.Game.Ma/src/vfx/Weapon Strikes/NON ELEMENTAL SLASH.png and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/vfx/Weapon Strikes/NON ELEMENTAL SLASH.png.import b/Zennysoft.Game.Ma/src/vfx/Weapon Strikes/NON ELEMENTAL SLASH.png.import deleted file mode 100644 index a03908fd..00000000 --- a/Zennysoft.Game.Ma/src/vfx/Weapon Strikes/NON ELEMENTAL SLASH.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b5qjlbcesth53" -path="res://.godot/imported/NON ELEMENTAL SLASH.png-1bf909eeddb451e3f6e33c698e2e53e1.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://src/vfx/Weapon Strikes/NON ELEMENTAL SLASH.png" -dest_files=["res://.godot/imported/NON ELEMENTAL SLASH.png-1bf909eeddb451e3f6e33c698e2e53e1.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=0 diff --git a/Zennysoft.Game.Ma/src/vfx/slash/slash_0000_Classic_30.png b/Zennysoft.Game.Ma/src/vfx/slash/slash_0000_Classic_30.png deleted file mode 100644 index c1b41a89..00000000 Binary files a/Zennysoft.Game.Ma/src/vfx/slash/slash_0000_Classic_30.png and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/vfx/slash/slash_0000_Classic_30.png.import b/Zennysoft.Game.Ma/src/vfx/slash/slash_0000_Classic_30.png.import deleted file mode 100644 index 1833ee85..00000000 --- a/Zennysoft.Game.Ma/src/vfx/slash/slash_0000_Classic_30.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bokx3h8kfdo5i" -path="res://.godot/imported/slash_0000_Classic_30.png-62602a4bea6b70260f0d3f4c854b822e.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://src/vfx/slash/slash_0000_Classic_30.png" -dest_files=["res://.godot/imported/slash_0000_Classic_30.png-62602a4bea6b70260f0d3f4c854b822e.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/Zennysoft.Game.Ma/src/vfx/slash/slash_0001_Classic_29.png b/Zennysoft.Game.Ma/src/vfx/slash/slash_0001_Classic_29.png deleted file mode 100644 index b4a48bce..00000000 Binary files a/Zennysoft.Game.Ma/src/vfx/slash/slash_0001_Classic_29.png and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/vfx/slash/slash_0001_Classic_29.png.import b/Zennysoft.Game.Ma/src/vfx/slash/slash_0001_Classic_29.png.import deleted file mode 100644 index 95fb0a4a..00000000 --- a/Zennysoft.Game.Ma/src/vfx/slash/slash_0001_Classic_29.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://byosr5gk51237" -path="res://.godot/imported/slash_0001_Classic_29.png-a2c5b7daa803b51cc133bc3edd566285.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://src/vfx/slash/slash_0001_Classic_29.png" -dest_files=["res://.godot/imported/slash_0001_Classic_29.png-a2c5b7daa803b51cc133bc3edd566285.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/Zennysoft.Game.Ma/src/vfx/slash/slash_0002_Classic_28.png b/Zennysoft.Game.Ma/src/vfx/slash/slash_0002_Classic_28.png deleted file mode 100644 index ff65af50..00000000 Binary files a/Zennysoft.Game.Ma/src/vfx/slash/slash_0002_Classic_28.png and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/vfx/slash/slash_0002_Classic_28.png.import b/Zennysoft.Game.Ma/src/vfx/slash/slash_0002_Classic_28.png.import deleted file mode 100644 index 110ed2ee..00000000 --- a/Zennysoft.Game.Ma/src/vfx/slash/slash_0002_Classic_28.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://nh071o6ii03j" -path="res://.godot/imported/slash_0002_Classic_28.png-67544ac9987966518d7537a6e1719a59.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://src/vfx/slash/slash_0002_Classic_28.png" -dest_files=["res://.godot/imported/slash_0002_Classic_28.png-67544ac9987966518d7537a6e1719a59.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/Zennysoft.Game.Ma/src/vfx/slash/slash_0003_Classic_27.png b/Zennysoft.Game.Ma/src/vfx/slash/slash_0003_Classic_27.png deleted file mode 100644 index 7e8fe043..00000000 Binary files a/Zennysoft.Game.Ma/src/vfx/slash/slash_0003_Classic_27.png and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/vfx/slash/slash_0003_Classic_27.png.import b/Zennysoft.Game.Ma/src/vfx/slash/slash_0003_Classic_27.png.import deleted file mode 100644 index e1c9e1cf..00000000 --- a/Zennysoft.Game.Ma/src/vfx/slash/slash_0003_Classic_27.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bodfblud4kea3" -path="res://.godot/imported/slash_0003_Classic_27.png-6f445ce101e9ea54bfeda842ed6b0aba.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://src/vfx/slash/slash_0003_Classic_27.png" -dest_files=["res://.godot/imported/slash_0003_Classic_27.png-6f445ce101e9ea54bfeda842ed6b0aba.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/Zennysoft.Game.Ma/src/vfx/slash/slash_0004_Classic_26.png b/Zennysoft.Game.Ma/src/vfx/slash/slash_0004_Classic_26.png deleted file mode 100644 index 266a0aa4..00000000 Binary files a/Zennysoft.Game.Ma/src/vfx/slash/slash_0004_Classic_26.png and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/vfx/slash/slash_0004_Classic_26.png.import b/Zennysoft.Game.Ma/src/vfx/slash/slash_0004_Classic_26.png.import deleted file mode 100644 index 813e830e..00000000 --- a/Zennysoft.Game.Ma/src/vfx/slash/slash_0004_Classic_26.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://de55prolicl0u" -path="res://.godot/imported/slash_0004_Classic_26.png-8b74f286f3ecb1c6b24b364a6112cd6c.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://src/vfx/slash/slash_0004_Classic_26.png" -dest_files=["res://.godot/imported/slash_0004_Classic_26.png-8b74f286f3ecb1c6b24b364a6112cd6c.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/Zennysoft.Game.Ma/src/vfx/slash/slash_0005_Layer-1.png b/Zennysoft.Game.Ma/src/vfx/slash/slash_0005_Layer-1.png deleted file mode 100644 index 04c738d1..00000000 Binary files a/Zennysoft.Game.Ma/src/vfx/slash/slash_0005_Layer-1.png and /dev/null differ diff --git a/Zennysoft.Game.Ma/src/vfx/slash/slash_0005_Layer-1.png.import b/Zennysoft.Game.Ma/src/vfx/slash/slash_0005_Layer-1.png.import deleted file mode 100644 index f5d56a80..00000000 --- a/Zennysoft.Game.Ma/src/vfx/slash/slash_0005_Layer-1.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bp0msic3uk3kc" -path="res://.godot/imported/slash_0005_Layer-1.png-db55a7b50be18f92ffbe8351fade1a09.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://src/vfx/slash/slash_0005_Layer-1.png" -dest_files=["res://.godot/imported/slash_0005_Layer-1.png-db55a7b50be18f92ffbe8351fade1a09.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1