From db7a1df1f7cf9df3498f63be87d718dc9d5f08b8 Mon Sep 17 00:00:00 2001 From: Zenny Date: Tue, 25 Nov 2025 03:04:07 -0800 Subject: [PATCH 1/3] Started implementing SFX Fixed Shield animation jumps and secondary attack Fixed demon wall stone behavior Made overworld ambient sounds unpausable --- .../Audio/AudioManager.cs | 30 - .../Audio/SoundEffects.cs | 14 - .../Entity/IEnemy.cs | 4 + .../Item/IInventory.cs | 2 +- Zennysoft.Game.Ma/Ma.csproj | 2 +- Zennysoft.Game.Ma/Ma.csproj.old.5 | 38 - Zennysoft.Game.Ma/project.godot | 2 + .../src/audio/AMB/amb_beach.wav.import | 6 +- .../src/audio/AMB/amb_perlin.wav.import | 6 +- .../src/audio/AMB/amb_white_noise.wav.import | 6 +- .../audio/AMB/amb_wind_loop_altar.wav.import | 6 +- Zennysoft.Game.Ma/src/audio/AudioManager.cs | 42 +- Zennysoft.Game.Ma/src/audio/SFXDatabase.tscn | 150 ++++ Zennysoft.Game.Ma/src/audio/SfxDatabase.cs | 108 +++ .../src/audio/SfxDatabase.cs.uid | 1 + Zennysoft.Game.Ma/src/audio/sfx/Cancel.ogg | Bin 22930 -> 0 bytes .../src/audio/sfx/Cancel.ogg.import | 19 - Zennysoft.Game.Ma/src/audio/sfx/Equip.ogg | Bin 49142 -> 0 bytes .../src/audio/sfx/Equip.ogg.import | 19 - Zennysoft.Game.Ma/src/audio/sfx/Heal.ogg | Bin 25211 -> 0 bytes .../src/audio/sfx/Heal.ogg.import | 19 - Zennysoft.Game.Ma/src/audio/sfx/MenuBack.ogg | Bin 8543 -> 0 bytes .../src/audio/sfx/MenuBack.ogg.import | 19 - .../src/audio/sfx/MoveThroughOptions.ogg | Bin 9164 -> 0 bytes .../audio/sfx/MoveThroughOptions.ogg.import | 19 - .../src/audio/sfx/PlayerAttack.ogg | Bin 12008 -> 0 bytes .../src/audio/sfx/PlayerAttack.ogg.import | 19 - .../src/audio/sfx/PlayerHitWall.ogg | Bin 13416 -> 0 bytes .../src/audio/sfx/PlayerHitWall.ogg.import | 19 - Zennysoft.Game.Ma/src/audio/sfx/Select.ogg | Bin 49142 -> 0 bytes .../src/audio/sfx/Select.ogg.import | 19 - Zennysoft.Game.Ma/src/audio/sfx/Sort.ogg | Bin 7392 -> 0 bytes .../src/audio/sfx/Sort.ogg.import | 19 - Zennysoft.Game.Ma/src/audio/sfx/Unequip.ogg | Bin 49060 -> 0 bytes .../src/audio/sfx/Unequip.ogg.import | 19 - Zennysoft.Game.Ma/src/enemy/Enemy.cs | 25 +- .../enemy_types/01. sproingy/Sproingy.tscn | 28 +- .../enemy_types/02. michael/Michael.tscn | 28 +- .../03. filth_eater/FilthEater.tscn | 28 +- .../src/enemy/enemy_types/04. sara/Sara.tscn | 28 +- .../enemy/enemy_types/05. ballos/Ballos.tscn | 28 +- .../enemy_types/06. chariot/Chariot.tscn | 28 +- .../enemy_types/07. chinthe/Chinthe.tscn | 28 +- .../08a. Ambassador/Ambassador.tscn | 28 +- .../08b. Ambassador (red)/AmbassadorRed.tscn | 28 +- .../AmbassadorSteel.tscn | 28 +- .../enemy/enemy_types/09. Agni/AgniDemon.tscn | 28 +- .../09. Agni/AgniDemonModelView.tscn | 188 +--- .../10. Eden Pillar/Eden Pillar.tscn | 28 +- .../enemy/enemy_types/11. Palan/Palan.tscn | 28 +- .../12. Shield of Heaven/ShieldModelView.tscn | 81 +- .../12. Shield of Heaven/ShieldOfHeaven.tscn | 28 +- .../13. gold sproingy/GoldSproingy.tscn | 28 +- .../enemy_types/14. horse_head/HorseFace.tscn | 28 +- .../enemy/enemy_types/15. ox_face/OxFace.tscn | 76 +- .../enemy_types/16. demon wall/Arm1.tscn | 62 +- .../enemy_types/16. demon wall/Arm2.tscn | 76 +- .../enemy_types/16. demon wall/Arm3.tscn | 66 +- .../enemy_types/16. demon wall/Arm4.tscn | 42 +- .../enemy_types/16. demon wall/Arm5.tscn | 847 +++++++++--------- .../enemy_types/16. demon wall/Arm6.tscn | 56 +- .../enemy_types/16. demon wall/Arm7.tscn | 78 +- .../enemy_types/16. demon wall/Arm8.tscn | 78 +- .../enemy_types/16. demon wall/Arm9.tscn | 76 +- .../enemy_types/16. demon wall/DemonWall.tscn | 28 +- .../9b. Aqueos Demon/AqueosDemon.tscn | 28 +- Zennysoft.Game.Ma/src/game/Game.cs | 22 + Zennysoft.Game.Ma/src/items/EffectService.cs | 12 +- Zennysoft.Game.Ma/src/items/Inventory.cs | 8 +- .../src/items/InventoryItemStats.cs | 3 + .../src/items/consumable/ConsumableItem.cs | 5 +- .../consumable/resources/AmritShard.tres | 4 +- .../consumable/resources/PastSelfRemnant.tres | 4 +- .../consumable/resources/PastSelfSpirit.tres | 4 +- .../consumable/resources/SteloFragment.tres | 4 +- .../consumable/resources/SunaFragment.tres | 4 +- .../consumable/resources/YdunicShard.tres | 4 +- .../src/items/dropped/DroppedItem.cs | 1 + Zennysoft.Game.Ma/src/items/weapons/Weapon.cs | 9 +- .../src/items/weapons/WeaponStats.cs | 3 + .../src/items/weapons/resources/Jiblett.tres | 17 +- .../src/items/weapons/resources/Katara.tres | 17 +- .../src/items/weapons/resources/Kubel.tres | 17 +- .../weapons/resources/LoveJudgement.tres | 17 +- .../weapons/resources/Palm of Heaven.tres | 17 +- .../src/items/weapons/resources/Rondo.tres | 17 +- .../items/weapons/resources/SealingRod.tres | 17 +- .../items/weapons/resources/SpadedStaff.tres | 17 +- .../weapons/resources/Swan Sword Odette.tres | 17 +- .../src/items/weapons/resources/Talwar.tres | 17 +- .../floors/Special Floors/Overworld.tscn | 12 +- .../models/Area 2/Puer/A2-Puer.glb.import | 6 +- .../dungeon/rooms/Set A/19. Floor Exit A.tscn | 1 + Zennysoft.Game.Ma/src/npc/Clalo/Clalo.tscn | 4 +- .../src/options/InputMapButton.cs | 1 + Zennysoft.Game.Ma/src/options/InputMapper.cs | 62 +- .../src/options/JoypadRemapButton.cs | 6 + .../src/options/KeyboardRemapButton.cs | 5 + Zennysoft.Game.Ma/src/options/OptionsMenu.cs | 2 +- .../src/options/OptionsMenu.tscn | 2 + Zennysoft.Game.Ma/src/player/Player.cs | 15 +- Zennysoft.Game.Ma/src/player/Player.tscn | 444 +++++---- .../src/ui/dialogue/DialogueBalloon.tscn | 1 + .../src/ui/in_game_ui/InventoryMessageUI.cs | 11 - .../src/ui/inventory_menu/InventoryMenu.cs | 40 +- .../src/ui/inventory_menu/ItemSlot.tscn | 1 + .../Weapon Strikes/._NON ELEMENTAL SLASH.png | Bin 4096 -> 0 bytes .../._NON ELEMENTAL SLASH.png.import | 30 - .../Weapon Strikes/NON ELEMENTAL SLASH.png | Bin 17787 -> 0 bytes .../NON ELEMENTAL SLASH.png.import | 34 - .../src/vfx/slash/slash_0000_Classic_30.png | Bin 10242 -> 0 bytes .../slash/slash_0000_Classic_30.png.import | 34 - .../src/vfx/slash/slash_0001_Classic_29.png | Bin 12832 -> 0 bytes .../slash/slash_0001_Classic_29.png.import | 34 - .../src/vfx/slash/slash_0002_Classic_28.png | Bin 12899 -> 0 bytes .../slash/slash_0002_Classic_28.png.import | 34 - .../src/vfx/slash/slash_0003_Classic_27.png | Bin 12416 -> 0 bytes .../slash/slash_0003_Classic_27.png.import | 34 - .../src/vfx/slash/slash_0004_Classic_26.png | Bin 11687 -> 0 bytes .../slash/slash_0004_Classic_26.png.import | 34 - .../src/vfx/slash/slash_0005_Layer-1.png | Bin 11878 -> 0 bytes .../vfx/slash/slash_0005_Layer-1.png.import | 34 - 122 files changed, 2313 insertions(+), 1687 deletions(-) delete mode 100644 Zennysoft.Game.Ma.Implementation/Audio/AudioManager.cs delete mode 100644 Zennysoft.Game.Ma.Implementation/Audio/SoundEffects.cs delete mode 100644 Zennysoft.Game.Ma/Ma.csproj.old.5 create mode 100644 Zennysoft.Game.Ma/src/audio/SFXDatabase.tscn create mode 100644 Zennysoft.Game.Ma/src/audio/SfxDatabase.cs create mode 100644 Zennysoft.Game.Ma/src/audio/SfxDatabase.cs.uid delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/Cancel.ogg delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/Cancel.ogg.import delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/Equip.ogg delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/Equip.ogg.import delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/Heal.ogg delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/Heal.ogg.import delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/MenuBack.ogg delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/MenuBack.ogg.import delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/MoveThroughOptions.ogg delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/MoveThroughOptions.ogg.import delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/PlayerAttack.ogg delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/PlayerAttack.ogg.import delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/PlayerHitWall.ogg delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/PlayerHitWall.ogg.import delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/Select.ogg delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/Select.ogg.import delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/Sort.ogg delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/Sort.ogg.import delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/Unequip.ogg delete mode 100644 Zennysoft.Game.Ma/src/audio/sfx/Unequip.ogg.import delete mode 100644 Zennysoft.Game.Ma/src/vfx/Weapon Strikes/._NON ELEMENTAL SLASH.png delete mode 100644 Zennysoft.Game.Ma/src/vfx/Weapon Strikes/._NON ELEMENTAL SLASH.png.import delete mode 100644 Zennysoft.Game.Ma/src/vfx/Weapon Strikes/NON ELEMENTAL SLASH.png delete mode 100644 Zennysoft.Game.Ma/src/vfx/Weapon Strikes/NON ELEMENTAL SLASH.png.import delete mode 100644 Zennysoft.Game.Ma/src/vfx/slash/slash_0000_Classic_30.png delete mode 100644 Zennysoft.Game.Ma/src/vfx/slash/slash_0000_Classic_30.png.import delete mode 100644 Zennysoft.Game.Ma/src/vfx/slash/slash_0001_Classic_29.png delete mode 100644 Zennysoft.Game.Ma/src/vfx/slash/slash_0001_Classic_29.png.import delete mode 100644 Zennysoft.Game.Ma/src/vfx/slash/slash_0002_Classic_28.png delete mode 100644 Zennysoft.Game.Ma/src/vfx/slash/slash_0002_Classic_28.png.import delete mode 100644 Zennysoft.Game.Ma/src/vfx/slash/slash_0003_Classic_27.png delete mode 100644 Zennysoft.Game.Ma/src/vfx/slash/slash_0003_Classic_27.png.import delete mode 100644 Zennysoft.Game.Ma/src/vfx/slash/slash_0004_Classic_26.png delete mode 100644 Zennysoft.Game.Ma/src/vfx/slash/slash_0004_Classic_26.png.import delete mode 100644 Zennysoft.Game.Ma/src/vfx/slash/slash_0005_Layer-1.png delete mode 100644 Zennysoft.Game.Ma/src/vfx/slash/slash_0005_Layer-1.png.import 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/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 1ce0f6a4c93ea122ab9a7a8a60abbfacf774eb01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22930 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

K>h`9TIE|s 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 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/Equip.ogg b/Zennysoft.Game.Ma/src/audio/sfx/Equip.ogg deleted file mode 100644 index 39735d23365668cd1b8b0603c40947222a1094f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49142 zcmeFYc~lcg+c#XDbV3tC>_EVP;B-R7u#E{Kg4-k^?5GI>6L8cJKmlPyQPdfo>4X3w z0s<<7xP`D75fo5RXIugT;*NrX=qT>{K8rhFqjTTi{XFMA=Y7t3-@m@|)oD7_wb!-O z^{cCj*^3s<0VMEG_`2un4R{YSManDwJ>BzC(#xaSAmAtLtd$WF%} zPZMdGm`|b|05HJakcwqPl1E4W9_w(ADR*=~F%rwk7i@IMnZ9W-?lEV>HOZst_s1gE zu@r(jK!k9#tjG{f&c9x6HRUS3TWz`Ol-o|H%rn9hST`SNf%yDv?aTmP3dLt*znK(Tl$Cy|EWJPGb0j7`wl)3ge|


To;tuFoiuGpDUQTsoAM9JOmKt#~;#8Rg(Pw+CH#b*k41A?cbNZyHM zp23+uCo-o6FPENJ9&vJG)XA3btp3FWg6%{Q*?I=fnRa5swDY!;&iDG9wVf&Vnc4e4 zc;>LwpXG&^2xr^EvQ!+ISRDVEEI83DyAlbYf9Z)RpsT!tRrFN6KI_k@xNF$O+S1#W zAGKxtp{fg&*CE@_!d9F?%Jlo))rA!EKV(F!`S8P85<13Znx^Og+)PO zyRv1G4&!T`^snbYo80YfrPls zv72|nZbh$s(j4D;y_1r9qmwRWC0%JvntNbvZ0p(^fB(nRzv4eNhfo`?f6?ub|Ef7f zxBQA+LQ8qErLLbfXV>QK4|f^=o8}mj^*hV;J9YZ|x*~plSxSCI-63PzsXdQ>{og+S z)*M1%h$k?T7x-T^$1HRTAe5)sbLQ(WbDVyGSRIxJj{Z*u0AMbrhmR~JJb9$orN~K_ zBE6!crbqwp!le<_A_%()00#h$@4s_#+4(|4h5G^V(b4~|I-v8#13K*fA*3}jt2?%gFqfnT#AME z_~41LJwC~f5w=*Yy^nPTwfBp8AEAcm6_Md%ZA6NFMpaN}X7m3I9|4v^WK>Y)aL7nT zt@vL$MAYhuur(rbZ3<~xua+-i#aH~V35x@OLlyuBwx>k@9+OdF4}f23LM(wV{7RD` zfG5Qo32R?glh6HMH}gMF{cjyYI3IvKqQeZQ)1;z=SW&5`l` z_>8l+;QJ(w11JRy$ylc^`pED2mDQveyGuO7d!;2wDHZoOyZW4c9lP{{7JpEcKXU&`w9lhyx za@qZSBfp}yuFjq4==^6B6&*brs z`Zp!TQiq7#Q_Y?PBg_!M%*d3Jre

j+uh)7V$OpuHqVfTpn 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%0Ae5 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 PS+n1(*NcZpPF(*5^f+{M 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 89b08d0f491219b257f1d4407b9c935853e3f6b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9164 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 l&16w+LXmslKaiWaJRiK?Jn##yLRn;>Q{SL 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 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 f82a72b4f599eee95e9baf2b6e35c820a41f9295..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13416 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 GqW=$GPbU=s 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 7e8fe04303d3873343aaf9b251672c4fc89362f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12416 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 P|GFs3s>)PL8HfBIrjY^) 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 04c738d141c54733dec6c0a08ba7fc5a0033d8b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11878 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 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 From ed9e611fd918c4fbacb946f90efcdfb0f870fecf Mon Sep 17 00:00:00 2001 From: Zenny Date: Wed, 26 Nov 2025 02:12:24 -0800 Subject: [PATCH 2/3] Work SFX work Fix up Eden Pillar behavior --- .../sfx/ENEMY_AGNI_AMBIENT_LOOP.ogg.import | 6 +- .../audio/sfx/ENEMY_AQUEOS_LOOP.ogg.import | 6 +- .../audio/sfx/ENEMY_PILLAR_TURN.ogg.import | 6 +- .../sfx/ENEMY_golden_sproing_loop.ogg.import | 6 +- .../audio/sfx/enemy_balos_rolling.ogg.import | 6 +- Zennysoft.Game.Ma/src/enemy/Enemy.cs | 6 + Zennysoft.Game.Ma/src/enemy/EnemyModelView.cs | 58 +- .../src/enemy/EnemyModelView2D.cs | 128 +- .../src/enemy/EnemyModelView3D.cs | 22 +- .../src/enemy/IEnemyModelView.cs | 3 + .../enemy_types/01. sproingy/Sproingy.tscn | 18 +- .../01. sproingy/SproingyModelView.tscn | 15 +- .../enemy_types/02. michael/Michael.tres | 24 - .../enemy_types/02. michael/Michael.tscn | 4 + .../02. michael/MichaelModelView.tscn | 5 + .../03. filth_eater/FilthEater.tscn | 8 +- .../03. filth_eater/FilthEaterModelView.tscn | 5 + .../03. filth_eater/FilthEaterStats.tres | 21 - .../src/enemy/enemy_types/04. sara/Sara.tscn | 8 +- .../enemy_types/04. sara/SaraModelView.tscn | 5 + .../enemy/enemy_types/04. sara/SaraStats.tres | 21 - .../enemy/enemy_types/05. ballos/Ballos.tscn | 8 +- .../05. ballos/BallosModelView.tscn | 9 +- .../enemy_types/06. chariot/Chariot.tscn | 4 + .../06. chariot/ChariotModelView.tscn | 5 + .../enemy_types/07. chinthe/Chinthe.tscn | 8 +- .../07. chinthe/ChintheModelView.tscn | 5 + .../enemy_types/07. chinthe/ChintheStats.tres | 21 - .../08a. Ambassador/Ambassador.tscn | 8 +- .../08a. Ambassador/AmbassadorModelView.tscn | 5 + .../08a. Ambassador/AmbassadorStats.tres | 21 - .../08b. Ambassador (red)/AmbassadorRed.tscn | 8 +- .../AmbassadorSmallModelView.tscn | 5 + .../AmbassadorStats.tres | 21 - .../AmbassadorSteel.tscn | 8 +- .../AmbassadorSteelModelView.tscn | 5 + .../AmbassadorSteelStats.tres | 21 - .../enemy/enemy_types/09. Agni/AgniDemon.tscn | 8 +- .../09. Agni/AgniDemonModelView.tscn | 5 + .../enemy_types/09. Agni/AgniDemonStats.tres | 21 - .../10. Eden Pillar/Eden Pillar.tscn | 1792 +---------------- .../enemy_types/10. Eden Pillar/EdenPillar.cs | 106 +- .../10. Eden Pillar/EdenPillarModelView.cs | 24 + .../EdenPillarModelView.cs.uid | 1 + .../10. Eden Pillar/EdenPillarModelView.tscn | 23 +- .../10. Eden Pillar/projectile_1.tscn | 301 +++ .../10. Eden Pillar/projectile_2.tscn | 656 ++++++ .../10. Eden Pillar/projectile_3.tscn | 992 +++++++++ .../enemy/enemy_types/11. Palan/Palan.tscn | 4 + .../enemy_types/11. Palan/PalanModelView.tscn | 6 + .../enemy_types/11. Palan/PalanStats.tres | 21 - .../12. Shield of Heaven/ShieldModelView.tscn | 5 + .../12. Shield of Heaven/ShieldOfHeaven.tscn | 8 +- .../ShieldOfHeavenStats.tres | 21 - .../13. gold sproingy/GoldSproingy.tscn | 23 +- .../GoldSproingyModelView.tscn | 5 + .../13. gold sproingy/GoldSproingyStats.tres | 21 - .../enemy_types/14. horse_head/HorseFace.tscn | 8 +- .../14. horse_head/HorseFaceModelView.tscn | 77 +- .../animation/OxFaceAnimations.tres | 39 +- .../14. horse_head/animation/walking.res | Bin 5371 -> 5599 bytes .../14. horse_head/animation/walking2.res | Bin 8759 -> 9060 bytes .../enemy/enemy_types/15. ox_face/OxFace.tscn | 35 +- .../15. ox_face/OxFaceModelView.tscn | 43 +- .../enemy_types/16. demon wall/Arm1.tscn | 61 +- .../enemy_types/16. demon wall/Arm2.tscn | 75 +- .../enemy_types/16. demon wall/Arm3.tscn | 65 +- .../enemy_types/16. demon wall/Arm4.tscn | 37 +- .../enemy_types/16. demon wall/Arm5.tscn | 51 +- .../enemy_types/16. demon wall/Arm6.tscn | 55 +- .../enemy_types/16. demon wall/Arm7.tscn | 77 +- .../enemy_types/16. demon wall/Arm8.tscn | 39 +- .../enemy_types/16. demon wall/Arm9.tscn | 75 +- .../enemy_types/16. demon wall/DemonWall.tscn | 4 + .../16. demon wall/DemonWallArm.cs | 10 +- .../16. demon wall/DemonWallModelView.tscn | 5 + .../9b. Aqueos Demon/AqueosDemon.tscn | 8 +- .../9b. Aqueos Demon/AqueosDemonStats.tres | 21 - .../9b. Aqueos Demon/AqueosModelView.tscn | 10 +- .../src/map/dungeon/code/MonsterRoom.cs | 2 +- .../dungeon/floors/SetAFloors/test_floor.tscn | 11 +- .../dungeon/rooms/Set A/05. Pit Room A.tscn | 5 +- .../dungeon/rooms/Set A/19. Floor Exit A.tscn | 4 +- Zennysoft.Game.Ma/src/player/Player.tscn | 1 - .../src/system/IHasPrimaryAttack.cs | 7 +- Zennysoft.Game.Ma/src/system/Projectile.cs | 14 +- 86 files changed, 2822 insertions(+), 2603 deletions(-) delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonStats.tres create mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs create mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs.uid create mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_1.tscn create mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_2.tscn create mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_3.tscn delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeavenStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemonStats.tres 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/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/enemy/Enemy.cs b/Zennysoft.Game.Ma/src/enemy/Enemy.cs index a0a36853..024ca2a1 100644 --- a/Zennysoft.Game.Ma/src/enemy/Enemy.cs +++ b/Zennysoft.Game.Ma/src/enemy/Enemy.cs @@ -48,6 +48,8 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide _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 20efb8d4..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 @@ -34,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 @@ -98,6 +98,8 @@ _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"] @@ -105,24 +107,28 @@ unique_name_in_owner = true avoidance_enabled = true radius = 1.0 -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("6_ungov") bus = &"SFX" -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="HitSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("7_ungov") bus = &"SFX" -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("8_agkuf") bus = &"SFX" -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[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 8f8f3a11..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 @@ -112,3 +112,7 @@ bus = &"SFX" 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 a619c59b..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 @@ -9,7 +9,7 @@ [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://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="10_06aiy"] +[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 @@ -117,5 +117,9 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("10_06aiy") +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 fbf7fada..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 @@ -8,7 +8,7 @@ [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://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_fvjqx"] +[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 @@ -113,5 +113,9 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("9_fvjqx") +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 cb799635..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,4 +1,4 @@ -[gd_scene load_steps=14 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"] @@ -8,7 +8,6 @@ [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"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_44un1"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.717471 @@ -111,5 +110,8 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("9_44un1") +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 0ec6dc13..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 @@ -109,3 +109,7 @@ bus = &"SFX" 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 519a5313..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,4 +1,4 @@ -[gd_scene load_steps=15 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"] @@ -8,7 +8,6 @@ [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"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_fjieg"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -108,5 +107,8 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("9_fjieg") +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 eee25574..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,4 +1,4 @@ -[gd_scene load_steps=14 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"] @@ -9,6 +9,7 @@ [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 @@ -115,3 +116,8 @@ bus = &"SFX" 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 f0519208..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,4 +1,4 @@ -[gd_scene load_steps=14 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"] @@ -9,6 +9,7 @@ [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 @@ -114,3 +115,8 @@ bus = &"SFX" 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 4f64c6f1..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,4 +1,4 @@ -[gd_scene load_steps=14 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"] @@ -9,6 +9,7 @@ [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 @@ -113,3 +114,8 @@ bus = &"SFX" 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 ec9963c9..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,4 +1,4 @@ -[gd_scene load_steps=14 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"] @@ -8,7 +8,6 @@ [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"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_0tn2t"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -108,5 +107,8 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("9_0tn2t") +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 4c6c0b6f..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 @@ -2156,3 +2156,8 @@ autoplay = true max_distance = 10.0 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/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 e1d27420..d95792c8 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,17 +1,16 @@ -[gd_scene load_steps=233 format=3 uid="uid://cmvimr0pvsgqy"] +[gd_scene load_steps=16 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://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="12_fa1bc"] +[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 @@ -25,1645 +24,12 @@ 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="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_xdeci"] +radius = 7.98633 [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="."] @@ -1707,127 +73,61 @@ 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="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 -max_polyphony = 3 - -[node name="AnimationPlayer" type="AnimationPlayer" parent="Projectile1/Bullet"] +[node name="Projectile3" parent="." instance=ExtResource("5_tahr6")] unique_name_in_owner = true -root_node = NodePath("../AnimatedSprite3D") -libraries = { -&"": SubResource("AnimationLibrary_q8n6h") -} -[node name="Projectile2" type="Node3D" 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="SFX" type="Node3D" parent="."] -[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 - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Projectile2/Bullet/ProjectileHitbox"] -shape = SubResource("SphereShape3D_kct8n") - -[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="."] -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 - -[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="HitSounds" type="Node3D" parent="."] - -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("9_gf6oi") bus = &"SFX" -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="HitSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("10_tahr6") bus = &"SFX" -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("11_xdeci") bus = &"SFX" -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="DieSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("12_fa1bc") 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="Components" type="Node3D" parent="."] + +[node name="EngagePlayerBehavior" parent="Components" instance=ExtResource("14_xdeci")] +unique_name_in_owner = true +_minimumAttackTime = 10.0 +_maximumAttackTime = 15.0 + +[node name="PlayerDetector" type="Area3D" parent="."] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 32 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetector"] +shape = SubResource("CylinderShape3D_xdeci") 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..6e8a8ce8 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,118 @@ 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 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; + EngagePlayerBehavior.TakeAction += PerformAction; + HealthComponent.HealthReachedZero += HealthComponent_HealthReachedZero; + } + + 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 a437c583..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 @@ -110,3 +110,7 @@ bus = &"SFX" 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 c4f25756..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 @@ -3474,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 c8235aaf..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,4 +1,4 @@ -[gd_scene load_steps=14 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"] @@ -8,7 +8,6 @@ [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"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_7aou3"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -108,5 +107,8 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("9_7aou3") +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 1bdcac58..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,4 +1,4 @@ -[gd_scene load_steps=15 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"] @@ -8,6 +8,7 @@ [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 @@ -99,24 +100,34 @@ unique_name_in_owner = true avoidance_enabled = true radius = 1.0 -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("5_pi08j") bus = &"SFX" -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="HitSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("6_rct6y") bus = &"SFX" -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("7_5jcke") bus = &"SFX" -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[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 032c9d8d..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,4 +1,4 @@ -[gd_scene load_steps=12 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"] @@ -7,7 +7,6 @@ [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"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="8_40bob"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_c0n4w"] radius = 10.3283 @@ -90,5 +89,8 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("8_40bob") +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 3314b9796b591870c5af25d2a4081d672798d07b..9797736138ffc0b660c317bd7ba699e76a41a206 100644 GIT binary patch literal 5599 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 literal 5371 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 W0zn9DU;`W2zy>z3?aTvGQ$s_FyrLHX 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 854687e0..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,4 +1,4 @@ -[gd_scene load_steps=12 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"] @@ -7,7 +7,6 @@ [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"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="8_a06d5"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_7uhtm"] radius = 12.4931 @@ -37,46 +36,49 @@ shape = SubResource("CapsuleShape3D_7uhtm") unique_name_in_owner = true [node name="Skeleton3D" parent="EnemyModelView/Armature" index="0"] -bones/0/position = Vector3(-0.26025, -1.05087, -1.96789) +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.0532479, -0.29632, -0.744339, 0.596086) +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.779591, -0.0571591, 0.0820738, 0.618251) +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.215413, 0.745263, 0.613612, -0.147173) +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/18/rotation = Quaternion(-0.119289, 0.0998131, -0.0173011, 0.987678) -bones/19/position = Vector3(-0.379135, -1.19812, -1.72419) -bones/19/rotation = Quaternion(0.627281, 0.293304, 0.545804, -0.471793) -bones/20/rotation = Quaternion(-0.32741, -0.423187, -0.299998, 0.789757) -bones/21/rotation = Quaternion(-0.060536, 0.00129808, 0.490041, 0.869594) +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.0289579, -1.11395, -2.01913) +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.201851, 0.424888, 0.137645, 0.871654) -bones/28/rotation = Quaternion(-0.0627365, -0.00116475, -0.500883, 0.863238) +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.272867, -0.046273, -0.960938, -0.332834, -0.932622, 0.13942, -0.902643, 0.357876, 0.23908, -1.68378, 8.20563, 4.95615) +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 @@ -132,7 +134,10 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("8_a06d5") +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 a020333c..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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=195 format=4 uid="uid://b7ofk5cv4ldh"] +[gd_scene load_steps=191 format=4 uid="uid://b7ofk5cv4ldh"] [ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_crk52"] [ext_resource type="Texture2D" uid="uid://bid5r6mhevna3" path="res://src/enemy/enemy_types/16. demon wall/model/ARM1_AREA_2_MAIN_222STONE.png" id="2_pkcrx"] @@ -9,10 +9,6 @@ [ext_resource type="Texture2D" uid="uid://wdncxtvw7xxw" path="res://src/vfx/Enemy/demon_wall_holy_orbs.png" id="6_554i8"] [ext_resource type="Texture2D" uid="uid://cp6jald32fyon" path="res://src/vfx/Enemy/demon wall holyorb blast section.png" id="7_ij2i2"] [ext_resource type="AudioStream" uid="uid://c50a5gp3821u4" path="res://src/audio/sfx/ENEMY_DEMON_WALL_ORB.ogg" id="8_673l8"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="10_m8ri3"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="11_pxakc"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="12_g34ap"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="13_f15ds"] [sub_resource type="Resource" id="Resource_crk52"] script = ExtResource("2_crk52") @@ -2027,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.36926, -0.989588, -0.956847) -bones/0/rotation = Quaternion(0.0622507, 0.618544, 0.573477, 0.533527) +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.0988864, 0.163865, 0.155096, 0.969183) +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.0591257, 0.0888552, -0.669872, 0.734765) +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.00611299, -0.111648, 0.352037, 0.929283) +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.0161814, -0.0301657, 0.189312, 0.98132) +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.010088, 0.00520194, -0.242489, 0.970088) +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 @@ -2098,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.0460738, 0.00293458, 0.0179325, 0.998773) +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.228115, -0.0296815, 0.0089574, 0.97314) +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.171091, -0.0563946, -0.00329622, 0.983634) +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.0474971, 0.0268914, 0.182702, 0.981652) +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.155176, -0.00233105, -0.142272, 0.977586) +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 @@ -2140,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.0233502, 0.00574487, -0.11195, 0.993423) +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.0499665, -0.0355904, 0.437294, 0.897224) +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 @@ -2174,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.22308, -0.329703, -2.79167) -bones/21/rotation = Quaternion(0.700519, 0.039746, 0.422672, 0.573622) +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"] @@ -2183,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.83137, -0.332269, 0.445446, 0.553505, -0.423597, 0.717076, -0.0495731, 0.842712, 0.536078, 0.23671, -0.648355, 1.35749) +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 @@ -2298,24 +2294,9 @@ volume_db = 1.0 max_polyphony = 3 bus = &"SFX" -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("10_m8ri3") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("11_pxakc") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("12_g34ap") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("13_f15ds") +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 42800be2..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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=33 format=4 uid="uid://ctlvo2kw5r0ey"] +[gd_scene load_steps=29 format=4 uid="uid://ctlvo2kw5r0ey"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_jkuo4"] [ext_resource type="Texture2D" uid="uid://fjwfbrwtb7ps" path="res://src/enemy/enemy_types/16. demon wall/model/ARM2_AREA_2_MAIN_222STONE.png" id="2_hmqyn"] @@ -6,10 +6,6 @@ [ext_resource type="Texture2D" uid="uid://dkh83g7ce40i7" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_ao_1k.jpg" id="3_wpd4r"] [ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_phvjc"] [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_ctuoa"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="7_a6ruh"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="8_jjbj7"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="9_errvy"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="10_krboa"] [sub_resource type="Resource" id="Resource_phvjc"] script = ExtResource("2_phvjc") @@ -765,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.73435, 0.820216, -1.53976) -bones/0/rotation = Quaternion(0.0754039, -0.451298, -0.660785, 0.594985) +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.202096, -0.198066, 0.0546023, 0.957573) +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.248751, 0.260316, 0.749248, 0.555865) +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.0478189, -0.101087, -0.419313, 0.900928) +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.0476864, -0.127654, -0.296571, 0.945239) +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.234165, -0.00278947, 0.356533, 0.904458) +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.446711, -0.0576492, -0.0296498, 0.892327) +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.211212, -0.00736115, 0.0265476, 0.977052) +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.291578, -0.0666832, 0.0460628, 0.953108) +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.156956, 0.0935562, 0.0909965, 0.978944) +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.347598, -0.163417, 0.0111933, 0.923225) +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 @@ -850,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.229557, 0.0242499, 0.0732644, 0.970231) +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.167763, 0.145898, -0.146431, 0.963913) +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.262683, -0.107255, 0.0368074, 0.958196) +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.322976, -0.0035519, 0.0817736, 0.942861) +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.114985, 0.0512529, 0.0664507, 0.989816) +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.171076, 0.0211648, -0.377364, 0.90988) +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.321734, -0.31537, 0.357352, 0.818125) +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.079484, -0.0124728, -0.00775525, 0.996728) +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.245843, -0.0442765, 0.0117927, 0.968226) +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.24204, 0.707312, -3.53973) -bones/21/rotation = Quaternion(0.185823, -0.644771, -0.644604, 0.366369) +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"] @@ -921,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.943622, 0.276694, -0.181708, 0.0113473, 0.521566, 0.853135, 0.330831, -0.807099, 0.489022, -0.200943, 1.22156, 0.0520266) +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 @@ -962,24 +958,9 @@ skeleton = NodePath("../../..") unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.6188, 7.72862, -1.3327) -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("7_a6ruh") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("8_jjbj7") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("9_errvy") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("10_krboa") +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 f7e8cdb7..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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=93 format=4 uid="uid://dxrgfh28wj5su"] +[gd_scene load_steps=89 format=4 uid="uid://dxrgfh28wj5su"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_fhrhk"] [ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_4acx4"] @@ -6,10 +6,6 @@ [ext_resource type="Texture2D" uid="uid://bntxhgjbex8m1" path="res://src/enemy/enemy_types/16. demon wall/model/ARM3_concrete_0003_height_1k.png" id="3_gcbec"] [ext_resource type="Texture2D" uid="uid://blqlb7bc65cv1" path="res://src/vfx/Enemy/DEMONWALL_MOVE_VISUALCUE.png" id="4_gcbec"] [ext_resource type="AudioStream" uid="uid://bjo0q2tyf7vff" path="res://src/audio/sfx/ENEMY_DEMON_WALLMOVE.ogg" id="5_o1lds"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="7_andm5"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="8_yqd2x"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="9_ybxom"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="10_uknf0"] [sub_resource type="Resource" id="Resource_4acx4"] script = ExtResource("2_4acx4") @@ -1013,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.70225, 0.450514, -1.22667) -bones/0/rotation = Quaternion(0.208372, -0.387532, -0.707889, 0.552534) +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.157879, -0.510701, 0.145108, 0.832588) +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.337999, -0.0967287, 0.703497, 0.617651) +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.155276, 0.0390375, -0.340926, 0.926356) +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.091495, 0.123492, -0.565373, 0.81039) +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.225984, 0.210192, 0.0548716, 0.9496) +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.457623, 0.312684, -0.077172, 0.828767) +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.642568, -0.0146723, -0.192082, 0.741617) +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.154079, -0.0680068, 0.0528914, 0.984295) +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 @@ -1084,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.470017, 0.308676, 0.000768506, 0.826924) +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.496551, -0.0813748, -0.285111, 0.815798) +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.255075, -0.00602007, 0.0404366, 0.966057) +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 @@ -1112,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.556151, 0.195296, 0.110794, 0.800175) +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.477377, -0.175006, -0.353686, 0.785106) +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 @@ -1140,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.585794, 0.0767296, 0.18654, 0.784959) +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.28407, -0.228523, -0.245743, 0.89816) +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 @@ -1160,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.96686, 1.05614, -3.25487) -bones/21/rotation = Quaternion(0.737913, -0.12376, -0.28217, 0.600456) +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"] @@ -1203,24 +1199,9 @@ process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.50733, 5.85585, 9.42984) bus = &"SFX" -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("7_andm5") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("8_yqd2x") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("9_ybxom") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("10_uknf0") +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 260d3c0b..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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=39 format=4 uid="uid://cuupl4irduut4"] +[gd_scene load_steps=35 format=4 uid="uid://cuupl4irduut4"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_nwywg"] [ext_resource type="Texture2D" uid="uid://d3xy7wplqk3gq" path="res://src/enemy/enemy_types/16. demon wall/model/ARM4_AREA_2_MAIN_222STONE.png" id="2_0pjjv"] @@ -12,10 +12,6 @@ [ext_resource type="Texture2D" uid="uid://cm5di6dciqwa5" path="res://src/vfx/Enemy/processed lightning bolts/plightning3.png" id="8_wbqyb"] [ext_resource type="Texture2D" uid="uid://bcl1oo6yr37wl" path="res://src/vfx/Enemy/processed lightning bolts/plightning4.png" id="9_el805"] [ext_resource type="AudioStream" uid="uid://bgumf0x52xmby" path="res://src/audio/sfx/enemy_ambassador_kick.ogg" id="9_sb6ar"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="13_20074"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="14_tpigo"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="15_7deko"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="16_dfg4x"] [sub_resource type="Resource" id="Resource_wbqyb"] script = ExtResource("2_wbqyb") @@ -824,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.20236, -0.366824, -1.81351) -bones/0/rotation = Quaternion(0.105792, -0.50745, -0.45984, 0.721006) +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 @@ -978,8 +974,8 @@ 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.00785, 0.928537, -3.63168) -bones/22/rotation = Quaternion(0.863746, -0.137895, -0.181118, 0.449583) +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"] @@ -987,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.169372, -0.934802, 0.312184, -0.855442, -0.296744, -0.424455, 0.48942, -0.195165, -0.849929, -0.427154, 1.03882, -0.518697) +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 @@ -1049,24 +1045,9 @@ omni_attenuation = 0.063 process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.38603, 4.06867, 12.9578) -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("13_20074") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("14_tpigo") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("15_7deko") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("16_dfg4x") +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 18a6203e..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=61 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"] @@ -9,10 +9,6 @@ [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_flp87"] [ext_resource type="AudioStream" uid="uid://cm565avpubaxy" path="res://src/audio/sfx/ENEMY_DEMONWALL_SMASH.ogg" id="8_mx4ao"] [ext_resource type="AudioStream" uid="uid://bgumf0x52xmby" path="res://src/audio/sfx/enemy_ambassador_kick.ogg" id="9_gju43"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="10_58u67"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="11_51471"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="12_630jn"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="13_5ayd7"] [sub_resource type="Resource" id="Resource_flp87"] script = ExtResource("2_flp87") @@ -1490,29 +1486,29 @@ 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.61052, -0.120878, -1.43825) -bones/0/rotation = Quaternion(0.325178, 0.514232, 0.67442, 0.41831) +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.242883, 0.240439, -0.116785, 0.932501) +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.124477, 0.0489336, -0.685746, 0.715446) +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.101709, -0.495714, 0.198192, 0.83943) +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 @@ -1526,7 +1522,7 @@ 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.0978542, 0.0198669, -0.32182, 0.941521) +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 @@ -1554,7 +1550,7 @@ 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.137327, -0.0366635, -0.0538153, 0.988383) +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 @@ -1582,7 +1578,7 @@ 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.206614, -0.108717, 0.136027, 0.962802) +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 @@ -1610,7 +1606,7 @@ 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.271206, -0.228541, 0.244034, 0.902587) +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 @@ -1637,8 +1633,8 @@ 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(2.37387, -0.417525, -3.46455) -bones/21/rotation = Quaternion(0.553876, 0.473724, 0.348957, 0.589098) +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"] @@ -1646,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.713554, 0.0844566, 0.69549, 0.70036, 0.111948, 0.704956, -0.0183209, 0.990118, -0.13903, 2.45564, -0.104424, 1.02541) +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 @@ -1684,24 +1680,9 @@ 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="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("10_58u67") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("11_51471") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("12_630jn") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("13_5ayd7") +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 d7346f63..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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=27 format=4 uid="uid://c61hpj1aackmn"] +[gd_scene load_steps=23 format=4 uid="uid://c61hpj1aackmn"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_xefo1"] [ext_resource type="Texture2D" uid="uid://c4gfxyge646im" path="res://src/enemy/enemy_types/16. demon wall/model/ARM6_AREA_2_MAIN_222STONE.png" id="2_7j47h"] @@ -7,10 +7,6 @@ [ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_h1jik"] [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_3jiko"] [ext_resource type="AudioStream" uid="uid://bgumf0x52xmby" path="res://src/audio/sfx/enemy_ambassador_kick.ogg" id="7_3jiko"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="8_np0rn"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="9_8skmg"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="10_3x3pn"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="11_4vlpq"] [sub_resource type="Resource" id="Resource_h1jik"] script = ExtResource("2_h1jik") @@ -540,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.48111, -0.791097, -2.0223) -bones/0/rotation = Quaternion(0.211555, 0.66827, 0.335644, 0.629288) +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.0237538, 0.053527, -0.0617698, 0.996371) +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.496466, 0.206001, -0.556218, 0.633803) +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.16814, -0.0106965, 0.540617, 0.824226) +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 @@ -576,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.103232, 0.0140211, -0.0748231, 0.99174) +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.714531, -0.211121, 0.0779645, 0.662415) +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 @@ -611,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.767688, -0.0497837, -0.0886708, 0.632703) +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 @@ -639,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.815073, 0.104335, -0.137342, 0.553089) +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 @@ -660,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.0449998, 0.0166296, 0.33525, 0.940907) +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.777278, 0.137312, -0.161318, 0.59242) +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 @@ -687,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.06374, -0.868974, -3.4685) -bones/21/rotation = Quaternion(0.670964, 0.419623, -0.114057, 0.600596) +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"] @@ -696,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.0490867, 0.928964, -0.3669, 0.709748, -0.290902, -0.641587, -0.702744, -0.228913, -0.673609, 1.90943, 0.709731, -0.193528) +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 @@ -726,24 +722,9 @@ anim_player = NodePath("../AnimationPlayer") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="ARM6"] bus = &"SFX" -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("8_np0rn") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("9_8skmg") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("10_3x3pn") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("11_4vlpq") +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 d5a42f06..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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=33 format=4 uid="uid://big4eurgqyejq"] +[gd_scene load_steps=29 format=4 uid="uid://big4eurgqyejq"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_enq7k"] [ext_resource type="Texture2D" uid="uid://dni8145sh8qu3" path="res://src/enemy/enemy_types/16. demon wall/model/ARM7_AREA_2_MAIN_222STONE.png" id="2_1gdpg"] @@ -8,10 +8,6 @@ [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_v88k1"] [ext_resource type="Texture2D" uid="uid://cnnn1m1mcb6qc" path="res://src/vfx/Enemy/FLAME_SPRITE_SHEET_FIXED.png" id="6_xpy5w"] [ext_resource type="AudioStream" uid="uid://xtdvy7l702sl" path="res://src/audio/sfx/enemy_demon_wall_flamethrower.ogg" id="8_ssyb0"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="9_tma27"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="10_6ih5g"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="11_jl2ue"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="12_ldh72"] [sub_resource type="Resource" id="Resource_v88k1"] script = ExtResource("2_v88k1") @@ -632,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.24663, -0.603815, -1.50391) -bones/0/rotation = Quaternion(0.198976, 0.338412, 0.596431, 0.700112) +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.0426236, 0.560478, 0.182529, 0.806679) +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.0503495, 0.158851, -0.617644, 0.768601) +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.146117, -0.132595, 0.316681, 0.927783) +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.0104301, 0.0375251, 0.236483, 0.970855) +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.0186151, 0.0242297, -0.235692, 0.971347) +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.170281, -0.0329316, 0.191584, 0.966031) +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.00207297, 0.0579493, 0.0167521, 0.998177) +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.204302, -0.0906771, 0.00219749, 0.974697) +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.0214432, 0.0269149, -0.0129677, 0.999324) +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.048337, -0.00204269, -0.00569314, 0.998813) +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.120637, 0.00954634, 0.013289, 0.992562) +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.117368, -0.0469344, -0.0060703, 0.99196) +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.0807626, -0.0317657, 0.184871, 0.978923) +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.0121053, 0.093014, -0.168775, 0.981181) +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.250247, -0.095279, 0.0404606, 0.962632) +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.0950608, -0.00283341, -0.0712662, 0.992913) +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.0323553, -0.0901917, 0.360074, 0.92799) +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.0650744, 0.163233, -0.237803, 0.955285) +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.015694, -0.0682023, -0.03528, 0.996924) +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.184269, -0.0381617, 0.0740548, 0.979339) +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.73986, 0.0654195, -3.39532) -bones/21/rotation = Quaternion(0.758807, 0.0665945, 0.2939, 0.577409) +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"] @@ -788,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.853632, -0.471498, 0.221363, 0.256391, -0.0104199, 0.966517, -0.453405, 0.881805, 0.129783, 0.944127, -0.214516, -0.235202) +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 @@ -842,24 +838,9 @@ bus = &"SFX" unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.47512, 10.9398, -1.13179) -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("9_tma27") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("10_6ih5g") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("11_jl2ue") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("12_ldh72") +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 f4d81121..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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=27 format=4 uid="uid://25ignmox5j8o"] +[gd_scene load_steps=23 format=4 uid="uid://25ignmox5j8o"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_5tnjc"] [ext_resource type="Texture2D" uid="uid://dsnuk0k83wrna" path="res://src/enemy/enemy_types/16. demon wall/model/ARM8_AREA_2_MAIN_222STONE.png" id="2_8jyke"] @@ -7,10 +7,6 @@ [ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_yary7"] [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_cglns"] [ext_resource type="AudioStream" uid="uid://ugc77goiwht0" path="res://src/audio/sfx/enemy_ambassador_punch.ogg" id="7_cglns"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="8_i7tvv"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="9_s00ib"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="10_lq68h"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="11_1fvxr"] [sub_resource type="Resource" id="Resource_yary7"] script = ExtResource("2_yary7") @@ -554,15 +550,15 @@ 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.90251, 0.821056, -1.19932) -bones/0/rotation = Quaternion(-0.0307662, -0.640633, -0.702446, 0.308565) +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.050829, 0.0107334, 0.238876, 0.969659) +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 @@ -701,8 +697,8 @@ 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(-2.95832, 0.364883, -3.28222) -bones/21/rotation = Quaternion(0.474724, -0.460951, -0.406109, 0.630267) +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"] @@ -710,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.746257, -0.442407, 0.49737, -0.367996, -0.348436, -0.862074, 0.554689, -0.826359, 0.0972186, -1.35378, 0.455844, 0.60696) +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 @@ -741,24 +737,9 @@ root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_5tnjc") anim_player = NodePath("../AnimationPlayer") -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("8_i7tvv") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("9_s00ib") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("10_lq68h") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("11_1fvxr") +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 fe2bd0c7..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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=162 format=4 uid="uid://dppws3muepn0l"] +[gd_scene load_steps=158 format=4 uid="uid://dppws3muepn0l"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_fjfqv"] [ext_resource type="Texture2D" uid="uid://c1jl757qlt28e" path="res://src/enemy/enemy_types/16. demon wall/model/ARM9_AREA_2_MAIN_222STONE.png" id="2_bbf6x"] @@ -8,10 +8,6 @@ [ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_fk886"] [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_jltgb"] [ext_resource type="AudioStream" uid="uid://53o2klbyrg3k" path="res://src/audio/sfx/enemy_demon_wall_debuff.ogg" id="8_g28ne"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="9_n4pi1"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="10_8ffok"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="11_g5dit"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="12_ahsqi"] [sub_resource type="Resource" id="Resource_jltgb"] script = ExtResource("2_jltgb") @@ -1553,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.60988, -1.05332, -1.37138) -bones/0/rotation = Quaternion(-0.0847933, 0.842793, 0.477148, 0.234178) +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.259304, -0.229132, 0.100842, 0.932787) +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.266077, 0.168954, -0.645688, 0.695518) +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.010037, -0.0874289, 0.400771, 0.911942) +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.155159, 0.0086465, 0.215889, 0.963973) +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.119883, 0.023862, -0.205944, 0.970899) +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.266025, -0.0547133, 0.158645, 0.949247) +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.3124, 0.0360711, 0.0365625, 0.948561) +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.316928, 0.00617318, 0.0792994, 0.945109) +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.178934, 0.0469714, -0.008006, 0.982707) +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.272473, -0.0466986, 0.0264601, 0.960665) +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.289659, 0.0375797, 0.0400403, 0.955553) +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.214396, -0.00038524, 0.0368907, 0.97605) +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.0869399, 0.011616, 0.19529, 0.976815) +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.167362, 0.0341507, -0.132487, 0.976356) +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.340009, 0.0276822, 0.0796518, 0.936634) +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.0420214, 0.0571542, -0.0650502, 0.995357) +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.104245, 0.0500787, 0.395603, 0.911111) +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.166994, 0.0657689, -0.265268, 0.947323) +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.124374, -0.0294682, -0.0399575, 0.990992) +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 @@ -1700,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.34956, -1.43094, -3.26329) -bones/21/rotation = Quaternion(0.536061, 0.155034, 0.347987, 0.753331) +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"] @@ -1709,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.901522, -0.410487, -0.136964, 0.373655, -0.898066, 0.232077, -0.218267, 0.158046, 0.963006, 0.565296, -0.319394, 0.945969) +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 @@ -1747,24 +1743,9 @@ root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_fjfqv") anim_player = NodePath("../AnimationPlayer") -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("9_n4pi1") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("10_8ffok") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("11_g5dit") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("12_ahsqi") +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 9e589612..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 @@ -55,3 +55,7 @@ bus = &"SFX" 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 34b70b9b..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,4 +1,4 @@ -[gd_scene load_steps=14 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"] @@ -8,7 +8,6 @@ [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"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_f4fyu"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -108,5 +107,8 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("9_f4fyu") +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/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/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 e02caff2..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 @@ -565,8 +565,8 @@ 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/player/Player.tscn b/Zennysoft.Game.Ma/src/player/Player.tscn index 9a774d44..9c42a1a3 100644 --- a/Zennysoft.Game.Ma/src/player/Player.tscn +++ b/Zennysoft.Game.Ma/src/player/Player.tscn @@ -563,7 +563,6 @@ shape = SubResource("BoxShape3D_hs4wf") unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.507, 0, 0) collision_layer = 0 -collision_mask = 0 axis_lock_linear_x = true axis_lock_linear_y = true axis_lock_linear_z = true 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"); } } From 46402401b4b6b9733eff795d61cffb468d778bb9 Mon Sep 17 00:00:00 2001 From: Zenny Date: Wed, 26 Nov 2025 02:33:03 -0800 Subject: [PATCH 3/3] Add basic implementation for footsteps Add disengage to eden pillar Fix level up sound effect trigger --- .../src/Components/ExperiencePointsComponent.cs | 1 + .../src/audio/sfx/player_steps_concrete.ogg.import | 6 +++--- .../enemy_types/10. Eden Pillar/Eden Pillar.tscn | 13 ++++++++++++- .../enemy/enemy_types/10. Eden Pillar/EdenPillar.cs | 5 +++++ Zennysoft.Game.Ma/src/player/Player.cs | 7 ++++++- Zennysoft.Game.Ma/src/player/Player.tscn | 7 ++++++- 6 files changed, 33 insertions(+), 6 deletions(-) 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/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_types/10. Eden Pillar/Eden Pillar.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/Eden Pillar.tscn index d95792c8..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,4 +1,4 @@ -[gd_scene load_steps=16 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="PackedScene" uid="uid://cktycana6xxtp" path="res://src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.tscn" id="3_o285m"] @@ -27,6 +27,9 @@ radius = 0.886719 [sub_resource type="CylinderShape3D" id="CylinderShape3D_xdeci"] radius = 7.98633 +[sub_resource type="CylinderShape3D" id="CylinderShape3D_t4xb3"] +radius = 20.0 + [node name="Eden Pillar" type="CharacterBody3D"] collision_layer = 10 collision_mask = 0 @@ -131,3 +134,11 @@ collision_mask = 32 [node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetector"] shape = SubResource("CylinderShape3D_xdeci") + +[node name="LoseTrackOfPlayer" type="Area3D" parent="."] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 32 + +[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 6e8a8ce8..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 @@ -38,6 +38,8 @@ public partial class EdenPillar : Enemy3D, IHasPrimaryAttack, IHasSecondaryAttac [Node] public Area3D PlayerDetector { get; set; } = default!; + [Node] public Area3D LoseTrackOfPlayer { get; set; } = default!; + [Node] public EngagePlayerBehavior EngagePlayerBehavior { get; set; } = default!; @@ -50,10 +52,13 @@ public partial class EdenPillar : Enemy3D, IHasPrimaryAttack, IHasSecondaryAttac 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(); diff --git a/Zennysoft.Game.Ma/src/player/Player.cs b/Zennysoft.Game.Ma/src/player/Player.cs index 6274e701..c97ac584 100644 --- a/Zennysoft.Game.Ma/src/player/Player.cs +++ b/Zennysoft.Game.Ma/src/player/Player.cs @@ -81,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 @@ -207,7 +209,6 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide var hpIncrease = rng.RandiRange(3, 6); HealthComponent.RaiseMaximumHP(hpIncrease); ExperiencePointsComponent.LevelUp(); - SfxDatabase.Instance.Play(SoundEffect.LevelUp); } public void Die() @@ -324,6 +325,10 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide _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(); } diff --git a/Zennysoft.Game.Ma/src/player/Player.tscn b/Zennysoft.Game.Ma/src/player/Player.tscn index 9c42a1a3..38e062e5 100644 --- a/Zennysoft.Game.Ma/src/player/Player.tscn +++ b/Zennysoft.Game.Ma/src/player/Player.tscn @@ -1,10 +1,11 @@ -[gd_scene load_steps=54 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://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 @@ -631,3 +632,7 @@ animation = &"sample" [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")

j+uh)7V$OpuHqVfTpn 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 E0qs$wa{vGU 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 a4697d5e1402eda021f7e038722ec998e9e9bd24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49060 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ð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.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 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/enemy/Enemy.cs b/Zennysoft.Game.Ma/src/enemy/Enemy.cs index bdddee91..a0a36853 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,10 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide roomList) { foreach (var room in roomList) @@ -178,8 +195,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/enemy_types/01. sproingy/Sproingy.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.tscn index 10648cd9..20efb8d4 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 @@ -100,3 +104,25 @@ _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_ungov") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_ungov") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_agkuf") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_icstk") +bus = &"SFX" 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..8f8f3a11 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,25 @@ _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" 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..a619c59b 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://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="10_06aiy"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_jbgmx"] height = 5.0 @@ -93,3 +97,25 @@ _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 +stream = ExtResource("10_06aiy") +bus = &"SFX" 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..fbf7fada 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://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_fvjqx"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -89,3 +93,25 @@ _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 +stream = ExtResource("9_fvjqx") +bus = &"SFX" 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..cb799635 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,14 @@ -[gd_scene load_steps=10 format=3 uid="uid://feegakykn3fv"] +[gd_scene load_steps=14 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"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_44un1"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.717471 @@ -87,3 +91,25 @@ _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 +stream = ExtResource("9_44un1") +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..0ec6dc13 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,25 @@ _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" 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..519a5313 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,14 @@ -[gd_scene load_steps=11 format=3 uid="uid://c6tqt27ql8s35"] +[gd_scene load_steps=15 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"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_fjieg"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -84,3 +88,25 @@ _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 +stream = ExtResource("9_fjieg") +bus = &"SFX" 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..eee25574 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,14 @@ -[gd_scene load_steps=10 format=3 uid="uid://fosk3kt7vp8d"] +[gd_scene load_steps=14 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"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -89,3 +93,25 @@ _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" 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..f0519208 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,14 @@ -[gd_scene load_steps=10 format=3 uid="uid://c5gbaybqm4cuk"] +[gd_scene load_steps=14 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"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -88,3 +92,25 @@ _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" 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..4f64c6f1 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,14 @@ -[gd_scene load_steps=10 format=3 uid="uid://b4oliop60eghn"] +[gd_scene load_steps=14 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"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -87,3 +91,25 @@ _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" 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..ec9963c9 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,14 @@ -[gd_scene load_steps=10 format=3 uid="uid://b8ewfgcjv60es"] +[gd_scene load_steps=14 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"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_0tn2t"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -84,3 +88,25 @@ _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 +stream = ExtResource("9_0tn2t") +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..4c6c0b6f 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 = { @@ -2338,7 +2156,3 @@ autoplay = true max_distance = 10.0 bus = &"SFX" doppler_tracking = 1 - -[node name="SFX" type="AudioStreamPlayer3D" parent="."] -process_mode = 3 -bus = &"SFX" 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..e1d27420 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,4 +1,4 @@ -[gd_scene load_steps=229 format=3 uid="uid://cmvimr0pvsgqy"] +[gd_scene load_steps=233 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"] @@ -8,6 +8,10 @@ [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://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="12_fa1bc"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_p8jc1"] height = 3.08643 @@ -1805,3 +1809,25 @@ libraries = { [node name="BLAST" type="AudioStreamPlayer3D" parent="."] max_polyphony = 3 + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_gf6oi") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_tahr6") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("11_xdeci") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("12_fa1bc") +bus = &"SFX" 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..a437c583 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,25 @@ _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" 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..c4f25756 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" 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..c8235aaf 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,14 @@ -[gd_scene load_steps=10 format=3 uid="uid://5s7c4dsb1wwk"] +[gd_scene load_steps=14 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"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_7aou3"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -84,3 +88,25 @@ _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 +stream = ExtResource("9_7aou3") +bus = &"SFX" 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..1bdcac58 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,13 @@ -[gd_scene load_steps=11 format=3 uid="uid://c5ugpasira53m"] +[gd_scene load_steps=15 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"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -94,3 +98,25 @@ unique_name_in_owner = true 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("5_pi08j") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("6_rct6y") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_5jcke") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_6nc43") +bus = &"SFX" 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..032c9d8d 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,13 @@ -[gd_scene load_steps=8 format=3 uid="uid://2wibfnu2jvlv"] +[gd_scene load_steps=12 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"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="8_40bob"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_c0n4w"] radius = 10.3283 @@ -66,3 +70,25 @@ 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 +stream = ExtResource("8_40bob") +bus = &"SFX" 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..854687e0 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,13 @@ -[gd_scene load_steps=8 format=3 uid="uid://6dnsw37d1uw4"] +[gd_scene load_steps=12 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"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="8_a06d5"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_7uhtm"] radius = 12.4931 @@ -33,22 +37,46 @@ 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.26025, -1.05087, -1.96789) +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.0532479, -0.29632, -0.744339, 0.596086) +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.779591, -0.0571591, 0.0820738, 0.618251) +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.215413, 0.745263, 0.613612, -0.147173) 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.379135, -1.19812, -1.72419) +bones/19/rotation = Quaternion(0.627281, 0.293304, 0.545804, -0.471793) +bones/20/rotation = Quaternion(-0.32741, -0.423187, -0.299998, 0.789757) +bones/21/rotation = Quaternion(-0.060536, 0.00129808, 0.490041, 0.869594) +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.0289579, -1.11395, -2.01913) +bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793) +bones/27/rotation = Quaternion(-0.201851, 0.424888, 0.137645, 0.871654) +bones/28/rotation = Quaternion(-0.0627365, -0.00116475, -0.500883, 0.863238) +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.272867, -0.046273, -0.960938, -0.332834, -0.932622, 0.13942, -0.902643, 0.357876, 0.23908, -1.68378, 8.20563, 4.95615) [node name="Collision" type="Area3D" parent="."] collision_layer = 2048 @@ -85,4 +113,26 @@ 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 +stream = ExtResource("8_a06d5") +bus = &"SFX" + [editable path="EnemyModelView"] 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..a020333c 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=191 format=4 uid="uid://b7ofk5cv4ldh"] +[gd_scene load_steps=195 format=4 uid="uid://b7ofk5cv4ldh"] [ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_crk52"] [ext_resource type="Texture2D" uid="uid://bid5r6mhevna3" path="res://src/enemy/enemy_types/16. demon wall/model/ARM1_AREA_2_MAIN_222STONE.png" id="2_pkcrx"] @@ -9,6 +9,10 @@ [ext_resource type="Texture2D" uid="uid://wdncxtvw7xxw" path="res://src/vfx/Enemy/demon_wall_holy_orbs.png" id="6_554i8"] [ext_resource type="Texture2D" uid="uid://cp6jald32fyon" path="res://src/vfx/Enemy/demon wall holyorb blast section.png" id="7_ij2i2"] [ext_resource type="AudioStream" uid="uid://c50a5gp3821u4" path="res://src/audio/sfx/ENEMY_DEMON_WALL_ORB.ogg" id="8_673l8"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="10_m8ri3"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="11_pxakc"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="12_g34ap"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="13_f15ds"] [sub_resource type="Resource" id="Resource_crk52"] script = ExtResource("2_crk52") @@ -2023,43 +2027,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.36926, -0.989588, -0.956847) +bones/0/rotation = Quaternion(0.0622507, 0.618544, 0.573477, 0.533527) 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.0988864, 0.163865, 0.155096, 0.969183) 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.0591257, 0.0888552, -0.669872, 0.734765) 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.00611299, -0.111648, 0.352037, 0.929283) 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.0161814, -0.0301657, 0.189312, 0.98132) 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.010088, 0.00520194, -0.242489, 0.970088) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 @@ -2094,35 +2098,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.0460738, 0.00293458, 0.0179325, 0.998773) 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.228115, -0.0296815, 0.0089574, 0.97314) 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.171091, -0.0563946, -0.00329622, 0.983634) 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.0474971, 0.0268914, 0.182702, 0.981652) 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.155176, -0.00233105, -0.142272, 0.977586) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 @@ -2136,14 +2140,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.0233502, 0.00574487, -0.11195, 0.993423) 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.0499665, -0.0355904, 0.437294, 0.897224) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "Bone.018" bones/18/parent = 17 @@ -2170,8 +2174,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.22308, -0.329703, -2.79167) +bones/21/rotation = Quaternion(0.700519, 0.039746, 0.422672, 0.573622) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_006" type="MeshInstance3D" parent="Pivot/ARM1/1_ R TELLERIC PROJECTILE ARM/Skeleton3D"] @@ -2179,7 +2183,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.83137, -0.332269, 0.445446, 0.553505, -0.423597, 0.717076, -0.0495731, 0.842712, 0.536078, 0.23671, -0.648355, 1.35749) bone_name = "Bone.019" bone_idx = 19 @@ -2293,3 +2297,25 @@ 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="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_m8ri3") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("11_pxakc") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("12_g34ap") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("13_f15ds") +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..42800be2 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=29 format=4 uid="uid://ctlvo2kw5r0ey"] +[gd_scene load_steps=33 format=4 uid="uid://ctlvo2kw5r0ey"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_jkuo4"] [ext_resource type="Texture2D" uid="uid://fjwfbrwtb7ps" path="res://src/enemy/enemy_types/16. demon wall/model/ARM2_AREA_2_MAIN_222STONE.png" id="2_hmqyn"] @@ -6,6 +6,10 @@ [ext_resource type="Texture2D" uid="uid://dkh83g7ce40i7" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_ao_1k.jpg" id="3_wpd4r"] [ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_phvjc"] [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_ctuoa"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="7_a6ruh"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="8_jjbj7"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="9_errvy"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="10_krboa"] [sub_resource type="Resource" id="Resource_phvjc"] script = ExtResource("2_phvjc") @@ -761,78 +765,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.73435, 0.820216, -1.53976) +bones/0/rotation = Quaternion(0.0754039, -0.451298, -0.660785, 0.594985) 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.202096, -0.198066, 0.0546023, 0.957573) 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.248751, 0.260316, 0.749248, 0.555865) 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.0478189, -0.101087, -0.419313, 0.900928) 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.0476864, -0.127654, -0.296571, 0.945239) 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.234165, -0.00278947, 0.356533, 0.904458) 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.446711, -0.0576492, -0.0296498, 0.892327) 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.211212, -0.00736115, 0.0265476, 0.977052) 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.291578, -0.0666832, 0.0460628, 0.953108) 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.156956, 0.0935562, 0.0909965, 0.978944) 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.347598, -0.163417, 0.0111933, 0.923225) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 @@ -846,70 +850,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.229557, 0.0242499, 0.0732644, 0.970231) 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.167763, 0.145898, -0.146431, 0.963913) 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.262683, -0.107255, 0.0368074, 0.958196) 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.322976, -0.0035519, 0.0817736, 0.942861) 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.114985, 0.0512529, 0.0664507, 0.989816) 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.171076, 0.0211648, -0.377364, 0.90988) 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.321734, -0.31537, 0.357352, 0.818125) 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.079484, -0.0124728, -0.00775525, 0.996728) 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.245843, -0.0442765, 0.0117927, 0.968226) 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.24204, 0.707312, -3.53973) +bones/21/rotation = Quaternion(0.185823, -0.644771, -0.644604, 0.366369) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_004" type="MeshInstance3D" parent="Pivot/ARM2/2_ R MAGIC ARM 4/Skeleton3D"] @@ -917,7 +921,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.943622, 0.276694, -0.181708, 0.0113473, 0.521566, 0.853135, 0.330831, -0.807099, 0.489022, -0.200943, 1.22156, 0.0520266) bone_name = "Bone.002" bone_idx = 2 @@ -957,3 +961,25 @@ 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="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_a6ruh") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_jjbj7") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_errvy") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_krboa") +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..f7e8cdb7 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=89 format=4 uid="uid://dxrgfh28wj5su"] +[gd_scene load_steps=93 format=4 uid="uid://dxrgfh28wj5su"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_fhrhk"] [ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_4acx4"] @@ -6,6 +6,10 @@ [ext_resource type="Texture2D" uid="uid://bntxhgjbex8m1" path="res://src/enemy/enemy_types/16. demon wall/model/ARM3_concrete_0003_height_1k.png" id="3_gcbec"] [ext_resource type="Texture2D" uid="uid://blqlb7bc65cv1" path="res://src/vfx/Enemy/DEMONWALL_MOVE_VISUALCUE.png" id="4_gcbec"] [ext_resource type="AudioStream" uid="uid://bjo0q2tyf7vff" path="res://src/audio/sfx/ENEMY_DEMON_WALLMOVE.ogg" id="5_o1lds"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="7_andm5"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="8_yqd2x"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="9_ybxom"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="10_uknf0"] [sub_resource type="Resource" id="Resource_4acx4"] script = ExtResource("2_4acx4") @@ -1009,64 +1013,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.70225, 0.450514, -1.22667) +bones/0/rotation = Quaternion(0.208372, -0.387532, -0.707889, 0.552534) 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.157879, -0.510701, 0.145108, 0.832588) 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.337999, -0.0967287, 0.703497, 0.617651) 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.155276, 0.0390375, -0.340926, 0.926356) 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.091495, 0.123492, -0.565373, 0.81039) 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.225984, 0.210192, 0.0548716, 0.9496) 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.457623, 0.312684, -0.077172, 0.828767) 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.642568, -0.0146723, -0.192082, 0.741617) 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.154079, -0.0680068, 0.0528914, 0.984295) bones/8/scale = Vector3(1, 1, 1) bones/9/name = "Bone.009" bones/9/parent = 1 @@ -1080,21 +1084,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.470017, 0.308676, 0.000768506, 0.826924) 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.496551, -0.0813748, -0.285111, 0.815798) 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.255075, -0.00602007, 0.0404366, 0.966057) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "Bone.013" bones/13/parent = 1 @@ -1108,14 +1112,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.556151, 0.195296, 0.110794, 0.800175) 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.477377, -0.175006, -0.353686, 0.785106) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "Bone.016" bones/16/parent = 15 @@ -1136,14 +1140,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.585794, 0.0767296, 0.18654, 0.784959) 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.28407, -0.228523, -0.245743, 0.89816) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "Bone.020" bones/20/parent = 19 @@ -1156,8 +1160,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(-2.96686, 1.05614, -3.25487) +bones/21/rotation = Quaternion(0.737913, -0.12376, -0.28217, 0.600456) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_005" type="MeshInstance3D" parent="ARM3/3_ R STATUS ARM/Skeleton3D"] @@ -1198,3 +1202,25 @@ 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="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("7_andm5") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_yqd2x") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_ybxom") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_uknf0") +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..260d3c0b 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=35 format=4 uid="uid://cuupl4irduut4"] +[gd_scene load_steps=39 format=4 uid="uid://cuupl4irduut4"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_nwywg"] [ext_resource type="Texture2D" uid="uid://d3xy7wplqk3gq" path="res://src/enemy/enemy_types/16. demon wall/model/ARM4_AREA_2_MAIN_222STONE.png" id="2_0pjjv"] @@ -12,6 +12,10 @@ [ext_resource type="Texture2D" uid="uid://cm5di6dciqwa5" path="res://src/vfx/Enemy/processed lightning bolts/plightning3.png" id="8_wbqyb"] [ext_resource type="Texture2D" uid="uid://bcl1oo6yr37wl" path="res://src/vfx/Enemy/processed lightning bolts/plightning4.png" id="9_el805"] [ext_resource type="AudioStream" uid="uid://bgumf0x52xmby" path="res://src/audio/sfx/enemy_ambassador_kick.ogg" id="9_sb6ar"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="13_20074"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="14_tpigo"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="15_7deko"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="16_dfg4x"] [sub_resource type="Resource" id="Resource_wbqyb"] script = ExtResource("2_wbqyb") @@ -820,8 +824,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.20236, -0.366824, -1.81351) +bones/0/rotation = Quaternion(0.105792, -0.50745, -0.45984, 0.721006) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 @@ -967,15 +971,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.00785, 0.928537, -3.63168) +bones/22/rotation = Quaternion(0.863746, -0.137895, -0.181118, 0.449583) bones/22/scale = Vector3(1, 1, 1) [node name="CHEST_003" type="MeshInstance3D" parent="ARM4/4_ R WEAPON ARM/Skeleton3D"] @@ -983,7 +987,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.169372, -0.934802, 0.312184, -0.855442, -0.296744, -0.424455, 0.48942, -0.195165, -0.849929, -0.427154, 1.03882, -0.518697) bone_name = "Bone.008" bone_idx = 8 @@ -1044,3 +1048,25 @@ 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="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("13_20074") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("14_tpigo") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("15_7deko") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("16_dfg4x") +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 56f0241b..18a6203e 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=61 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"] @@ -9,6 +9,10 @@ [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_flp87"] [ext_resource type="AudioStream" uid="uid://cm565avpubaxy" path="res://src/audio/sfx/ENEMY_DEMONWALL_SMASH.ogg" id="8_mx4ao"] [ext_resource type="AudioStream" uid="uid://bgumf0x52xmby" path="res://src/audio/sfx/enemy_ambassador_kick.ogg" id="9_gju43"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="10_58u67"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="11_51471"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="12_630jn"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="13_5ayd7"] [sub_resource type="Resource" id="Resource_flp87"] script = ExtResource("2_flp87") @@ -16,337 +20,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.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 @@ -1114,47 +787,23 @@ tracks/24/keys = { "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, @@ -1162,14 +811,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, @@ -1177,7 +826,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" @@ -1366,40 +1015,367 @@ tracks/0/keys = { "update": 1, "values": [true] } + +[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") +} + +[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("../ROCK SMASH/Rock Smash Animation:active") +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": [true] -} -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(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] +"values": [false] } -[sub_resource type="Animation" id="Animation_flp87"] -resource_name = "Rock Smash" - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_chbc8"] +[sub_resource type="AnimationLibrary" id="AnimationLibrary_s7ahh"] _data = { -&"5_ _ R MELEE SLAM": SubResource("Animation_poh2u"), -&"ARM 5 IDLE": SubResource("Animation_8dvpv"), -&"RESET": SubResource("Animation_l5gtd"), -&"Rock Smash": SubResource("Animation_flp87") +&"Animation": SubResource("Animation_sn5j6"), +&"RESET": SubResource("Animation_5u62c") } [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_sjgs2"] @@ -1423,7 +1399,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"] @@ -1432,12 +1408,7 @@ 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.77596, 0.249848, 0.399317, 0.229652, 0.872535, -0.0996708, -0.411264, 0.0158233, -0.809076, 7.35226, -3.57915, 0.545726) @@ -1445,7 +1416,7 @@ mesh = SubResource("ArrayMesh_mwsfi") skeleton = NodePath("") [node name="Cube_cell_026_cell" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(0.869264, 0.0678596, 0.25252, -0.212709, 0.693359, 0.545894, -0.152073, -0.581928, 0.679872, -1.57176, -3.54047, 17.4467) +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("") @@ -1455,17 +1426,17 @@ mesh = SubResource("ArrayMesh_mf0fv") skeleton = NodePath("") [node name="Cube_cell_005_cell_001" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(-0.151836, -0.221721, 0.867051, -0.889419, 0.135014, -0.121228, -0.0993515, -0.869829, -0.23983, -0.447331, -3.51994, -9.17886) +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.634158, 0.294344, -0.323215, -0.605196, 0.353464, -0.00828147, 0.235741, 0.115613, 0.848207, -0.592601, -3.56393, 0.335403) +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.697736, 0.548522, 0.190476, 0.269845, 0.569977, -0.652918, -0.514143, -0.445243, -0.601173, 5.1152, -3.59344, 5.76258) +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("") @@ -1475,7 +1446,7 @@ mesh = SubResource("ArrayMesh_fugsc") skeleton = NodePath("") [node name="Cube_cell_cell_004_cell_007" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(0.171285, 0.376762, -0.807901, -0.068169, 0.825807, 0.370659, 0.888823, -0.00926991, 0.184119, 2.93068, -3.53875, -3.42814) +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("") @@ -1485,12 +1456,12 @@ mesh = SubResource("ArrayMesh_53pjh") skeleton = NodePath("") [node name="Cube_cell_012_cell_002_cell_003" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(0.660286, -0.29837, 0.546799, 0.270466, 0.855124, 0.140012, -0.561126, 0.0610775, 0.710915, 4.69964, -3.45594, 2.13534) +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.765097, 0.459496, 0.16578, -0.482873, 0.66485, 0.385745, 0.0738424, -0.413315, 0.804804, -2.70943, -3.48923, 8.10288) +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("") @@ -1505,7 +1476,7 @@ mesh = SubResource("ArrayMesh_t7oxb") skeleton = NodePath("") [node name="Cube_cell_008_cell_004" type="MeshInstance3D" parent="ROCK SMASH"] -transform = Transform3D(0.847687, -0.318275, -0.0641788, 0.323136, 0.844491, 0.0800621, 0.0316353, -0.0976118, 0.901922, 2.81729, -3.32356, 3.46052) +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("") @@ -1519,29 +1490,29 @@ 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.61861, -0.23851, -1.41851) -bones/0/rotation = Quaternion(0.298941, 0.551722, 0.640682, 0.442451) +bones/0/position = Vector3(2.61052, -0.120878, -1.43825) +bones/0/rotation = Quaternion(0.325178, 0.514232, 0.67442, 0.41831) 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.0399566, 0.246719, 0.09259, 0.963826) +bones/1/rotation = Quaternion(0.242883, 0.240439, -0.116785, 0.932501) 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.128052, 0.0483076, -0.684212, 0.716327) +bones/2/rotation = Quaternion(-0.124477, 0.0489336, -0.685746, 0.715446) 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.0824862, -0.684078, 0.335667, 0.64231) +bones/3/rotation = Quaternion(0.101709, -0.495714, 0.198192, 0.83943) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 @@ -1555,7 +1526,7 @@ 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.187802, -0.00217477, -0.13815, 0.97244) +bones/5/rotation = Quaternion(0.0978542, 0.0198669, -0.32182, 0.941521) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 @@ -1583,7 +1554,7 @@ 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.122931, 0.0264458, 0.135831, 0.98272) +bones/9/rotation = Quaternion(0.137327, -0.0366635, -0.0538153, 0.988383) bones/9/scale = Vector3(1, 1, 1) bones/10/name = "Bone.010" bones/10/parent = 9 @@ -1611,7 +1582,7 @@ 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.0190717, 0.0362728, 0.320875, 0.946235) +bones/13/rotation = Quaternion(0.206614, -0.108717, 0.136027, 0.962802) bones/13/scale = Vector3(1, 1, 1) bones/14/name = "Bone.014" bones/14/parent = 13 @@ -1639,7 +1610,7 @@ 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.0744433, -0.0415456, 0.444611, 0.891658) +bones/17/rotation = Quaternion(0.271206, -0.228541, 0.244034, 0.902587) bones/17/scale = Vector3(1, 1, 0.999999) bones/18/name = "Bone.018" bones/18/parent = 17 @@ -1666,8 +1637,8 @@ 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(2.36916, -0.299529, -3.47685) -bones/21/rotation = Quaternion(0.586083, 0.458198, 0.38081, 0.549131) +bones/21/position = Vector3(2.37387, -0.417525, -3.46455) +bones/21/rotation = Quaternion(0.553876, 0.473724, 0.348957, 0.589098) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_008" type="MeshInstance3D" parent="ARM5/5_ R MELEE ARM/Skeleton3D"] @@ -1675,7 +1646,7 @@ mesh = SubResource("ArrayMesh_mat8l") skin = SubResource("Skin_em6a3") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM5/5_ R MELEE ARM/Skeleton3D"] -transform = Transform3D(-0.833803, 0.143717, 0.533027, 0.194934, -0.826682, 0.527822, 0.516501, 0.544006, 0.661275, 2.42579, -0.444657, 1.04207) +transform = Transform3D(-0.713554, 0.0844566, 0.69549, 0.70036, 0.111948, 0.704956, -0.0183209, 0.990118, -0.13903, 2.45564, -0.104424, 1.02541) bone_name = "Bone.018" bone_idx = 18 @@ -1693,7 +1664,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 @@ -1706,3 +1683,25 @@ 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="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_58u67") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("11_51471") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("12_630jn") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("13_5ayd7") +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..d7346f63 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=23 format=4 uid="uid://c61hpj1aackmn"] +[gd_scene load_steps=27 format=4 uid="uid://c61hpj1aackmn"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_xefo1"] [ext_resource type="Texture2D" uid="uid://c4gfxyge646im" path="res://src/enemy/enemy_types/16. demon wall/model/ARM6_AREA_2_MAIN_222STONE.png" id="2_7j47h"] @@ -7,6 +7,10 @@ [ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_h1jik"] [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_3jiko"] [ext_resource type="AudioStream" uid="uid://bgumf0x52xmby" path="res://src/audio/sfx/enemy_ambassador_kick.ogg" id="7_3jiko"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="8_np0rn"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="9_8skmg"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="10_3x3pn"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="11_4vlpq"] [sub_resource type="Resource" id="Resource_h1jik"] script = ExtResource("2_h1jik") @@ -536,29 +540,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.48111, -0.791097, -2.0223) +bones/0/rotation = Quaternion(0.211555, 0.66827, 0.335644, 0.629288) 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.0237538, 0.053527, -0.0617698, 0.996371) 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.496466, 0.206001, -0.556218, 0.633803) 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.16814, -0.0106965, 0.540617, 0.824226) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 @@ -572,14 +576,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.103232, 0.0140211, -0.0748231, 0.99174) 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.714531, -0.211121, 0.0779645, 0.662415) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 @@ -607,7 +611,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.767688, -0.0497837, -0.0886708, 0.632703) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 @@ -635,7 +639,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.815073, 0.104335, -0.137342, 0.553089) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 @@ -656,14 +660,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.0449998, 0.0166296, 0.33525, 0.940907) 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.777278, 0.137312, -0.161318, 0.59242) bones/18/scale = Vector3(1, 1, 1) bones/19/name = "Bone.019" bones/19/parent = 18 @@ -683,8 +687,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.06374, -0.868974, -3.4685) +bones/21/rotation = Quaternion(0.670964, 0.419623, -0.114057, 0.600596) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_001" type="MeshInstance3D" parent="ARM6/6_ L WEAPON ARM/Skeleton3D"] @@ -692,7 +696,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.0490867, 0.928964, -0.3669, 0.709748, -0.290902, -0.641587, -0.702744, -0.228913, -0.673609, 1.90943, 0.709731, -0.193528) bone_name = "Bone.020" bone_idx = 20 @@ -721,3 +725,25 @@ anim_player = NodePath("../AnimationPlayer") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="ARM6"] bus = &"SFX" + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_np0rn") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_8skmg") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_3x3pn") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("11_4vlpq") +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..d5a42f06 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=29 format=4 uid="uid://big4eurgqyejq"] +[gd_scene load_steps=33 format=4 uid="uid://big4eurgqyejq"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_enq7k"] [ext_resource type="Texture2D" uid="uid://dni8145sh8qu3" path="res://src/enemy/enemy_types/16. demon wall/model/ARM7_AREA_2_MAIN_222STONE.png" id="2_1gdpg"] @@ -8,6 +8,10 @@ [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_v88k1"] [ext_resource type="Texture2D" uid="uid://cnnn1m1mcb6qc" path="res://src/vfx/Enemy/FLAME_SPRITE_SHEET_FIXED.png" id="6_xpy5w"] [ext_resource type="AudioStream" uid="uid://xtdvy7l702sl" path="res://src/audio/sfx/enemy_demon_wall_flamethrower.ogg" id="8_ssyb0"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="9_tma27"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="10_6ih5g"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="11_jl2ue"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="12_ldh72"] [sub_resource type="Resource" id="Resource_v88k1"] script = ExtResource("2_v88k1") @@ -628,155 +632,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.24663, -0.603815, -1.50391) +bones/0/rotation = Quaternion(0.198976, 0.338412, 0.596431, 0.700112) 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.0426236, 0.560478, 0.182529, 0.806679) 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.0503495, 0.158851, -0.617644, 0.768601) 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.146117, -0.132595, 0.316681, 0.927783) 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.0104301, 0.0375251, 0.236483, 0.970855) 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.0186151, 0.0242297, -0.235692, 0.971347) 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.170281, -0.0329316, 0.191584, 0.966031) 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.00207297, 0.0579493, 0.0167521, 0.998177) 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.204302, -0.0906771, 0.00219749, 0.974697) 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.0214432, 0.0269149, -0.0129677, 0.999324) 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.048337, -0.00204269, -0.00569314, 0.998813) 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.120637, 0.00954634, 0.013289, 0.992562) 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.117368, -0.0469344, -0.0060703, 0.99196) 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.0807626, -0.0317657, 0.184871, 0.978923) 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.0121053, 0.093014, -0.168775, 0.981181) 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.250247, -0.095279, 0.0404606, 0.962632) 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.0950608, -0.00283341, -0.0712662, 0.992913) 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.0323553, -0.0901917, 0.360074, 0.92799) 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.0650744, 0.163233, -0.237803, 0.955285) 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.015694, -0.0682023, -0.03528, 0.996924) 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.184269, -0.0381617, 0.0740548, 0.979339) 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.73986, 0.0654195, -3.39532) +bones/21/rotation = Quaternion(0.758807, 0.0665945, 0.2939, 0.577409) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_002" type="MeshInstance3D" parent="Pivot/ARM7/7_ L AGNI CONE ARM/Skeleton3D"] @@ -784,7 +788,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.853632, -0.471498, 0.221363, 0.256391, -0.0104199, 0.966517, -0.453405, 0.881805, 0.129783, 0.944127, -0.214516, -0.235202) bone_name = "Bone.001" bone_idx = 1 @@ -837,3 +841,25 @@ 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="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_tma27") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_6ih5g") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("11_jl2ue") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("12_ldh72") +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..f4d81121 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=23 format=4 uid="uid://25ignmox5j8o"] +[gd_scene load_steps=27 format=4 uid="uid://25ignmox5j8o"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_5tnjc"] [ext_resource type="Texture2D" uid="uid://dsnuk0k83wrna" path="res://src/enemy/enemy_types/16. demon wall/model/ARM8_AREA_2_MAIN_222STONE.png" id="2_8jyke"] @@ -7,6 +7,10 @@ [ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_yary7"] [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_cglns"] [ext_resource type="AudioStream" uid="uid://ugc77goiwht0" path="res://src/audio/sfx/enemy_ambassador_punch.ogg" id="7_cglns"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="8_i7tvv"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="9_s00ib"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="10_lq68h"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="11_1fvxr"] [sub_resource type="Resource" id="Resource_yary7"] script = ExtResource("2_yary7") @@ -550,155 +554,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.90251, 0.821056, -1.19932) +bones/0/rotation = Quaternion(-0.0307662, -0.640633, -0.702446, 0.308565) 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.050829, 0.0107334, 0.238876, 0.969659) 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.95832, 0.364883, -3.28222) +bones/21/rotation = Quaternion(0.474724, -0.460951, -0.406109, 0.630267) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_007" type="MeshInstance3D" parent="ARM8/8_ L MELEE ARM/Skeleton3D"] @@ -706,7 +710,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.746257, -0.442407, 0.49737, -0.367996, -0.348436, -0.862074, 0.554689, -0.826359, 0.0972186, -1.35378, 0.455844, 0.60696) bone_name = "Bone.012" bone_idx = 12 @@ -736,3 +740,25 @@ unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_5tnjc") anim_player = NodePath("../AnimationPlayer") + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("8_i7tvv") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_s00ib") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_lq68h") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("11_1fvxr") +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..fe2bd0c7 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=158 format=4 uid="uid://dppws3muepn0l"] +[gd_scene load_steps=162 format=4 uid="uid://dppws3muepn0l"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_fjfqv"] [ext_resource type="Texture2D" uid="uid://c1jl757qlt28e" path="res://src/enemy/enemy_types/16. demon wall/model/ARM9_AREA_2_MAIN_222STONE.png" id="2_bbf6x"] @@ -8,6 +8,10 @@ [ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_fk886"] [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_jltgb"] [ext_resource type="AudioStream" uid="uid://53o2klbyrg3k" path="res://src/audio/sfx/enemy_demon_wall_debuff.ogg" id="8_g28ne"] +[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="9_n4pi1"] +[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="10_8ffok"] +[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="11_g5dit"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="12_ahsqi"] [sub_resource type="Resource" id="Resource_jltgb"] script = ExtResource("2_jltgb") @@ -1549,141 +1553,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.60988, -1.05332, -1.37138) +bones/0/rotation = Quaternion(-0.0847933, 0.842793, 0.477148, 0.234178) 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.259304, -0.229132, 0.100842, 0.932787) 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.266077, 0.168954, -0.645688, 0.695518) 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.010037, -0.0874289, 0.400771, 0.911942) 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.155159, 0.0086465, 0.215889, 0.963973) 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.119883, 0.023862, -0.205944, 0.970899) 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.266025, -0.0547133, 0.158645, 0.949247) 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.3124, 0.0360711, 0.0365625, 0.948561) 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.316928, 0.00617318, 0.0792994, 0.945109) 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.178934, 0.0469714, -0.008006, 0.982707) 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.272473, -0.0466986, 0.0264601, 0.960665) 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.289659, 0.0375797, 0.0400403, 0.955553) 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.214396, -0.00038524, 0.0368907, 0.97605) 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.0869399, 0.011616, 0.19529, 0.976815) 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.167362, 0.0341507, -0.132487, 0.976356) 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.340009, 0.0276822, 0.0796518, 0.936634) 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.0420214, 0.0571542, -0.0650502, 0.995357) 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.104245, 0.0500787, 0.395603, 0.911111) 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.166994, 0.0657689, -0.265268, 0.947323) 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.124374, -0.0294682, -0.0399575, 0.990992) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "Bone.020" bones/20/parent = 19 @@ -1696,8 +1700,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.34956, -1.43094, -3.26329) +bones/21/rotation = Quaternion(0.536061, 0.155034, 0.347987, 0.753331) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST" type="MeshInstance3D" parent="ARM9/9_ L MAGIC 3 ARM/Skeleton3D"] @@ -1705,7 +1709,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.901522, -0.410487, -0.136964, 0.373655, -0.898066, 0.232077, -0.218267, 0.158046, 0.963006, 0.565296, -0.319394, 0.945969) bone_name = "Bone.015" bone_idx = 15 @@ -1742,3 +1746,25 @@ unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_fjfqv") anim_player = NodePath("../AnimationPlayer") + +[node name="HitSounds" type="Node3D" parent="."] + +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("9_n4pi1") +bus = &"SFX" + +[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_8ffok") +bus = &"SFX" + +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("11_g5dit") +bus = &"SFX" + +[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("12_ahsqi") +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..9e589612 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,25 @@ 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" 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..34b70b9b 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,14 @@ -[gd_scene load_steps=10 format=3 uid="uid://dpq17ej06uah1"] +[gd_scene load_steps=14 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"] +[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_f4fyu"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -84,3 +88,25 @@ _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 +stream = ExtResource("9_f4fyu") +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/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/19. Floor Exit A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn index 50619dec..e02caff2 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,6 +560,7 @@ 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") 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 5f12da5b..6274e701 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!; @@ -193,6 +191,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide { 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) @@ -208,6 +207,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide var hpIncrease = rng.RandiRange(3, 6); HealthComponent.RaiseMaximumHP(hpIncrease); ExperiencePointsComponent.LevelUp(); + SfxDatabase.Instance.Play(SoundEffect.LevelUp); } public void Die() @@ -279,13 +279,9 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide private void Attack() { if (PlayerIsHittingGeometry()) - { AnimationPlayer.Play("hit_wall"); - } - else - { + else if (!AnimationPlayer.IsPlaying()) PlayAttackAnimation(); - } } private void ThrowItem() @@ -299,6 +295,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide private void PlayAttackAnimation() { + SfxDatabase.Instance.Play(((Weapon)EquipmentComponent.EquippedWeapon.Value).SoundEffect); var attackSpeed = ((Weapon)EquipmentComponent.EquippedWeapon.Value).AttackSpeed; AnimationPlayer.SetSpeedScale((float)attackSpeed); AnimationPlayer.Play("attack"); @@ -364,7 +361,10 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide var element = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponElement; 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); @@ -398,7 +398,6 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide } if (area.GetParent() is Restorative restorative) { - //_gameRepo.OnRestorativePickedUp(restorative); restorative.QueueFree(); } } diff --git a/Zennysoft.Game.Ma/src/player/Player.tscn b/Zennysoft.Game.Ma/src/player/Player.tscn index d65fb548..9a774d44 100644 --- a/Zennysoft.Game.Ma/src/player/Player.tscn +++ b/Zennysoft.Game.Ma/src/player/Player.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=34 format=3 uid="uid://cfecvvav8kkp6"] +[gd_scene load_steps=54 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"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_dw45s"] radius = 1.0 @@ -37,15 +38,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 +62,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 +81,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 +103,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 +151,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 +177,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 +185,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 +206,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 +219,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 +549,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,14 +556,14 @@ 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 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.507, 0, 0) collision_layer = 0 +collision_mask = 0 axis_lock_linear_x = true axis_lock_linear_y = true axis_lock_linear_z = 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,17 @@ 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" 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 ef7a9cfc9bc446755d8b8ee9b7e481c3117cd0fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWxul}}Y+py`V4xTd z;207T)SCAA4@3t;1rBAS!lNND8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71*Awbm- zU<8^5!eAg5l95@gP?TDnUs{x$s*sjnl&z4NSCX1nl9`{En3GefkdvBLqL7r6n3oOg U3qy4cX$sZBh08)h^A^-pY 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 c7c09fa4db39ce0ac11c02100f4b1c802313216b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17787 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 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 c1b41a8958ef50d39b58038bfab2ee0123d248fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10242 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 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 b4a48bceb39e6cedfb161f0d141cf9960105f582..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12832 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 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 ff65af50aef05b076867e5c14e5b861032255105..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12899 zcmaKTbzGERx9^@|hA!!5071GthZK?SW{~b0BqWA5XhA_z=@dl)$w5hJk&s5DBn1IM z;_`dX`<{FMIQPuwGc!-Dwf3s-+H3FU^E}emy-h;MKnMUJxudCOc>N!B{SC#(z5dNQ z5`GK-p{kpzs{S2SRfMm0_+^s_4GONbwO8&y#xPD^cA7OsPqVAP4FjdtT!JCU*9Jbiz`Ft1#|a6J zK-VdqLtgs;DDa&Syh+i!d==BI&t(P>X<&(+Vx0(*Y6$uSjr*uTA04POs&^y=831^O zgsHHDN)oXB`;Hil~UK&ek`v! zuY2zO?tXRYvG2pK$o6aTvNaJ31LV3Rdoy;ctCKjsy^y-V4vz{eFk=c_7f)@(W(f){ z2}eUupM*%CBU$oa>i5YrGZ7LI?Qq_E*(SX5MDa>&*=OlV#PRjr%h}L<;P(QVU4t!( zx$v|1zF%vYygmR^5%E4*=eX>Ri@ZqY8T&5&#+sk{@h|g7P5SIQy&)eA)704dGrv=8 zMvDGoeRe_cG>8OL$LnEr8}Qx_cw!@VAy z{E1a;ISa|W(n8i!SL3DXn_2WE4r`_zoseEU88o6sj1%58kxSn`ja(W$Ao z&9%){%Q?3>-cdB;n-RpsihR7q{3{n_ z{b;0;?SA-Oo8Z+=!{Q7IEeR*3Rai-Zs7iKWrNK}|{#X3Uhq48hcf1Pk>kAnrR8Wcs zzTh0np-~+u7ATq+ec|TfcH%0uiEbvCk6}@NKKlHN#|GZ!`ew}UAYzhul9*o2d))LM z^bhFE=o;yTvb9U$H3fQ)J3!nr231u2&kH1ehpI zgj5n4SDBDi*_wuzYM9jPuT&6xrKy^zU^Z!~kgOdx3^Gj7A2F~iYPY+HK64;>8y}}p z7_V7m?9kXlpTtJfBkJ_aTxHVV6laUyBTMI=)!Wl;?fdY*jQ52eXd9^pR618Xr#a`X z`3*rxd)_SV%Y4h#8fF_N8GayuBcLSkX41XJxhA4UY9@51edgYd{|?R0*34d@Zyqv_ zKkrD^OZFs?pjoonpgFF2HgM#p;<&?B$R@$j=Ofb1`LWwaUcZZuXn*ca?v1fZ35(-P zrqX+gNIUEgraEkRWVtns?Z+;c-xzRhPU~_l8oN_;tBGqj!DU4vm{!rb+K1_0wfKV5 zoQJ&qJvY(W;;!QEAMHFt86Gd3o5$XbqX!53_~)vptNXW;WhQbx^6lHdwa%U=#g(Y% zc56M6eA4@D=2_SP{F%=IWqE|5!pW9Cft6pjk_arY=6vo>~%cCJjg`BJSm5k3-d<@4&L|l zZQUwf7XMVyRq<)l%!SeAWkBAc1a0Zv)B%d;_n*@md6hjb^DYP-$XsREZT|9p{HQ3W zC1>6qw4HrXp`9aQG9o(y?>zsn+}XfI z%AbzqkOP`ux^NVv6S4|vi(-hX$ML{ng=ND^@Fd_#@D^MlVnu2dVgeEiR{y6ySlR=| zQwOm*7ycJx)SvP5s4W@Kga^5_Stf5J$B*DIl1KQIo@#FnHsC*8y6yR}iPeohoAxxE ziicOUQt+q2J0r9o`h9>@=pw~(+%4U>+` zqImvRX*C9+qAx_Jw_4_{!%TS)n-iy}-u^1-mBE|FCN25&wLH_zW9fOhaMd%{cs-54 z9x(zvL%xtS`t%PRhdQQelMB@&-~7G_$YkVZXQYIdBh|J4iN+ z`BGA%$`@@Wo>`I6Kj2;a+wy}0wSA_e$)5Z32`ke`UfN8%YTxSe+COy~O>5uHbnPa> zjzYXKksa5ZWV8NSD#pPyw+-SSDqM+-zTYI{FSuIXy>K1fPNY3ev~})Zs_w6 zj)c9$j@4j8_3Xh*$)e-Xyhxh?(~Fv_#`bSqGm{Ti^2qn|ZXU zhaY)=*^Qo0VYtWG+_4rh-*h`juRA~GLCFKWWA(i)ceIb^-0O~xw*+2>l1VI@vc9W1 z7@wJ(ofkpxeJy!OKPsukx5?TtsCxnm~+rv6L`+7yJe?e%OkHhOc-Gc|EGAN{$1yh9sAxT`&96PgnI z`n-MS;wRo2+0V##mv5Y~UQ2&aSk%ZT3$i^@f`t6bjH~g4a`dvc z4u>fGDm||mo(gH%8A7^xsy}uJscJ#UDgt+5n@8V?WWbYW_*Y6|`0FIxVu{qjYM_bmx$4k)u9~!}6 zFW+l!0OXZ|eeE4QoY07SPA+cV3ha9=9qb42_0b_UsWepH_cFgC!^7dn4pipi;#$njEs=5sF0|rz%_+HK!`WmK3Kpz zfa5gfEpVDEr``|8?jLc#XFLL!2~ zLSA0~nD#H~0JNdg|5f9Eqz*6+@pTe1bPDhZ^mn)pi8IH4n6KUUzYp{e;k7ohdj8i9 zgtxt?nvX-EmyhENa_VG9N@$vjmBIvvNpnU>deS8tuiy%>95h(<>nVYwx zPf!5QKVkYWtJR$R-R?U%YWVwjA^zoOS-1Z|2VrSR6*W-_5eXR?)ocA_lvSiOR5iq9 z#3iJKWmGiO*#FJz_&@mW-@Ky#UtXbWWrY4olK&@Z{&VR%6aP83*!D9GufH&{gE3&oT zp}?iZkc~}Mor0_Hb!!FRbnrk<&qS%xuLBo`n+imsRFUxLd{y57=n`fvjmF#PZVTxP zKcs?+U^BLxT-+I0LunW+Oe?#XqI2+oEfkm=#I;n8|1_wH!NKyYi*)n|PvHCM>T{2h zx~cI;Il0%uq(+o$n635AjpBmLOP2jg+Bi03AkCqa2E6(d?|#s5dsE^+WH^!kcr6hL zsipuVftf8qeRozF8P1FJ{cucUbeuV-5R9**^c`xno6@La9wP1?Yp*axUyuT%J~TD- zc31I1s_CU)B2&TCn@_FVyj1-R-65|ewA@cD`F{MMqAz@5h9^Y;*t+WlC{J`{NLdX( zDn(J>>cX8xMMS`j&$6Eh!01;lbL)L^UckhOGBhHd( z76@o$*s4|}PY$XIHQ}P)#_4~^zHBJ)n}y|9#u8`i2XIbz;N^s3QVq}26Z0OZ3k9n= zFWjN|1_PdcN-c?R|7g2}n7PQt$G-A<47A{=G(q8te(sN7DF@l6g8+gDAd5L!QYlXy z36MV*6WVQ7B)0bv9r2BCuzC~Mks8Fx3UK0=uU)D;irZb~Ih zuzq5z56%2i#^5<6zb|iVXQ-*U^=+H#P3t2QcB4FYBbmc~u^)raWEkMU(Q+0o@LWsH z0wfL)+LLxhY~Tn3ggAG3Ligy!{Wp~7`Zs?-RG@{);Z=s7fRd5dNHudqg%cxt`*|+% zBR?BHUL_&ZZ81ZztF_bsbskdaRQw4$*vJM;y^q`fwzX~*yrS~Wr9!;(kbYNm?`h(K zY&MoT?{iiq;3XVo12>!BBCTj=jN_K3T^~Tbve|cUmfvz_QXctB;LHk&fKJ{)i~2}- zEcoM>kK3EQmr6A104@BKHEo)`y`|kFY63UG(ImyB5g2Qn4-B)RWt#7I&dF;qB^f03 z36ziErLU0>HbCFuV<^?9E(|7*A~nGrynS7cgqaeA8)BF#t`wDp*%-@Bym3*RwA_FBk-d|GsmE*101*gMMH&u^FT&)Qcc z(Q6vr5B=OP(&dqY8ZcyS`Po#)CeNSG0P}2<7R|gL7L{K}C7cBX55OQ>)|f8B_80>A z)1h;Ao)1z=n6He}Zzmw|nL6N)7&&ils#g=qq^nTCL~oflO_q*#9Q|Kj9giN-mhjw8GbGG% zWxJh$>(6n{ReJNB-d_tpF{;7lNnAeaC5sr{eG%4V9yos12>%N|PzOV)b51rs);aN< zsR&at$aJzHOQS*@zG7dsB*+_&jAJr__Eiwp^_{WRt4CXxG4RJXc+`(l(=F54Pj`As zgB6-f2)I_N8%J1-9ENA?87{T>yFe?5m&`@qDpsSgP5oKOg#5A=p=O4@N>)B*@Lh<` zs?zFJ>>N_V5((*+2uunhVuZ6*T)wb zQ?sMQC9`WE%mhS-xu5G%nOv&lrh675Z>mcJNbUDv?lZAU-A*ukxheN_r^?r=5+zA+sm4)Sfngu1*f+8iHpH;Af%0t*wl`k7z!8R}IT(|miXjcbWYr2? z(t|bfuy7#0ae80ktseFK=WqNTiu%S@B$MU9XXb-Z??=ME18S;IuTpu-d__(RaJjV&*GW&kCeC4_CJIF>?5r0;>5L$`76eR70llpVVGv zJ0B~3`&D&^3R-OqH3eYblzIl}?KL2ybjrG$*vY|0u8pm&zMkjG$&!8I+NhxLsLRFk zPiy4oata`Zf#A1+LIW#bXi^zr1G>OdQg!m7cvaI!QvQDEZ4OHOZ|13Qo?=t8+gaWJ z$izviBam5f8wWQ6R!zEo^&)z=jKJeaN%$b!A6Y6)8kD=qNKX@jI~4HIR)%fX3ySzE zUq{3e{P+W!q0Bk=78F(jZUTPi=BNNP0`8Rg|5gBhK&X~*=v(8KKjR%uXk zV_M%8;^w|Dcl$JGk$Sa;pQOMKI}ONn42}}AiSKDZXQ}dA(A#+icm5_;Gf9`u-i7c0 z)DqR)2~`v1PJ4+33$3LA;Swx{o@g|Vo0Ue0JcQ8DJ9=0V0S_kg)dsFO$YUq!>-06_ zyINZwpMrm0$$+*7RGKRmy};YUOh!LBLON{l?1sDmg@0r*>Vg#$jAW=6N*4u0T_3?q z{pih`Gb)2Z(Bw-s5T*itZz_Db;=2Y{do$J24WI$h-FS3WY|7_?{(D?h*VI?X08RuR z!9ep3lTgw)1Fdnqa+%vWkdhPsPVUsJA}x$%^W62GGG>_-a*H+X;N+5;P&i?!>MkUL z0E79<_G<)EogdZBkznr@2lgdGbAJ@@f&_WYYP1C<>@iCZSymwA1r_%5&>+C2A3#>< zr1n1mMTcPJF4f6y2gNn6u0jF#+d55<8!H_Q-N(|KE8fR{Mu5>O#Ma-r6d-A^E5(SW z8de(0Ymp&&qMqKWBfww!esn-K; z?UF=M#wuL;yS(5g#aWEk#>rw&^_5j6SS-o%(Swj*xnG0y+(S`GjH0O$9)Z)d9Ek~> zP0@tVEMrA4bktw%x$S&$lT^m)^b{hVJ-}(A3fEZ74vhLOW+g`c26L&47j*v;Jl(BA z^!SW#GX8$iwt&1axu7^)8Hl*wqS{%NTJN)Iu+NHOJ-boMB_&&KYbb7OuBxaZo2I!SPT$U0JB2M zitHTaibdlc{{NJu5b(JlA#1;w8MBdlkFU)4$TbG&>(@||i=z)BaW9qR6zE+!2uXuT#%jrYJHY*PjNxQ3YKw zi{k_uke+cv{VTbMitEgqdm~3h48z3F8h>uLL4PcRvjoFPS!-nyW}>G)!Z<`@cA