diff --git a/Zennysoft.Game.Ma.Implementation/Components/IAttackComponent.cs b/Zennysoft.Game.Ma.Implementation/Components/IAttackComponent.cs index f163505b2..abda2db5c 100644 --- a/Zennysoft.Game.Ma.Implementation/Components/IAttackComponent.cs +++ b/Zennysoft.Game.Ma.Implementation/Components/IAttackComponent.cs @@ -15,6 +15,4 @@ public interface IAttackComponent : IEntityComponent public void SetAttack(int attack); public void RaiseMaximumAttack(int raiseAmount); - - public void LowerMaximumAttack(int lowerAmount); } diff --git a/Zennysoft.Game.Ma.Implementation/Components/IDefenseComponent.cs b/Zennysoft.Game.Ma.Implementation/Components/IDefenseComponent.cs index bc88a9c9a..46875a369 100644 --- a/Zennysoft.Game.Ma.Implementation/Components/IDefenseComponent.cs +++ b/Zennysoft.Game.Ma.Implementation/Components/IDefenseComponent.cs @@ -15,6 +15,4 @@ public interface IDefenseComponent : IEntityComponent public void SetDefense(int attack); public void RaiseMaximumDefense(int raiseAmount); - - public void LowerMaximumDefense(int lowerAmount); } diff --git a/Zennysoft.Game.Ma.Implementation/Components/LuckComponent.cs b/Zennysoft.Game.Ma.Implementation/Components/LuckComponent.cs index 279dd2d80..203943f4f 100644 --- a/Zennysoft.Game.Ma.Implementation/Components/LuckComponent.cs +++ b/Zennysoft.Game.Ma.Implementation/Components/LuckComponent.cs @@ -4,6 +4,8 @@ namespace Zennysoft.Ma.Adapter; public interface ILuckComponent : IEntityComponent { + public int InitialLuck { get; } + public IAutoProp Luck { get; } public void IncreaseLuck(int value); diff --git a/Zennysoft.Game.Ma.Implementation/Equipment/Tags/UsableItemTag.cs b/Zennysoft.Game.Ma.Implementation/Equipment/Tags/UsableItemTag.cs index 5dcb27bca..a48cf3448 100644 --- a/Zennysoft.Game.Ma.Implementation/Equipment/Tags/UsableItemTag.cs +++ b/Zennysoft.Game.Ma.Implementation/Equipment/Tags/UsableItemTag.cs @@ -14,6 +14,7 @@ public enum UsableItemTag DealElementalDamageToAllEnemiesInRoom, RaiseCurrentWeaponAttack, RaiseCurrentDefenseArmor, + LowerCurrentDefenseArmor, RaiseLevel, LowerLevel, RandomEffect, @@ -30,5 +31,6 @@ public enum UsableItemTag DecreaseAttack, DecreaseAllStats, Clone, - MeltAllEquipment + MeltAllEquipment, + RestoreStats } diff --git a/Zennysoft.Game.Ma.Implementation/Game/GameRepo.cs b/Zennysoft.Game.Ma.Implementation/Game/GameRepo.cs index 80f696a37..3c74660a8 100644 --- a/Zennysoft.Game.Ma.Implementation/Game/GameRepo.cs +++ b/Zennysoft.Game.Ma.Implementation/Game/GameRepo.cs @@ -16,10 +16,6 @@ public interface IGameRepo : IDisposable event Action? AnnounceMessageInInventoryEvent; - event Action? DoubleExpTimeStart; - - event Action? DoubleExpTimeEnd; - event Action? RemoveItemFromInventoryEvent; event Action? PlayerAttack; @@ -40,10 +36,6 @@ public interface IGameRepo : IDisposable IAutoProp IsPaused { get; } - public void StartDoubleEXP(TimeSpan lengthOfEffect); - - public void EndDoubleExp(); - public void AnnounceMessageOnMainScreen(string message); public void AnnounceMessageInInventory(string message); @@ -63,8 +55,6 @@ public interface IGameRepo : IDisposable public void OnUnequippedItem(IEquipableItem item); public void OnEnemyDied(IEnemy enemy); - - public double ExpRate { get; } } public class GameRepo : IGameRepo @@ -73,8 +63,6 @@ public class GameRepo : IGameRepo public event Action? CloseInventoryEvent; public event Action? AnnounceMessageOnMainScreenEvent; public event Action? AnnounceMessageInInventoryEvent; - public event Action? DoubleExpTimeStart; - public event Action? DoubleExpTimeEnd; public event Action? RemoveItemFromInventoryEvent; public event Action? PlayerAttack; public event Action? PlayerAttackedWall; @@ -85,14 +73,11 @@ public class GameRepo : IGameRepo public IAutoProp IsPaused => _isPaused; private readonly AutoProp _isPaused; - public double ExpRate { get; private set; } - private bool _disposedValue; public GameRepo() { _isPaused = new AutoProp(true); - ExpRate = 1; } public void Pause() @@ -107,20 +92,6 @@ public class GameRepo : IGameRepo GD.Print("Resume"); } - public void StartDoubleEXP(TimeSpan lengthOfEffect) - { - AnnounceMessageInInventory("Experience points temporarily doubled."); - DoubleExpTimeStart?.Invoke(lengthOfEffect.Seconds); - ExpRate *= 2; - } - - public void EndDoubleExp() - { - AnnounceMessageOnMainScreen("Experience points effect wore off."); - DoubleExpTimeEnd?.Invoke(); - ExpRate /= 2; - } - public void AnnounceMessageOnMainScreen(string message) { AnnounceMessageOnMainScreenEvent?.Invoke(message); diff --git a/Zennysoft.Game.Ma.Implementation/Item/IArmor.cs b/Zennysoft.Game.Ma.Implementation/Item/IArmor.cs index 46a0b0b42..ea7b4bf16 100644 --- a/Zennysoft.Game.Ma.Implementation/Item/IArmor.cs +++ b/Zennysoft.Game.Ma.Implementation/Item/IArmor.cs @@ -2,4 +2,7 @@ public interface IArmor : IEquipableItem, IAugmentableItem { + public void IncreaseArmorDefense(int bonus); + + public void DecreaseArmorDefense(int lowerAmount); } diff --git a/Zennysoft.Game.Ma/src/Components/AttackComponent.cs b/Zennysoft.Game.Ma/src/Components/AttackComponent.cs index 8f0d3772c..42cc4ed47 100644 --- a/Zennysoft.Game.Ma/src/Components/AttackComponent.cs +++ b/Zennysoft.Game.Ma/src/Components/AttackComponent.cs @@ -53,11 +53,4 @@ public class AttackComponent : IAttackComponent _maximumAttack.OnNext(_maximumAttack.Value + raiseAmount); Restore(raiseAmount); } - - public void LowerMaximumAttack(int lowerAmount) - { - _maximumAttack.OnNext(Mathf.Max(_maximumAttack.Value + lowerAmount, 0)); - if (_currentAttack.Value > _maximumAttack.Value) - _currentAttack.OnNext(_maximumAttack.Value); - } } diff --git a/Zennysoft.Game.Ma/src/Components/DefenseComponent.cs b/Zennysoft.Game.Ma/src/Components/DefenseComponent.cs index 23bd89420..7e3f1fe5d 100644 --- a/Zennysoft.Game.Ma/src/Components/DefenseComponent.cs +++ b/Zennysoft.Game.Ma/src/Components/DefenseComponent.cs @@ -53,11 +53,4 @@ public class DefenseComponent : IDefenseComponent _maximumDefense.OnNext(_maximumDefense.Value + raiseAmount); Restore(raiseAmount); } - - public void LowerMaximumDefense(int lowerAmount) - { - _maximumDefense.OnNext(Mathf.Max(_maximumDefense.Value + lowerAmount, 0)); - if (_currentDefense.Value > _maximumDefense.Value) - _currentDefense.OnNext(_maximumDefense.Value); - } } diff --git a/Zennysoft.Game.Ma/src/Components/ExperiencePointsComponent.cs b/Zennysoft.Game.Ma/src/Components/ExperiencePointsComponent.cs index b33bb42d3..e972e321e 100644 --- a/Zennysoft.Game.Ma/src/Components/ExperiencePointsComponent.cs +++ b/Zennysoft.Game.Ma/src/Components/ExperiencePointsComponent.cs @@ -48,20 +48,17 @@ public class ExperiencePointsComponent : IExperiencePointsComponent public void Gain(int baseExpGain) { var modifiedExpGain = baseExpGain * _expGainRate.Value; - var newCurrentExpTotal = modifiedExpGain + _currentExp.Value; - while (modifiedExpGain + _currentExp.Value >= _expToNextLevel.Value) + _currentExp.OnNext(Mathf.RoundToInt(modifiedExpGain + _currentExp.Value)); + while (_currentExp.Value >= _expToNextLevel.Value) LevelUp(); - var cappedAmount = Math.Min(baseExpGain + _currentExp.Value, _expToNextLevel.Value); - _currentExp.OnNext(cappedAmount); } public void GainUnmodified(int flatRateExp) { var newCurrentExpTotal = flatRateExp + _currentExp.Value; - while (flatRateExp + _currentExp.Value >= _expToNextLevel.Value) + _currentExp.OnNext(newCurrentExpTotal); + while (_currentExp.Value >= _expToNextLevel.Value) LevelUp(); - var cappedAmount = Math.Min(flatRateExp + _currentExp.Value, _expToNextLevel.Value); - _currentExp.OnNext(cappedAmount); } public void ModifyExpGainRate(double newRate) => _expGainRate.OnNext(newRate); diff --git a/Zennysoft.Game.Ma/src/Components/LuckComponent.cs b/Zennysoft.Game.Ma/src/Components/LuckComponent.cs index 4b5aafde8..f8944d411 100644 --- a/Zennysoft.Game.Ma/src/Components/LuckComponent.cs +++ b/Zennysoft.Game.Ma/src/Components/LuckComponent.cs @@ -7,12 +7,14 @@ namespace Zennysoft.Game.Ma; public class LuckComponent : ILuckComponent { public IAutoProp Luck => _luck; + public int InitialLuck { get; } private readonly AutoProp _luck; private readonly int _initialValue; public LuckComponent(int initialLuck) { + InitialLuck = initialLuck; _luck = new AutoProp(initialLuck); _initialValue = initialLuck; } diff --git a/Zennysoft.Game.Ma/src/audio/SFXDatabase.tscn b/Zennysoft.Game.Ma/src/audio/SFXDatabase.tscn index 1a97fdf43..19e90fbe5 100644 --- a/Zennysoft.Game.Ma/src/audio/SFXDatabase.tscn +++ b/Zennysoft.Game.Ma/src/audio/SFXDatabase.tscn @@ -34,22 +34,26 @@ script = ExtResource("1_ojkqd") [node name="OpenInventorySound" type="AudioStreamPlayer" parent="UI"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("5_p5cio") bus = &"SFX" [node name="MoveSound" type="AudioStreamPlayer" parent="UI"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("6_r16t0") max_polyphony = 5 bus = &"SFX" [node name="SelectSound" type="AudioStreamPlayer" parent="UI"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("10_nerso") bus = &"SFX" [node name="CancelSound" type="AudioStreamPlayer" parent="UI"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("11_rloay") bus = &"SFX" @@ -57,56 +61,67 @@ bus = &"SFX" [node name="HealHPSound" type="AudioStreamPlayer" parent="Player"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("2_158j8") bus = &"SFX" [node name="TakeDamageSound" type="AudioStreamPlayer" parent="Player"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("10_kac56") bus = &"SFX" [node name="HealVTSound" type="AudioStreamPlayer" parent="Player"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("3_kac56") bus = &"SFX" [node name="WeaponQuickSlashSound" type="AudioStreamPlayer" parent="Player"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("13_fa8i8") bus = &"SFX" [node name="WeaponPlasmaSword" type="AudioStreamPlayer" parent="Player"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("10_7th20") bus = &"SFX" [node name="WeaponSlowSlashSound" type="AudioStreamPlayer" parent="Player"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("10_vyvit") bus = &"SFX" [node name="CritSound" type="AudioStreamPlayer" parent="Player"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("14_p5cio") bus = &"SFX" [node name="PickupItemSound" type="AudioStreamPlayer" parent="Player"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("15_r16t0") bus = &"SFX" [node name="LevelUpSound" type="AudioStreamPlayer" parent="Player"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("16_sew62") bus = &"SFX" [node name="EquipSound" type="AudioStreamPlayer" parent="Player"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("7_sew62") bus = &"SFX" [node name="UnequipSound" type="AudioStreamPlayer" parent="Player"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("8_rf1la") bus = &"SFX" @@ -114,55 +129,66 @@ bus = &"SFX" [node name="TransferItemSound" type="AudioStreamPlayer" parent="Item"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("18_l6w22") bus = &"SFX" [node name="IncreaseStatSound" type="AudioStreamPlayer" parent="Item"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("4_fa8i8") bus = &"SFX" [node name="DecreaseStatSound" type="AudioStreamPlayer" parent="Item"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("4_fa8i8") bus = &"SFX" [node name="SortSound" type="AudioStreamPlayer" parent="Item"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("9_l6w22") bus = &"SFX" [node name="RecallEnemiesSound" type="AudioStreamPlayer" parent="Item"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("19_nerso") bus = &"SFX" [node name="KillHalfEnemiesSound" type="AudioStreamPlayer" parent="Item"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("20_rloay") bus = &"SFX" [node name="TeleportToRandomRoomSound" type="AudioStreamPlayer" parent="Item"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("21_6hsck") bus = &"SFX" [node name="TeleportToExitSound" type="AudioStreamPlayer" parent="Item"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("22_3wq6u") bus = &"SFX" [node name="AbsorbHPFromAllEnemiesSound" type="AudioStreamPlayer" parent="Item"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("23_aaerj") bus = &"SFX" [node name="SwapHPAndVTSound" type="AudioStreamPlayer" parent="Item"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("23_jdwj3") bus = &"SFX" [node name="TurnAllEnemiesIntoHealingItemsSound" type="AudioStreamPlayer" parent="Item"] unique_name_in_owner = true +process_mode = 3 stream = ExtResource("24_jdwj3") bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/game/Game.cs b/Zennysoft.Game.Ma/src/game/Game.cs index 74b465679..74cd7dac3 100644 --- a/Zennysoft.Game.Ma/src/game/Game.cs +++ b/Zennysoft.Game.Ma/src/game/Game.cs @@ -77,6 +77,8 @@ public partial class Game : Node3D, IGame private IPlayer _player; private IMap _map; + private Timer _doubleExpTimer; + [Signal] private delegate void OnLoadLevelRequestEventHandler(); public Game() @@ -184,22 +186,17 @@ public partial class Game : Node3D, IGame PauseMenu.ExitGamePressed += OnQuit; + _doubleExpTimer = new Timer(); + _doubleExpTimer.WaitTime = 30; + _doubleExpTimer.Timeout += EndDoubleExpTimer; + AddChild(_doubleExpTimer); + GameRepo.IsPaused.Sync += IsPaused_Sync; InGameUI.PlayerInfoUI.Activate(); InGameUI.Show(); GameRepo.Resume(); } - private void GameRepo_EnemyDied(IEnemy obj) - { - DropRestorative(obj.GlobalPosition); - } - - private void BroadcastMessage(string obj) - { - InGameUI.InventoryMessageUI.DisplayMessage(obj); - } - public void LoadExistingGame() => SaveFile.Load().ContinueWith((_) => CallDeferred(nameof(FinishedLoadingSaveFile))); public async Task InitializeGame() @@ -264,6 +261,15 @@ public partial class Game : Node3D, IGame RemoveItemOrSubtractFromItemCount(item); } + public void DoubleExp() + { + GameRepo.AnnounceMessageOnMainScreen("Experience points temporarily doubled."); + if (_doubleExpTimer.TimeLeft == 0) + _player.ExperiencePointsComponent.ModifyExpGainRate(_player.ExperiencePointsComponent.ExpGainRate.Value * 2); + + _doubleExpTimer.Start(); + } + public IDungeonFloor CurrentFloor => _map.CurrentFloor; public async void GameOver() @@ -315,6 +321,7 @@ public partial class Game : Node3D, IGame GameRepo.Pause(); InGameUI.InventoryMenu.Show(); InGameUI.InventoryMenu.SetProcessInput(true); + SfxDatabase.Instance.Play(SoundEffect.OpenInventory); }) .Handle((in GameState.Output.CloseInventoryMenu _) => { @@ -549,11 +556,14 @@ public partial class Game : Node3D, IGame case UsableItemTag.LowerLevel: _effectService.LowerLevel(); break; + case UsableItemTag.LowerCurrentDefenseArmor: + _effectService.LowerCurrentArmorDefense(); + break; case UsableItemTag.RandomEffect: _effectService.RandomEffect(effectItem); break; case UsableItemTag.DoubleExp: - GameRepo.StartDoubleEXP(TimeSpan.FromSeconds(30)); + _effectService.DoubleExp(); GameRepo.CloseInventory(); break; case UsableItemTag.TeleportToRandomLocation: @@ -577,11 +587,11 @@ public partial class Game : Node3D, IGame SfxDatabase.Instance.Play(SoundEffect.IncreaseStat); break; case UsableItemTag.DecreaseAttack: - _player.AttackComponent.LowerMaximumAttack(effectItem.Stats.BonusAttack); + _player.AttackComponent.Reduce(effectItem.Stats.BonusAttack); SfxDatabase.Instance.Play(SoundEffect.DecreaseStat); break; case UsableItemTag.DecreaseDefense: - _player.DefenseComponent.LowerMaximumDefense(effectItem.Stats.BonusDefense); + _player.DefenseComponent.Reduce(effectItem.Stats.BonusDefense); SfxDatabase.Instance.Play(SoundEffect.DecreaseStat); break; case UsableItemTag.DecreaseLuck: @@ -589,8 +599,8 @@ public partial class Game : Node3D, IGame SfxDatabase.Instance.Play(SoundEffect.DecreaseStat); break; case UsableItemTag.DecreaseAllStats: - _player.AttackComponent.LowerMaximumAttack(effectItem.Stats.BonusAttack); - _player.DefenseComponent.LowerMaximumDefense(effectItem.Stats.BonusDefense); + _player.AttackComponent.Reduce(effectItem.Stats.BonusAttack); + _player.DefenseComponent.Reduce(effectItem.Stats.BonusDefense); _player.LuckComponent.DecreaseLuck(effectItem.Stats.BonusLuck); SfxDatabase.Instance.Play(SoundEffect.DecreaseStat); break; @@ -598,6 +608,10 @@ public partial class Game : Node3D, IGame _effectService.MeltAllEquipment(_player); SfxDatabase.Instance.Play(SoundEffect.DecreaseStat); break; + case UsableItemTag.RestoreStats: + _effectService.RestoreParameters(_player); + SfxDatabase.Instance.Play(SoundEffect.IncreaseStat); + break; } } @@ -611,6 +625,23 @@ public partial class Game : Node3D, IGame public void ShowDebugInfo(bool show) => InGameUI.DebugInfo.Visible = show; + private void EndDoubleExpTimer() + { + GameRepo.AnnounceMessageOnMainScreen("Experience points effect wore off."); + SfxDatabase.Instance.Play(SoundEffect.MoveUI); + _player.ExperiencePointsComponent.ModifyExpGainRate(_player.ExperiencePointsComponent.ExpGainRate.Value / 2); + } + + private void GameRepo_EnemyDied(IEnemy obj) + { + DropRestorative(obj.GlobalPosition); + } + + private void BroadcastMessage(string obj) + { + InGameUI.InventoryMessageUI.DisplayMessage(obj); + } + private void MovePlayer((Vector3 Rotation, Vector3 Position) spawnPoint) => _player.TeleportPlayer(spawnPoint); private void OnNewGame() diff --git a/Zennysoft.Game.Ma/src/game/IGame.cs b/Zennysoft.Game.Ma/src/game/IGame.cs index 6c582da52..017a7ca52 100644 --- a/Zennysoft.Game.Ma/src/game/IGame.cs +++ b/Zennysoft.Game.Ma/src/game/IGame.cs @@ -34,6 +34,8 @@ public interface IGame : IProvide, IProvide, IProvide public void ShowDebugInfo(bool show); + public void DoubleExp(); + public ItemRescueMenu ItemRescueMenu { get; } public QuestData QuestData { get; } diff --git a/Zennysoft.Game.Ma/src/items/EffectService.cs b/Zennysoft.Game.Ma/src/items/EffectService.cs index b0c08d0b8..4beef32ef 100644 --- a/Zennysoft.Game.Ma/src/items/EffectService.cs +++ b/Zennysoft.Game.Ma/src/items/EffectService.cs @@ -152,6 +152,11 @@ public class EffectService _game.UseItem(item); } + public void DoubleExp() + { + _game.DoubleExp(); + } + public void RaiseCurrentWeaponAttack() { if (string.IsNullOrEmpty(_player.EquipmentComponent.EquippedWeapon.Value.ItemName)) @@ -172,6 +177,34 @@ public class EffectService SfxDatabase.Instance.Play(SoundEffect.IncreaseStat); } + public void LowerCurrentArmorDefense() + { + if (string.IsNullOrEmpty(_player.EquipmentComponent.EquippedArmor.Value.ItemName)) + return; + + var currentArmor = (Armor)_player.EquipmentComponent.EquippedArmor.Value; + currentArmor.DecreaseArmorDefense(1); + SfxDatabase.Instance.Play(SoundEffect.DecreaseStat); + } + + public void RestoreParameters(IPlayer player) + { + var hpToRestore = player.HealthComponent.MaximumHP.Value; + player.HealthComponent.SetCurrentHealth(hpToRestore); + + var vtToRestore = player.VTComponent.MaximumVT.Value; + player.VTComponent.SetVT(vtToRestore); + + var attackToRestore = player.AttackComponent.MaximumAttack.Value - player.AttackComponent.CurrentAttack.Value; + player.AttackComponent.Restore(attackToRestore); + + var defenseToRestore = player.DefenseComponent.MaximumDefense.Value - player.DefenseComponent.CurrentDefense.Value; + player.DefenseComponent.Restore(defenseToRestore); + + if (player.LuckComponent.Luck.Value < player.LuckComponent.InitialLuck) + player.LuckComponent.IncreaseLuck(player.LuckComponent.InitialLuck - player.LuckComponent.Luck.Value); + } + public void RaiseLevel() { var expToNextLevel = _player.ExperiencePointsComponent.ExpToNextLevel.Value - _player.ExperiencePointsComponent.CurrentExp.Value; diff --git a/Zennysoft.Game.Ma/src/items/armor/Armor.cs b/Zennysoft.Game.Ma/src/items/armor/Armor.cs index 3c3ed414a..72feda780 100644 --- a/Zennysoft.Game.Ma/src/items/armor/Armor.cs +++ b/Zennysoft.Game.Ma/src/items/armor/Armor.cs @@ -64,6 +64,8 @@ public partial class Armor : Node3D, IArmor public void IncreaseArmorDefense(int bonus) => _bonusDefense += bonus; + public void DecreaseArmorDefense(int lowerAmount) => _bonusDefense = Mathf.Max(_bonusDefense - lowerAmount, 0); + public ItemTag ItemTag => Stats.ItemTag; [Save("armor_stats")] diff --git a/Zennysoft.Game.Ma/src/items/armor/Armor.tscn b/Zennysoft.Game.Ma/src/items/armor/Armor.tscn index 510e86506..7179d0757 100644 --- a/Zennysoft.Game.Ma/src/items/armor/Armor.tscn +++ b/Zennysoft.Game.Ma/src/items/armor/Armor.tscn @@ -28,6 +28,7 @@ collision_mask = 0 [node name="Sprite" type="Sprite3D" parent="Pickup"] unique_name_in_owner = true +pixel_size = 0.005 billboard = 2 double_sided = false alpha_cut = 1 diff --git a/Zennysoft.Game.Ma/src/items/box/BoxItem.tscn b/Zennysoft.Game.Ma/src/items/box/BoxItem.tscn index 180af9077..e7390de94 100644 --- a/Zennysoft.Game.Ma/src/items/box/BoxItem.tscn +++ b/Zennysoft.Game.Ma/src/items/box/BoxItem.tscn @@ -28,6 +28,7 @@ collision_mask = 0 [node name="Sprite" type="Sprite3D" parent="Pickup"] unique_name_in_owner = true +pixel_size = 0.005 billboard = 2 shaded = true texture_filter = 0 diff --git a/Zennysoft.Game.Ma/src/items/consumable/ConsumableItem.tscn b/Zennysoft.Game.Ma/src/items/consumable/ConsumableItem.tscn index 44728dfec..8b08e3e09 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/ConsumableItem.tscn +++ b/Zennysoft.Game.Ma/src/items/consumable/ConsumableItem.tscn @@ -29,6 +29,7 @@ collision_mask = 0 [node name="Sprite" type="Sprite3D" parent="Pickup"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0322805, 0) +pixel_size = 0.005 billboard = 2 shaded = true double_sided = false diff --git a/Zennysoft.Game.Ma/src/items/effect/EffectItem.tscn b/Zennysoft.Game.Ma/src/items/effect/EffectItem.tscn index dd4f7c545..3ae943b8a 100644 --- a/Zennysoft.Game.Ma/src/items/effect/EffectItem.tscn +++ b/Zennysoft.Game.Ma/src/items/effect/EffectItem.tscn @@ -32,6 +32,7 @@ shape = SubResource("BoxShape3D_03cqg") [node name="Sprite" type="Sprite3D" parent="Pickup"] unique_name_in_owner = true transform = Transform3D(0.999973, 0.00489444, -0.00548299, -0.00488109, 0.999985, 0.00244357, 0.00549488, -0.00241672, 0.999982, 0, 0, 0) +pixel_size = 0.005 billboard = 2 shaded = true texture_filter = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Ablution.tres b/Zennysoft.Game.Ma/src/items/effect/resources/Ablution.tres index 68cf84480..d38cdfab4 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Ablution.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/Ablution.tres @@ -5,14 +5,14 @@ [resource] script = ExtResource("2_cjlom") -UsableItemTag = 15 +UsableItemTag = 17 ElementalDamageType = 0 Name = "Spell Sign: Ablution" Description = "Lowers HP to 1." SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 0.05 +BonusLuck = 5 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/AnBradanFeasa.tres b/Zennysoft.Game.Ma/src/items/effect/resources/AnBradanFeasa.tres index 019bd84a4..287b5e8a7 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/AnBradanFeasa.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/AnBradanFeasa.tres @@ -5,7 +5,7 @@ [resource] script = ExtResource("1_3gj16") -UsableItemTag = 14 +UsableItemTag = 16 ElementalDamageType = 0 Name = "An Bradán Feasa" Description = "Doubles EXP temporarily." diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Atomization.tres b/Zennysoft.Game.Ma/src/items/effect/resources/Atomization.tres index 374943eb6..0c61715e8 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Atomization.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/Atomization.tres @@ -5,7 +5,7 @@ [resource] script = ExtResource("2_mhyhg") -UsableItemTag = 22 +UsableItemTag = 24 ElementalDamageType = 0 Name = "Spell Sign: Atomization" Description = "Permanently Lowers Defense by 1." diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/BlueTalisman.tres b/Zennysoft.Game.Ma/src/items/effect/resources/BlueTalisman.tres index 2bcc4babf..e464f0ccd 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/BlueTalisman.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/BlueTalisman.tres @@ -1,11 +1,11 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://c3a2pvu1xwn26"] -[ext_resource type="Texture2D" uid="uid://b4brs6e73yjlq" path="res://src/items/effect/textures/Green Talisman.png" id="1_5si68"] +[ext_resource type="Texture2D" uid="uid://bmsp3k1inb55m" path="res://src/items/effect/textures/Blue Talisman.png" id="1_5si68"] [ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_pkr04"] [resource] script = ExtResource("2_pkr04") -UsableItemTag = 19 +UsableItemTag = 21 ElementalDamageType = 0 Name = "Blue Talisman" Description = "Permanently Increases DEF by 1." diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/CellDegradation.tres b/Zennysoft.Game.Ma/src/items/effect/resources/CellDegradation.tres index 25d78cd50..cf3a3e826 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/CellDegradation.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/CellDegradation.tres @@ -5,7 +5,7 @@ [resource] script = ExtResource("2_13loo") -UsableItemTag = 25 +UsableItemTag = 27 ElementalDamageType = 0 Name = "Spell Sign: Cell Degradation" Description = "Permanently Lowers All Parameters by 1." diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Clone.tres b/Zennysoft.Game.Ma/src/items/effect/resources/Clone.tres index c64b3aa90..f28cb5329 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Clone.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/Clone.tres @@ -5,7 +5,7 @@ [resource] script = ExtResource("2_b16hc") -UsableItemTag = 26 +UsableItemTag = 28 ElementalDamageType = 0 Name = "Spell Sign: Clone" Description = "Creates another enemy when thrown. diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Cosmos.tres b/Zennysoft.Game.Ma/src/items/effect/resources/Cosmos.tres index 2219a7a76..d767ca61e 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Cosmos.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/Cosmos.tres @@ -5,14 +5,14 @@ [resource] script = ExtResource("2_n1557") -UsableItemTag = 12 +UsableItemTag = 13 ElementalDamageType = 0 Name = "Spell Sign: Cosmos" Description = "Raises current Level by 1." SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 0.05 +BonusLuck = 5 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Dullness.tres b/Zennysoft.Game.Ma/src/items/effect/resources/Dullness.tres index f7f55ecad..8f91a379c 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Dullness.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/Dullness.tres @@ -5,7 +5,7 @@ [resource] script = ExtResource("2_vs32u") -UsableItemTag = 24 +UsableItemTag = 26 ElementalDamageType = 0 Name = "Spell Sign: Dullness" Description = "Permanently Lowers Attack by 1." diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/EntropicSeal.tres b/Zennysoft.Game.Ma/src/items/effect/resources/EntropicSeal.tres index 7fe3d4d49..d066cdbc6 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/EntropicSeal.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/EntropicSeal.tres @@ -5,14 +5,14 @@ [resource] script = ExtResource("1_3l06v") -UsableItemTag = 13 +UsableItemTag = 15 ElementalDamageType = 0 Name = "Spell Sign: Entropic Seal" Description = "Random effect." SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 0.05 +BonusLuck = 5 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/GospelOfDimension.tres b/Zennysoft.Game.Ma/src/items/effect/resources/GospelOfDimension.tres index 779517f55..65ad24b8c 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/GospelOfDimension.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/GospelOfDimension.tres @@ -5,7 +5,7 @@ [resource] script = ExtResource("1_4oq2l") -UsableItemTag = 18 +UsableItemTag = 20 ElementalDamageType = 0 Name = "Scripture Sign: Gospel of Dimension" Description = "Warps target to the exit. No effect on player if exit has not been found." diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/GospelOfPaths.tres b/Zennysoft.Game.Ma/src/items/effect/resources/GospelOfPaths.tres index 5d32e1b8b..abfc0755d 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/GospelOfPaths.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/GospelOfPaths.tres @@ -5,7 +5,7 @@ [resource] script = ExtResource("2_axhfw") -UsableItemTag = 17 +UsableItemTag = 19 ElementalDamageType = 0 Name = "Scripture Sign: Gospel of Paths" Description = "Teleports target to a random location." diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/GreenTalisman.tres b/Zennysoft.Game.Ma/src/items/effect/resources/GreenTalisman.tres index 6c548abc2..60ff32c18 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/GreenTalisman.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/GreenTalisman.tres @@ -5,7 +5,7 @@ [resource] script = ExtResource("2_mnvt1") -UsableItemTag = 20 +UsableItemTag = 22 ElementalDamageType = 0 Name = "Green Talisman" Description = "Permanently Increases Luck." diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Grudge.tres b/Zennysoft.Game.Ma/src/items/effect/resources/Grudge.tres index 99129d28d..ddb786d06 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Grudge.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/Grudge.tres @@ -5,7 +5,7 @@ [resource] script = ExtResource("2_tlglo") -UsableItemTag = 23 +UsableItemTag = 25 ElementalDamageType = 0 Name = "Spell Sign: Grudge" Description = "Permanently Lowers Luck." diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/MelticalWave.tres b/Zennysoft.Game.Ma/src/items/effect/resources/MelticalWave.tres index e6e07aab0..07b2a2d53 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/MelticalWave.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/MelticalWave.tres @@ -1,11 +1,11 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://c3qkrtgmngetc"] -[ext_resource type="Texture2D" uid="uid://ddw0tkd6bt1rx" path="res://src/items/effect/textures/Grudge.png" id="1_kik76"] +[ext_resource type="Texture2D" uid="uid://ri5h1p4e10gl" path="res://src/items/effect/textures/Meltical Wave.png" id="1_kik76"] [ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_2sema"] [resource] script = ExtResource("2_2sema") -UsableItemTag = 28 +UsableItemTag = 29 ElementalDamageType = 0 Name = "Spell Sign: Meltical Wave" Description = "Melts all currently equipped items." diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/RedTalisman.tres b/Zennysoft.Game.Ma/src/items/effect/resources/RedTalisman.tres index 710562bb0..1af888fd5 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/RedTalisman.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/RedTalisman.tres @@ -1,11 +1,11 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://cv8p0egs52jaq"] -[ext_resource type="Texture2D" uid="uid://b4brs6e73yjlq" path="res://src/items/effect/textures/Green Talisman.png" id="1_4jur3"] +[ext_resource type="Texture2D" uid="uid://6fcjbqispxwq" path="res://src/items/effect/textures/Red Talisman.png" id="1_4jur3"] [ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_as50m"] [resource] script = ExtResource("2_as50m") -UsableItemTag = 21 +UsableItemTag = 23 ElementalDamageType = 0 Name = "Red Talisman" Description = "Permanently Increases Attack by 1." diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Regression.tres b/Zennysoft.Game.Ma/src/items/effect/resources/Regression.tres index 3961a35fa..94775a9a2 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Regression.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/Regression.tres @@ -5,7 +5,7 @@ [resource] script = ExtResource("2_nyxl3") -UsableItemTag = 13 +UsableItemTag = 14 ElementalDamageType = 0 Name = "Spell Sign: Regression" Description = "Lowers current Level by 1." diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Reprieval Wave.tres b/Zennysoft.Game.Ma/src/items/effect/resources/Reprieval Wave.tres new file mode 100644 index 000000000..0816a42ba --- /dev/null +++ b/Zennysoft.Game.Ma/src/items/effect/resources/Reprieval Wave.tres @@ -0,0 +1,29 @@ +[gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://di2r6s4duri7g"] + +[ext_resource type="Texture2D" uid="uid://5w5hgs6gm032" path="res://src/items/effect/textures/Spellsign; Reprieval Wave.png" id="1_r2g4a"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_rv4ut"] + +[resource] +script = ExtResource("2_rv4ut") +UsableItemTag = 30 +ElementalDamageType = 0 +Name = "Scripture Sign: Reprieval Wave" +Description = "Restores All Parameters." +SpawnRate = 0.5 +BonusAttack = 0 +BonusDefense = 0 +BonusLuck = 0 +BonusHP = 0 +BonusVT = 0 +AeolicResistance = 0 +TelluricResistance = 0 +HydricResistance = 0 +IgneousResistance = 0 +FerrumResistance = 0 +HolyResistance = 0 +CurseResistance = 0 +ThrowSpeed = 12.0 +ThrowDamage = 0 +ItemTag = 0 +Texture = ExtResource("1_r2g4a") +metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/RustIndicator.tres b/Zennysoft.Game.Ma/src/items/effect/resources/RustIndicator.tres new file mode 100644 index 000000000..7ac96dfad --- /dev/null +++ b/Zennysoft.Game.Ma/src/items/effect/resources/RustIndicator.tres @@ -0,0 +1,29 @@ +[gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://cc5utcc7ge2xd"] + +[ext_resource type="Texture2D" uid="uid://borohnknxtl81" path="res://src/items/effect/textures/Rust Inducer.png" id="1_56ucr"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_4hxg1"] + +[resource] +script = ExtResource("2_4hxg1") +UsableItemTag = 12 +ElementalDamageType = 0 +Name = "Spell Sign: Rust Indicator" +Description = "Lowers Currently Equipped Armor's Defense." +SpawnRate = 0.5 +BonusAttack = 0 +BonusDefense = 0 +BonusLuck = 5 +BonusHP = 0 +BonusVT = 0 +AeolicResistance = 0 +TelluricResistance = 0 +HydricResistance = 0 +IgneousResistance = 0 +FerrumResistance = 0 +HolyResistance = 0 +CurseResistance = 0 +ThrowSpeed = 12.0 +ThrowDamage = 5 +ItemTag = 0 +Texture = ExtResource("1_56ucr") +metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/textures/Blue Talisman.png b/Zennysoft.Game.Ma/src/items/effect/textures/Blue Talisman.png new file mode 100644 index 000000000..df8140160 Binary files /dev/null and b/Zennysoft.Game.Ma/src/items/effect/textures/Blue Talisman.png differ diff --git a/Zennysoft.Game.Ma/src/items/effect/textures/Blue Talisman.png.import b/Zennysoft.Game.Ma/src/items/effect/textures/Blue Talisman.png.import new file mode 100644 index 000000000..0f9652e3c --- /dev/null +++ b/Zennysoft.Game.Ma/src/items/effect/textures/Blue Talisman.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmsp3k1inb55m" +path.bptc="res://.godot/imported/Blue Talisman.png-285c9b1bb181f7362a9c9ab7331979c4.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://src/items/effect/textures/Blue Talisman.png" +dest_files=["res://.godot/imported/Blue Talisman.png-285c9b1bb181f7362a9c9ab7331979c4.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=true +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/items/jewels/Jewel.tscn b/Zennysoft.Game.Ma/src/items/jewels/Jewel.tscn index 8557c99ac..dd4148790 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/Jewel.tscn +++ b/Zennysoft.Game.Ma/src/items/jewels/Jewel.tscn @@ -29,6 +29,7 @@ collision_mask = 0 [node name="Sprite" type="Sprite3D" parent="Pickup"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.370004, 0) +pixel_size = 0.005 billboard = 2 texture_filter = 0 diff --git a/Zennysoft.Game.Ma/src/items/misc/Plastique.tscn b/Zennysoft.Game.Ma/src/items/misc/Plastique.tscn index b24000b4a..3df17caec 100644 --- a/Zennysoft.Game.Ma/src/items/misc/Plastique.tscn +++ b/Zennysoft.Game.Ma/src/items/misc/Plastique.tscn @@ -48,7 +48,7 @@ collision_mask = 0 unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.272665, 0) layers = 5 -pixel_size = 0.05 +pixel_size = 0.005 billboard = 2 double_sided = false alpha_antialiasing_mode = 1 diff --git a/Zennysoft.Game.Ma/src/items/restorative/Restorative.tscn b/Zennysoft.Game.Ma/src/items/restorative/Restorative.tscn index 6ddf953b3..e5c977146 100644 --- a/Zennysoft.Game.Ma/src/items/restorative/Restorative.tscn +++ b/Zennysoft.Game.Ma/src/items/restorative/Restorative.tscn @@ -39,6 +39,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.190116, 0) shape = SubResource("CapsuleShape3D_o8f22") [node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."] +pixel_size = 0.0075 billboard = 1 texture_filter = 0 render_priority = 100 diff --git a/Zennysoft.Game.Ma/src/items/throwable/ThrowableItem.tscn b/Zennysoft.Game.Ma/src/items/throwable/ThrowableItem.tscn index 5ee46b27f..c5e98ce2a 100644 --- a/Zennysoft.Game.Ma/src/items/throwable/ThrowableItem.tscn +++ b/Zennysoft.Game.Ma/src/items/throwable/ThrowableItem.tscn @@ -31,6 +31,7 @@ shape = SubResource("BoxShape3D_03cqg") [node name="Sprite" type="Sprite3D" parent="Pickup"] unique_name_in_owner = true +pixel_size = 0.005 billboard = 2 texture_filter = 0 render_priority = 100 diff --git a/Zennysoft.Game.Ma/src/items/thrown/ThrownItem.tscn b/Zennysoft.Game.Ma/src/items/thrown/ThrownItem.tscn index c9e02fe9a..34469d734 100644 --- a/Zennysoft.Game.Ma/src/items/thrown/ThrownItem.tscn +++ b/Zennysoft.Game.Ma/src/items/thrown/ThrownItem.tscn @@ -35,6 +35,7 @@ shape = SubResource("SphereShape3D_xxdqr") [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.1, 0) +pixel_size = 0.005 billboard = 2 texture_filter = 0 texture = SubResource("ViewportTexture_xxdqr") diff --git a/Zennysoft.Game.Ma/src/items/weapons/Weapon.tscn b/Zennysoft.Game.Ma/src/items/weapons/Weapon.tscn index caec51829..6c6c0b8e5 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/Weapon.tscn +++ b/Zennysoft.Game.Ma/src/items/weapons/Weapon.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=4 format=3 uid="uid://bg3654q6tmtbk"] +[gd_scene load_steps=5 format=3 uid="uid://bg3654q6tmtbk"] [ext_resource type="Script" uid="uid://bq8aaf1ae4afh" path="res://src/items/weapons/Weapon.cs" id="1_7pkyf"] +[ext_resource type="Texture2D" uid="uid://bnkshsssabl0" path="res://src/items/weapons/textures/Air Sword.png" id="2_udu2u"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_1051i"] height = 0.725098 @@ -28,8 +29,10 @@ collision_mask = 0 [node name="Sprite" type="Sprite3D" parent="Pickup"] unique_name_in_owner = true +pixel_size = 0.005 billboard = 2 texture_filter = 0 +texture = ExtResource("2_udu2u") [node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"] shape = SubResource("CapsuleShape3D_wll7p") diff --git a/Zennysoft.Game.Ma/src/player/Player.cs b/Zennysoft.Game.Ma/src/player/Player.cs index d36145905..611d43604 100644 --- a/Zennysoft.Game.Ma/src/player/Player.cs +++ b/Zennysoft.Game.Ma/src/player/Player.cs @@ -622,21 +622,21 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide var weapon = (Weapon)EquipmentComponent.EquippedWeapon.Value; SfxDatabase.Instance.Play(weapon.SoundEffect); WeaponAnimations.SetSpeedScale((float)weapon.AttackSpeed); - var potentialAnimName = weapon.Stats.Name?.Replace(" ", string.Empty); + var potentialAnimName = weapon.Stats.Name; if (WeaponAnimations.HasAnimation(potentialAnimName)) WeaponAnimations.Play(potentialAnimName); else if (weapon.WeaponElement == ElementType.Aeolic) - WeaponAnimations.Play("AirSlash"); + WeaponAnimations.Play("Air Slash"); else if (weapon.WeaponElement == ElementType.Hydric) - WeaponAnimations.Play("WaterSlash"); + WeaponAnimations.Play("Water Slash"); else if (weapon.WeaponElement == ElementType.Igneous) - WeaponAnimations.Play("FireSlash"); + WeaponAnimations.Play("Fire Slash"); else if (weapon.WeaponElement == ElementType.Telluric) - WeaponAnimations.Play("EarthSlash"); + WeaponAnimations.Play("Earth Slash"); else if (string.IsNullOrWhiteSpace(potentialAnimName)) WeaponAnimations.Play("Unarmed"); else - WeaponAnimations.Play("NormalSlash"); + WeaponAnimations.Play("Normal Slash"); } private void PlayerFXAnimations_AnimationFinished(StringName animName) diff --git a/Zennysoft.Game.Ma/src/player/Player.tscn b/Zennysoft.Game.Ma/src/player/Player.tscn index c99776331..84f54c947 100644 --- a/Zennysoft.Game.Ma/src/player/Player.tscn +++ b/Zennysoft.Game.Ma/src/player/Player.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=1290 format=3 uid="uid://cfecvvav8kkp6"] +[gd_scene load_steps=1586 format=3 uid="uid://cfecvvav8kkp6"] [ext_resource type="Script" uid="uid://yxmiqy7i0t7r" path="res://src/player/Player.cs" id="1_xcol5"] [ext_resource type="PackedScene" uid="uid://dqvlemme0iwa" path="res://src/camera/ShakeCamera.tscn" id="2_jtmj1"] @@ -498,11 +498,49 @@ [ext_resource type="Texture2D" uid="uid://bvqsilbdfyqd1" path="res://src/vfx/Items Etc/persiko/persiko125.png" id="399_b1hpb"] [ext_resource type="Texture2D" uid="uid://bwoccwmlevwm1" path="res://src/vfx/Items Etc/persiko/persiko126.png" id="400_nmop6"] [ext_resource type="Texture2D" uid="uid://dwfqyfjsj8nro" path="res://src/vfx/Items Etc/persiko/persiko127.png" id="401_28ame"] +[ext_resource type="Texture2D" uid="uid://cvvemiv8f33o7" path="res://src/vfx/Weapon Strikes/earth_Strike.png" id="498_c70d3"] +[ext_resource type="Texture2D" uid="uid://ceux45jq77bn3" path="res://src/vfx/Weapon Strikes/aero_slash_slash_part.png" id="498_ucsgn"] +[ext_resource type="Texture2D" uid="uid://b4a312uikmfou" path="res://src/vfx/Weapon Strikes/fire_slash.png" id="499_8cv7j"] +[ext_resource type="Texture2D" uid="uid://fegm3min228k" path="res://src/vfx/Weapon Strikes/lovejudgementslash.png" id="500_p1un1"] +[ext_resource type="Texture2D" uid="uid://ctt1hmh6qit2t" path="res://src/vfx/Weapon Strikes/hydric_attack/tile000.png" id="500_rhpvh"] +[ext_resource type="Texture2D" uid="uid://eoemb5rx6bhb" path="res://src/vfx/Weapon Strikes/rondoslash.png" id="501_58m70"] +[ext_resource type="Texture2D" uid="uid://2ig1arptr1e8" path="res://src/vfx/Weapon Strikes/slash_2.png" id="501_l7c4m"] +[ext_resource type="Texture2D" uid="uid://dirw767lgemi5" path="res://src/vfx/Weapon Strikes/plasma_Sword.png" id="501_nb4cq"] +[ext_resource type="Texture2D" uid="uid://bj6lpk6s423t0" path="res://src/vfx/Weapon Strikes/hydric_attack/tile001.png" id="501_p1un1"] +[ext_resource type="Texture2D" uid="uid://dlrruuu27scmm" path="res://src/vfx/Weapon Strikes/punching.png" id="502_cnyix"] +[ext_resource type="Texture2D" uid="uid://bcpnfq7dlrw7i" path="res://src/vfx/Weapon Strikes/hydric_attack/tile002.png" id="502_nb4cq"] +[ext_resource type="Texture2D" uid="uid://blq2wo7vwrtmd" path="res://src/vfx/Weapon Strikes/hydric_attack/tile003.png" id="503_cnyix"] +[ext_resource type="Texture2D" uid="uid://dahoouacmlrb" path="res://src/vfx/Weapon Strikes/hydric_attack/tile004.png" id="504_58m70"] +[ext_resource type="Texture2D" uid="uid://cmv2tb2aanetb" path="res://src/vfx/Weapon Strikes/hydric_attack/tile005.png" id="505_l7c4m"] +[ext_resource type="Texture2D" uid="uid://dgtnbcgld7sd2" path="res://src/vfx/Weapon Strikes/hydric_attack/tile006.png" id="506_04cm7"] +[ext_resource type="Texture2D" uid="uid://dfn58mhi6ydiv" path="res://src/vfx/Weapon Strikes/hydric_attack/tile007.png" id="507_cqsul"] +[ext_resource type="Texture2D" uid="uid://oa6dmpe31efs" path="res://src/vfx/Weapon Strikes/hydric_attack/tile008.png" id="508_ajbah"] [ext_resource type="Texture2D" uid="uid://pv56eou8fuw6" path="res://src/vfx/Items Etc/crosshair.png" id="508_sq73w"] +[ext_resource type="Texture2D" uid="uid://dxnata78dcvlg" path="res://src/vfx/Weapon Strikes/hydric_attack/tile009.png" id="509_7rguc"] [ext_resource type="PackedScene" uid="uid://bredkcfalakdp" path="res://src/items/weapons/FireReactorProjectile.tscn" id="509_14f5p"] [ext_resource type="PackedScene" uid="uid://ddcw0xw7pxk8r" path="res://src/items/weapons/AirReactorProjectile.tscn" id="510_k6pkx"] +[ext_resource type="Texture2D" uid="uid://cqsj88qfctx7p" path="res://src/vfx/Weapon Strikes/hydric_attack/tile010.png" id="510_w5dir"] +[ext_resource type="Texture2D" uid="uid://c8dy8b1jm7vfp" path="res://src/vfx/Weapon Strikes/hydric_attack/tile011.png" id="511_34gm2"] [ext_resource type="PackedScene" uid="uid://dluot8v3m0drs" path="res://src/items/weapons/WaterReactorProjectile.tscn" id="511_sq73w"] +[ext_resource type="Texture2D" uid="uid://bk4nbdw5vwu4f" path="res://src/vfx/Weapon Strikes/hydric_attack/tile012.png" id="512_fsw4h"] [ext_resource type="PackedScene" uid="uid://c4kc2vybdy5t" path="res://src/items/weapons/PersuaderProjectile.tscn" id="512_k6pkx"] +[ext_resource type="Texture2D" uid="uid://b6eehqy4ir6xi" path="res://src/vfx/Weapon Strikes/hydric_attack/tile013.png" id="513_aodty"] +[ext_resource type="Texture2D" uid="uid://7dja0atsts4u" path="res://src/vfx/Weapon Strikes/hydric_attack/tile014.png" id="514_pyqdk"] +[ext_resource type="Texture2D" uid="uid://byw36ob3vqhm3" path="res://src/vfx/Weapon Strikes/hydric_attack/tile015.png" id="515_en41m"] +[ext_resource type="Texture2D" uid="uid://ou0fhc2n25la" path="res://src/vfx/Weapon Strikes/hydric_attack/tile016.png" id="516_a0pdj"] +[ext_resource type="Texture2D" uid="uid://68lxpvqgo1gc" path="res://src/vfx/Weapon Strikes/hydric_attack/tile017.png" id="517_vgc4w"] +[ext_resource type="Texture2D" uid="uid://jf130ons3ljq" path="res://src/vfx/Weapon Strikes/hydric_attack/tile018.png" id="518_2gki5"] +[ext_resource type="Texture2D" uid="uid://byht0xm4y8mn8" path="res://src/vfx/Weapon Strikes/hydric_attack/tile019.png" id="519_dbr2j"] +[ext_resource type="Texture2D" uid="uid://lsx83y57mf68" path="res://src/vfx/Weapon Strikes/hydric_attack/tile020.png" id="520_k8fmf"] +[ext_resource type="Texture2D" uid="uid://bugfxy2cv1fie" path="res://src/vfx/Weapon Strikes/hydric_attack/tile021.png" id="521_1mpss"] +[ext_resource type="Texture2D" uid="uid://cbc4hh22u1tb0" path="res://src/vfx/Weapon Strikes/hydric_attack/tile022.png" id="522_53c8b"] +[ext_resource type="Texture2D" uid="uid://dn5ygfjw22qel" path="res://src/vfx/Weapon Strikes/hydric_attack/tile023.png" id="523_rcq5i"] +[ext_resource type="Texture2D" uid="uid://ck6htwrj8l2jv" path="res://src/vfx/Weapon Strikes/hydric_attack/tile024.png" id="524_as0fu"] +[ext_resource type="Texture2D" uid="uid://bj2csi4ehd00p" path="res://src/vfx/Weapon Strikes/hydric_attack/tile025.png" id="525_bvvuv"] +[ext_resource type="Texture2D" uid="uid://dv021o51rapru" path="res://src/vfx/Weapon Strikes/hydric_attack/tile026.png" id="526_owbt5"] +[ext_resource type="Texture2D" uid="uid://cl2woq73pn2ab" path="res://src/vfx/Weapon Strikes/hydric_attack/tile027.png" id="527_nilvr"] +[ext_resource type="Texture2D" uid="uid://d3e8jnj7q6sdk" path="res://src/vfx/Weapon Strikes/hydric_attack/tile028.png" id="528_ynv1q"] +[ext_resource type="Texture2D" uid="uid://def40t23awj4c" path="res://src/vfx/Weapon Strikes/hydric_attack/tile029.png" id="529_3e7br"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_dw45s"] radius = 1.0 @@ -558,7 +596,7 @@ length = 3.56667 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("SubViewportContainer/SubViewport/ColorRect:color") +tracks/0/path = NodePath("ColorRect:color") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -570,7 +608,7 @@ tracks/0/keys = { tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("SubViewportContainer/SubViewport/Spell Signs:animation") +tracks/1/path = NodePath("Spell Signs:animation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -582,7 +620,7 @@ tracks/1/keys = { tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("SubViewportContainer/SubViewport/Spell Signs:frame") +tracks/2/path = NodePath("Spell Signs:frame") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { @@ -598,7 +636,7 @@ length = 1.66667 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("SubViewportContainer/SubViewport/ColorRect:color") +tracks/0/path = NodePath("ColorRect:color") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -688,7 +726,7 @@ tracks/5/keys = { tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("SubViewportContainer/SubViewport/Prosc Message:texture") +tracks/6/path = NodePath("Prosc Message:texture") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { @@ -700,7 +738,7 @@ tracks/6/keys = { tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("SubViewportContainer/SubViewport/Prosc Message:modulate") +tracks/7/path = NodePath("Prosc Message:modulate") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { @@ -724,7 +762,7 @@ tracks/8/keys = { tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true -tracks/9/path = NodePath("SubViewportContainer/SubViewport/Spell Signs:animation") +tracks/9/path = NodePath("Spell Signs:animation") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { @@ -736,7 +774,7 @@ tracks/9/keys = { tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("SubViewportContainer/SubViewport/Spell Signs:frame") +tracks/10/path = NodePath("Spell Signs:frame") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { @@ -816,7 +854,7 @@ length = 5.0005 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("SubViewportContainer/SubViewport/Prosc Message:texture") +tracks/0/path = NodePath("Prosc Message:texture") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -828,7 +866,7 @@ tracks/0/keys = { tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("SubViewportContainer/SubViewport/Prosc Message:modulate") +tracks/1/path = NodePath("Prosc Message:modulate") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -913,209 +951,6 @@ _data = { &"revive": SubResource("Animation_sq73w") } -[sub_resource type="Animation" id="Animation_74hqa"] -resource_name = "AirSlash" -length = 1.23334 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:animation") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"Air Slash"] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 1.23333), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 37] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("%Hitbox/HitboxCollision:disabled") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0, 0.166667, 0.233333), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 1, -"values": [true, false, true] -} - -[sub_resource type="Animation" id="Animation_pbthl"] -resource_name = "EarthSlash" -length = 1.23334 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:animation") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"Earth Slash"] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 1.23333), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 37] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("%Hitbox/HitboxCollision:disabled") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0, 0.166667, 0.233333), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 1, -"values": [true, false, true] -} - -[sub_resource type="Animation" id="Animation_ymsks"] -resource_name = "FireSlash" -length = 1.23334 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:animation") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"Fire Slash"] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 1.23333), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 37] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("%Hitbox/HitboxCollision:disabled") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0, 0.166667, 0.233333), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 1, -"values": [true, false, true] -} - -[sub_resource type="Animation" id="Animation_vc6qm"] -resource_name = "LoveJudgement" -length = 1.23334 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:animation") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"Love Judgement"] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 1.23333), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 37] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("%Hitbox/HitboxCollision:disabled") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0, 0.166667, 0.233333), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 1, -"values": [true, false, true] -} - -[sub_resource type="Animation" id="Animation_v3vjx"] -resource_name = "Persuader" - -[sub_resource type="Animation" id="Animation_na483"] -resource_name = "PlasmaSword" -length = 1.23334 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:animation") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"Plasma Sword"] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 1.23333), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 37] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("%Hitbox/HitboxCollision:disabled") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0, 0.166667, 0.233333), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 1, -"values": [true, false, true] -} - [sub_resource type="Animation" id="Animation_flmxu"] length = 0.001 tracks/0/type = "value" @@ -1142,139 +977,403 @@ tracks/1/keys = { "update": 1, "values": [0] } - -[sub_resource type="Animation" id="Animation_jhq84"] -resource_name = "Rondo" -length = 1.26667 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:animation") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"Rondo"] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 1.26667), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 38] -} tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("%Hitbox/HitboxCollision:disabled") +tracks/2/path = NodePath("Weapon Animations:animation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"earth_slash"] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Weapon Animations:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} + +[sub_resource type="Animation" id="Animation_ua0fy"] +resource_name = "Normal Slash" +length = 1.23334 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("%Hitbox/HitboxCollision:disabled") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { "times": PackedFloat32Array(0, 0.166667, 0.233333), "transitions": PackedFloat32Array(1, 1, 1), "update": 1, "values": [true, false, true] } +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Weapon Animations:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"normal_slash"] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Weapon Animations:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 30] +} -[sub_resource type="Animation" id="Animation_ejbn4"] +[sub_resource type="Animation" id="Animation_l7c4m"] +resource_name = "Air Slash" +length = 1.23334 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("%Hitbox/HitboxCollision:disabled") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.166667, 0.233333), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [true, false, true] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Weapon Animations:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"wind_slash"] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Weapon Animations:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.966667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 30] +} + +[sub_resource type="Animation" id="Animation_04cm7"] +resource_name = "Fire Slash" +length = 1.23334 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("%Hitbox/HitboxCollision:disabled") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.166667, 0.233333), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [true, false, true] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Weapon Animations:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"fire_slash"] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Weapon Animations:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.966667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 30] +} + +[sub_resource type="Animation" id="Animation_cqsul"] +resource_name = "Earth Slash" +length = 1.23334 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("%Hitbox/HitboxCollision:disabled") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.166667, 0.233333), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [true, false, true] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Weapon Animations:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"earth_slash"] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Weapon Animations:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.966667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 30] +} + +[sub_resource type="Animation" id="Animation_ajbah"] +resource_name = "Water Slash" +length = 1.23334 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("%Hitbox/HitboxCollision:disabled") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.166667, 0.233333), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [true, false, true] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Weapon Animations:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"water_slash"] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Weapon Animations:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.966667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 30] +} + +[sub_resource type="Animation" id="Animation_7rguc"] +resource_name = "Love Judgement" +length = 1.23334 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("%Hitbox/HitboxCollision:disabled") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.166667, 0.233333), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [true, false, true] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Weapon Animations:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"love_judgement"] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Weapon Animations:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.966667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 30] +} + +[sub_resource type="Animation" id="Animation_w5dir"] +resource_name = "Plasma Sword" +length = 1.23334 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("%Hitbox/HitboxCollision:disabled") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.166667, 0.233333), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [true, false, true] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Weapon Animations:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"plasma_sword"] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Weapon Animations:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 1.16667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 35] +} + +[sub_resource type="Animation" id="Animation_34gm2"] +resource_name = "Rondo" +length = 1.33334 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("%Hitbox/HitboxCollision:disabled") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.166667, 0.233333, 0.4, 0.466666), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 1, +"values": [true, false, true, false, true] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Weapon Animations:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"rondo"] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Weapon Animations:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.966667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 40] +} + +[sub_resource type="Animation" id="Animation_fsw4h"] resource_name = "Unarmed" length = 1.23334 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:animation") +tracks/0/path = NodePath("%Hitbox/HitboxCollision:disabled") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"Unarmed"] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 1.23333), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 37] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("%Hitbox/HitboxCollision:disabled") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0, 0.1, 0.166667), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 1, -"values": [true, false, true] -} - -[sub_resource type="Animation" id="Animation_f0ff4"] -resource_name = "WaterSlash" -length = 1.23334 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:animation") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"Water Slash"] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 1.23333), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 37] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("%Hitbox/HitboxCollision:disabled") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { "times": PackedFloat32Array(0, 0.166667, 0.233333), "transitions": PackedFloat32Array(1, 1, 1), "update": 1, "values": [true, false, true] } +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Weapon Animations:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"unarmed"] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Weapon Animations:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.966667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 30] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_ickvi"] _data = { -&"AirSlash": SubResource("Animation_74hqa"), -&"EarthSlash": SubResource("Animation_pbthl"), -&"FireSlash": SubResource("Animation_ymsks"), -&"LoveJudgement": SubResource("Animation_vc6qm"), -&"Persuader": SubResource("Animation_v3vjx"), -&"PlasmaSword": SubResource("Animation_na483"), +&"Air Slash": SubResource("Animation_l7c4m"), +&"Earth Slash": SubResource("Animation_cqsul"), +&"Fire Slash": SubResource("Animation_04cm7"), +&"Love Judgement": SubResource("Animation_7rguc"), +&"Normal Slash": SubResource("Animation_ua0fy"), +&"Plasma Sword": SubResource("Animation_w5dir"), &"RESET": SubResource("Animation_flmxu"), -&"Rondo": SubResource("Animation_jhq84"), -&"Unarmed": SubResource("Animation_ejbn4"), -&"WaterSlash": SubResource("Animation_f0ff4") +&"Rondo": SubResource("Animation_34gm2"), +&"Unarmed": SubResource("Animation_fsw4h"), +&"Water Slash": SubResource("Animation_ajbah") } [sub_resource type="Animation" id="Animation_ojh85"] @@ -1282,7 +1381,7 @@ length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("SubViewportContainer/SubViewport/ColorRect:color") +tracks/0/path = NodePath("ColorRect:color") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -1298,7 +1397,7 @@ length = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("SubViewportContainer/SubViewport/ColorRect:color") +tracks/0/path = NodePath("ColorRect:color") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -8095,6 +8194,1946 @@ animations = [{ "speed": 64.0 }] +[sub_resource type="AtlasTexture" id="AtlasTexture_lq5u4"] +atlas = ExtResource("498_c70d3") +region = Rect2(0, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6v1bm"] +atlas = ExtResource("498_c70d3") +region = Rect2(425, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fl0ij"] +atlas = ExtResource("498_c70d3") +region = Rect2(850, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jim64"] +atlas = ExtResource("498_c70d3") +region = Rect2(1275, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vpwbm"] +atlas = ExtResource("498_c70d3") +region = Rect2(1700, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bskte"] +atlas = ExtResource("498_c70d3") +region = Rect2(2125, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s4j2o"] +atlas = ExtResource("498_c70d3") +region = Rect2(2550, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_urilo"] +atlas = ExtResource("498_c70d3") +region = Rect2(2975, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_37bll"] +atlas = ExtResource("498_c70d3") +region = Rect2(3400, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cy8mr"] +atlas = ExtResource("498_c70d3") +region = Rect2(3825, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fshft"] +atlas = ExtResource("498_c70d3") +region = Rect2(4250, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6o8c5"] +atlas = ExtResource("498_c70d3") +region = Rect2(4675, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d55sk"] +atlas = ExtResource("498_c70d3") +region = Rect2(5100, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gkylq"] +atlas = ExtResource("498_c70d3") +region = Rect2(5525, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ee7kd"] +atlas = ExtResource("498_c70d3") +region = Rect2(5950, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_b3qih"] +atlas = ExtResource("498_c70d3") +region = Rect2(6375, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1lt3o"] +atlas = ExtResource("498_c70d3") +region = Rect2(6800, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v6dro"] +atlas = ExtResource("498_c70d3") +region = Rect2(7225, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l4r0x"] +atlas = ExtResource("498_c70d3") +region = Rect2(7650, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_drcv7"] +atlas = ExtResource("498_c70d3") +region = Rect2(8075, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_b8o3i"] +atlas = ExtResource("498_c70d3") +region = Rect2(8500, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6yl5j"] +atlas = ExtResource("498_c70d3") +region = Rect2(8925, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wydvp"] +atlas = ExtResource("498_c70d3") +region = Rect2(9350, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3qmsi"] +atlas = ExtResource("498_c70d3") +region = Rect2(9775, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j6cu8"] +atlas = ExtResource("498_c70d3") +region = Rect2(10200, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_li3kr"] +atlas = ExtResource("498_c70d3") +region = Rect2(10625, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5wcly"] +atlas = ExtResource("498_c70d3") +region = Rect2(11050, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wsimg"] +atlas = ExtResource("498_c70d3") +region = Rect2(11475, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ljyb8"] +atlas = ExtResource("498_c70d3") +region = Rect2(11900, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ipk3e"] +atlas = ExtResource("498_c70d3") +region = Rect2(12325, 0, 425, 425) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rxwhr"] +atlas = ExtResource("499_8cv7j") +region = Rect2(0, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ullk8"] +atlas = ExtResource("499_8cv7j") +region = Rect2(512, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8uf3p"] +atlas = ExtResource("499_8cv7j") +region = Rect2(1024, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_exjpi"] +atlas = ExtResource("499_8cv7j") +region = Rect2(1536, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0nkfw"] +atlas = ExtResource("499_8cv7j") +region = Rect2(2048, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_iumst"] +atlas = ExtResource("499_8cv7j") +region = Rect2(2560, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oe6xh"] +atlas = ExtResource("499_8cv7j") +region = Rect2(3072, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p531c"] +atlas = ExtResource("499_8cv7j") +region = Rect2(3584, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gcxuo"] +atlas = ExtResource("499_8cv7j") +region = Rect2(4096, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hky73"] +atlas = ExtResource("499_8cv7j") +region = Rect2(4608, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tpmpx"] +atlas = ExtResource("499_8cv7j") +region = Rect2(5120, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tcduc"] +atlas = ExtResource("499_8cv7j") +region = Rect2(5632, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0da0v"] +atlas = ExtResource("499_8cv7j") +region = Rect2(6144, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7sxse"] +atlas = ExtResource("499_8cv7j") +region = Rect2(6656, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4qc46"] +atlas = ExtResource("499_8cv7j") +region = Rect2(7168, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5cmlr"] +atlas = ExtResource("499_8cv7j") +region = Rect2(7680, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1f8xk"] +atlas = ExtResource("499_8cv7j") +region = Rect2(8192, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1lb2o"] +atlas = ExtResource("499_8cv7j") +region = Rect2(8704, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oadyu"] +atlas = ExtResource("499_8cv7j") +region = Rect2(9216, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_trhxg"] +atlas = ExtResource("499_8cv7j") +region = Rect2(9728, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ixg4u"] +atlas = ExtResource("499_8cv7j") +region = Rect2(10240, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0tmv5"] +atlas = ExtResource("499_8cv7j") +region = Rect2(10752, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_redlx"] +atlas = ExtResource("499_8cv7j") +region = Rect2(11264, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xes8d"] +atlas = ExtResource("499_8cv7j") +region = Rect2(11776, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7kyi8"] +atlas = ExtResource("499_8cv7j") +region = Rect2(12288, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4hf3e"] +atlas = ExtResource("499_8cv7j") +region = Rect2(12800, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n2vjn"] +atlas = ExtResource("499_8cv7j") +region = Rect2(13312, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ikh30"] +atlas = ExtResource("499_8cv7j") +region = Rect2(13824, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ecgiq"] +atlas = ExtResource("499_8cv7j") +region = Rect2(14336, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qymw1"] +atlas = ExtResource("499_8cv7j") +region = Rect2(14848, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ib7ul"] +atlas = ExtResource("500_p1un1") +region = Rect2(0, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gewiu"] +atlas = ExtResource("500_p1un1") +region = Rect2(512, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2vk3m"] +atlas = ExtResource("500_p1un1") +region = Rect2(1024, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bei7s"] +atlas = ExtResource("500_p1un1") +region = Rect2(1536, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_630i4"] +atlas = ExtResource("500_p1un1") +region = Rect2(2048, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5oiox"] +atlas = ExtResource("500_p1un1") +region = Rect2(2560, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lpauy"] +atlas = ExtResource("500_p1un1") +region = Rect2(3072, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3joed"] +atlas = ExtResource("500_p1un1") +region = Rect2(3584, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2wr7g"] +atlas = ExtResource("500_p1un1") +region = Rect2(4096, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nec7r"] +atlas = ExtResource("500_p1un1") +region = Rect2(4608, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_46yrx"] +atlas = ExtResource("500_p1un1") +region = Rect2(5120, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_idp2y"] +atlas = ExtResource("500_p1un1") +region = Rect2(5632, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_peodj"] +atlas = ExtResource("500_p1un1") +region = Rect2(6144, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ww1ia"] +atlas = ExtResource("500_p1un1") +region = Rect2(6656, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xd6bq"] +atlas = ExtResource("500_p1un1") +region = Rect2(7168, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kbpk0"] +atlas = ExtResource("500_p1un1") +region = Rect2(7680, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gtxb5"] +atlas = ExtResource("500_p1un1") +region = Rect2(8192, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_c6owo"] +atlas = ExtResource("500_p1un1") +region = Rect2(8704, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6ufhd"] +atlas = ExtResource("500_p1un1") +region = Rect2(9216, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ue5be"] +atlas = ExtResource("500_p1un1") +region = Rect2(9728, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1yaxx"] +atlas = ExtResource("500_p1un1") +region = Rect2(10240, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_yjyav"] +atlas = ExtResource("500_p1un1") +region = Rect2(10752, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mtb23"] +atlas = ExtResource("500_p1un1") +region = Rect2(11264, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2ntku"] +atlas = ExtResource("500_p1un1") +region = Rect2(11776, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rislv"] +atlas = ExtResource("500_p1un1") +region = Rect2(12288, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3lbfl"] +atlas = ExtResource("500_p1un1") +region = Rect2(12800, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p8bo1"] +atlas = ExtResource("500_p1un1") +region = Rect2(13312, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_iyyyb"] +atlas = ExtResource("500_p1un1") +region = Rect2(13824, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4gp8m"] +atlas = ExtResource("500_p1un1") +region = Rect2(14336, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ku3m1"] +atlas = ExtResource("500_p1un1") +region = Rect2(14848, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_a47gw"] +atlas = ExtResource("501_l7c4m") +region = Rect2(0, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_b2owr"] +atlas = ExtResource("501_l7c4m") +region = Rect2(512, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_37dxm"] +atlas = ExtResource("501_l7c4m") +region = Rect2(1024, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oef33"] +atlas = ExtResource("501_l7c4m") +region = Rect2(1536, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vu8de"] +atlas = ExtResource("501_l7c4m") +region = Rect2(2048, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_unpnm"] +atlas = ExtResource("501_l7c4m") +region = Rect2(2560, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h6lkg"] +atlas = ExtResource("501_l7c4m") +region = Rect2(3072, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qiv21"] +atlas = ExtResource("501_l7c4m") +region = Rect2(3584, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_olhyv"] +atlas = ExtResource("501_l7c4m") +region = Rect2(4096, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w3qca"] +atlas = ExtResource("501_l7c4m") +region = Rect2(4608, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_14jgb"] +atlas = ExtResource("501_l7c4m") +region = Rect2(5120, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7i00v"] +atlas = ExtResource("501_l7c4m") +region = Rect2(5632, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ys1nt"] +atlas = ExtResource("501_l7c4m") +region = Rect2(6144, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1daeu"] +atlas = ExtResource("501_l7c4m") +region = Rect2(6656, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rwva3"] +atlas = ExtResource("501_l7c4m") +region = Rect2(7168, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xrda4"] +atlas = ExtResource("501_l7c4m") +region = Rect2(7680, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h6xce"] +atlas = ExtResource("501_l7c4m") +region = Rect2(8192, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_r7yno"] +atlas = ExtResource("501_l7c4m") +region = Rect2(8704, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5w511"] +atlas = ExtResource("501_l7c4m") +region = Rect2(9216, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uxat6"] +atlas = ExtResource("501_l7c4m") +region = Rect2(9728, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_m1fr0"] +atlas = ExtResource("501_l7c4m") +region = Rect2(10240, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gfuge"] +atlas = ExtResource("501_l7c4m") +region = Rect2(10752, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5ufv4"] +atlas = ExtResource("501_l7c4m") +region = Rect2(11264, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vb3nr"] +atlas = ExtResource("501_l7c4m") +region = Rect2(11776, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xk70p"] +atlas = ExtResource("501_l7c4m") +region = Rect2(12288, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ypnbi"] +atlas = ExtResource("501_l7c4m") +region = Rect2(12800, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nldbq"] +atlas = ExtResource("501_l7c4m") +region = Rect2(13312, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_o55lx"] +atlas = ExtResource("501_l7c4m") +region = Rect2(13824, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tr7np"] +atlas = ExtResource("501_l7c4m") +region = Rect2(14336, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vjqi4"] +atlas = ExtResource("501_l7c4m") +region = Rect2(14848, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_b4tqc"] +atlas = ExtResource("501_nb4cq") +region = Rect2(0, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1yod2"] +atlas = ExtResource("501_nb4cq") +region = Rect2(512, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qknof"] +atlas = ExtResource("501_nb4cq") +region = Rect2(1024, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v0s2u"] +atlas = ExtResource("501_nb4cq") +region = Rect2(1536, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s86wq"] +atlas = ExtResource("501_nb4cq") +region = Rect2(2048, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_20xiu"] +atlas = ExtResource("501_nb4cq") +region = Rect2(2560, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_r1e0i"] +atlas = ExtResource("501_nb4cq") +region = Rect2(3072, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d2xqf"] +atlas = ExtResource("501_nb4cq") +region = Rect2(3584, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ltyos"] +atlas = ExtResource("501_nb4cq") +region = Rect2(4096, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_crepd"] +atlas = ExtResource("501_nb4cq") +region = Rect2(4608, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8hc42"] +atlas = ExtResource("501_nb4cq") +region = Rect2(5120, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_toj62"] +atlas = ExtResource("501_nb4cq") +region = Rect2(5632, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_k3pa4"] +atlas = ExtResource("501_nb4cq") +region = Rect2(6144, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_34r5x"] +atlas = ExtResource("501_nb4cq") +region = Rect2(6656, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nr606"] +atlas = ExtResource("501_nb4cq") +region = Rect2(7168, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_njyfy"] +atlas = ExtResource("501_nb4cq") +region = Rect2(7680, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jbdn7"] +atlas = ExtResource("501_nb4cq") +region = Rect2(8192, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nh4uk"] +atlas = ExtResource("501_nb4cq") +region = Rect2(8704, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_a2nh7"] +atlas = ExtResource("501_nb4cq") +region = Rect2(9216, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cenfr"] +atlas = ExtResource("501_nb4cq") +region = Rect2(9728, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p5eo0"] +atlas = ExtResource("501_nb4cq") +region = Rect2(10240, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i0gdu"] +atlas = ExtResource("501_nb4cq") +region = Rect2(10752, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_88q6d"] +atlas = ExtResource("501_nb4cq") +region = Rect2(11264, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_utgkt"] +atlas = ExtResource("501_nb4cq") +region = Rect2(11776, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fqxh1"] +atlas = ExtResource("501_nb4cq") +region = Rect2(12288, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_64146"] +atlas = ExtResource("501_nb4cq") +region = Rect2(12800, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_prion"] +atlas = ExtResource("501_nb4cq") +region = Rect2(13312, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ejegh"] +atlas = ExtResource("501_nb4cq") +region = Rect2(13824, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fwr6t"] +atlas = ExtResource("501_nb4cq") +region = Rect2(14336, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hvbv7"] +atlas = ExtResource("501_nb4cq") +region = Rect2(14848, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gnoh1"] +atlas = ExtResource("501_nb4cq") +region = Rect2(15360, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kr73e"] +atlas = ExtResource("501_nb4cq") +region = Rect2(15872, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_urdnm"] +atlas = ExtResource("501_nb4cq") +region = Rect2(0, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s0qi8"] +atlas = ExtResource("501_nb4cq") +region = Rect2(512, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8a8lr"] +atlas = ExtResource("501_nb4cq") +region = Rect2(1024, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xqhgw"] +atlas = ExtResource("501_nb4cq") +region = Rect2(1536, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_34vok"] +atlas = ExtResource("501_58m70") +region = Rect2(0, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mjpf0"] +atlas = ExtResource("501_58m70") +region = Rect2(512, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_djegh"] +atlas = ExtResource("501_58m70") +region = Rect2(1024, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_btmv7"] +atlas = ExtResource("501_58m70") +region = Rect2(1536, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_02a4u"] +atlas = ExtResource("501_58m70") +region = Rect2(2048, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xn142"] +atlas = ExtResource("501_58m70") +region = Rect2(2560, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q5kpn"] +atlas = ExtResource("501_58m70") +region = Rect2(3072, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fuo3k"] +atlas = ExtResource("501_58m70") +region = Rect2(3584, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_iak5a"] +atlas = ExtResource("501_58m70") +region = Rect2(4096, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_b2hkl"] +atlas = ExtResource("501_58m70") +region = Rect2(4608, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_c4xe8"] +atlas = ExtResource("501_58m70") +region = Rect2(5120, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6nj8s"] +atlas = ExtResource("501_58m70") +region = Rect2(5632, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i36ut"] +atlas = ExtResource("501_58m70") +region = Rect2(6144, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_k7g7u"] +atlas = ExtResource("501_58m70") +region = Rect2(6656, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sq1ca"] +atlas = ExtResource("501_58m70") +region = Rect2(7168, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_an5li"] +atlas = ExtResource("501_58m70") +region = Rect2(7680, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w8qey"] +atlas = ExtResource("501_58m70") +region = Rect2(8192, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ghpl2"] +atlas = ExtResource("501_58m70") +region = Rect2(8704, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ha48h"] +atlas = ExtResource("501_58m70") +region = Rect2(9216, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_b1hjb"] +atlas = ExtResource("501_58m70") +region = Rect2(9728, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_07r1f"] +atlas = ExtResource("501_58m70") +region = Rect2(10240, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1vfqj"] +atlas = ExtResource("501_58m70") +region = Rect2(10752, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_io8tc"] +atlas = ExtResource("501_58m70") +region = Rect2(11264, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s3l5i"] +atlas = ExtResource("501_58m70") +region = Rect2(11776, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_46sym"] +atlas = ExtResource("501_58m70") +region = Rect2(12288, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f6l3g"] +atlas = ExtResource("501_58m70") +region = Rect2(12800, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f0dk1"] +atlas = ExtResource("501_58m70") +region = Rect2(13312, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v45bt"] +atlas = ExtResource("501_58m70") +region = Rect2(13824, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_c5mu7"] +atlas = ExtResource("501_58m70") +region = Rect2(14336, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ngao6"] +atlas = ExtResource("501_58m70") +region = Rect2(14848, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f3hw5"] +atlas = ExtResource("501_58m70") +region = Rect2(15360, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s0o06"] +atlas = ExtResource("501_58m70") +region = Rect2(15872, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ll262"] +atlas = ExtResource("501_58m70") +region = Rect2(0, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hsjte"] +atlas = ExtResource("501_58m70") +region = Rect2(512, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0qega"] +atlas = ExtResource("501_58m70") +region = Rect2(1024, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xd6qt"] +atlas = ExtResource("501_58m70") +region = Rect2(1536, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_u6nt1"] +atlas = ExtResource("501_58m70") +region = Rect2(2048, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7fcxh"] +atlas = ExtResource("501_58m70") +region = Rect2(2560, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sthds"] +atlas = ExtResource("501_58m70") +region = Rect2(3072, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w0uo7"] +atlas = ExtResource("501_58m70") +region = Rect2(3584, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_t0xhe"] +atlas = ExtResource("501_58m70") +region = Rect2(4096, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q48a1"] +atlas = ExtResource("502_cnyix") +region = Rect2(0, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_egx34"] +atlas = ExtResource("502_cnyix") +region = Rect2(512, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_yhovx"] +atlas = ExtResource("502_cnyix") +region = Rect2(1024, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ndapr"] +atlas = ExtResource("502_cnyix") +region = Rect2(1536, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h00b0"] +atlas = ExtResource("502_cnyix") +region = Rect2(2048, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_k0pb3"] +atlas = ExtResource("502_cnyix") +region = Rect2(2560, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tdp1m"] +atlas = ExtResource("502_cnyix") +region = Rect2(3072, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ryw32"] +atlas = ExtResource("502_cnyix") +region = Rect2(3584, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g6ajp"] +atlas = ExtResource("502_cnyix") +region = Rect2(4096, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nxxmq"] +atlas = ExtResource("502_cnyix") +region = Rect2(4608, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2xvlb"] +atlas = ExtResource("502_cnyix") +region = Rect2(5120, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_aab6t"] +atlas = ExtResource("502_cnyix") +region = Rect2(5632, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g6q78"] +atlas = ExtResource("502_cnyix") +region = Rect2(6144, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_inqic"] +atlas = ExtResource("502_cnyix") +region = Rect2(6656, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tnto8"] +atlas = ExtResource("502_cnyix") +region = Rect2(7168, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3jy0b"] +atlas = ExtResource("502_cnyix") +region = Rect2(7680, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qqkdj"] +atlas = ExtResource("502_cnyix") +region = Rect2(8192, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wft45"] +atlas = ExtResource("502_cnyix") +region = Rect2(8704, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bsh20"] +atlas = ExtResource("502_cnyix") +region = Rect2(9216, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ngmuc"] +atlas = ExtResource("502_cnyix") +region = Rect2(9728, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7fsqh"] +atlas = ExtResource("502_cnyix") +region = Rect2(10240, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3arwt"] +atlas = ExtResource("502_cnyix") +region = Rect2(10752, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bldyj"] +atlas = ExtResource("502_cnyix") +region = Rect2(11264, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uf74i"] +atlas = ExtResource("502_cnyix") +region = Rect2(11776, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ix8t2"] +atlas = ExtResource("502_cnyix") +region = Rect2(12288, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pvrx6"] +atlas = ExtResource("502_cnyix") +region = Rect2(12800, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tlbbp"] +atlas = ExtResource("502_cnyix") +region = Rect2(13312, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_b0j5g"] +atlas = ExtResource("502_cnyix") +region = Rect2(13824, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uq74y"] +atlas = ExtResource("502_cnyix") +region = Rect2(14336, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8k2oi"] +atlas = ExtResource("502_cnyix") +region = Rect2(14848, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_na8n6"] +atlas = ExtResource("498_ucsgn") +region = Rect2(0, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jmyp4"] +atlas = ExtResource("498_ucsgn") +region = Rect2(512, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_knrx4"] +atlas = ExtResource("498_ucsgn") +region = Rect2(1024, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rf24x"] +atlas = ExtResource("498_ucsgn") +region = Rect2(1536, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lhlyq"] +atlas = ExtResource("498_ucsgn") +region = Rect2(2048, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i8wsu"] +atlas = ExtResource("498_ucsgn") +region = Rect2(2560, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jtp65"] +atlas = ExtResource("498_ucsgn") +region = Rect2(3072, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5k54x"] +atlas = ExtResource("498_ucsgn") +region = Rect2(3584, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_b52uh"] +atlas = ExtResource("498_ucsgn") +region = Rect2(4096, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rucep"] +atlas = ExtResource("498_ucsgn") +region = Rect2(4608, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dckm0"] +atlas = ExtResource("498_ucsgn") +region = Rect2(5120, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jxml1"] +atlas = ExtResource("498_ucsgn") +region = Rect2(5632, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_m024w"] +atlas = ExtResource("498_ucsgn") +region = Rect2(6144, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q6m37"] +atlas = ExtResource("498_ucsgn") +region = Rect2(6656, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kas34"] +atlas = ExtResource("498_ucsgn") +region = Rect2(7168, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h24tt"] +atlas = ExtResource("498_ucsgn") +region = Rect2(7680, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_k8mub"] +atlas = ExtResource("498_ucsgn") +region = Rect2(8192, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3m3k7"] +atlas = ExtResource("498_ucsgn") +region = Rect2(8704, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lsm1l"] +atlas = ExtResource("498_ucsgn") +region = Rect2(9216, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_puv8e"] +atlas = ExtResource("498_ucsgn") +region = Rect2(9728, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l2mrb"] +atlas = ExtResource("498_ucsgn") +region = Rect2(10240, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tpm5i"] +atlas = ExtResource("498_ucsgn") +region = Rect2(10752, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dodoi"] +atlas = ExtResource("498_ucsgn") +region = Rect2(11264, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nlnrh"] +atlas = ExtResource("498_ucsgn") +region = Rect2(11776, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fgwyb"] +atlas = ExtResource("498_ucsgn") +region = Rect2(12288, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dbeta"] +atlas = ExtResource("498_ucsgn") +region = Rect2(12800, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1cjhh"] +atlas = ExtResource("498_ucsgn") +region = Rect2(13312, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ya6jq"] +atlas = ExtResource("498_ucsgn") +region = Rect2(13824, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bxdwp"] +atlas = ExtResource("498_ucsgn") +region = Rect2(14336, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g8ywy"] +atlas = ExtResource("498_ucsgn") +region = Rect2(14848, 0, 512, 512) + +[sub_resource type="SpriteFrames" id="SpriteFrames_ua0fy"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_lq5u4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6v1bm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fl0ij") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jim64") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vpwbm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bskte") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s4j2o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_urilo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_37bll") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cy8mr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fshft") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6o8c5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_d55sk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gkylq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ee7kd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_b3qih") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1lt3o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v6dro") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l4r0x") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_drcv7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_b8o3i") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6yl5j") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wydvp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3qmsi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j6cu8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_li3kr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5wcly") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wsimg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ljyb8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ipk3e") +}], +"loop": false, +"name": &"earth_slash", +"speed": 24.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_rxwhr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ullk8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8uf3p") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_exjpi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0nkfw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_iumst") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_oe6xh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p531c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gcxuo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hky73") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tpmpx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tcduc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0da0v") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7sxse") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4qc46") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5cmlr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1f8xk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1lb2o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_oadyu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_trhxg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ixg4u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0tmv5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_redlx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xes8d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7kyi8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4hf3e") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n2vjn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ikh30") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ecgiq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qymw1") +}], +"loop": false, +"name": &"fire_slash", +"speed": 24.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_ib7ul") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gewiu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2vk3m") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bei7s") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_630i4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5oiox") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lpauy") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3joed") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2wr7g") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nec7r") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_46yrx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_idp2y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_peodj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ww1ia") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xd6bq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kbpk0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gtxb5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_c6owo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6ufhd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ue5be") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1yaxx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_yjyav") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mtb23") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2ntku") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rislv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3lbfl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p8bo1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_iyyyb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4gp8m") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ku3m1") +}], +"loop": false, +"name": &"love_judgement", +"speed": 24.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_a47gw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_b2owr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_37dxm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_oef33") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vu8de") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_unpnm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h6lkg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qiv21") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_olhyv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w3qca") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_14jgb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7i00v") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ys1nt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1daeu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rwva3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xrda4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h6xce") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_r7yno") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5w511") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uxat6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_m1fr0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gfuge") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5ufv4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vb3nr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xk70p") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ypnbi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nldbq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_o55lx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tr7np") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vjqi4") +}, { +"duration": 1.0, +"texture": null +}], +"loop": false, +"name": &"normal_slash", +"speed": 24.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_b4tqc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1yod2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qknof") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v0s2u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s86wq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_20xiu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_r1e0i") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_d2xqf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ltyos") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_crepd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8hc42") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_toj62") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_k3pa4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_34r5x") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nr606") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_njyfy") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jbdn7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nh4uk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_a2nh7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cenfr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p5eo0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_i0gdu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_88q6d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_utgkt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fqxh1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_64146") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_prion") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ejegh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fwr6t") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hvbv7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gnoh1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kr73e") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_urdnm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s0qi8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8a8lr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xqhgw") +}], +"loop": false, +"name": &"plasma_sword", +"speed": 24.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_34vok") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mjpf0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_djegh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_btmv7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_02a4u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xn142") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q5kpn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fuo3k") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_iak5a") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_b2hkl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_c4xe8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6nj8s") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_i36ut") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_k7g7u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_sq1ca") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_an5li") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w8qey") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ghpl2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ha48h") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_b1hjb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_07r1f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1vfqj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_io8tc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s3l5i") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_46sym") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f6l3g") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f0dk1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v45bt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_c5mu7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ngao6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f3hw5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s0o06") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ll262") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hsjte") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0qega") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xd6qt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_u6nt1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7fcxh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_sthds") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w0uo7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_t0xhe") +}], +"loop": false, +"name": &"rondo", +"speed": 30.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_q48a1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_egx34") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_yhovx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ndapr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h00b0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_k0pb3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tdp1m") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ryw32") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_g6ajp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nxxmq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2xvlb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_aab6t") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_g6q78") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_inqic") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tnto8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3jy0b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qqkdj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wft45") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bsh20") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ngmuc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7fsqh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3arwt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bldyj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uf74i") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ix8t2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pvrx6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tlbbp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_b0j5g") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uq74y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8k2oi") +}], +"loop": false, +"name": &"unarmed", +"speed": 24.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("500_rhpvh") +}, { +"duration": 1.0, +"texture": ExtResource("501_p1un1") +}, { +"duration": 1.0, +"texture": ExtResource("502_nb4cq") +}, { +"duration": 1.0, +"texture": ExtResource("503_cnyix") +}, { +"duration": 1.0, +"texture": ExtResource("504_58m70") +}, { +"duration": 1.0, +"texture": ExtResource("505_l7c4m") +}, { +"duration": 1.0, +"texture": ExtResource("506_04cm7") +}, { +"duration": 1.0, +"texture": ExtResource("507_cqsul") +}, { +"duration": 1.0, +"texture": ExtResource("508_ajbah") +}, { +"duration": 1.0, +"texture": ExtResource("509_7rguc") +}, { +"duration": 1.0, +"texture": ExtResource("510_w5dir") +}, { +"duration": 1.0, +"texture": ExtResource("511_34gm2") +}, { +"duration": 1.0, +"texture": ExtResource("512_fsw4h") +}, { +"duration": 1.0, +"texture": ExtResource("513_aodty") +}, { +"duration": 1.0, +"texture": ExtResource("514_pyqdk") +}, { +"duration": 1.0, +"texture": ExtResource("515_en41m") +}, { +"duration": 1.0, +"texture": ExtResource("516_a0pdj") +}, { +"duration": 1.0, +"texture": ExtResource("517_vgc4w") +}, { +"duration": 1.0, +"texture": ExtResource("518_2gki5") +}, { +"duration": 1.0, +"texture": ExtResource("519_dbr2j") +}, { +"duration": 1.0, +"texture": ExtResource("520_k8fmf") +}, { +"duration": 1.0, +"texture": ExtResource("521_1mpss") +}, { +"duration": 1.0, +"texture": ExtResource("522_53c8b") +}, { +"duration": 1.0, +"texture": ExtResource("523_rcq5i") +}, { +"duration": 1.0, +"texture": ExtResource("524_as0fu") +}, { +"duration": 1.0, +"texture": ExtResource("525_bvvuv") +}, { +"duration": 1.0, +"texture": ExtResource("526_owbt5") +}, { +"duration": 1.0, +"texture": ExtResource("527_nilvr") +}, { +"duration": 1.0, +"texture": ExtResource("528_ynv1q") +}, { +"duration": 1.0, +"texture": ExtResource("529_3e7br") +}], +"loop": false, +"name": &"water_slash", +"speed": 24.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_na8n6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jmyp4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_knrx4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rf24x") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lhlyq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_i8wsu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jtp65") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5k54x") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_b52uh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rucep") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dckm0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jxml1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_m024w") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q6m37") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kas34") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h24tt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_k8mub") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3m3k7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lsm1l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_puv8e") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l2mrb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tpm5i") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dodoi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nlnrh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fgwyb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dbeta") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1cjhh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ya6jq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bxdwp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_g8ywy") +}], +"loop": false, +"name": &"wind_slash", +"speed": 24.0 +}] + [node name="Player" type="CharacterBody3D"] collision_layer = 802 collision_mask = 775 @@ -8225,21 +10264,7 @@ libraries = { &"": SubResource("AnimationLibrary_ojh85") } -[node name="SubViewportContainer" type="SubViewportContainer" parent="ScreenFX"] -custom_minimum_size = Vector2(1440, 1080) -anchors_preset = -1 -anchor_right = 0.748 -anchor_bottom = 1.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="SubViewport" type="SubViewport" parent="ScreenFX/SubViewportContainer"] -transparent_bg = true -handle_input_locally = false -size = Vector2i(1440, 1080) -render_target_update_mode = 4 - -[node name="Spell Signs" type="AnimatedSprite2D" parent="ScreenFX/SubViewportContainer/SubViewport"] +[node name="Spell Signs" type="AnimatedSprite2D" parent="ScreenFX"] texture_filter = 1 position = Vector2(713, 540) scale = Vector2(1.5, 1.5) @@ -8248,14 +10273,14 @@ animation = &"Persiko" frame = 127 speed_scale = 2.0 -[node name="Geomantic Reactor Layer 1" type="AnimatedSprite2D" parent="ScreenFX/SubViewportContainer/SubViewport"] +[node name="Geomantic Reactor Layer 1" type="AnimatedSprite2D" parent="ScreenFX"] position = Vector2(725, 540) sprite_frames = SubResource("SpriteFrames_pbcxe") animation = &"G-Reactor Air" frame = 51 frame_progress = 1.0 -[node name="Geomantic Reactor Layer 2" type="AnimatedSprite2D" parent="ScreenFX/SubViewportContainer/SubViewport"] +[node name="Geomantic Reactor Layer 2" type="AnimatedSprite2D" parent="ScreenFX"] position = Vector2(725, 540) sprite_frames = SubResource("SpriteFrames_nfb16") animation = &"G-Reactor Fire L2" @@ -8263,15 +10288,15 @@ frame = 81 frame_progress = 1.0 speed_scale = 3.0 -[node name="ItemVFX" type="Sprite2D" parent="ScreenFX/SubViewportContainer/SubViewport"] +[node name="ItemVFX" type="Sprite2D" parent="ScreenFX"] position = Vector2(6.10352e-05, 6.10352e-05) -[node name="Prosc Message" type="Sprite2D" parent="ScreenFX/SubViewportContainer/SubViewport"] +[node name="Prosc Message" type="Sprite2D" parent="ScreenFX"] texture_filter = 1 material = SubResource("ShaderMaterial_es4xk") position = Vector2(764, 544) -[node name="ColorRect" type="ColorRect" parent="ScreenFX/SubViewportContainer/SubViewport"] +[node name="ColorRect" type="ColorRect" parent="ScreenFX"] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -8279,35 +10304,41 @@ grow_horizontal = 2 grow_vertical = 2 color = Color(1, 1, 1, 0) -[node name="Crit Marker" type="AnimatedSprite2D" parent="ScreenFX/SubViewportContainer/SubViewport"] +[node name="Crit Marker" type="AnimatedSprite2D" parent="ScreenFX"] position = Vector2(730, 531) sprite_frames = SubResource("SpriteFrames_gtij5") frame = 32 frame_progress = 1.0 speed_scale = 2.0 -[node name="ENTROPIC ELEMENT1" type="AnimatedSprite2D" parent="ScreenFX/SubViewportContainer/SubViewport"] +[node name="ENTROPIC ELEMENT1" type="AnimatedSprite2D" parent="ScreenFX"] position = Vector2(349, 200) scale = Vector2(1.34012, 1.39244) sprite_frames = SubResource("SpriteFrames_r3n06") frame = 57 frame_progress = 1.0 -[node name="ENTROPIC ELEMENT2" type="AnimatedSprite2D" parent="ScreenFX/SubViewportContainer/SubViewport/ENTROPIC ELEMENT1"] +[node name="ENTROPIC ELEMENT2" type="AnimatedSprite2D" parent="ScreenFX/ENTROPIC ELEMENT1"] position = Vector2(-2.23859, 522.824) sprite_frames = SubResource("SpriteFrames_ws3eh") frame = 63 frame_progress = 1.0 -[node name="ENTROPIC ELEMENT3" type="AnimatedSprite2D" parent="ScreenFX/SubViewportContainer/SubViewport/ENTROPIC ELEMENT1/ENTROPIC ELEMENT2"] +[node name="ENTROPIC ELEMENT3" type="AnimatedSprite2D" parent="ScreenFX/ENTROPIC ELEMENT1/ENTROPIC ELEMENT2"] sprite_frames = SubResource("SpriteFrames_qhbok") -[node name="ENTROPIC ELEMENT4" type="AnimatedSprite2D" parent="ScreenFX/SubViewportContainer/SubViewport/ENTROPIC ELEMENT1/ENTROPIC ELEMENT2/ENTROPIC ELEMENT3"] +[node name="ENTROPIC ELEMENT4" type="AnimatedSprite2D" parent="ScreenFX/ENTROPIC ELEMENT1/ENTROPIC ELEMENT2/ENTROPIC ELEMENT3"] position = Vector2(1.4924, -171.641) sprite_frames = SubResource("SpriteFrames_krly2") frame = 63 frame_progress = 1.0 +[node name="Weapon Animations" type="AnimatedSprite2D" parent="ScreenFX"] +scale = Vector2(2.5, 2.5) +sprite_frames = SubResource("SpriteFrames_ua0fy") +animation = &"earth_slash" +offset = Vector2(288, 216) + [node name="PersuaderCrosshair" type="Sprite2D" parent="ScreenFX"] unique_name_in_owner = true visible = false diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/ActionPanel.cs b/Zennysoft.Game.Ma/src/ui/inventory_menu/ActionPanel.cs index 9ccdedd81..f1c076636 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/ActionPanel.cs +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/ActionPanel.cs @@ -63,6 +63,7 @@ public partial class ActionPanel : Panel { GetViewport().SetInputAsHandled(); HideActionPanel(); + SfxDatabase.Instance.Play(SoundEffect.CancelUI); } } diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/AugmentableItemsMenu.tscn b/Zennysoft.Game.Ma/src/ui/inventory_menu/AugmentableItemsMenu.tscn index d52c861dc..d7519c109 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/AugmentableItemsMenu.tscn +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/AugmentableItemsMenu.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=11 format=3 uid="uid://tpqh7q0xh63c"] +[gd_scene load_steps=16 format=3 uid="uid://tpqh7q0xh63c"] [ext_resource type="PackedScene" uid="uid://c005nd0m2eim" path="res://src/ui/inventory_menu/ItemSlot.tscn" id="1_a5r0f"] [ext_resource type="Script" uid="uid://brtic4hw6thox" path="res://src/ui/inventory_menu/AugmentableItemsMenu.cs" id="1_ukqf2"] @@ -6,12 +6,28 @@ [ext_resource type="FontFile" uid="uid://0syyay37admf" path="res://src/ui/fonts/georgiab.ttf" id="3_qtvkp"] [ext_resource type="StyleBox" uid="uid://bxuy4tnftibfq" path="res://src/options/SelectedOptionsBox.tres" id="4_p84pf"] [ext_resource type="StyleBox" uid="uid://bl15q835s4ene" path="res://src/options/UnselectedOptionsBox.tres" id="5_rxojm"] +[ext_resource type="LabelSettings" uid="uid://b6f8ggy3ulonb" path="res://src/ui/label_settings/GeorgiaItalic.tres" id="7_qtvkp"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_l0byb"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_7co7g"] bg_color = Color(0, 0, 0, 0.745098) +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ukqf2"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qtvkp"] +bg_color = Color(0, 0, 0, 0.745098) + +[sub_resource type="LabelSettings" id="LabelSettings_p84pf"] +line_spacing = 1.0 +font = ExtResource("3_qtvkp") +font_size = 50 +outline_size = 3 +outline_color = Color(0, 0, 0, 1) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_p84pf"] +bg_color = Color(0, 0, 0, 0.745098) + [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_unikd"] bg_color = Color(0, 0, 0, 1) @@ -144,6 +160,99 @@ layout_mode = 2 [node name="AugmentableSlot19" parent="CenterContainer2/AugmentableItemsList/Panel/MarginContainer2/Inventory" instance=ExtResource("1_a5r0f")] layout_mode = 2 +[node name="TitleContainer" type="MarginContainer" parent="."] +layout_mode = 1 +offset_right = 450.0 +offset_bottom = 160.0 +theme_override_constants/margin_left = 50 +theme_override_constants/margin_top = 60 + +[node name="TitlePanelContainer" type="PanelContainer" parent="TitleContainer"] +custom_minimum_size = Vector2(400, 100) +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxEmpty_ukqf2") + +[node name="AugmentTitlePanel" type="Panel" parent="TitleContainer/TitlePanelContainer"] +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_qtvkp") + +[node name="MarginContainer" type="MarginContainer" parent="TitleContainer/TitlePanelContainer/AugmentTitlePanel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 10 +theme_override_constants/margin_top = 10 +theme_override_constants/margin_right = 10 +theme_override_constants/margin_bottom = 10 + +[node name="ReferenceRect" type="ReferenceRect" parent="TitleContainer/TitlePanelContainer/AugmentTitlePanel/MarginContainer"] +layout_mode = 2 +border_color = Color(1, 1, 1, 1) +border_width = 2.0 +editor_only = false + +[node name="AugmentLabel" type="Label" parent="TitleContainer/TitlePanelContainer/AugmentTitlePanel/MarginContainer/ReferenceRect"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -148.0 +offset_top = -28.5 +offset_right = 148.0 +offset_bottom = 28.5 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_font_sizes/font_size = 15 +text = "AUGMENT" +label_settings = SubResource("LabelSettings_p84pf") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="DescriptionContainer" type="MarginContainer" parent="."] +layout_mode = 1 +anchors_preset = 4 +anchor_top = 0.5 +anchor_bottom = 0.5 +offset_top = -250.0 +offset_right = 500.0 +offset_bottom = 150.0 +grow_vertical = 2 +theme_override_constants/margin_left = 50 + +[node name="ItemDescriptionPanelContainer" type="PanelContainer" parent="DescriptionContainer"] +custom_minimum_size = Vector2(300, 300) +layout_mode = 2 + +[node name="ItemDescriptionBox" type="Panel" parent="DescriptionContainer/ItemDescriptionPanelContainer"] +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_p84pf") + +[node name="MarginContainer" type="MarginContainer" parent="DescriptionContainer/ItemDescriptionPanelContainer"] +layout_mode = 2 +theme_override_constants/margin_left = 5 +theme_override_constants/margin_top = 5 +theme_override_constants/margin_right = 5 +theme_override_constants/margin_bottom = 5 + +[node name="ReferenceRect" type="ReferenceRect" parent="DescriptionContainer/ItemDescriptionPanelContainer/MarginContainer"] +layout_mode = 2 +border_color = Color(1, 1, 1, 1) +border_width = 2.0 +editor_only = false + +[node name="CenterContainer" type="CenterContainer" parent="DescriptionContainer/ItemDescriptionPanelContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="DescriptionContainer/ItemDescriptionPanelContainer/CenterContainer"] +layout_mode = 2 +text = "Select an item to augment." +label_settings = ExtResource("7_qtvkp") + [node name="ConfirmAugmentContainer" type="Panel" parent="."] unique_name_in_owner = true visible = false diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs b/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs index 5b701a493..81648d44e 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs @@ -31,6 +31,12 @@ public partial class InventoryMenu : Control, IInventoryMenu [Node] public AugmentableItemsMenu AugmentMenu { get; set; } + [Node] public Label PlayerATKLabel { get; set; } + + [Node] public Label PlayerDEFLabel { get; set; } + + [Node] public Label StatusLabel { get; set; } + private List ItemSlots; private IItemSlot _currentlySelected; @@ -46,15 +52,29 @@ public partial class InventoryMenu : Control, IInventoryMenu ActionPanel.AugmentMenuRequested += ActionPanel_AugmentMenuRequested; AugmentMenu.AugmentMenuClosing += AugmentMenu_AugmentMenuClosing; AugmentMenu.FocusMode = FocusModeEnum.None; + _player.AttackComponent.CurrentAttack.Changed += AttackChanged; + _player.AttackComponent.MaximumAttack.Changed += AttackChanged; + _player.DefenseComponent.CurrentDefense.Changed += DefenseChanged; + _player.DefenseComponent.MaximumDefense.Changed += DefenseChanged; ClearDescriptionBox(); + AttackChanged(0); + DefenseChanged(0); + StatusLabel.Text = string.Empty; + Hide(); } + private void AttackChanged(int obj) => PlayerATKLabel.Text = $"{_player.AttackComponent.CurrentAttack.Value:D2}/{_player.AttackComponent.MaximumAttack.Value:D2}+{_player.EquipmentComponent.BonusAttack}"; + + private void DefenseChanged(int obj) => PlayerDEFLabel.Text = $"{_player.DefenseComponent.CurrentDefense.Value:D2}/{_player.DefenseComponent.MaximumDefense.Value:D2}+{_player.EquipmentComponent.BonusDefense}"; + public override void _Input(InputEvent @event) { if (Input.IsActionJustPressed(GameInputs.MoveUp) && _currentlySelected != ItemSlots.First()) SfxDatabase.Instance.Play(SoundEffect.MoveUI); if (Input.IsActionJustPressed(GameInputs.MoveDown) && _currentlySelected != ItemSlots.Last(x => x.Item.Value != null)) SfxDatabase.Instance.Play(SoundEffect.MoveUI); + if (Input.IsActionJustPressed(GameInputs.Interact)) + SfxDatabase.Instance.Play(SoundEffect.CancelUI); } private void ActionPanel_AugmentMenuRequested() diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.tscn b/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.tscn index 3fb51d45b..6da3ef021 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.tscn +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=15 format=3 uid="uid://cbxw70qa7gifp"] +[gd_scene load_steps=16 format=3 uid="uid://cbxw70qa7gifp"] [ext_resource type="Script" uid="uid://yh8qxmn058w2" path="res://src/ui/inventory_menu/InventoryMenu.cs" id="1_unikd"] [ext_resource type="PackedScene" uid="uid://b648lhohtue70" path="res://src/ui/inventory_menu/ActionPanel.tscn" id="3_7co7g"] +[ext_resource type="FontFile" uid="uid://tfskthaq7tmi" path="res://src/ui/fonts/georgia.ttf" id="3_unikd"] [ext_resource type="FontFile" uid="uid://0syyay37admf" path="res://src/ui/fonts/georgiab.ttf" id="6_ldqki"] [ext_resource type="PackedScene" uid="uid://c005nd0m2eim" path="res://src/ui/inventory_menu/ItemSlot.tscn" id="6_unikd"] [ext_resource type="PackedScene" uid="uid://tpqh7q0xh63c" path="res://src/ui/inventory_menu/AugmentableItemsMenu.tscn" id="6_xwkpe"] @@ -33,7 +34,6 @@ bg_color = Color(0, 0, 0, 0.745098) [node name="InventoryMenu" type="PanelContainer"] process_mode = 2 -visible = false anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -114,6 +114,112 @@ label_settings = SubResource("LabelSettings_ejvue") horizontal_alignment = 1 vertical_alignment = 1 +[node name="StatsPanelContainer" type="PanelContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel"] +custom_minimum_size = Vector2(400, 100) +layout_mode = 1 +anchors_preset = -1 +anchor_top = 0.121 +anchor_right = 0.28 +anchor_bottom = 0.218 +offset_top = 0.369995 +offset_right = -0.399994 +offset_bottom = 0.459991 + +[node name="StatsPanel" type="Panel" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer"] +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_cq2sk") + +[node name="MarginContainer" type="MarginContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 10 +theme_override_constants/margin_top = 10 +theme_override_constants/margin_right = 10 +theme_override_constants/margin_bottom = 10 + +[node name="ReferenceRect" type="ReferenceRect" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer"] +layout_mode = 2 +border_color = Color(1, 1, 1, 1) +border_width = 2.0 +editor_only = false + +[node name="MarginContainer" type="MarginContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 15 +theme_override_constants/margin_top = 5 +theme_override_constants/margin_right = 5 +theme_override_constants/margin_bottom = 5 + +[node name="HBoxContainer" type="HBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer"] +layout_mode = 2 +theme_override_constants/separation = 20 + +[node name="StatsContainer" type="VBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer"] +layout_mode = 2 + +[node name="HBoxContainer" type="HBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer"] +layout_mode = 2 + +[node name="ATKName" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer/HBoxContainer"] +layout_mode = 2 +theme_override_fonts/font = ExtResource("3_unikd") +theme_override_font_sizes/font_size = 25 +text = "ATK:" +vertical_alignment = 1 + +[node name="PlayerATKLabel" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer/HBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_fonts/font = ExtResource("3_unikd") +theme_override_font_sizes/font_size = 25 +text = "15/15" +vertical_alignment = 1 + +[node name="HBoxContainer2" type="HBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer"] +layout_mode = 2 + +[node name="DEFName" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer/HBoxContainer2"] +layout_mode = 2 +theme_override_fonts/font = ExtResource("3_unikd") +theme_override_font_sizes/font_size = 25 +text = "DEF:" +vertical_alignment = 1 + +[node name="PlayerDEFLabel" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer/HBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_fonts/font = ExtResource("3_unikd") +theme_override_font_sizes/font_size = 25 +text = "15/15" +vertical_alignment = 1 + +[node name="StatusEffectContainer" type="VBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer"] +layout_mode = 2 +alignment = 1 + +[node name="HBoxContainer" type="HBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatusEffectContainer"] +layout_mode = 2 + +[node name="StatusName" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatusEffectContainer/HBoxContainer"] +layout_mode = 2 +text = "Status:" +label_settings = ExtResource("7_we8a6") + +[node name="StatusLabel" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatusEffectContainer/HBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "Rust" +label_settings = ExtResource("7_we8a6") + [node name="ActionPanelContainer" type="PanelContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel"] layout_mode = 1 anchors_preset = 2 diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemSlot.tscn b/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemSlot.tscn index 0f145dc53..57396aa89 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemSlot.tscn +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemSlot.tscn @@ -38,7 +38,8 @@ unique_name_in_owner = true custom_minimum_size = Vector2(50, 50) layout_mode = 2 texture = ExtResource("3_t6dim") -expand_mode = 2 +expand_mode = 1 +stretch_mode = 5 [node name="Control" type="HBoxContainer" parent="ItemInfo"] layout_mode = 2 @@ -68,12 +69,12 @@ text = "Cross Sword" [node name="AugmentTexture" type="TextureRect" parent="ItemInfo/Control"] unique_name_in_owner = true -custom_minimum_size = Vector2(15, 20) +custom_minimum_size = Vector2(50, 50) layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 4 texture = ExtResource("5_lt1pw") -stretch_mode = 2 +expand_mode = 1 [node name="ItemCountLabel" type="Label" parent="."] unique_name_in_owner = true