From ed9e611fd918c4fbacb946f90efcdfb0f870fecf Mon Sep 17 00:00:00 2001 From: Zenny Date: Wed, 26 Nov 2025 02:12:24 -0800 Subject: [PATCH] Work SFX work Fix up Eden Pillar behavior --- .../sfx/ENEMY_AGNI_AMBIENT_LOOP.ogg.import | 6 +- .../audio/sfx/ENEMY_AQUEOS_LOOP.ogg.import | 6 +- .../audio/sfx/ENEMY_PILLAR_TURN.ogg.import | 6 +- .../sfx/ENEMY_golden_sproing_loop.ogg.import | 6 +- .../audio/sfx/enemy_balos_rolling.ogg.import | 6 +- Zennysoft.Game.Ma/src/enemy/Enemy.cs | 6 + Zennysoft.Game.Ma/src/enemy/EnemyModelView.cs | 58 +- .../src/enemy/EnemyModelView2D.cs | 128 +- .../src/enemy/EnemyModelView3D.cs | 22 +- .../src/enemy/IEnemyModelView.cs | 3 + .../enemy_types/01. sproingy/Sproingy.tscn | 18 +- .../01. sproingy/SproingyModelView.tscn | 15 +- .../enemy_types/02. michael/Michael.tres | 24 - .../enemy_types/02. michael/Michael.tscn | 4 + .../02. michael/MichaelModelView.tscn | 5 + .../03. filth_eater/FilthEater.tscn | 8 +- .../03. filth_eater/FilthEaterModelView.tscn | 5 + .../03. filth_eater/FilthEaterStats.tres | 21 - .../src/enemy/enemy_types/04. sara/Sara.tscn | 8 +- .../enemy_types/04. sara/SaraModelView.tscn | 5 + .../enemy/enemy_types/04. sara/SaraStats.tres | 21 - .../enemy/enemy_types/05. ballos/Ballos.tscn | 8 +- .../05. ballos/BallosModelView.tscn | 9 +- .../enemy_types/06. chariot/Chariot.tscn | 4 + .../06. chariot/ChariotModelView.tscn | 5 + .../enemy_types/07. chinthe/Chinthe.tscn | 8 +- .../07. chinthe/ChintheModelView.tscn | 5 + .../enemy_types/07. chinthe/ChintheStats.tres | 21 - .../08a. Ambassador/Ambassador.tscn | 8 +- .../08a. Ambassador/AmbassadorModelView.tscn | 5 + .../08a. Ambassador/AmbassadorStats.tres | 21 - .../08b. Ambassador (red)/AmbassadorRed.tscn | 8 +- .../AmbassadorSmallModelView.tscn | 5 + .../AmbassadorStats.tres | 21 - .../AmbassadorSteel.tscn | 8 +- .../AmbassadorSteelModelView.tscn | 5 + .../AmbassadorSteelStats.tres | 21 - .../enemy/enemy_types/09. Agni/AgniDemon.tscn | 8 +- .../09. Agni/AgniDemonModelView.tscn | 5 + .../enemy_types/09. Agni/AgniDemonStats.tres | 21 - .../10. Eden Pillar/Eden Pillar.tscn | 1792 +---------------- .../enemy_types/10. Eden Pillar/EdenPillar.cs | 106 +- .../10. Eden Pillar/EdenPillarModelView.cs | 24 + .../EdenPillarModelView.cs.uid | 1 + .../10. Eden Pillar/EdenPillarModelView.tscn | 23 +- .../10. Eden Pillar/projectile_1.tscn | 301 +++ .../10. Eden Pillar/projectile_2.tscn | 656 ++++++ .../10. Eden Pillar/projectile_3.tscn | 992 +++++++++ .../enemy/enemy_types/11. Palan/Palan.tscn | 4 + .../enemy_types/11. Palan/PalanModelView.tscn | 6 + .../enemy_types/11. Palan/PalanStats.tres | 21 - .../12. Shield of Heaven/ShieldModelView.tscn | 5 + .../12. Shield of Heaven/ShieldOfHeaven.tscn | 8 +- .../ShieldOfHeavenStats.tres | 21 - .../13. gold sproingy/GoldSproingy.tscn | 23 +- .../GoldSproingyModelView.tscn | 5 + .../13. gold sproingy/GoldSproingyStats.tres | 21 - .../enemy_types/14. horse_head/HorseFace.tscn | 8 +- .../14. horse_head/HorseFaceModelView.tscn | 77 +- .../animation/OxFaceAnimations.tres | 39 +- .../14. horse_head/animation/walking.res | Bin 5371 -> 5599 bytes .../14. horse_head/animation/walking2.res | Bin 8759 -> 9060 bytes .../enemy/enemy_types/15. ox_face/OxFace.tscn | 35 +- .../15. ox_face/OxFaceModelView.tscn | 43 +- .../enemy_types/16. demon wall/Arm1.tscn | 61 +- .../enemy_types/16. demon wall/Arm2.tscn | 75 +- .../enemy_types/16. demon wall/Arm3.tscn | 65 +- .../enemy_types/16. demon wall/Arm4.tscn | 37 +- .../enemy_types/16. demon wall/Arm5.tscn | 51 +- .../enemy_types/16. demon wall/Arm6.tscn | 55 +- .../enemy_types/16. demon wall/Arm7.tscn | 77 +- .../enemy_types/16. demon wall/Arm8.tscn | 39 +- .../enemy_types/16. demon wall/Arm9.tscn | 75 +- .../enemy_types/16. demon wall/DemonWall.tscn | 4 + .../16. demon wall/DemonWallArm.cs | 10 +- .../16. demon wall/DemonWallModelView.tscn | 5 + .../9b. Aqueos Demon/AqueosDemon.tscn | 8 +- .../9b. Aqueos Demon/AqueosDemonStats.tres | 21 - .../9b. Aqueos Demon/AqueosModelView.tscn | 10 +- .../src/map/dungeon/code/MonsterRoom.cs | 2 +- .../dungeon/floors/SetAFloors/test_floor.tscn | 11 +- .../dungeon/rooms/Set A/05. Pit Room A.tscn | 5 +- .../dungeon/rooms/Set A/19. Floor Exit A.tscn | 4 +- Zennysoft.Game.Ma/src/player/Player.tscn | 1 - .../src/system/IHasPrimaryAttack.cs | 7 +- Zennysoft.Game.Ma/src/system/Projectile.cs | 14 +- 86 files changed, 2822 insertions(+), 2603 deletions(-) delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonStats.tres create mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs create mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs.uid create mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_1.tscn create mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_2.tscn create mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_3.tscn delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeavenStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyStats.tres delete mode 100644 Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemonStats.tres diff --git a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AGNI_AMBIENT_LOOP.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AGNI_AMBIENT_LOOP.ogg.import index 43bf77e9..4c942ef7 100644 --- a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AGNI_AMBIENT_LOOP.ogg.import +++ b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AGNI_AMBIENT_LOOP.ogg.import @@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/ENEMY_AGNI_AMBIENT_LOOP.ogg-c85d2b023556dd456 [params] -loop=false -loop_offset=0 -bpm=0 +loop=true +loop_offset=0.0 +bpm=0.0 beat_count=0 bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AQUEOS_LOOP.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AQUEOS_LOOP.ogg.import index 0c71ba89..647970d2 100644 --- a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AQUEOS_LOOP.ogg.import +++ b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_AQUEOS_LOOP.ogg.import @@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/ENEMY_AQUEOS_LOOP.ogg-8237cb508a4b08073b02775 [params] -loop=false -loop_offset=0 -bpm=0 +loop=true +loop_offset=0.0 +bpm=0.0 beat_count=0 bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_PILLAR_TURN.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_PILLAR_TURN.ogg.import index a84e2686..163feb4e 100644 --- a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_PILLAR_TURN.ogg.import +++ b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_PILLAR_TURN.ogg.import @@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/ENEMY_PILLAR_TURN.ogg-b699bc5922c503a73a9d924 [params] -loop=false -loop_offset=0 -bpm=0 +loop=true +loop_offset=0.0 +bpm=0.0 beat_count=0 bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_golden_sproing_loop.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_golden_sproing_loop.ogg.import index c41e3e34..a9f342fa 100644 --- a/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_golden_sproing_loop.ogg.import +++ b/Zennysoft.Game.Ma/src/audio/sfx/ENEMY_golden_sproing_loop.ogg.import @@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/ENEMY_golden_sproing_loop.ogg-127cd3900505921 [params] -loop=false -loop_offset=0 -bpm=0 +loop=true +loop_offset=0.0 +bpm=0.0 beat_count=0 bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/audio/sfx/enemy_balos_rolling.ogg.import b/Zennysoft.Game.Ma/src/audio/sfx/enemy_balos_rolling.ogg.import index 29516009..070ac59c 100644 --- a/Zennysoft.Game.Ma/src/audio/sfx/enemy_balos_rolling.ogg.import +++ b/Zennysoft.Game.Ma/src/audio/sfx/enemy_balos_rolling.ogg.import @@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/enemy_balos_rolling.ogg-296768b69ce64257364d9 [params] -loop=false -loop_offset=0 -bpm=0 +loop=true +loop_offset=0.0 +bpm=0.0 beat_count=0 bar_beats=4 diff --git a/Zennysoft.Game.Ma/src/enemy/Enemy.cs b/Zennysoft.Game.Ma/src/enemy/Enemy.cs index a0a36853..024ca2a1 100644 --- a/Zennysoft.Game.Ma/src/enemy/Enemy.cs +++ b/Zennysoft.Game.Ma/src/enemy/Enemy.cs @@ -48,6 +48,8 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide _stateMachine.Travel(_primaryAttackName, false); + public virtual void PlayPrimaryAttackAnimation() + { + _walkSFX.Stop(); + _stateMachine.Travel(_primaryAttackName, false); + } - public virtual void PlaySecondaryAttackAnimation() => _stateMachine.Travel(_secondaryAttackName, false); + public virtual void PlaySecondaryAttackAnimation() + { + _walkSFX.Stop(); + _stateMachine.Travel(_secondaryAttackName, false); + } - public virtual void PlayPrimarySkillAnimation() => _stateMachine.Travel(_primarySkillName, false); + public virtual void PlayPrimarySkillAnimation() + { + _walkSFX.Stop(); + _stateMachine.Travel(_primarySkillName, false); + } - public virtual void PlayIdleAnimation() => _stateMachine.Travel(_idleName, false); + public virtual void PlayIdleAnimation() + { + _walkSFX.Stop(); + _stateMachine.Travel(_idleName, false); + } - public virtual void PlayWalkAnimation() => _stateMachine.Travel(_walkingName, false); + public virtual void PlayWalkAnimation() + { + if (!_walkSFX.Playing) + _walkSFX.Play(); + _stateMachine.Travel(_walkingName, false); + } - public virtual void PlayStopWalkAnimation() => _stateMachine.Travel(_stopWalkName, false); + public virtual void PlayStopWalkAnimation() + { + _walkSFX.Stop(); + _stateMachine.Travel(_stopWalkName, false); + } - public virtual void PlayActivateAnimation() => _stateMachine.Travel(_activateName, false); + public virtual void PlayActivateAnimation() + { + _walkSFX.Stop(); + _stateMachine.Travel(_activateName, false); + } public virtual void PlayDeathAnimation() => throw new System.NotImplementedException(); @@ -75,6 +110,7 @@ public abstract partial class EnemyModelView : Node3D, IEnemyModelView public override void _ExitTree() { - AnimationTree.Get(_parametersPlayback).As().Stop(); + if (AnimationTree != null) + AnimationTree.Get(_parametersPlayback).As().Stop(); } } diff --git a/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs b/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs index f5283e56..9588f1eb 100644 --- a/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs +++ b/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs @@ -26,114 +26,116 @@ public partial class EnemyModelView2D : EnemyModelView, IEnemyModelView EnemyDirection _enemyDirection { get; set; } = EnemyDirection.Forward; + public AttackData AttackData { get; set; } + public new void OnReady() { - Hitbox.AreaEntered += Hitbox_AreaEntered; - base.OnReady(); + Hitbox.AreaEntered += Hitbox_AreaEntered; + base.OnReady(); } - private void Hitbox_AreaEntered(Area3D area) => OnPlayerHit(new AttackEventArgs(new AttackData(10, ElementType.None))); + private void Hitbox_AreaEntered(Area3D area) => OnPlayerHit(new AttackEventArgs(AttackData)); public void SetCurrentDirection(Basis enemyBasis, Vector3 cameraDirection) => _enemyDirection = GetEnemyDirection(enemyBasis, cameraDirection, _upperThreshold, _lowerThreshold); public override void PlayHitAnimation() { - LoadShader("res://src/vfx/shaders/DamageHit.gdshader"); - var tweener = GetTree().CreateTween(); - tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 1.0f); + LoadShader("res://src/vfx/shaders/DamageHit.gdshader"); + var tweener = GetTree().CreateTween(); + tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 1.0f); } public override void PlayDeathAnimation() { - LoadShader("res://src/vfx/shaders/PixelMelt.gdshader"); - var tweener = GetTree().CreateTween(); - tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 0.8f); + LoadShader("res://src/vfx/shaders/PixelMelt.gdshader"); + var tweener = GetTree().CreateTween(); + tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 0.8f); } private EnemyDirection GetEnemyDirection( - Basis enemyBasis, - Vector3 cameraDirection, - float rotateUpperThreshold, - float rotateLowerThreshold) + Basis enemyBasis, + Vector3 cameraDirection, + float rotateUpperThreshold, + float rotateLowerThreshold) { - var enemyForwardDirection = enemyBasis.Z; - var enemyLeftDirection = enemyBasis.X; + var enemyForwardDirection = enemyBasis.Z; + var enemyLeftDirection = enemyBasis.X; - var leftDotProduct = enemyLeftDirection.Dot(cameraDirection); - var forwardDotProduct = enemyForwardDirection.Dot(cameraDirection); + var leftDotProduct = enemyLeftDirection.Dot(cameraDirection); + var forwardDotProduct = enemyForwardDirection.Dot(cameraDirection); - // Check if forward facing. If the dot product is -1, the enemy is facing the camera. - if (forwardDotProduct < _lowerThreshold) - { - SetForward(); - return EnemyDirection.Forward; - } + // Check if forward facing. If the dot product is -1, the enemy is facing the camera. + if (forwardDotProduct < _lowerThreshold) + { + SetForward(); + return EnemyDirection.Forward; + } - // Check if backward facing. If the dot product is 1, the enemy is facing the same direction as the camera. - else if (forwardDotProduct > rotateUpperThreshold) - { - SetBack(); - return EnemyDirection.Backward; - } - else - { - // If the dot product of the perpendicular direction is positive (up to 1), the enemy is facing to the left (since it's mirrored). - if (leftDotProduct < _lowerThreshold) - { - SetRight(); - return EnemyDirection.Left; - } + // Check if backward facing. If the dot product is 1, the enemy is facing the same direction as the camera. + else if (forwardDotProduct > rotateUpperThreshold) + { + SetBack(); + return EnemyDirection.Backward; + } + else + { + // If the dot product of the perpendicular direction is positive (up to 1), the enemy is facing to the left (since it's mirrored). + if (leftDotProduct < _lowerThreshold) + { + SetRight(); + return EnemyDirection.Left; + } - // Check if side facing. If the dot product is close to zero in the positive or negative direction, its close to the threshold for turning. - if (leftDotProduct > rotateUpperThreshold) - { - SetLeft(); - return EnemyDirection.Right; - } - } + // Check if side facing. If the dot product is close to zero in the positive or negative direction, its close to the threshold for turning. + if (leftDotProduct > rotateUpperThreshold) + { + SetLeft(); + return EnemyDirection.Right; + } + } - return _enemyDirection; + return _enemyDirection; } private void LoadShader(string shaderPath) { - var shader = GD.Load(shaderPath); - var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast(); - foreach (var sprite in sprites) - { - sprite.Material = new ShaderMaterial(); - var shaderMaterial = (ShaderMaterial)sprite.Material; - shaderMaterial.Shader = shader; - } + var shader = GD.Load(shaderPath); + var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast(); + foreach (var sprite in sprites) + { + sprite.Material = new ShaderMaterial(); + var shaderMaterial = (ShaderMaterial)sprite.Material; + shaderMaterial.Shader = shader; + } } private void SetShaderValue(float shaderValue) { - var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast(); - foreach (var sprite in sprites) - { - var shaderMaterial = (ShaderMaterial)sprite.Material; - shaderMaterial.SetShaderParameter("progress", shaderValue); - } + var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast(); + foreach (var sprite in sprites) + { + var shaderMaterial = (ShaderMaterial)sprite.Material; + shaderMaterial.SetShaderParameter("progress", shaderValue); + } } private void SetForward() { - _enemyDirection = EnemyDirection.Forward; + _enemyDirection = EnemyDirection.Forward; } private void SetLeft() { - _enemyDirection = EnemyDirection.Left; + _enemyDirection = EnemyDirection.Left; } private void SetRight() { - _enemyDirection = EnemyDirection.Right; + _enemyDirection = EnemyDirection.Right; } private void SetBack() { - _enemyDirection = EnemyDirection.Backward; + _enemyDirection = EnemyDirection.Backward; } } diff --git a/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs b/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs index ea5e4a6a..0ca1b924 100644 --- a/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs +++ b/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs @@ -9,33 +9,33 @@ public partial class EnemyModelView3D : EnemyModelView { public override void _Notification(int what) => this.Notify(what); - [Node] private AnimationPlayer _animationPlayer { get; set; } = default!; + [Node] protected AnimationPlayer _animationPlayer { get; set; } = default!; [Node] public MeshInstance3D MeshInstance { get; set; } = default!; private void ChangeMaterial() { - var material = new StandardMaterial3D - { - AlbedoColor = Color.FromHsv(0, 1, 1, 1) - }; - MeshInstance.MaterialOverride = (Material)material.Duplicate(); + var material = new StandardMaterial3D + { + AlbedoColor = Color.FromHsv(0, 1, 1, 1) + }; + MeshInstance.MaterialOverride = (Material)material.Duplicate(); } private void LoadShader(string shaderPath) { - var shader = GD.Load(shaderPath); - MeshInstance.MaterialOverride = shader; + var shader = GD.Load(shaderPath); + MeshInstance.MaterialOverride = shader; } private void ClearDamageEffect() { - MeshInstance.MaterialOverride = null; - MeshInstance.Transparency = 0; + MeshInstance.MaterialOverride = null; + MeshInstance.Transparency = 0; } private void SetTransparency(float transparencyAmount) { - MeshInstance.Transparency = transparencyAmount; + MeshInstance.Transparency = transparencyAmount; } } diff --git a/Zennysoft.Game.Ma/src/enemy/IEnemyModelView.cs b/Zennysoft.Game.Ma/src/enemy/IEnemyModelView.cs index ec0101c3..38340e16 100644 --- a/Zennysoft.Game.Ma/src/enemy/IEnemyModelView.cs +++ b/Zennysoft.Game.Ma/src/enemy/IEnemyModelView.cs @@ -1,6 +1,7 @@ using Chickensoft.GodotNodeInterfaces; using Godot; using System; +using Zennysoft.Ma.Adapter; namespace Zennysoft.Game.Ma; @@ -24,6 +25,8 @@ public interface IEnemyModelView : INode3D public void PlayDeathAnimation(); + public AttackData AttackData { get; set; } + public event EventHandler HitPlayer; public event EventHandler ActivationFinished; diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.tscn index 20efb8d4..e5f3c00a 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.tscn @@ -34,7 +34,7 @@ radius = 1.0 [node name="Sproingy" type="CharacterBody3D"] process_mode = 1 -collision_layer = 11 +collision_layer = 10 axis_lock_linear_y = true axis_lock_angular_x = true axis_lock_angular_z = true @@ -98,6 +98,8 @@ _followSpeed = 150.0 [node name="EngagePlayerBehavior" parent="Components" instance=ExtResource("5_drfkj")] unique_name_in_owner = true +_minimumAttackTime = 3.0 +_maximumAttackTime = 7.0 _acquireTargetTime = 2.0 [node name="NavigationAgent" type="NavigationAgent3D" parent="Components"] @@ -105,24 +107,28 @@ unique_name_in_owner = true avoidance_enabled = true radius = 1.0 -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("6_ungov") bus = &"SFX" -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="HitSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("7_ungov") bus = &"SFX" -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("8_agkuf") bus = &"SFX" -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="DieSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("9_icstk") bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/SproingyModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/SproingyModelView.tscn index 401e664b..9ce76c4c 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/SproingyModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/SproingyModelView.tscn @@ -1,10 +1,9 @@ -[gd_scene load_steps=81 format=3 uid="uid://bimjnsu52y3xi"] +[gd_scene load_steps=79 format=3 uid="uid://bimjnsu52y3xi"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_oh25a"] [ext_resource type="Texture2D" uid="uid://dd0ia6isdqg61" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 1.png" id="1_pbx41"] [ext_resource type="Texture2D" uid="uid://bs4ico5ouo5d3" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 2.png" id="2_0vbio"] [ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_7hf3j"] -[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="3_8wbs7"] [ext_resource type="Material" uid="uid://x2bv1q51mcjq" path="res://src/enemy/PixelMelt.tres" id="3_ivy74"] [ext_resource type="Texture2D" uid="uid://85ki5mc4h0vs" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 3.png" id="3_lae8t"] [ext_resource type="Texture2D" uid="uid://bwt1m2frb3r0e" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 4.png" id="4_53wuj"] @@ -68,12 +67,6 @@ Name = "Sproingy" Description = "He's smaller than I expected..." metadata/_custom_type_script = "uid://dlsgyx4i1jmp3" -[sub_resource type="Resource" id="Resource_8wbs7"] -script = ExtResource("3_8wbs7") -Damage = 10 -ElementType = 0 -metadata/_custom_type_script = "uid://ctshiyffvt4y5" - [sub_resource type="ViewportTexture" id="ViewportTexture_h1kaf"] viewport_path = NodePath("Sprite3D/SubViewportContainer/SubViewport") @@ -662,7 +655,6 @@ transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition [node name="EnemyModelView" type="Node3D"] script = ExtResource("1_oh25a") EnemyLoreInfo = SubResource("Resource_ivy74") -AttackData = SubResource("Resource_8wbs7") [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(6, 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0) @@ -718,3 +710,8 @@ root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_l2wq1") advance_expression_base_node = NodePath("..") anim_player = NodePath("../AnimationPlayer") + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tres deleted file mode 100644 index 5f29eb2e..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tres +++ /dev/null @@ -1,24 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://c08wbuumw6dk5"] - -[ext_resource type="Script" path="res://src/enemy/EnemyStatResource.cs" id="1_2i74g"] - -[resource] -script = ExtResource("1_2i74g") -CurrentHP = 0.0 -MaximumHP = 50.0 -CurrentAttack = 0 -CurrentDefense = 0 -MaxAttack = 0 -MaxDefense = 0 -Luck = 0.05 -TelluricResistance = 0.0 -AeolicResistance = 0.0 -HydricResistance = 0.0 -IgneousResistance = 0.0 -FerrumResistance = 0.0 -TelluricDamageBonus = 0.0 -AeolicDamageBonus = 0.0 -BaseHydricDamageBonus = 0.0 -IgneousDamageBonus = 0.0 -FerrumDamageBonus = 0.0 -DropsSoulGemChance = 0.75 diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tscn index 8f8f3a11..90516353 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.tscn @@ -112,3 +112,7 @@ bus = &"SFX" unique_name_in_owner = true stream = ExtResource("9_fm627") bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/MichaelModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/MichaelModelView.tscn index 1d89abfd..23b5cfd0 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/MichaelModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/MichaelModelView.tscn @@ -1241,3 +1241,8 @@ transform = Transform3D(0.72, 0, 0, 0, 0.72, 0, 0, 0, 0.72, -0.129818, 0.274447, modulate = Color(0.977, 0.31, 1, 0.741176) billboard = 2 sprite_frames = SubResource("SpriteFrames_suy1t") + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEater.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEater.tscn index a619c59b..d0df73f5 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEater.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEater.tscn @@ -9,7 +9,7 @@ [ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="7_qbmfg"] [ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="8_m7220"] [ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="9_g602r"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="10_06aiy"] +[ext_resource type="AudioStream" uid="uid://6r74nka4oh20" path="res://src/audio/sfx/ENEMY_filth_aggro.ogg" id="11_qbmfg"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_jbgmx"] height = 5.0 @@ -117,5 +117,9 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("10_06aiy") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("11_qbmfg") bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterModelView.tscn index 650fe947..cff88296 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterModelView.tscn @@ -3412,3 +3412,8 @@ libraries = { [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] bus = &"SFX" + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterStats.tres deleted file mode 100644 index 7baeb623..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEaterStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://coyidduu5uhsp"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_o2ug3"] - -[resource] -script = ExtResource("1_o2ug3") -CurrentHP = 60.0 -MaximumHP = 60 -CurrentAttack = 15 -CurrentDefense = 5 -MaxAttack = 15 -MaxDefense = 5 -ExpFromDefeat = 15 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = ExtResource("1_o2ug3") diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/Sara.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/Sara.tscn index fbf7fada..1ce6336c 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/Sara.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/Sara.tscn @@ -8,7 +8,7 @@ [ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_lxgpb"] [ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_ddchx"] [ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_746fv"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_fvjqx"] +[ext_resource type="AudioStream" uid="uid://bemrovoemoq5u" path="res://src/audio/sfx/ENEMY_APSARA_AGGRO.ogg" id="10_ddchx"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -113,5 +113,9 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("9_fvjqx") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_ddchx") bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraModelView.tscn index 3c22d291..8d9dfb68 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraModelView.tscn @@ -1892,3 +1892,8 @@ libraries = { [node name="Attacks" type="AudioStreamPlayer3D" parent="."] process_mode = 3 bus = &"SFX" + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraStats.tres deleted file mode 100644 index 37b29c80..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/SaraStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://b0e6yx54hhbw7"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_besl4"] - -[resource] -script = ExtResource("1_besl4") -CurrentHP = 60.0 -MaximumHP = 60 -CurrentAttack = 15 -CurrentDefense = 7 -MaxAttack = 15 -MaxDefense = 7 -ExpFromDefeat = 5 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = ExtResource("1_besl4") diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.tscn index cb799635..2e4e7816 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=14 format=3 uid="uid://feegakykn3fv"] +[gd_scene load_steps=13 format=3 uid="uid://feegakykn3fv"] [ext_resource type="Script" uid="uid://dwfxs5yrf7i3v" path="res://src/enemy/enemy_types/05. ballos/Ballos.cs" id="1_iy2fp"] [ext_resource type="PackedScene" uid="uid://c5xijwxkg4pf6" path="res://src/enemy/enemy_types/05. ballos/BallosModelView.tscn" id="2_v2urn"] @@ -8,7 +8,6 @@ [ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_wpleu"] [ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_vibb5"] [ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_b4xgw"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_44un1"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.717471 @@ -111,5 +110,8 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("9_44un1") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/BallosModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/BallosModelView.tscn index 13b9b6ef..60f1896b 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/BallosModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/BallosModelView.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=171 format=3 uid="uid://c5xijwxkg4pf6"] +[gd_scene load_steps=172 format=3 uid="uid://c5xijwxkg4pf6"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_ueqp5"] [ext_resource type="Texture2D" uid="uid://bgkx485uy065" path="res://src/enemy/enemy_types/05. ballos/animations/WALK BACK/1.png" id="3_b3ny6"] @@ -93,6 +93,7 @@ [ext_resource type="Texture2D" uid="uid://cuiwtl48d2rgo" path="res://src/enemy/enemy_types/05. ballos/animations/Ballos Side Attack Frames/ATTACK 2 SIDE/frame_23_delay-0.01s.png" id="72_3ev0n"] [ext_resource type="Texture2D" uid="uid://jsknxkujml8k" path="res://src/enemy/enemy_types/05. ballos/animations/Ballos Side Attack Frames/ATTACK 2 BACK/frame_11_delay-0.01s.png" id="72_4q1uq"] [ext_resource type="Texture2D" uid="uid://cejae00ramgdn" path="res://src/enemy/enemy_types/05. ballos/animations/Ballos Side Attack Frames/ATTACK 2 SIDE/frame_24_delay-0.01s.png" id="73_o6ljw"] +[ext_resource type="AudioStream" uid="uid://s8weoqkpc155" path="res://src/audio/sfx/enemy_balos_rolling.ogg" id="94_i3hgg"] [ext_resource type="Texture2D" uid="uid://dh0upso5h2agw" path="res://src/vfx/Enemy/ballos_SPELL.png" id="95_o6ljw"] [ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="96_i3hgg"] [ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="97_i3hgg"] @@ -1527,4 +1528,8 @@ libraries = { &"": SubResource("AnimationLibrary_tamk8") } -[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +stream = ExtResource("94_i3hgg") +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/Chariot.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/Chariot.tscn index 0ec6dc13..5d67096b 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/Chariot.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/Chariot.tscn @@ -109,3 +109,7 @@ bus = &"SFX" unique_name_in_owner = true stream = ExtResource("9_cfqmf") bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/ChariotModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/ChariotModelView.tscn index b8b715c0..73b736b0 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/ChariotModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/ChariotModelView.tscn @@ -8093,3 +8093,8 @@ root_node = NodePath("../AnimatedSprite3D") libraries = { &"": SubResource("AnimationLibrary_q8n6h") } + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/Chinthe.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/Chinthe.tscn index 519a5313..8968dbb3 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/Chinthe.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/Chinthe.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=15 format=3 uid="uid://c6tqt27ql8s35"] +[gd_scene load_steps=14 format=3 uid="uid://c6tqt27ql8s35"] [ext_resource type="Script" uid="uid://fwtjthix6awv" path="res://src/enemy/enemy_types/07. chinthe/Chinthe.cs" id="1_120m2"] [ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="3_567xa"] @@ -8,7 +8,6 @@ [ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="7_24q6i"] [ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_q6h01"] [ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_a4ku4"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_fjieg"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -108,5 +107,8 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("9_fjieg") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheModelView.tscn index 06a0b398..341369db 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheModelView.tscn @@ -3569,3 +3569,8 @@ draw_pass_1 = SubResource("SphereMesh_xu4hf") [node name="Chinthe SFX" type="AudioStreamPlayer3D" parent="."] max_distance = 25.0 + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheStats.tres deleted file mode 100644 index cf3b70af..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://c854s8bdil3"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_616yc"] - -[resource] -script = ExtResource("1_616yc") -CurrentHP = 55.0 -MaximumHP = 55 -CurrentAttack = 10 -CurrentDefense = 10 -MaxAttack = 10 -MaxDefense = 10 -ExpFromDefeat = 100 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/Ambassador.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/Ambassador.tscn index eee25574..639ab361 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/Ambassador.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/Ambassador.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=14 format=3 uid="uid://fosk3kt7vp8d"] +[gd_scene load_steps=15 format=3 uid="uid://fosk3kt7vp8d"] [ext_resource type="Script" uid="uid://dauir5q616wyq" path="res://src/enemy/enemy_types/08a. Ambassador/Ambassador.cs" id="1_m2guv"] [ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_hqy0f"] @@ -9,6 +9,7 @@ [ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_e5lq0"] [ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_qyfut"] [ext_resource type="AudioStream" uid="uid://bu3up7dn13xyo" path="res://src/audio/sfx/enemy_ambassador_death.ogg" id="9_7f1qq"] +[ext_resource type="AudioStream" uid="uid://6aje2myxas3d" path="res://src/audio/sfx/enemy_ambassador_aggro.ogg" id="10_sjoyv"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -115,3 +116,8 @@ bus = &"SFX" unique_name_in_owner = true stream = ExtResource("9_7f1qq") bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_sjoyv") +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorModelView.tscn index d64ecc33..ff24b459 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorModelView.tscn @@ -2054,3 +2054,8 @@ advance_expression_base_node = NodePath("..") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] bus = &"SFX" + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorStats.tres deleted file mode 100644 index 69122e20..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/AmbassadorStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://bcpygpm2q5bpn"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_1vmbx"] - -[resource] -script = ExtResource("1_1vmbx") -CurrentHP = 80.0 -MaximumHP = 80 -CurrentAttack = 10 -CurrentDefense = 10 -MaxAttack = 10 -MaxDefense = 10 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorRed.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorRed.tscn index f0519208..d27d56a4 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorRed.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorRed.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=14 format=3 uid="uid://c5gbaybqm4cuk"] +[gd_scene load_steps=15 format=3 uid="uid://c5gbaybqm4cuk"] [ext_resource type="Script" uid="uid://dauir5q616wyq" path="res://src/enemy/enemy_types/08a. Ambassador/Ambassador.cs" id="1_4nav4"] [ext_resource type="PackedScene" uid="uid://72lbcmp4bcx4" path="res://src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorSmallModelView.tscn" id="4_hqkeq"] @@ -9,6 +9,7 @@ [ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_o0cbq"] [ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_u6pfl"] [ext_resource type="AudioStream" uid="uid://bu3up7dn13xyo" path="res://src/audio/sfx/enemy_ambassador_death.ogg" id="9_v4xmn"] +[ext_resource type="AudioStream" uid="uid://6aje2myxas3d" path="res://src/audio/sfx/enemy_ambassador_aggro.ogg" id="10_a21yr"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -114,3 +115,8 @@ bus = &"SFX" unique_name_in_owner = true stream = ExtResource("9_v4xmn") bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_a21yr") +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorSmallModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorSmallModelView.tscn index ac93ea7f..ec126362 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorSmallModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorSmallModelView.tscn @@ -2000,3 +2000,8 @@ advance_expression_base_node = NodePath("..") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] bus = &"SFX" + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorStats.tres deleted file mode 100644 index 5538fe40..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://doycpt2aqxnx"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_rf66x"] - -[resource] -script = ExtResource("1_rf66x") -CurrentHP = 35.0 -MaximumHP = 35 -CurrentAttack = 10 -CurrentDefense = 10 -MaxAttack = 10 -MaxDefense = 10 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteel.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteel.tscn index 4f64c6f1..0fd58401 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteel.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteel.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=14 format=3 uid="uid://b4oliop60eghn"] +[gd_scene load_steps=15 format=3 uid="uid://b4oliop60eghn"] [ext_resource type="Script" uid="uid://dauir5q616wyq" path="res://src/enemy/enemy_types/08a. Ambassador/Ambassador.cs" id="1_ln0kc"] [ext_resource type="PackedScene" uid="uid://lc5koiqn1sca" path="res://src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelModelView.tscn" id="4_kdt1g"] @@ -9,6 +9,7 @@ [ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_6o7lk"] [ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_3p55n"] [ext_resource type="AudioStream" uid="uid://bu3up7dn13xyo" path="res://src/audio/sfx/enemy_ambassador_death.ogg" id="9_g5uri"] +[ext_resource type="AudioStream" uid="uid://6aje2myxas3d" path="res://src/audio/sfx/enemy_ambassador_aggro.ogg" id="10_5r3ee"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -113,3 +114,8 @@ bus = &"SFX" unique_name_in_owner = true stream = ExtResource("9_g5uri") bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +stream = ExtResource("10_5r3ee") +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelModelView.tscn index 20a54195..5f24b377 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelModelView.tscn @@ -2058,3 +2058,8 @@ advance_expression_base_node = NodePath("..") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.765249, 0) bus = &"SFX" + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelStats.tres deleted file mode 100644 index ef3099ce..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://dudtbfjfekkh1"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_wijuv"] - -[resource] -script = ExtResource("1_wijuv") -CurrentHP = 100.0 -MaximumHP = 100 -CurrentAttack = 10 -CurrentDefense = 10 -MaxAttack = 10 -MaxDefense = 10 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemon.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemon.tscn index ec9963c9..ea35cbd3 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemon.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemon.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=14 format=3 uid="uid://b8ewfgcjv60es"] +[gd_scene load_steps=13 format=3 uid="uid://b8ewfgcjv60es"] [ext_resource type="Script" uid="uid://h6duv685n6eh" path="res://src/enemy/enemy_types/09. Agni/AgniDemon.cs" id="1_e2477"] [ext_resource type="PackedScene" uid="uid://bls3mcsyld4vy" path="res://src/enemy/enemy_types/09. Agni/AgniDemonModelView.tscn" id="3_tbkej"] @@ -8,7 +8,6 @@ [ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_j6ob5"] [ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_58r4a"] [ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_jvw36"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_0tn2t"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -108,5 +107,8 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("9_0tn2t") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonModelView.tscn index 4c6c0b6f..f08d9dc1 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonModelView.tscn @@ -2156,3 +2156,8 @@ autoplay = true max_distance = 10.0 bus = &"SFX" doppler_tracking = 1 + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonStats.tres deleted file mode 100644 index 725b6cb1..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://2lflwab43lb0"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_ip8hu"] - -[resource] -script = ExtResource("1_ip8hu") -CurrentHP = 60.0 -MaximumHP = 60 -CurrentAttack = 10 -CurrentDefense = 10 -MaxAttack = 10 -MaxDefense = 10 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/Eden Pillar.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/Eden Pillar.tscn index e1d27420..d95792c8 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/Eden Pillar.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/Eden Pillar.tscn @@ -1,17 +1,16 @@ -[gd_scene load_steps=233 format=3 uid="uid://cmvimr0pvsgqy"] +[gd_scene load_steps=16 format=3 uid="uid://cmvimr0pvsgqy"] [ext_resource type="Script" uid="uid://d2m7esc5ypl7y" path="res://src/enemy/enemy_types/10. Eden Pillar/EdenPillar.cs" id="1_p8jc1"] -[ext_resource type="Script" uid="uid://cqm6u7qa8japr" path="res://src/system/Projectile.cs" id="3_5fako"] [ext_resource type="PackedScene" uid="uid://cktycana6xxtp" path="res://src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.tscn" id="3_o285m"] -[ext_resource type="Texture2D" uid="uid://bc2kcbo8hvpjo" path="res://src/vfx/Enemy/EDEN_FIREBALL.png" id="4_iu5yw"] -[ext_resource type="AudioStream" uid="uid://c0jveij17p14k" path="res://src/audio/sfx/ENEMY_EDEN_PILLAR_PROJECTILETRAVEL.ogg" id="5_nc31c"] +[ext_resource type="PackedScene" uid="uid://d2i6g73k8b8q6" path="res://src/enemy/enemy_types/10. Eden Pillar/projectile_1.tscn" id="3_t4xb3"] +[ext_resource type="PackedScene" uid="uid://e48b81yeuibd" path="res://src/enemy/enemy_types/10. Eden Pillar/projectile_2.tscn" id="4_gf6oi"] +[ext_resource type="PackedScene" uid="uid://of1sm4qwibga" path="res://src/enemy/enemy_types/10. Eden Pillar/projectile_3.tscn" id="5_tahr6"] [ext_resource type="AudioStream" uid="uid://bgvt4kqyvl5gp" path="res://src/audio/sfx/ENEMY_EDEN_FIRE.ogg" id="6_d0njh"] -[ext_resource type="Texture2D" uid="uid://f21bov0pvu84" path="res://src/vfx/Enemy/watersheet.png" id="7_iu5yw"] -[ext_resource type="Texture2D" uid="uid://w5055g8ecnea" path="res://src/vfx/Enemy/EDEN_AERO.png" id="8_gf6oi"] [ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="9_gf6oi"] [ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="10_tahr6"] [ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="11_xdeci"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="12_fa1bc"] +[ext_resource type="AudioStream" uid="uid://kv3jvw47r2hy" path="res://src/audio/sfx/ENEMY_PILLAR_TURN.ogg" id="13_tahr6"] +[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="14_xdeci"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_p8jc1"] height = 3.08643 @@ -25,1645 +24,12 @@ radius = 0.202148 height = 3.98828 radius = 0.886719 -[sub_resource type="AtlasTexture" id="AtlasTexture_tahr6"] -atlas = ExtResource("4_iu5yw") -region = Rect2(1024, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xdeci"] -atlas = ExtResource("4_iu5yw") -region = Rect2(1536, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fa1bc"] -atlas = ExtResource("4_iu5yw") -region = Rect2(2048, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_g6ooq"] -atlas = ExtResource("4_iu5yw") -region = Rect2(2560, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_byyvj"] -atlas = ExtResource("4_iu5yw") -region = Rect2(3072, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ggg1m"] -atlas = ExtResource("4_iu5yw") -region = Rect2(3584, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_q58bf"] -atlas = ExtResource("4_iu5yw") -region = Rect2(4096, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1i765"] -atlas = ExtResource("4_iu5yw") -region = Rect2(4608, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_wafqm"] -atlas = ExtResource("4_iu5yw") -region = Rect2(5120, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xyjyi"] -atlas = ExtResource("4_iu5yw") -region = Rect2(5632, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ccyov"] -atlas = ExtResource("4_iu5yw") -region = Rect2(6144, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_72cq1"] -atlas = ExtResource("4_iu5yw") -region = Rect2(6656, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_3ch54"] -atlas = ExtResource("4_iu5yw") -region = Rect2(7168, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1ldhx"] -atlas = ExtResource("4_iu5yw") -region = Rect2(7680, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_unl0i"] -atlas = ExtResource("4_iu5yw") -region = Rect2(8192, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_hvv26"] -atlas = ExtResource("4_iu5yw") -region = Rect2(8704, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_n0uin"] -atlas = ExtResource("4_iu5yw") -region = Rect2(9216, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_rxdj4"] -atlas = ExtResource("4_iu5yw") -region = Rect2(9728, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_3dd1k"] -atlas = ExtResource("4_iu5yw") -region = Rect2(10240, 0, 512, 502) - -[sub_resource type="AtlasTexture" id="AtlasTexture_tgphi"] -atlas = ExtResource("4_iu5yw") -region = Rect2(10752, 0, 512, 502) - -[sub_resource type="SpriteFrames" id="SpriteFrames_qfk3b"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_tahr6") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xdeci") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fa1bc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_g6ooq") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_byyvj") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ggg1m") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_q58bf") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1i765") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_wafqm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xyjyi") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ccyov") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_72cq1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_3ch54") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1ldhx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_unl0i") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_hvv26") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_n0uin") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_rxdj4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_3dd1k") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_tgphi") -}], -"loop": true, -"name": &"default", -"speed": 24.0 -}] - -[sub_resource type="SphereShape3D" id="SphereShape3D_kct8n"] - -[sub_resource type="Animation" id="Animation_xrn7e"] -resource_name = "fire" -length = 2.13334 -step = 0.0416667 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("..:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 2.125), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector3(0, 0, 0), Vector3(0, 0, 30)] -} -tracks/1/type = "audio" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("../BULLET TRAVEL") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("5_nc31c") -}], -"times": PackedFloat32Array(0.0416667) -} -tracks/1/use_blend = true -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("../ProjectileHitbox:monitoring") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0, 0.0333333, 2.125), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 1, -"values": [false, true, false] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath(".:visible") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0, 0.0333333, 2.125), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 1, -"values": [false, true, false] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("%Projectile1/Bullet/AnimatedSprite3D:animation") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"default"] -} -tracks/5/type = "audio" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("%Projectile3/../BLAST") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("6_d0njh") -}], -"times": PackedFloat32Array(0) -} -tracks/5/use_blend = true - -[sub_resource type="Animation" id="Animation_8qeb2"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("..:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector3(0, 0, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("../ProjectileHitbox:monitoring") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath(".:visible") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("%Projectile1/Bullet/AnimatedSprite3D:animation") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"default"] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_q8n6h"] -_data = { -&"Fire": SubResource("Animation_xrn7e"), -&"RESET": SubResource("Animation_8qeb2") -} - -[sub_resource type="AtlasTexture" id="AtlasTexture_nc31c"] -atlas = ExtResource("7_iu5yw") -region = Rect2(414, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_d0njh"] -atlas = ExtResource("7_iu5yw") -region = Rect2(828, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_t4xb3"] -atlas = ExtResource("7_iu5yw") -region = Rect2(1242, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gf6oi"] -atlas = ExtResource("7_iu5yw") -region = Rect2(1656, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_qfk3b"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2070, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_epyy8"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2484, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_s4ne2"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2898, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ae3ee"] -atlas = ExtResource("7_iu5yw") -region = Rect2(3312, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_3lntq"] -atlas = ExtResource("7_iu5yw") -region = Rect2(3726, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vlsab"] -atlas = ExtResource("7_iu5yw") -region = Rect2(4140, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ap46q"] -atlas = ExtResource("7_iu5yw") -region = Rect2(4554, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2j0d2"] -atlas = ExtResource("7_iu5yw") -region = Rect2(4968, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ufubs"] -atlas = ExtResource("7_iu5yw") -region = Rect2(5382, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1prl7"] -atlas = ExtResource("7_iu5yw") -region = Rect2(5796, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_kkds3"] -atlas = ExtResource("7_iu5yw") -region = Rect2(6210, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_0lybu"] -atlas = ExtResource("7_iu5yw") -region = Rect2(6624, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7whtn"] -atlas = ExtResource("7_iu5yw") -region = Rect2(7038, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_iubf0"] -atlas = ExtResource("7_iu5yw") -region = Rect2(7452, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_stov8"] -atlas = ExtResource("7_iu5yw") -region = Rect2(7866, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_o45y3"] -atlas = ExtResource("7_iu5yw") -region = Rect2(8280, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_8l1oq"] -atlas = ExtResource("7_iu5yw") -region = Rect2(8694, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_66xhm"] -atlas = ExtResource("7_iu5yw") -region = Rect2(9108, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bcurx"] -atlas = ExtResource("7_iu5yw") -region = Rect2(9522, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7scby"] -atlas = ExtResource("7_iu5yw") -region = Rect2(9936, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4bng3"] -atlas = ExtResource("7_iu5yw") -region = Rect2(10350, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ond1d"] -atlas = ExtResource("7_iu5yw") -region = Rect2(10764, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_n5fit"] -atlas = ExtResource("7_iu5yw") -region = Rect2(11178, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ls6p2"] -atlas = ExtResource("7_iu5yw") -region = Rect2(11592, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_283o8"] -atlas = ExtResource("7_iu5yw") -region = Rect2(12006, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_mpucc"] -atlas = ExtResource("7_iu5yw") -region = Rect2(12420, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_uc1qt"] -atlas = ExtResource("7_iu5yw") -region = Rect2(12834, 0, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ru8ov"] -atlas = ExtResource("7_iu5yw") -region = Rect2(0, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xknqr"] -atlas = ExtResource("7_iu5yw") -region = Rect2(414, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_j5v31"] -atlas = ExtResource("7_iu5yw") -region = Rect2(828, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_en4u6"] -atlas = ExtResource("7_iu5yw") -region = Rect2(1242, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_io5ic"] -atlas = ExtResource("7_iu5yw") -region = Rect2(1656, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_la7jn"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2070, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_aprwe"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2484, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bjcvx"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2898, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_m6grv"] -atlas = ExtResource("7_iu5yw") -region = Rect2(3312, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_p5nk1"] -atlas = ExtResource("7_iu5yw") -region = Rect2(3726, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vtlyl"] -atlas = ExtResource("7_iu5yw") -region = Rect2(4140, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_krnds"] -atlas = ExtResource("7_iu5yw") -region = Rect2(4554, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_e41fr"] -atlas = ExtResource("7_iu5yw") -region = Rect2(4968, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_qfmrt"] -atlas = ExtResource("7_iu5yw") -region = Rect2(5382, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gx33b"] -atlas = ExtResource("7_iu5yw") -region = Rect2(5796, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gb8l4"] -atlas = ExtResource("7_iu5yw") -region = Rect2(6210, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_f2xl7"] -atlas = ExtResource("7_iu5yw") -region = Rect2(6624, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_dafv6"] -atlas = ExtResource("7_iu5yw") -region = Rect2(7038, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_r10xa"] -atlas = ExtResource("7_iu5yw") -region = Rect2(7452, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_mfrkm"] -atlas = ExtResource("7_iu5yw") -region = Rect2(7866, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_kjww1"] -atlas = ExtResource("7_iu5yw") -region = Rect2(8280, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_8b54y"] -atlas = ExtResource("7_iu5yw") -region = Rect2(8694, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vphfl"] -atlas = ExtResource("7_iu5yw") -region = Rect2(9108, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_tqm3c"] -atlas = ExtResource("7_iu5yw") -region = Rect2(9522, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_lkkr8"] -atlas = ExtResource("7_iu5yw") -region = Rect2(9936, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7qoig"] -atlas = ExtResource("7_iu5yw") -region = Rect2(10350, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_p5yh0"] -atlas = ExtResource("7_iu5yw") -region = Rect2(10764, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_a5060"] -atlas = ExtResource("7_iu5yw") -region = Rect2(11178, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_w2v4d"] -atlas = ExtResource("7_iu5yw") -region = Rect2(11592, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fkrk4"] -atlas = ExtResource("7_iu5yw") -region = Rect2(12006, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xfsjx"] -atlas = ExtResource("7_iu5yw") -region = Rect2(12420, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_g03gd"] -atlas = ExtResource("7_iu5yw") -region = Rect2(12834, 407, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vs1dl"] -atlas = ExtResource("7_iu5yw") -region = Rect2(0, 814, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_5nevj"] -atlas = ExtResource("7_iu5yw") -region = Rect2(414, 814, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_e5y28"] -atlas = ExtResource("7_iu5yw") -region = Rect2(828, 814, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ggenl"] -atlas = ExtResource("7_iu5yw") -region = Rect2(1242, 814, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_kugry"] -atlas = ExtResource("7_iu5yw") -region = Rect2(1656, 814, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_77yio"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2070, 814, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_msbdd"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2484, 814, 414, 407) - -[sub_resource type="AtlasTexture" id="AtlasTexture_nd17a"] -atlas = ExtResource("7_iu5yw") -region = Rect2(2898, 814, 414, 407) - -[sub_resource type="SpriteFrames" id="SpriteFrames_sqw6w"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_nc31c") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_d0njh") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_t4xb3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gf6oi") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_qfk3b") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_epyy8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_s4ne2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ae3ee") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_3lntq") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vlsab") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ap46q") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2j0d2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ufubs") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1prl7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_kkds3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_0lybu") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_7whtn") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_iubf0") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_stov8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_o45y3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_8l1oq") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_66xhm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bcurx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_7scby") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4bng3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ond1d") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_n5fit") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ls6p2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_283o8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_mpucc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_uc1qt") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ru8ov") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xknqr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_j5v31") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_en4u6") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_io5ic") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_la7jn") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_aprwe") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bjcvx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_m6grv") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_p5nk1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vtlyl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_krnds") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_e41fr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_qfmrt") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gx33b") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gb8l4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_f2xl7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_dafv6") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_r10xa") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_mfrkm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_kjww1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_8b54y") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vphfl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_tqm3c") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_lkkr8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_7qoig") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_p5yh0") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_a5060") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_w2v4d") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fkrk4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xfsjx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_g03gd") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vs1dl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_5nevj") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_e5y28") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ggenl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_kugry") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_77yio") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_msbdd") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_nd17a") -}], -"loop": true, -"name": &"default", -"speed": 24.0 -}] - -[sub_resource type="AtlasTexture" id="AtlasTexture_okqig"] -atlas = ExtResource("8_gf6oi") -region = Rect2(256, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_l5xbl"] -atlas = ExtResource("8_gf6oi") -region = Rect2(512, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6oxbo"] -atlas = ExtResource("8_gf6oi") -region = Rect2(768, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2cug7"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1024, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4ivyc"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1280, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_h6net"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1536, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_qttxr"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1792, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vrfe3"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2048, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_8vskp"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2304, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_v736k"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2560, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_v8fei"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2816, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_5mvim"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3072, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bxq2e"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3328, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_w7wbb"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3584, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1v0wf"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3840, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_d7jyw"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4096, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vme0y"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4352, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1gq26"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4608, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_htj02"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4864, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_beua4"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5120, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gelrx"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5376, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_5weok"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5632, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_u3cl3"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5888, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_aaygb"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6144, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_rng8d"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6400, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_jigs2"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6656, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_icafr"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6912, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2hljj"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7168, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_y03bg"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7424, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ahy42"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7680, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_nyi5w"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7936, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_mg51e"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8192, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_i2my7"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8448, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_hna3u"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8704, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_sldmi"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8960, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_flp6m"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9216, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bf5v6"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9472, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_samc6"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9728, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_tixfw"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9984, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_etpwm"] -atlas = ExtResource("8_gf6oi") -region = Rect2(10240, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_jli65"] -atlas = ExtResource("8_gf6oi") -region = Rect2(10496, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_68dke"] -atlas = ExtResource("8_gf6oi") -region = Rect2(10752, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_iyvmf"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11008, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_oo5vp"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11264, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_sxmae"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11520, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_66xds"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11776, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_10dnw"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12032, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gwg3k"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12288, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xbhy1"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12544, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_k38ir"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12800, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_cd8f4"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13056, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_l3h6f"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13312, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_myng8"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13568, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_to5bb"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13824, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_hkpkl"] -atlas = ExtResource("8_gf6oi") -region = Rect2(14080, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_g0j4y"] -atlas = ExtResource("8_gf6oi") -region = Rect2(14336, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ak6k7"] -atlas = ExtResource("8_gf6oi") -region = Rect2(14592, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bp4ov"] -atlas = ExtResource("8_gf6oi") -region = Rect2(14848, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_658xg"] -atlas = ExtResource("8_gf6oi") -region = Rect2(15104, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fbmbe"] -atlas = ExtResource("8_gf6oi") -region = Rect2(15360, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_hkls5"] -atlas = ExtResource("8_gf6oi") -region = Rect2(15616, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_tvap8"] -atlas = ExtResource("8_gf6oi") -region = Rect2(15872, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_67m1c"] -atlas = ExtResource("8_gf6oi") -region = Rect2(16128, 0, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bxqys"] -atlas = ExtResource("8_gf6oi") -region = Rect2(0, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_w4bnl"] -atlas = ExtResource("8_gf6oi") -region = Rect2(256, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gxqg3"] -atlas = ExtResource("8_gf6oi") -region = Rect2(512, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_pcumw"] -atlas = ExtResource("8_gf6oi") -region = Rect2(768, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_tus1t"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1024, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_8pptg"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1280, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_s6dvc"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1536, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_uv040"] -atlas = ExtResource("8_gf6oi") -region = Rect2(1792, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_i64l1"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2048, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fqhkx"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2304, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1ljbx"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2560, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_lhi4l"] -atlas = ExtResource("8_gf6oi") -region = Rect2(2816, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4wges"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3072, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4sgio"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3328, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ito1g"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3584, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_cpwxr"] -atlas = ExtResource("8_gf6oi") -region = Rect2(3840, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_p1fwl"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4096, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_cdvkl"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4352, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_wpj5u"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4608, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_0x44a"] -atlas = ExtResource("8_gf6oi") -region = Rect2(4864, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ijs33"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5120, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_na5up"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5376, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6kx2h"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5632, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_eakun"] -atlas = ExtResource("8_gf6oi") -region = Rect2(5888, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_rx812"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6144, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_w4y0f"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6400, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_w1gyw"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6656, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_lrjdk"] -atlas = ExtResource("8_gf6oi") -region = Rect2(6912, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_p6y0v"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7168, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_a2cqm"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7424, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7lkf4"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7680, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_07kus"] -atlas = ExtResource("8_gf6oi") -region = Rect2(7936, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_h7xtp"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8192, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_dbrmg"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8448, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2jrrr"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8704, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_rkoi2"] -atlas = ExtResource("8_gf6oi") -region = Rect2(8960, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_o8ivu"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9216, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6kmfo"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9472, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_iyo11"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9728, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xmwnt"] -atlas = ExtResource("8_gf6oi") -region = Rect2(9984, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7jhny"] -atlas = ExtResource("8_gf6oi") -region = Rect2(10240, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_uw7dc"] -atlas = ExtResource("8_gf6oi") -region = Rect2(10496, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4u665"] -atlas = ExtResource("8_gf6oi") -region = Rect2(10752, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fvfy2"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11008, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_oeabt"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11264, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vh736"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11520, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2p1wx"] -atlas = ExtResource("8_gf6oi") -region = Rect2(11776, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_hv6e3"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12032, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_l20x8"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12288, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ce3r7"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12544, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ysw4o"] -atlas = ExtResource("8_gf6oi") -region = Rect2(12800, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_j885m"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13056, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_v05tc"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13312, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_64j7e"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13568, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vqlpt"] -atlas = ExtResource("8_gf6oi") -region = Rect2(13824, 256, 256, 256) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2iaor"] -atlas = ExtResource("8_gf6oi") -region = Rect2(14080, 256, 256, 256) - -[sub_resource type="SpriteFrames" id="SpriteFrames_cu72w"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_okqig") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_l5xbl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_6oxbo") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2cug7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4ivyc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_h6net") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_qttxr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vrfe3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_8vskp") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_v736k") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_v8fei") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_5mvim") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bxq2e") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_w7wbb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1v0wf") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_d7jyw") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vme0y") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1gq26") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_htj02") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_beua4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gelrx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_5weok") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_u3cl3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_aaygb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_rng8d") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_jigs2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_icafr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2hljj") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_y03bg") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ahy42") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_nyi5w") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_mg51e") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_i2my7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_hna3u") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_sldmi") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_flp6m") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bf5v6") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_samc6") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_tixfw") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_etpwm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_jli65") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_68dke") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_iyvmf") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_oo5vp") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_sxmae") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_66xds") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_10dnw") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gwg3k") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xbhy1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_k38ir") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_cd8f4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_l3h6f") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_myng8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_to5bb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_hkpkl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_g0j4y") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ak6k7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bp4ov") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_658xg") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fbmbe") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_hkls5") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_tvap8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_67m1c") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bxqys") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_w4bnl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gxqg3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_pcumw") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_tus1t") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_8pptg") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_s6dvc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_uv040") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_i64l1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fqhkx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1ljbx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_lhi4l") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4wges") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4sgio") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ito1g") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_cpwxr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_p1fwl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_cdvkl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_wpj5u") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_0x44a") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ijs33") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_na5up") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_6kx2h") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_eakun") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_rx812") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_w4y0f") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_w1gyw") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_lrjdk") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_p6y0v") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_a2cqm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_7lkf4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_07kus") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_h7xtp") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_dbrmg") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2jrrr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_rkoi2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_o8ivu") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_6kmfo") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_iyo11") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xmwnt") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_7jhny") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_uw7dc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4u665") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fvfy2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_oeabt") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vh736") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2p1wx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_hv6e3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_l20x8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ce3r7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ysw4o") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_j885m") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_v05tc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_64j7e") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vqlpt") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2iaor") -}], -"loop": true, -"name": &"default", -"speed": 24.0 -}] +[sub_resource type="CylinderShape3D" id="CylinderShape3D_xdeci"] +radius = 7.98633 [node name="Eden Pillar" type="CharacterBody3D"] collision_layer = 10 -collision_mask = 3 +collision_mask = 0 script = ExtResource("1_p8jc1") [node name="CollisionShape" type="CollisionShape3D" parent="."] @@ -1707,127 +73,61 @@ collision_mask = 3 [node name="Rotation" type="Node3D" parent="."] unique_name_in_owner = true -[node name="Projectile1" type="Node3D" parent="."] +[node name="Projectile1" parent="." instance=ExtResource("3_t4xb3")] unique_name_in_owner = true -script = ExtResource("3_5fako") -[node name="Bullet" type="Node3D" parent="Projectile1"] - -[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Projectile1/Bullet"] -transform = Transform3D(0.45, 0, 0, 0, 0.45, 0, 0, 0, 0.45, 0, 1.195, 0) -visible = false -offset = Vector2(0, 150) -billboard = 1 -sprite_frames = SubResource("SpriteFrames_qfk3b") -autoplay = "default" -frame_progress = 0.369929 - -[node name="ProjectileHitbox" type="Area3D" parent="Projectile1/Bullet"] +[node name="Projectile2" parent="." instance=ExtResource("4_gf6oi")] unique_name_in_owner = true -collision_layer = 0 -collision_mask = 64 -monitoring = false -[node name="CollisionShape3D" type="CollisionShape3D" parent="Projectile1/Bullet/ProjectileHitbox"] -shape = SubResource("SphereShape3D_kct8n") - -[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Projectile1/Bullet"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.983215, 0) -max_distance = 35.0 -max_polyphony = 3 - -[node name="AnimationPlayer" type="AnimationPlayer" parent="Projectile1/Bullet"] +[node name="Projectile3" parent="." instance=ExtResource("5_tahr6")] unique_name_in_owner = true -root_node = NodePath("../AnimatedSprite3D") -libraries = { -&"": SubResource("AnimationLibrary_q8n6h") -} -[node name="Projectile2" type="Node3D" parent="."] -unique_name_in_owner = true -transform = Transform3D(-0.529919, 0, 0.848048, 0, 1, 0, -0.848048, 0, -0.529919, 0, 0, 0) -script = ExtResource("3_5fako") +[node name="SFX" type="Node3D" parent="."] -[node name="Bullet" type="Node3D" parent="Projectile2"] - -[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Projectile2/Bullet"] -transform = Transform3D(0.31, 0, 1.53979e-08, 0, 0.31, 0, -1.53979e-08, 0, 0.31, 0, 1.391, 0) -visible = false -offset = Vector2(0, 150) -billboard = 1 -sprite_frames = SubResource("SpriteFrames_sqw6w") -autoplay = "default" -frame_progress = 0.973103 - -[node name="ProjectileHitbox" type="Area3D" parent="Projectile2/Bullet"] -collision_layer = 0 -collision_mask = 64 -monitoring = false - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Projectile2/Bullet/ProjectileHitbox"] -shape = SubResource("SphereShape3D_kct8n") - -[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Projectile2/Bullet"] - -[node name="AnimationPlayer" type="AnimationPlayer" parent="Projectile2/Bullet"] -root_node = NodePath("../AnimatedSprite3D") -libraries = { -&"": SubResource("AnimationLibrary_q8n6h") -} - -[node name="Projectile3" type="Node3D" parent="."] -unique_name_in_owner = true -transform = Transform3D(-0.529919, 0, -0.848048, 0, 1, 0, 0.848048, 0, -0.529919, 0, 0, 0) -script = ExtResource("3_5fako") - -[node name="Bullet" type="Node3D" parent="Projectile3"] - -[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Projectile3/Bullet"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.26, 0) -visible = false -offset = Vector2(0, 150) -billboard = 1 -sprite_frames = SubResource("SpriteFrames_cu72w") -autoplay = "default" -frame_progress = 0.897082 - -[node name="ProjectileHitbox" type="Area3D" parent="Projectile3/Bullet"] -collision_layer = 0 -collision_mask = 64 -monitoring = false - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Projectile3/Bullet/ProjectileHitbox"] -shape = SubResource("SphereShape3D_kct8n") - -[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Projectile3/Bullet"] - -[node name="AnimationPlayer" type="AnimationPlayer" parent="Projectile3/Bullet"] -root_node = NodePath("../AnimatedSprite3D") -libraries = { -&"": SubResource("AnimationLibrary_q8n6h") -} - -[node name="BLAST" type="AudioStreamPlayer3D" parent="."] -max_polyphony = 3 - -[node name="HitSounds" type="Node3D" parent="."] - -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("9_gf6oi") bus = &"SFX" -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="HitSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("10_tahr6") bus = &"SFX" -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("11_xdeci") bus = &"SFX" -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="DieSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("12_fa1bc") bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +bus = &"SFX" + +[node name="StoneRotation" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +stream = ExtResource("13_tahr6") + +[node name="FireSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +transform = Transform3D(1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 0, 0, 0) +stream = ExtResource("6_d0njh") +max_polyphony = 3 + +[node name="Components" type="Node3D" parent="."] + +[node name="EngagePlayerBehavior" parent="Components" instance=ExtResource("14_xdeci")] +unique_name_in_owner = true +_minimumAttackTime = 10.0 +_maximumAttackTime = 15.0 + +[node name="PlayerDetector" type="Area3D" parent="."] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 32 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetector"] +shape = SubResource("CylinderShape3D_xdeci") diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillar.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillar.cs index ab7920fd..6e8a8ce8 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillar.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillar.cs @@ -8,7 +8,7 @@ using Zennysoft.Ma.Adapter; namespace Zennysoft.Game.Ma; [Meta(typeof(IAutoNode))] -public partial class EdenPillar : Enemy3D, IHasPrimaryAttack, IHasSecondaryAttack, IHasTertiaryAttack +public partial class EdenPillar : Enemy3D, IHasPrimaryAttack, IHasSecondaryAttack, IHasTertiaryAttack, IHaveEngagePlayerBehavior { public override void _Notification(int what) => this.Notify(what); @@ -32,70 +32,118 @@ public partial class EdenPillar : Enemy3D, IHasPrimaryAttack, IHasSecondaryAttac [Node] private Node3D _rotation { get; set; } = default!; + [Node] private AudioStreamPlayer3D StoneRotation { get; set; } = default!; + + [Node] private AudioStreamPlayer3D FireSFX { get; set; } = default!; + + [Node] public Area3D PlayerDetector { get; set; } = default!; + + [Node] public EngagePlayerBehavior EngagePlayerBehavior { get; set; } = default!; + + private float _primaryAngle = 0; private float _secondaryAngle = -122; private float _tertiaryAngle = 122; private float _targetAngle; + public void OnReady() + { + PlayerDetector.BodyEntered += PlayerDetector_BodyEntered; + EngagePlayerBehavior.TakeAction += PerformAction; + HealthComponent.HealthReachedZero += HealthComponent_HealthReachedZero; + } + + private void HealthComponent_HealthReachedZero() + { + StoneRotation.Stop(); + } + + private void PlayerDetector_BodyEntered(Node3D body) + { + EngagePlayerBehavior.Engage(); + } + public override void PerformAction() { - var rng = new RandomNumberGenerator(); - var options = new List() { PrimaryAttack, SecondaryAttack, TertiaryAttack }; - var selection = rng.RandWeighted([1, 1, 1]); - options[(int)selection].Invoke(); + var rng = new RandomNumberGenerator(); + var options = new List() { PrimaryAttack, SecondaryAttack, TertiaryAttack }; + var selection = rng.RandWeighted([1, 1, 1]); + options[(int)selection].Invoke(); } public void PrimaryAttack() { - var rotationAngle = GetRotationAngle(Mathf.DegToRad(_primaryAngle)); - var tweener = GetTree().CreateTween(); - tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f); - tweener.TweenCallback(Callable.From(FirePrimaryShot)); + var rotationAngle = GetRotationAngle(Mathf.DegToRad(_primaryAngle)); + if (!StoneRotation.Playing && !Mathf.IsEqualApprox(Rotation.Y, rotationAngle)) + StoneRotation.Play(); + var tweener = GetTree().CreateTween(); + tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f); + tweener.TweenCallback(Callable.From(FirePrimaryShot)); } public void SecondaryAttack() { - var rotationAngle = GetRotationAngle(Mathf.DegToRad(_secondaryAngle)); - var tweener = GetTree().CreateTween(); - tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f); - tweener.TweenCallback(Callable.From(FireSecondaryShot)); + var rotationAngle = GetRotationAngle(Mathf.DegToRad(_secondaryAngle)); + if (!StoneRotation.Playing && !Mathf.IsEqualApprox(Rotation.Y, rotationAngle)) + StoneRotation.Play(); + var tweener = GetTree().CreateTween(); + tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f); + tweener.TweenCallback(Callable.From(FireSecondaryShot)); } public void TertiaryAttack() { - var rotationAngle = GetRotationAngle(Mathf.DegToRad(_tertiaryAngle)); - var tweener = GetTree().CreateTween(); - tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f); - tweener.TweenCallback(Callable.From(FireTertiaryShot)); + var rotationAngle = GetRotationAngle(Mathf.DegToRad(_tertiaryAngle)); + if (!StoneRotation.Playing && !Mathf.IsEqualApprox(Rotation.Y, rotationAngle)) + StoneRotation.Play(); + var tweener = GetTree().CreateTween(); + tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f); + tweener.TweenCallback(Callable.From(FireTertiaryShot)); } private void FirePrimaryShot() { - GD.Print("Fire primary shot"); - Projectile1.Fire(); + if (HealthComponent.CurrentHP.Value <= 0) + return; + StoneRotation.Stop(); + FireSFX.Play(); + GD.Print("Fire primary shot"); + Projectile1.Fire(); } private void FireSecondaryShot() { - GD.Print("Fire secondary shot"); - Projectile2.Fire(); + if (HealthComponent.CurrentHP.Value <= 0) + return; + StoneRotation.Stop(); + FireSFX.Play(); + GD.Print("Fire secondary shot"); + Projectile2.Fire(); } private void FireTertiaryShot() { - GD.Print("Fire tertiary shot"); - Projectile3.Fire(); + if (HealthComponent.CurrentHP.Value <= 0) + return; + StoneRotation.Stop(); + FireSFX.Play(); + GD.Print("Fire tertiary shot"); + Projectile3.Fire(); } private float GetRotationAngle(float angleOffsetInRadians) { - var target = new Vector3(_player.GlobalPosition.X, Position.Y, _player.GlobalPosition.Z); - _rotation.LookAt(target, Vector3.Up, true); - _rotation.RotateY(Rotation.Y + angleOffsetInRadians); - return _rotation.Rotation.Y; + var target = new Vector3(_player.GlobalPosition.X, Position.Y, _player.GlobalPosition.Z); + _rotation.LookAt(target, Vector3.Up, true); + _rotation.RotateY(Rotation.Y + angleOffsetInRadians); + return _rotation.Rotation.Y; } - private void RotateTowardsPlayer(float angle) => Rotation = new Vector3(Rotation.X, angle, Rotation.Z); - + private void RotateTowardsPlayer(float angle) + { + if (HealthComponent.CurrentHP.Value <= 0) + return; + Rotation = new Vector3(Rotation.X, angle, Rotation.Z); + } } diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs new file mode 100644 index 00000000..a7b4d3dc --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs @@ -0,0 +1,24 @@ +using Chickensoft.AutoInject; +using Chickensoft.Introspection; +using Zennysoft.Game.Ma; + +[Meta(typeof(IAutoNode))] +public partial class EdenPillarModelView : EnemyModelView3D +{ + public override void _Notification(int what) => this.Notify(what); + + public new void OnReady() + { + + } + + public override void PlayHitAnimation() + { + _animationPlayer.Play("take_damage"); + } + + public override void PlayDeathAnimation() + { + _animationPlayer.Play("defeated"); + } +} diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs.uid b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs.uid new file mode 100644 index 00000000..d45c7ab3 --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs.uid @@ -0,0 +1 @@ +uid://2kqcur5c32dr diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.tscn index 6a4cd3f8..17449712 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=22 format=4 uid="uid://cktycana6xxtp"] [ext_resource type="Texture2D" uid="uid://cvst7yhbw0sxt" path="res://src/enemy/enemy_types/10. Eden Pillar/model/PILLAR EXPORT 1_ENEMY_PILLAR_TEXTURE2.jpg" id="1_1kpl1"] -[ext_resource type="Script" uid="uid://ckv5dmrw6pvn6" path="res://src/enemy/EnemyModelView3D.cs" id="1_11eq8"] +[ext_resource type="Script" uid="uid://2kqcur5c32dr" path="res://src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs" id="1_qhmtu"] [ext_resource type="Texture2D" uid="uid://bnbveonobhyhc" path="res://src/enemy/enemy_types/10. Eden Pillar/model/PILLAR EXPORT 1_cannon_edge.png" id="2_11eq8"] [ext_resource type="Material" uid="uid://brwu51ylevbmg" path="res://src/enemy/BossHit.tres" id="2_xf2ga"] [ext_resource type="Texture2D" uid="uid://by7k6crx6fmpv" path="res://src/enemy/enemy_types/10. Eden Pillar/model/PILLAR EXPORT 1_floral_single_tile.jpg" id="3_oxjs8"] @@ -237,9 +237,6 @@ tracks/1/keys = { "values": [ExtResource("2_xf2ga")] } -[sub_resource type="Animation" id="Animation_6jr7s"] -resource_name = "primary_attack" - [sub_resource type="Animation" id="Animation_xf2ga"] resource_name = "take_damage" length = 0.250008 @@ -285,13 +282,14 @@ tracks/2/keys = { _data = { &"RESET": SubResource("Animation_qhmtu"), &"defeated": SubResource("Animation_mi284"), -&"primary_attack": SubResource("Animation_6jr7s"), &"take_damage": SubResource("Animation_xf2ga") } +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_qhmtu"] + [node name="EdenPillarModelView" type="Node3D"] transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0, 0) -script = ExtResource("1_11eq8") +script = ExtResource("1_qhmtu") [node name="MeshInstance" type="MeshInstance3D" parent="."] unique_name_in_owner = true @@ -299,12 +297,19 @@ transform = Transform3D(-2.29567e-08, 0.525188, 0.290134, -0.6, -2.62268e-08, 0, mesh = SubResource("ArrayMesh_8pgwy") skeleton = NodePath("") +[node name="Firing" type="AudioStreamPlayer3D" parent="."] + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" + [node name="AnimationPlayer" type="AnimationPlayer" parent="."] unique_name_in_owner = true libraries = { &"": SubResource("AnimationLibrary_mi284") } -[node name="Stone Rotation" type="AudioStreamPlayer3D" parent="."] - -[node name="Firing" type="AudioStreamPlayer3D" parent="."] +[node name="AnimationTree" type="AnimationTree" parent="."] +unique_name_in_owner = true +tree_root = SubResource("AnimationNodeStateMachine_qhmtu") diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_1.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_1.tscn new file mode 100644 index 00000000..d8eee57f --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_1.tscn @@ -0,0 +1,301 @@ +[gd_scene load_steps=31 format=3 uid="uid://d2i6g73k8b8q6"] + +[ext_resource type="Script" uid="uid://cqm6u7qa8japr" path="res://src/system/Projectile.cs" id="1_120b0"] +[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_120b0"] +[ext_resource type="Texture2D" uid="uid://bc2kcbo8hvpjo" path="res://src/vfx/Enemy/EDEN_FIREBALL.png" id="2_yk5wk"] +[ext_resource type="AudioStream" uid="uid://c0jveij17p14k" path="res://src/audio/sfx/ENEMY_EDEN_PILLAR_PROJECTILETRAVEL.ogg" id="3_c2pmi"] + +[sub_resource type="Resource" id="Resource_yk5wk"] +script = ExtResource("2_120b0") +Damage = 10 +ElementType = 4 +metadata/_custom_type_script = "uid://ctshiyffvt4y5" + +[sub_resource type="AtlasTexture" id="AtlasTexture_tahr6"] +atlas = ExtResource("2_yk5wk") +region = Rect2(1024, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xdeci"] +atlas = ExtResource("2_yk5wk") +region = Rect2(1536, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fa1bc"] +atlas = ExtResource("2_yk5wk") +region = Rect2(2048, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g6ooq"] +atlas = ExtResource("2_yk5wk") +region = Rect2(2560, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_byyvj"] +atlas = ExtResource("2_yk5wk") +region = Rect2(3072, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ggg1m"] +atlas = ExtResource("2_yk5wk") +region = Rect2(3584, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q58bf"] +atlas = ExtResource("2_yk5wk") +region = Rect2(4096, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1i765"] +atlas = ExtResource("2_yk5wk") +region = Rect2(4608, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wafqm"] +atlas = ExtResource("2_yk5wk") +region = Rect2(5120, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xyjyi"] +atlas = ExtResource("2_yk5wk") +region = Rect2(5632, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ccyov"] +atlas = ExtResource("2_yk5wk") +region = Rect2(6144, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_72cq1"] +atlas = ExtResource("2_yk5wk") +region = Rect2(6656, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3ch54"] +atlas = ExtResource("2_yk5wk") +region = Rect2(7168, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1ldhx"] +atlas = ExtResource("2_yk5wk") +region = Rect2(7680, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_unl0i"] +atlas = ExtResource("2_yk5wk") +region = Rect2(8192, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hvv26"] +atlas = ExtResource("2_yk5wk") +region = Rect2(8704, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n0uin"] +atlas = ExtResource("2_yk5wk") +region = Rect2(9216, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rxdj4"] +atlas = ExtResource("2_yk5wk") +region = Rect2(9728, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3dd1k"] +atlas = ExtResource("2_yk5wk") +region = Rect2(10240, 0, 512, 502) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tgphi"] +atlas = ExtResource("2_yk5wk") +region = Rect2(10752, 0, 512, 502) + +[sub_resource type="SpriteFrames" id="SpriteFrames_qfk3b"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_tahr6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xdeci") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fa1bc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_g6ooq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_byyvj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ggg1m") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q58bf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1i765") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wafqm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xyjyi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ccyov") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_72cq1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3ch54") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1ldhx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_unl0i") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hvv26") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n0uin") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rxdj4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3dd1k") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tgphi") +}], +"loop": true, +"name": &"default", +"speed": 24.0 +}] + +[sub_resource type="SphereShape3D" id="SphereShape3D_kct8n"] + +[sub_resource type="Animation" id="Animation_xrn7e"] +resource_name = "fire" +length = 2.13334 +step = 0.0416667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("..:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.125), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector3(0, 0, 0), Vector3(0, 0, 30)] +} +tracks/1/type = "audio" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../BULLET TRAVEL") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"clips": [{ +"end_offset": 5.41597, +"start_offset": 0.0, +"stream": ExtResource("3_c2pmi") +}], +"times": PackedFloat32Array(0.0416667) +} +tracks/1/use_blend = true +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.0333333, 2.125), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [false, true, false] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("%ProjectileHitbox/CollisionShape3D:disabled") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.0416667), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="Animation" id="Animation_8qeb2"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("..:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("%ProjectileHitbox/CollisionShape3D:disabled") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_q8n6h"] +_data = { +&"Fire": SubResource("Animation_xrn7e"), +&"RESET": SubResource("Animation_8qeb2") +} + +[node name="Projectile1" type="Node3D"] +script = ExtResource("1_120b0") +AttackData = SubResource("Resource_yk5wk") + +[node name="Bullet" type="Node3D" parent="."] + +[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Bullet"] +transform = Transform3D(0.45, 0, 0, 0, 0.45, 0, 0, 0, 0.45, 0, 1.195, 0) +visible = false +offset = Vector2(0, 150) +billboard = 1 +sprite_frames = SubResource("SpriteFrames_qfk3b") +autoplay = "default" +frame_progress = 0.369929 + +[node name="ProjectileHitbox" type="Area3D" parent="Bullet/AnimatedSprite3D"] +unique_name_in_owner = true +transform = Transform3D(2.22222, 0, 0, 0, 2.22222, 0, 0, 0, 2.22222, 0, 1.21676, 0) +collision_layer = 0 +collision_mask = 65 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Bullet/AnimatedSprite3D/ProjectileHitbox"] +shape = SubResource("SphereShape3D_kct8n") +disabled = true + +[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Bullet"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.983215, 0) +max_distance = 35.0 +max_polyphony = 3 +bus = &"SFX" + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Bullet"] +unique_name_in_owner = true +root_node = NodePath("../AnimatedSprite3D") +libraries = { +&"": SubResource("AnimationLibrary_q8n6h") +} diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_2.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_2.tscn new file mode 100644 index 00000000..479a5e10 --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_2.tscn @@ -0,0 +1,656 @@ +[gd_scene load_steps=82 format=3 uid="uid://e48b81yeuibd"] + +[ext_resource type="Script" uid="uid://cqm6u7qa8japr" path="res://src/system/Projectile.cs" id="1_4lakg"] +[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_4lakg"] +[ext_resource type="Texture2D" uid="uid://f21bov0pvu84" path="res://src/vfx/Enemy/watersheet.png" id="2_umubt"] +[ext_resource type="AudioStream" uid="uid://c0jveij17p14k" path="res://src/audio/sfx/ENEMY_EDEN_PILLAR_PROJECTILETRAVEL.ogg" id="3_2jyax"] + +[sub_resource type="Resource" id="Resource_umubt"] +script = ExtResource("2_4lakg") +Damage = 10 +ElementType = 3 +metadata/_custom_type_script = "uid://ctshiyffvt4y5" + +[sub_resource type="AtlasTexture" id="AtlasTexture_nc31c"] +atlas = ExtResource("2_umubt") +region = Rect2(414, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d0njh"] +atlas = ExtResource("2_umubt") +region = Rect2(828, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_t4xb3"] +atlas = ExtResource("2_umubt") +region = Rect2(1242, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gf6oi"] +atlas = ExtResource("2_umubt") +region = Rect2(1656, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qfk3b"] +atlas = ExtResource("2_umubt") +region = Rect2(2070, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_epyy8"] +atlas = ExtResource("2_umubt") +region = Rect2(2484, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s4ne2"] +atlas = ExtResource("2_umubt") +region = Rect2(2898, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ae3ee"] +atlas = ExtResource("2_umubt") +region = Rect2(3312, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3lntq"] +atlas = ExtResource("2_umubt") +region = Rect2(3726, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vlsab"] +atlas = ExtResource("2_umubt") +region = Rect2(4140, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ap46q"] +atlas = ExtResource("2_umubt") +region = Rect2(4554, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2j0d2"] +atlas = ExtResource("2_umubt") +region = Rect2(4968, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ufubs"] +atlas = ExtResource("2_umubt") +region = Rect2(5382, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1prl7"] +atlas = ExtResource("2_umubt") +region = Rect2(5796, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kkds3"] +atlas = ExtResource("2_umubt") +region = Rect2(6210, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0lybu"] +atlas = ExtResource("2_umubt") +region = Rect2(6624, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7whtn"] +atlas = ExtResource("2_umubt") +region = Rect2(7038, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_iubf0"] +atlas = ExtResource("2_umubt") +region = Rect2(7452, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_stov8"] +atlas = ExtResource("2_umubt") +region = Rect2(7866, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_o45y3"] +atlas = ExtResource("2_umubt") +region = Rect2(8280, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8l1oq"] +atlas = ExtResource("2_umubt") +region = Rect2(8694, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_66xhm"] +atlas = ExtResource("2_umubt") +region = Rect2(9108, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bcurx"] +atlas = ExtResource("2_umubt") +region = Rect2(9522, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7scby"] +atlas = ExtResource("2_umubt") +region = Rect2(9936, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4bng3"] +atlas = ExtResource("2_umubt") +region = Rect2(10350, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ond1d"] +atlas = ExtResource("2_umubt") +region = Rect2(10764, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n5fit"] +atlas = ExtResource("2_umubt") +region = Rect2(11178, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ls6p2"] +atlas = ExtResource("2_umubt") +region = Rect2(11592, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_283o8"] +atlas = ExtResource("2_umubt") +region = Rect2(12006, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mpucc"] +atlas = ExtResource("2_umubt") +region = Rect2(12420, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uc1qt"] +atlas = ExtResource("2_umubt") +region = Rect2(12834, 0, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ru8ov"] +atlas = ExtResource("2_umubt") +region = Rect2(0, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xknqr"] +atlas = ExtResource("2_umubt") +region = Rect2(414, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j5v31"] +atlas = ExtResource("2_umubt") +region = Rect2(828, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_en4u6"] +atlas = ExtResource("2_umubt") +region = Rect2(1242, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_io5ic"] +atlas = ExtResource("2_umubt") +region = Rect2(1656, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_la7jn"] +atlas = ExtResource("2_umubt") +region = Rect2(2070, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_aprwe"] +atlas = ExtResource("2_umubt") +region = Rect2(2484, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bjcvx"] +atlas = ExtResource("2_umubt") +region = Rect2(2898, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_m6grv"] +atlas = ExtResource("2_umubt") +region = Rect2(3312, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p5nk1"] +atlas = ExtResource("2_umubt") +region = Rect2(3726, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vtlyl"] +atlas = ExtResource("2_umubt") +region = Rect2(4140, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_krnds"] +atlas = ExtResource("2_umubt") +region = Rect2(4554, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e41fr"] +atlas = ExtResource("2_umubt") +region = Rect2(4968, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qfmrt"] +atlas = ExtResource("2_umubt") +region = Rect2(5382, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gx33b"] +atlas = ExtResource("2_umubt") +region = Rect2(5796, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gb8l4"] +atlas = ExtResource("2_umubt") +region = Rect2(6210, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f2xl7"] +atlas = ExtResource("2_umubt") +region = Rect2(6624, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dafv6"] +atlas = ExtResource("2_umubt") +region = Rect2(7038, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_r10xa"] +atlas = ExtResource("2_umubt") +region = Rect2(7452, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mfrkm"] +atlas = ExtResource("2_umubt") +region = Rect2(7866, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kjww1"] +atlas = ExtResource("2_umubt") +region = Rect2(8280, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8b54y"] +atlas = ExtResource("2_umubt") +region = Rect2(8694, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vphfl"] +atlas = ExtResource("2_umubt") +region = Rect2(9108, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tqm3c"] +atlas = ExtResource("2_umubt") +region = Rect2(9522, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lkkr8"] +atlas = ExtResource("2_umubt") +region = Rect2(9936, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7qoig"] +atlas = ExtResource("2_umubt") +region = Rect2(10350, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p5yh0"] +atlas = ExtResource("2_umubt") +region = Rect2(10764, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_a5060"] +atlas = ExtResource("2_umubt") +region = Rect2(11178, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w2v4d"] +atlas = ExtResource("2_umubt") +region = Rect2(11592, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fkrk4"] +atlas = ExtResource("2_umubt") +region = Rect2(12006, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xfsjx"] +atlas = ExtResource("2_umubt") +region = Rect2(12420, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g03gd"] +atlas = ExtResource("2_umubt") +region = Rect2(12834, 407, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vs1dl"] +atlas = ExtResource("2_umubt") +region = Rect2(0, 814, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5nevj"] +atlas = ExtResource("2_umubt") +region = Rect2(414, 814, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e5y28"] +atlas = ExtResource("2_umubt") +region = Rect2(828, 814, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ggenl"] +atlas = ExtResource("2_umubt") +region = Rect2(1242, 814, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kugry"] +atlas = ExtResource("2_umubt") +region = Rect2(1656, 814, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_77yio"] +atlas = ExtResource("2_umubt") +region = Rect2(2070, 814, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_msbdd"] +atlas = ExtResource("2_umubt") +region = Rect2(2484, 814, 414, 407) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nd17a"] +atlas = ExtResource("2_umubt") +region = Rect2(2898, 814, 414, 407) + +[sub_resource type="SpriteFrames" id="SpriteFrames_sqw6w"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_nc31c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_d0njh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_t4xb3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gf6oi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qfk3b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_epyy8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s4ne2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ae3ee") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3lntq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vlsab") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ap46q") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2j0d2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ufubs") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1prl7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kkds3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0lybu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7whtn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_iubf0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_stov8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_o45y3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8l1oq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_66xhm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bcurx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7scby") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4bng3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ond1d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n5fit") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ls6p2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_283o8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mpucc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uc1qt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ru8ov") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xknqr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j5v31") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_en4u6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_io5ic") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_la7jn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_aprwe") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bjcvx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_m6grv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p5nk1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vtlyl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_krnds") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_e41fr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qfmrt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gx33b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gb8l4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f2xl7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dafv6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_r10xa") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mfrkm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kjww1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8b54y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vphfl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tqm3c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lkkr8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7qoig") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p5yh0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_a5060") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w2v4d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fkrk4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xfsjx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_g03gd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vs1dl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5nevj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_e5y28") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ggenl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kugry") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_77yio") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_msbdd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nd17a") +}], +"loop": true, +"name": &"default", +"speed": 24.0 +}] + +[sub_resource type="SphereShape3D" id="SphereShape3D_kct8n"] + +[sub_resource type="Animation" id="Animation_xrn7e"] +resource_name = "fire" +length = 2.13334 +step = 0.0416667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("..:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.125), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector3(0, 0, 0), Vector3(0, 0, 30)] +} +tracks/1/type = "audio" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../BULLET TRAVEL") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"clips": [{ +"end_offset": 5.416, +"start_offset": 0.0, +"stream": ExtResource("3_2jyax") +}], +"times": PackedFloat32Array(0.0416667) +} +tracks/1/use_blend = true +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.0333333, 2.125), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [false, true, false] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("%ProjectileHitbox/CollisionShape3D:disabled") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_8qeb2"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("..:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("%ProjectileHitbox/CollisionShape3D:disabled") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_q8n6h"] +_data = { +&"Fire": SubResource("Animation_xrn7e"), +&"RESET": SubResource("Animation_8qeb2") +} + +[node name="Projectile2" type="Node3D"] +transform = Transform3D(-0.529919, 0, 0.848048, 0, 1, 0, -0.848048, 0, -0.529919, 0, 0, 0) +script = ExtResource("1_4lakg") +AttackData = SubResource("Resource_umubt") + +[node name="Bullet" type="Node3D" parent="."] + +[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Bullet"] +transform = Transform3D(0.31, 0, 1.53979e-08, 0, 0.31, 0, -1.53979e-08, 0, 0.31, 0, 1.391, 0) +visible = false +offset = Vector2(0, 150) +billboard = 1 +sprite_frames = SubResource("SpriteFrames_sqw6w") +autoplay = "default" +frame_progress = 0.973103 + +[node name="ProjectileHitbox" type="Area3D" parent="Bullet/AnimatedSprite3D"] +unique_name_in_owner = true +transform = Transform3D(3.22581, 0, -2.38419e-07, 0, 3.22581, 0, 2.38419e-07, 0, 3.22581, 0, 1.32135, 0) +collision_layer = 0 +collision_mask = 65 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Bullet/AnimatedSprite3D/ProjectileHitbox"] +shape = SubResource("SphereShape3D_kct8n") +disabled = true + +[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Bullet"] +bus = &"SFX" + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Bullet"] +unique_name_in_owner = true +root_node = NodePath("../AnimatedSprite3D") +libraries = { +&"": SubResource("AnimationLibrary_q8n6h") +} diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_3.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_3.tscn new file mode 100644 index 00000000..2c8f50d4 --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/10. Eden Pillar/projectile_3.tscn @@ -0,0 +1,992 @@ +[gd_scene load_steps=130 format=3 uid="uid://of1sm4qwibga"] + +[ext_resource type="Script" uid="uid://cqm6u7qa8japr" path="res://src/system/Projectile.cs" id="1_c6b2i"] +[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_c6b2i"] +[ext_resource type="Texture2D" uid="uid://w5055g8ecnea" path="res://src/vfx/Enemy/EDEN_AERO.png" id="2_nsnf1"] +[ext_resource type="AudioStream" uid="uid://c0jveij17p14k" path="res://src/audio/sfx/ENEMY_EDEN_PILLAR_PROJECTILETRAVEL.ogg" id="3_1sxke"] + +[sub_resource type="Resource" id="Resource_nsnf1"] +script = ExtResource("2_c6b2i") +Damage = 10 +ElementType = 1 +metadata/_custom_type_script = "uid://ctshiyffvt4y5" + +[sub_resource type="AtlasTexture" id="AtlasTexture_okqig"] +atlas = ExtResource("2_nsnf1") +region = Rect2(256, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l5xbl"] +atlas = ExtResource("2_nsnf1") +region = Rect2(512, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6oxbo"] +atlas = ExtResource("2_nsnf1") +region = Rect2(768, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2cug7"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1024, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4ivyc"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1280, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h6net"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1536, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qttxr"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1792, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vrfe3"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2048, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8vskp"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2304, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v736k"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2560, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v8fei"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2816, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5mvim"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3072, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bxq2e"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3328, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w7wbb"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3584, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1v0wf"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3840, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d7jyw"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4096, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vme0y"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4352, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1gq26"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4608, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_htj02"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4864, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_beua4"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5120, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gelrx"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5376, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5weok"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5632, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_u3cl3"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5888, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_aaygb"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6144, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rng8d"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6400, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jigs2"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6656, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_icafr"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6912, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2hljj"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7168, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_y03bg"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7424, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ahy42"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7680, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nyi5w"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7936, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mg51e"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8192, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i2my7"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8448, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hna3u"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8704, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sldmi"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8960, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_flp6m"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9216, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bf5v6"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9472, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_samc6"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9728, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tixfw"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9984, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_etpwm"] +atlas = ExtResource("2_nsnf1") +region = Rect2(10240, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jli65"] +atlas = ExtResource("2_nsnf1") +region = Rect2(10496, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_68dke"] +atlas = ExtResource("2_nsnf1") +region = Rect2(10752, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_iyvmf"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11008, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oo5vp"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11264, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sxmae"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11520, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_66xds"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11776, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_10dnw"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12032, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gwg3k"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12288, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xbhy1"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12544, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_k38ir"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12800, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cd8f4"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13056, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l3h6f"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13312, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_myng8"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13568, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_to5bb"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13824, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hkpkl"] +atlas = ExtResource("2_nsnf1") +region = Rect2(14080, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g0j4y"] +atlas = ExtResource("2_nsnf1") +region = Rect2(14336, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ak6k7"] +atlas = ExtResource("2_nsnf1") +region = Rect2(14592, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bp4ov"] +atlas = ExtResource("2_nsnf1") +region = Rect2(14848, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_658xg"] +atlas = ExtResource("2_nsnf1") +region = Rect2(15104, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fbmbe"] +atlas = ExtResource("2_nsnf1") +region = Rect2(15360, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hkls5"] +atlas = ExtResource("2_nsnf1") +region = Rect2(15616, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tvap8"] +atlas = ExtResource("2_nsnf1") +region = Rect2(15872, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_67m1c"] +atlas = ExtResource("2_nsnf1") +region = Rect2(16128, 0, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bxqys"] +atlas = ExtResource("2_nsnf1") +region = Rect2(0, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w4bnl"] +atlas = ExtResource("2_nsnf1") +region = Rect2(256, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gxqg3"] +atlas = ExtResource("2_nsnf1") +region = Rect2(512, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pcumw"] +atlas = ExtResource("2_nsnf1") +region = Rect2(768, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tus1t"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1024, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8pptg"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1280, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s6dvc"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1536, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uv040"] +atlas = ExtResource("2_nsnf1") +region = Rect2(1792, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i64l1"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2048, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fqhkx"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2304, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1ljbx"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2560, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lhi4l"] +atlas = ExtResource("2_nsnf1") +region = Rect2(2816, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4wges"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3072, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4sgio"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3328, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ito1g"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3584, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cpwxr"] +atlas = ExtResource("2_nsnf1") +region = Rect2(3840, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p1fwl"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4096, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cdvkl"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4352, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wpj5u"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4608, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0x44a"] +atlas = ExtResource("2_nsnf1") +region = Rect2(4864, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ijs33"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5120, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_na5up"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5376, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6kx2h"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5632, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_eakun"] +atlas = ExtResource("2_nsnf1") +region = Rect2(5888, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rx812"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6144, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w4y0f"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6400, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w1gyw"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6656, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lrjdk"] +atlas = ExtResource("2_nsnf1") +region = Rect2(6912, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p6y0v"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7168, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_a2cqm"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7424, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7lkf4"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7680, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_07kus"] +atlas = ExtResource("2_nsnf1") +region = Rect2(7936, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h7xtp"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8192, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dbrmg"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8448, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2jrrr"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8704, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rkoi2"] +atlas = ExtResource("2_nsnf1") +region = Rect2(8960, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_o8ivu"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9216, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6kmfo"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9472, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_iyo11"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9728, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xmwnt"] +atlas = ExtResource("2_nsnf1") +region = Rect2(9984, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7jhny"] +atlas = ExtResource("2_nsnf1") +region = Rect2(10240, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uw7dc"] +atlas = ExtResource("2_nsnf1") +region = Rect2(10496, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4u665"] +atlas = ExtResource("2_nsnf1") +region = Rect2(10752, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fvfy2"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11008, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oeabt"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11264, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vh736"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11520, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2p1wx"] +atlas = ExtResource("2_nsnf1") +region = Rect2(11776, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hv6e3"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12032, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l20x8"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12288, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ce3r7"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12544, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ysw4o"] +atlas = ExtResource("2_nsnf1") +region = Rect2(12800, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j885m"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13056, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v05tc"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13312, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_64j7e"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13568, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vqlpt"] +atlas = ExtResource("2_nsnf1") +region = Rect2(13824, 256, 256, 256) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2iaor"] +atlas = ExtResource("2_nsnf1") +region = Rect2(14080, 256, 256, 256) + +[sub_resource type="SpriteFrames" id="SpriteFrames_cu72w"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_okqig") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l5xbl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6oxbo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2cug7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4ivyc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h6net") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qttxr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vrfe3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8vskp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v736k") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v8fei") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5mvim") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bxq2e") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w7wbb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1v0wf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_d7jyw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vme0y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1gq26") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_htj02") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_beua4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gelrx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5weok") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_u3cl3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_aaygb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rng8d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jigs2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_icafr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2hljj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_y03bg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ahy42") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nyi5w") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mg51e") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_i2my7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hna3u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_sldmi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_flp6m") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bf5v6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_samc6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tixfw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_etpwm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jli65") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_68dke") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_iyvmf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_oo5vp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_sxmae") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_66xds") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_10dnw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gwg3k") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xbhy1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_k38ir") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cd8f4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l3h6f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_myng8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_to5bb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hkpkl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_g0j4y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ak6k7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bp4ov") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_658xg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fbmbe") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hkls5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tvap8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_67m1c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bxqys") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w4bnl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gxqg3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pcumw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tus1t") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8pptg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s6dvc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uv040") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_i64l1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fqhkx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1ljbx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lhi4l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4wges") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4sgio") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ito1g") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cpwxr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p1fwl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cdvkl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wpj5u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0x44a") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ijs33") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_na5up") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6kx2h") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_eakun") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rx812") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w4y0f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w1gyw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lrjdk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p6y0v") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_a2cqm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7lkf4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_07kus") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h7xtp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dbrmg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2jrrr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rkoi2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_o8ivu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6kmfo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_iyo11") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xmwnt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7jhny") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uw7dc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4u665") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fvfy2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_oeabt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vh736") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2p1wx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hv6e3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l20x8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ce3r7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ysw4o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j885m") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v05tc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_64j7e") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vqlpt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2iaor") +}], +"loop": true, +"name": &"default", +"speed": 24.0 +}] + +[sub_resource type="SphereShape3D" id="SphereShape3D_kct8n"] + +[sub_resource type="Animation" id="Animation_xrn7e"] +resource_name = "fire" +length = 2.13334 +step = 0.0416667 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("..:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.125), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector3(0, 0, 0), Vector3(0, 0, 30)] +} +tracks/1/type = "audio" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../BULLET TRAVEL") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"clips": [{ +"end_offset": 5.416, +"start_offset": 0.0, +"stream": ExtResource("3_1sxke") +}], +"times": PackedFloat32Array(0.0416667) +} +tracks/1/use_blend = true +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.0333333, 2.125), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [false, true, false] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("%ProjectileHitbox/CollisionShape3D:disabled") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_8qeb2"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("..:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("%ProjectileHitbox/CollisionShape3D:disabled") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_q8n6h"] +_data = { +&"Fire": SubResource("Animation_xrn7e"), +&"RESET": SubResource("Animation_8qeb2") +} + +[node name="Projectile3" type="Node3D"] +transform = Transform3D(-0.529919, 0, -0.848048, 0, 1, 0, 0.848048, 0, -0.529919, 0, 0, 0) +script = ExtResource("1_c6b2i") +AttackData = SubResource("Resource_nsnf1") + +[node name="Bullet" type="Node3D" parent="."] + +[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Bullet"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.26, 0) +visible = false +offset = Vector2(0, 150) +billboard = 1 +sprite_frames = SubResource("SpriteFrames_cu72w") +autoplay = "default" +frame_progress = 0.897082 + +[node name="ProjectileHitbox" type="Area3D" parent="Bullet/AnimatedSprite3D"] +unique_name_in_owner = true +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.39633, 0) +collision_layer = 0 +collision_mask = 65 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Bullet/AnimatedSprite3D/ProjectileHitbox"] +shape = SubResource("SphereShape3D_kct8n") +disabled = true + +[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Bullet"] +bus = &"SFX" + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Bullet"] +unique_name_in_owner = true +root_node = NodePath("../AnimatedSprite3D") +libraries = { +&"": SubResource("AnimationLibrary_q8n6h") +} diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/Palan.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/Palan.tscn index a437c583..0e010f30 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/Palan.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/Palan.tscn @@ -110,3 +110,7 @@ bus = &"SFX" unique_name_in_owner = true stream = ExtResource("9_6scof") bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanModelView.tscn index 917e7d8e..87bea5b7 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanModelView.tscn @@ -2926,6 +2926,7 @@ libraries = { [node name="Sunblast" type="AnimatedSprite3D" parent="Sprite3D/AnimationPlayer2"] transform = Transform3D(0.335, 0, 0, 0, 0.335, 0, 0, 0, 0.335, -0.546079, 0.441674, 0) sprite_frames = SubResource("SpriteFrames_skutu") +frame = 15 [node name="Primary Attack" type="AnimatedSprite3D" parent="Sprite3D/AnimationPlayer2"] transform = Transform3D(0.275, 0, 0, 0, 0.275, 0, 0, 0, 0.275, 0, 1.33811, -0.317864) @@ -3019,3 +3020,8 @@ root_node = NodePath("../AnimatedSprite3D") libraries = { &"": SubResource("AnimationLibrary_q8n6h") } + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanStats.tres deleted file mode 100644 index 6a38438b..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/PalanStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://dc1i06laolear"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_b6ynu"] - -[resource] -script = ExtResource("1_b6ynu") -CurrentHP = 120.0 -MaximumHP = 120 -CurrentAttack = 10 -CurrentDefense = 10 -MaxAttack = 10 -MaxDefense = 10 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn index c4f25756..723f5c41 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn @@ -3474,3 +3474,8 @@ sprite_frames = SubResource("SpriteFrames_ie7uh") [node name="Attack 2 VFX" type="AnimatedSprite3D" parent="VFX Animation Player"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.74915, 0) sprite_frames = SubResource("SpriteFrames_lgwan") + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.tscn index c8235aaf..7b53f0f2 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=14 format=3 uid="uid://5s7c4dsb1wwk"] +[gd_scene load_steps=13 format=3 uid="uid://5s7c4dsb1wwk"] [ext_resource type="Script" uid="uid://cjdivu0v1kfhy" path="res://src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.cs" id="1_oxa5b"] [ext_resource type="PackedScene" uid="uid://drkaq6grim1fb" path="res://src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn" id="3_r2swr"] @@ -8,7 +8,6 @@ [ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_uwf0x"] [ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_8rh66"] [ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_m1i5i"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_7aou3"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -108,5 +107,8 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("9_7aou3") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeavenStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeavenStats.tres deleted file mode 100644 index da90fdec..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeavenStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://c5fgcsruq5gx6"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_e725b"] - -[resource] -script = ExtResource("1_e725b") -CurrentHP = 100.0 -MaximumHP = 100 -CurrentAttack = 10 -CurrentDefense = 10 -MaxAttack = 10 -MaxDefense = 10 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingy.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingy.tscn index 1bdcac58..57d91b7c 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingy.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingy.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=15 format=3 uid="uid://c5ugpasira53m"] +[gd_scene load_steps=16 format=3 uid="uid://c5ugpasira53m"] [ext_resource type="Script" uid="uid://jjulhqd5g3be" path="res://src/enemy/enemy_types/13. gold sproingy/GoldSproingy.cs" id="1_o1o4d"] [ext_resource type="PackedScene" uid="uid://dobiqowi8mhfi" path="res://src/enemy/enemy_types/13. gold sproingy/GoldSproingyModelView.tscn" id="2_o1o4d"] @@ -8,6 +8,7 @@ [ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="6_rct6y"] [ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="7_5jcke"] [ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="8_6nc43"] +[ext_resource type="AudioStream" uid="uid://dyvsuj4isc5gg" path="res://src/audio/sfx/ENEMY_golden_sproing_loop.ogg" id="9_rct6y"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.106078 @@ -99,24 +100,34 @@ unique_name_in_owner = true avoidance_enabled = true radius = 1.0 -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("5_pi08j") bus = &"SFX" -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="HitSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("6_rct6y") bus = &"SFX" -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="MorphSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("7_5jcke") bus = &"SFX" -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="DieSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true stream = ExtResource("8_6nc43") bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="SFX"] +unique_name_in_owner = true +bus = &"SFX" + +[node name="AmbientSFX" type="AudioStreamPlayer3D" parent="SFX"] +stream = ExtResource("9_rct6y") +autoplay = true +max_distance = 25.0 +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyModelView.tscn index 57d4b400..c21d0590 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyModelView.tscn @@ -663,3 +663,8 @@ root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_l2wq1") advance_expression_base_node = NodePath("..") anim_player = NodePath("../AnimationPlayer") + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyStats.tres deleted file mode 100644 index 6ca303e9..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/13. gold sproingy/GoldSproingyStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://m8wl23q4kr4t"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_dvrvn"] - -[resource] -script = ExtResource("1_dvrvn") -CurrentHP = 55.0 -MaximumHP = 55 -CurrentAttack = 0 -CurrentDefense = 0 -MaxAttack = 0 -MaxDefense = 0 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.0 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFace.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFace.tscn index 032c9d8d..487f3165 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFace.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFace.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=12 format=3 uid="uid://2wibfnu2jvlv"] +[gd_scene load_steps=11 format=3 uid="uid://2wibfnu2jvlv"] [ext_resource type="Script" uid="uid://dveonnhcxcp08" path="res://src/enemy/BossTypeA.cs" id="1_x21p4"] [ext_resource type="PackedScene" uid="uid://bid6f48l0q58o" path="res://src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn" id="2_x21p4"] @@ -7,7 +7,6 @@ [ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="5_dm428"] [ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="6_fg0ds"] [ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="7_exr8b"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="8_40bob"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_c0n4w"] radius = 10.3283 @@ -90,5 +89,8 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("8_40bob") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn index 44499bdf..84fc31b3 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=34 format=4 uid="uid://bid6f48l0q58o"] +[gd_scene load_steps=36 format=4 uid="uid://bid6f48l0q58o"] [ext_resource type="Script" uid="uid://ckv5dmrw6pvn6" path="res://src/enemy/EnemyModelView3D.cs" id="1_oxssn"] [ext_resource type="Texture2D" uid="uid://2e4cp477ex0t" path="res://src/enemy/enemy_types/14. horse_head/animation/Horse Head 1_Metal054C_1K-JPG_Color.jpg" id="1_vv6g0"] @@ -8,6 +8,8 @@ [ext_resource type="Texture2D" uid="uid://d3nsmrs41cpxs" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_Metalness.jpg" id="4_58wyj"] [ext_resource type="Texture2D" uid="uid://dhk7u4r608cby" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_NormalGL.jpg" id="5_qhoxi"] [ext_resource type="Texture2D" uid="uid://qp3uycxaljcs" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_Roughness.jpg" id="6_lj3cb"] +[ext_resource type="AudioStream" uid="uid://d3poou6ultswg" path="res://src/audio/sfx/ENEMY_HorseFace_ATK1.ogg" id="8_b3lw2"] +[ext_resource type="AudioStream" uid="uid://scp3556fn8wo" path="res://src/audio/sfx/ENEMY_UNIVERSAL_GROUND_SLAM.ogg" id="9_58wyj"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tv6dm"] resource_name = "Material" @@ -646,6 +648,21 @@ tracks/32/path = NodePath("Armature/Skeleton3D:heelIK_R") tracks/32/interp = 0 tracks/32/loop_wrap = true tracks/32/keys = PackedFloat32Array(0, 1, -0.514417, -0.701671, 0.342235, 0.354835) +tracks/33/type = "audio" +tracks/33/imported = false +tracks/33/enabled = true +tracks/33/path = NodePath("Armature/Skeleton3D/BoneAttachment3D2/AttackSFX") +tracks/33/interp = 1 +tracks/33/loop_wrap = true +tracks/33/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("8_b3lw2") +}], +"times": PackedFloat32Array(0) +} +tracks/33/use_blend = true [sub_resource type="Animation" id="Animation_nem1a"] resource_name = "secondary_attack" @@ -881,6 +898,21 @@ tracks/32/path = NodePath("Armature/Skeleton3D:heelIK_R") tracks/32/interp = 1 tracks/32/loop_wrap = true tracks/32/keys = PackedFloat32Array(0, 1, -0.514417, -0.701671, 0.342235, 0.354835, 0.0333333, 1, -0.516575, -0.696077, 0.34818, 0.356928, 0.0666667, 1, -0.521046, -0.683648, 0.361099, 0.361585, 0.1, 1, -0.526802, -0.665825, 0.378966, 0.368161, 0.133333, 1, -0.532831, -0.644142, 0.399731, 0.376016, 0.166667, 1, -0.538235, -0.620345, 0.421387, 0.384587, 0.2, 1, -0.541623, -0.598138, 0.440584, 0.393398, 0.233333, 1, -0.543484, -0.578544, 0.457025, 0.401298, 0.266667, 1, -0.544416, -0.56113, 0.47147, 0.407996, 0.3, 1, -0.544778, -0.545632, 0.484336, 0.413427, 0.333333, 1, -0.544721, -0.531989, 0.495718, 0.417767, 0.366667, 1, -0.544377, -0.520646, 0.505311, 0.421002, 0.4, 1, -0.543924, -0.510791, 0.513622, 0.423594, 0.433333, 1, -0.543459, -0.502293, 0.520716, 0.425687, 0.466667, 1, -0.543068, -0.495006, 0.52665, 0.427418, 0.5, 1, -0.542828, -0.488779, 0.531472, 0.428917, 0.533333, 1, -0.542927, -0.483649, 0.534893, 0.430352, 0.566667, 1, -0.543361, -0.479085, 0.537304, 0.431904, 0.6, 1, -0.544186, -0.474919, 0.538729, 0.433686, 0.633333, 1, -0.545455, -0.470982, 0.539193, 0.435806, 0.666667, 1, -0.547213, -0.467098, 0.538712, 0.438368, 0.7, 1, -0.549718, -0.46294, 0.537006, 0.441725, 0.733333, 1, -0.552835, -0.458304, 0.534392, 0.445821, 0.766667, 1, -0.556593, -0.453005, 0.530871, 0.450742, 0.8, 1, -0.561009, -0.446855, 0.526438, 0.456567, 0.833333, 1, -0.566094, -0.43966, 0.521083, 0.463367, 0.866667, 1, -0.574512, -0.428383, 0.511969, 0.473617, 0.9, 1, -0.580739, -0.420013, 0.504981, 0.480963, 0.933333, 1, -0.583481, -0.416308, 0.501836, 0.484146, 1.5, 1, -0.583481, -0.416308, 0.501836, 0.484147, 1.53333, 1, -0.586926, -0.412707, 0.504724, 0.480046, 1.56667, 1, -0.593849, -0.405313, 0.510547, 0.4716, 1.6, 1, -0.602537, -0.395719, 0.517887, 0.460596, 1.63333, 1, -0.611371, -0.385577, 0.525409, 0.44889, 1.66667, 1, -0.618875, -0.376627, 0.531899, 0.43844, 1.7, 1, -0.62194, -0.372867, 0.534831, 0.433723, 1.73333, 1, -0.621975, -0.376239, 0.534019, 0.431758, 1.76667, 1, -0.620122, -0.387062, 0.529695, 0.430181, 1.8, 1, -0.616869, -0.404941, 0.52204, 0.42775, 1.83333, 1, -0.61211, -0.428794, 0.511234, 0.424379, 1.86667, 1, -0.605462, -0.458552, 0.496893, 0.419813, 1.9, 1, -0.597286, -0.490892, 0.480276, 0.414256, 1.93333, 1, -0.587653, -0.524555, 0.461789, 0.407745, 2, 1, -0.564883, -0.591093, 0.421348, 0.392406, 2.03333, 1, -0.552901, -0.620859, 0.401387, 0.384349, 2.06667, 1, -0.54137, -0.646947, 0.382828, 0.376592, 2.1, 1, -0.530904, -0.668795, 0.366451, 0.36955, 2.13333, 1, -0.522132, -0.685942, 0.353021, 0.363646, 2.16667, 1, -0.515661, -0.697975, 0.34327, 0.359292, 2.2, 1, -0.513299, -0.702245, 0.339742, 0.357704, 2.20833, 1, -0.512705, -0.703308, 0.338857, 0.357304) +tracks/33/type = "audio" +tracks/33/imported = false +tracks/33/enabled = true +tracks/33/path = NodePath("Armature/Skeleton3D/BoneAttachment3D2/AttackSFX") +tracks/33/interp = 1 +tracks/33/loop_wrap = true +tracks/33/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("9_58wyj") +}], +"times": PackedFloat32Array(0.966667) +} +tracks/33/use_blend = true [sub_resource type="AnimationLibrary" id="AnimationLibrary_h244y"] _data = { @@ -944,7 +976,7 @@ states/Walking/position = Vector2(652, -44) states/attack_walk/node = SubResource("AnimationNodeAnimation_b3lw2") states/attack_walk/position = Vector2(912, 42) transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_b3lw2"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_oxssn"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_58wyj"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_qhoxi"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_lj3cb"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_agk0q"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_rv3ka"), "Idle", "attack_walk", SubResource("AnimationNodeStateMachineTransition_xl8ei"), "attack_walk", "Idle", SubResource("AnimationNodeStateMachineTransition_n4ran")] -graph_offset = Vector2(0, -109.963) +graph_offset = Vector2(-31, 161.037) [node name="EnemyModelView" type="Node3D"] script = ExtResource("1_oxssn") @@ -956,7 +988,7 @@ bones/0/name = "spine1" bones/0/parent = -1 bones/0/rest = Transform3D(1.49012e-06, 0.00846654, -0.999964, 2.93367e-08, 0.999964, 0.00846654, 1, -4.23752e-08, 1.49012e-06, 0.000155807, -0.00105953, -2.01735) bones/0/enabled = true -bones/0/position = Vector3(0.0996387, -0.364802, -1.53144) +bones/0/position = Vector3(0.0996386, -0.279526, -1.53144) bones/0/rotation = Quaternion(0.0256267, -0.805691, 0.0118477, 0.591662) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "spine0" @@ -985,7 +1017,7 @@ bones/4/parent = 3 bones/4/rest = Transform3D(0.901905, -0.410135, 0.135488, 0.412416, 0.910915, 0.0120912, -0.128377, 0.0449723, 0.990705, 2.5332e-07, 0.990515, -7.07805e-08) bones/4/enabled = true bones/4/position = Vector3(2.5332e-07, 0.990515, -7.07805e-08) -bones/4/rotation = Quaternion(4.1386e-05, 0.0627896, 0.195289, 0.978734) +bones/4/rotation = Quaternion(0.00787143, 0.0673259, 0.209846, 0.975382) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "neck4" bones/5/parent = 4 @@ -999,7 +1031,7 @@ bones/6/parent = 5 bones/6/rest = Transform3D(0.0598389, 0.98531, 0.15995, -0.975271, 0.0235553, 0.219755, 0.212759, -0.169144, 0.962353, 3.65078e-07, 1.40318, 0) bones/6/enabled = true bones/6/position = Vector3(3.65078e-07, 1.40318, 0) -bones/6/rotation = Quaternion(-0.334434, 0.0512942, -0.470392, 0.815018) +bones/6/rotation = Quaternion(-0.343022, 0.0521047, -0.494747, 0.796772) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 @@ -1034,7 +1066,7 @@ bones/11/parent = 1 bones/11/rest = Transform3D(0.981457, 0.0769315, -0.175568, 0.18837, -0.217537, 0.957703, 0.035485, -0.973015, -0.227995, -1.09896e-07, 3.84743, -2.10479e-07) bones/11/enabled = true bones/11/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07) -bones/11/rotation = Quaternion(-0.810729, -0.0883641, -0.0236887, 0.578229) +bones/11/rotation = Quaternion(-0.806075, -0.07973, -0.0234888, 0.585948) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "arm2_L" bones/12/parent = 11 @@ -1061,7 +1093,7 @@ bones/15/name = "arm1_R" bones/15/parent = 1 bones/15/rest = Transform3D(-0.98213, 0.0512573, -0.181089, -0.187541, -0.185921, 0.964501, 0.0157694, 0.981227, 0.192212, 0.00107862, 3.8461, -0.0821097) bones/15/enabled = true -bones/15/position = Vector3(-0.183961, 3.50758, 0.102613) +bones/15/position = Vector3(-0.202609, 3.65099, 0.0754982) bones/15/rotation = Quaternion(-0.502686, 0.531044, 0.680821, -0.0422068) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "arm2_R" @@ -1076,7 +1108,7 @@ bones/17/parent = 16 bones/17/rest = Transform3D(0.998789, 0.0488077, -0.00615137, -0.0491113, 0.996528, -0.0672226, 0.00284903, 0.0674433, 0.997719, -5.21541e-08, 3.04263, -1.31503e-06) bones/17/enabled = true bones/17/position = Vector3(-5.21541e-08, 3.04263, -1.31503e-06) -bones/17/rotation = Quaternion(-0.0249682, 0.0966464, 0.272252, 0.957034) +bones/17/rotation = Quaternion(-0.0459497, 0.097357, 0.264908, 0.958245) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "hand_R" bones/18/parent = 17 @@ -1089,7 +1121,7 @@ bones/19/name = "hip_L" bones/19/parent = -1 bones/19/rest = Transform3D(0.138486, 0.897208, 0.419333, -0.129033, -0.403458, 0.905854, 0.981923, -0.179556, 0.059896, 0.000155807, -0.00105953, -2.01735) bones/19/enabled = true -bones/19/position = Vector3(0.147751, -0.331617, -1.49267) +bones/19/position = Vector3(0.147751, -0.282267, -1.49267) bones/19/rotation = Quaternion(0.427793, 0.34021, 0.687061, -0.478745) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "leg1_L" @@ -1097,14 +1129,14 @@ bones/20/parent = 19 bones/20/rest = Transform3D(0.945603, 0.113405, 0.304916, -0.324072, 0.410457, 0.852351, -0.0284943, -0.9048, 0.424881, 2.08616e-07, 2.00996, -7.1153e-07) bones/20/enabled = true bones/20/position = Vector3(2.08616e-07, 2.00996, -7.1153e-07) -bones/20/rotation = Quaternion(-0.435321, -0.328349, -0.373164, 0.75062) +bones/20/rotation = Quaternion(-0.437808, -0.325257, -0.369348, 0.752405) bones/20/scale = Vector3(1, 1, 1) bones/21/name = "leg2_L" bones/21/parent = 20 bones/21/rest = Transform3D(0.990336, -0.138679, 0.00180777, 0.138628, 0.990193, 0.0173138, -0.00419111, -0.0168959, 0.999848, 5.96046e-08, 5.85994, -5.23403e-07) bones/21/enabled = true bones/21/position = Vector3(5.96046e-08, 5.85994, -5.23403e-07) -bones/21/rotation = Quaternion(-0.048608, 0.00188239, 0.388818, 0.92003) +bones/21/rotation = Quaternion(-0.0475168, 0.00188995, 0.38009, 0.923726) bones/21/scale = Vector3(1, 1, 1) bones/22/name = "foot1_L" bones/22/parent = 21 @@ -1138,7 +1170,7 @@ bones/26/name = "hip_R" bones/26/parent = -1 bones/26/rest = Transform3D(0.138486, -0.897208, -0.419333, 0.129033, -0.403458, 0.905854, -0.981923, -0.179556, 0.059896, -0.000155807, -0.00105953, -2.01735) bones/26/enabled = true -bones/26/position = Vector3(0.0289171, -0.331035, -1.59603) +bones/26/position = Vector3(0.0289172, -0.298136, -1.59603) bones/26/rotation = Quaternion(0.695067, -0.09936, -0.377924, -0.603475) bones/26/scale = Vector3(1, 1, 1) bones/27/name = "leg1_R" @@ -1146,14 +1178,14 @@ bones/27/parent = 26 bones/27/rest = Transform3D(0.945603, -0.113405, -0.304916, 0.324072, 0.410457, 0.852351, 0.0284943, -0.9048, 0.424881, -9.54606e-09, 2.00996, -3.52971e-07) bones/27/enabled = true bones/27/position = Vector3(-9.54606e-09, 2.00996, -3.52971e-07) -bones/27/rotation = Quaternion(-0.313748, 0.176775, 0.184174, 0.914545) +bones/27/rotation = Quaternion(-0.317636, 0.174004, 0.183885, 0.913793) bones/27/scale = Vector3(1, 1, 1) bones/28/name = "leg2_R" bones/28/parent = 27 bones/28/rest = Transform3D(0.990336, 0.138679, -0.00180777, -0.138628, 0.990193, 0.0173138, 0.00419111, -0.0168959, 0.999848, 4.51691e-08, 5.85994, -3.72529e-09) bones/28/enabled = true bones/28/position = Vector3(4.51691e-08, 5.85994, -3.72529e-09) -bones/28/rotation = Quaternion(-0.273992, 0.0201705, -0.178776, 0.944754) +bones/28/rotation = Quaternion(-0.268021, 0.0202226, -0.17488, 0.947192) bones/28/scale = Vector3(1, 1, 1) bones/29/name = "foot1_R" bones/29/parent = 28 @@ -1190,10 +1222,18 @@ mesh = SubResource("ArrayMesh_6e63x") skin = SubResource("Skin_yvw71") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"] -transform = Transform3D(-0.370164, -0.13327, -0.919357, -0.283733, -0.926146, 0.248495, -0.884576, 0.352835, 0.305013, -2.00357, 8.75024, 6.24756) +transform = Transform3D(-0.370165, -0.13327, -0.919357, -0.258559, -0.935769, 0.239755, -0.892258, 0.326457, 0.311931, -2.00356, 8.78487, 6.14065) bone_name = "TOP OF SKULL" bone_idx = 8 +[node name="BoneAttachment3D2" type="BoneAttachment3D" parent="Armature/Skeleton3D"] +transform = Transform3D(0.960238, 0.142738, 0.239935, -0.230152, -0.0817476, 0.969715, 0.158029, -0.986379, -0.0456457, -2.41576, 1.74228, -8.89334) +bone_name = "hand_R" +bone_idx = 18 + +[node name="AttackSFX" type="AudioStreamPlayer3D" parent="Armature/Skeleton3D/BoneAttachment3D2"] +transform = Transform3D(0.960238, -0.2437, 0.136211, 0.14274, 0.00925007, -0.989717, 0.239934, 0.969807, 0.043668, -8.82601, 7.03556, -0.84675) + [node name="Hitbox" type="Area3D" parent="."] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0) @@ -1216,3 +1256,10 @@ unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_q3bfl") anim_player = NodePath("../AnimationPlayer") + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" + +[node name="Walk2" type="AudioStreamPlayer3D" parent="."] diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/OxFaceAnimations.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/OxFaceAnimations.tres index 375eb92d..808b8a30 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/OxFaceAnimations.tres +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/OxFaceAnimations.tres @@ -1,4 +1,7 @@ -[gd_resource type="AnimationLibrary" load_steps=6 format=3 uid="uid://dn4501qsypsu"] +[gd_resource type="AnimationLibrary" load_steps=8 format=3 uid="uid://dn4501qsypsu"] + +[ext_resource type="AudioStream" uid="uid://dm0tcrjmu1a05" path="res://src/audio/sfx/enemy_boss1_step.ogg" id="1_5mwcl"] +[ext_resource type="AudioStream" uid="uid://cbx3k6qk0wakg" path="res://src/audio/sfx/enemy_oxface_stab.ogg" id="1_il05d"] [sub_resource type="Animation" id="Animation_ttkyx"] length = 0.001 @@ -594,6 +597,21 @@ tracks/40/keys = { "update": 1, "values": [true, false, true] } +tracks/41/type = "audio" +tracks/41/imported = false +tracks/41/enabled = true +tracks/41/path = NodePath("Armature/Skeleton3D/BoneAttachment3D2/AttackSFX") +tracks/41/interp = 1 +tracks/41/loop_wrap = true +tracks/41/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("1_il05d") +}], +"times": PackedFloat32Array(0) +} +tracks/41/use_blend = true [sub_resource type="Animation" id="Animation_fdnqs"] resource_name = "SHIELD BASH" @@ -1163,6 +1181,25 @@ tracks/39/path = NodePath("Armature/Skeleton3D:heelIK_R") tracks/39/interp = 1 tracks/39/loop_wrap = true tracks/39/keys = PackedFloat32Array(0, 1, -0.457231, -0.539389, 0.539388, 0.45723, 0.0666667, 1, -0.456471, -0.540172, 0.539706, 0.45669, 0.133333, 1, -0.455804, -0.540868, 0.539961, 0.456231, 0.4, 1, -0.454791, -0.542094, 0.539951, 0.455799, 0.466667, 1, -0.453821, -0.543027, 0.540487, 0.455019, 0.533333, 1, -0.452851, -0.543959, 0.541021, 0.454237, 0.6, 1, -0.451879, -0.544889, 0.541553, 0.453455, 0.766667, 1, -0.452732, -0.543999, 0.541254, 0.454029, 0.866667, 1, -0.453591, -0.543123, 0.540901, 0.454641, 0.966667, 1, -0.454449, -0.542246, 0.540547, 0.455252, 1.1, 1, -0.455592, -0.541075, 0.540073, 0.456065, 1.16667, 1, -0.456281, -0.540367, 0.539786, 0.456555) +tracks/40/type = "audio" +tracks/40/imported = false +tracks/40/enabled = true +tracks/40/path = NodePath("Walk2") +tracks/40/interp = 1 +tracks/40/loop_wrap = true +tracks/40/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("1_5mwcl") +}, { +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("1_5mwcl") +}], +"times": PackedFloat32Array(0.133333, 0.733333) +} +tracks/40/use_blend = true [resource] _data = { diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/walking.res b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/animation/walking.res index 3314b9796b591870c5af25d2a4081d672798d07b..9797736138ffc0b660c317bd7ba699e76a41a206 100644 GIT binary patch literal 5599 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 literal 5371 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 W0zn9DU;`W2zy>z3?aTvGQ$s_FyrLHX diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFace.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFace.tscn index 854687e0..6cc98f5d 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFace.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFace.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=12 format=3 uid="uid://6dnsw37d1uw4"] +[gd_scene load_steps=11 format=3 uid="uid://6dnsw37d1uw4"] [ext_resource type="Script" uid="uid://dveonnhcxcp08" path="res://src/enemy/BossTypeA.cs" id="1_v6b2s"] [ext_resource type="PackedScene" uid="uid://dnomfbym36ivg" path="res://src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn" id="2_v6b2s"] @@ -7,7 +7,6 @@ [ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="5_7w7wv"] [ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="6_v0b2d"] [ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="7_14j2x"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="8_a06d5"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_7uhtm"] radius = 12.4931 @@ -37,46 +36,49 @@ shape = SubResource("CapsuleShape3D_7uhtm") unique_name_in_owner = true [node name="Skeleton3D" parent="EnemyModelView/Armature" index="0"] -bones/0/position = Vector3(-0.26025, -1.05087, -1.96789) +bones/0/position = Vector3(-0.259419, -0.955989, -1.97429) bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149) bones/1/rotation = Quaternion(0.0828172, 0.0642671, -0.39627, 0.91213) bones/2/rotation = Quaternion(-0.137837, 0.137086, 0.403643, 0.894025) bones/3/rotation = Quaternion(-0.00338816, 0.00852271, 0.0152662, 0.999842) bones/4/rotation = Quaternion(0.037164, 0.133882, 0.101977, 0.985036) bones/5/rotation = Quaternion(-0.0397875, -0.0104688, 0.0235613, 0.998875) -bones/6/rotation = Quaternion(-0.0532479, -0.29632, -0.744339, 0.596086) +bones/6/rotation = Quaternion(-0.0748623, -0.304184, -0.744777, 0.589215) bones/7/rotation = Quaternion(0.0788712, -0.0306685, -0.220772, 0.971647) bones/8/rotation = Quaternion(-0.127286, 0.0273856, -0.425308, 0.895635) bones/9/rotation = Quaternion(-0.0931654, 0.0493592, -0.752794, 0.649757) bones/10/rotation = Quaternion(0.0429966, 0.0102923, 0.363547, 0.930526) -bones/11/rotation = Quaternion(-0.779591, -0.0571591, 0.0820738, 0.618251) +bones/11/rotation = Quaternion(-0.785185, -0.062058, 0.0709016, 0.612051) bones/12/rotation = Quaternion(-0.607818, -0.670503, -0.284916, 0.31592) bones/13/rotation = Quaternion(-0.255941, 0.586097, -0.127235, 0.758153) bones/14/rotation = Quaternion(-0.513517, -0.227335, -0.228787, 0.795157) -bones/15/rotation = Quaternion(-0.215413, 0.745263, 0.613612, -0.147173) +bones/15/rotation = Quaternion(-0.210241, 0.737203, 0.62235, -0.158151) bones/16/rotation = Quaternion(-0.486067, -0.16412, -0.362283, 0.778174) bones/17/rotation = Quaternion(-0.0553629, -0.0361614, 0.62832, 0.77514) bones/18/rotation = Quaternion(-0.119289, 0.0998131, -0.0173011, 0.987678) -bones/19/position = Vector3(-0.379135, -1.19812, -1.72419) -bones/19/rotation = Quaternion(0.627281, 0.293304, 0.545804, -0.471793) -bones/20/rotation = Quaternion(-0.32741, -0.423187, -0.299998, 0.789757) -bones/21/rotation = Quaternion(-0.060536, 0.00129808, 0.490041, 0.869594) +bones/19/position = Vector3(-0.302718, -1.12582, -1.97598) +bones/19/rotation = Quaternion(0.611408, 0.312413, 0.571405, -0.449527) +bones/20/rotation = Quaternion(-0.310858, -0.441522, -0.272557, 0.796328) +bones/21/rotation = Quaternion(-0.0601548, 0.0013007, 0.486955, 0.871352) bones/22/rotation = Quaternion(0.156218, 0.0483037, -0.624744, 0.763516) bones/23/rotation = Quaternion(0.123936, -0.00678731, -0.347765, 0.92933) bones/24/rotation = Quaternion(0.427621, 0.561851, 0.530083, 0.469549) bones/25/position = Vector3(4.82744, -12.3397, 0.183847) bones/25/rotation = Quaternion(-0.400051, 0.463947, -0.598439, 0.516317) -bones/26/position = Vector3(-0.0289579, -1.11395, -2.01913) +bones/26/position = Vector3(-0.253573, -1.11395, -2.0176) bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793) -bones/27/rotation = Quaternion(-0.201851, 0.424888, 0.137645, 0.871654) -bones/28/rotation = Quaternion(-0.0627365, -0.00116475, -0.500883, 0.863238) +bones/27/rotation = Quaternion(-0.208223, 0.421365, 0.142238, 0.871128) +bones/28/rotation = Quaternion(-0.0641552, -0.00115561, -0.51221, 0.85646) bones/29/rotation = Quaternion(0.150998, -0.0515735, 0.668372, 0.726511) bones/31/position = Vector3(-7.29038, -6.72226, -0.133983) bones/31/rotation = Quaternion(-0.453784, 0.542292, 0.542291, -0.453784) bones/32/rotation = Quaternion(0.456756, 0.539878, -0.539587, -0.456893) [node name="BoneAttachment3D" parent="EnemyModelView/Armature/Skeleton3D" index="0"] -transform = Transform3D(-0.272867, -0.046273, -0.960938, -0.332834, -0.932622, 0.13942, -0.902643, 0.357876, 0.23908, -1.68378, 8.20563, 4.95615) +transform = Transform3D(-0.297606, -0.084924, -0.950904, -0.328725, -0.926012, 0.185582, -0.896309, 0.367817, 0.247669, -1.66129, 8.31029, 4.94733) + +[node name="BoneAttachment3D2" parent="EnemyModelView/Armature/Skeleton3D" index="2"] +transform = Transform3D(-0.0446689, 0.0287099, -0.998588, -0.0869986, -0.9959, -0.0247414, -0.995205, 0.0857716, 0.0469831, -6.16044, -1.31467, -0.144618) [node name="Collision" type="Area3D" parent="."] collision_layer = 2048 @@ -132,7 +134,10 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("8_a06d5") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true bus = &"SFX" [editable path="EnemyModelView"] diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn index 413a195d..bf7e632e 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn @@ -206,7 +206,7 @@ bones/0/name = "spine1" bones/0/parent = -1 bones/0/rest = Transform3D(1.49012e-06, 0.00846654, -0.999964, 2.93367e-08, 0.999964, 0.00846654, 1, -4.23752e-08, 1.49012e-06, 0.000155807, -0.00105953, -2.01735) bones/0/enabled = true -bones/0/position = Vector3(-0.259283, -0.9404, -1.97534) +bones/0/position = Vector3(-0.260276, -1.05389, -1.96769) bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "spine0" @@ -249,7 +249,7 @@ bones/6/parent = 5 bones/6/rest = Transform3D(0.0598389, 0.98531, 0.15995, -0.975271, 0.0235553, 0.219755, 0.212759, -0.169144, 0.962353, 3.65078e-07, 1.40318, 0) bones/6/enabled = true bones/6/position = Vector3(3.65078e-07, 1.40318, 0) -bones/6/rotation = Quaternion(-0.0777813, -0.305234, -0.744803, 0.58826) +bones/6/rotation = Quaternion(-0.0520092, -0.295864, -0.744301, 0.596469) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 @@ -284,7 +284,7 @@ bones/11/parent = 1 bones/11/rest = Transform3D(0.981457, 0.0769315, -0.175568, 0.18837, -0.217537, 0.957703, 0.035485, -0.973015, -0.227995, -1.09896e-07, 3.84743, -2.10479e-07) bones/11/enabled = true bones/11/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07) -bones/11/rotation = Quaternion(-0.786087, -0.0628615, 0.0690646, 0.61102) +bones/11/rotation = Quaternion(-0.779476, -0.0570599, 0.0822994, 0.618375) bones/11/scale = Vector3(1, 0.999999, 1) bones/12/name = "arm2_L" bones/12/parent = 11 @@ -312,21 +312,21 @@ bones/15/parent = 1 bones/15/rest = Transform3D(-0.98213, 0.0512573, -0.181089, -0.187541, -0.185921, 0.964501, 0.0157694, 0.981227, 0.192212, 0.00107862, 3.8461, -0.0821097) bones/15/enabled = true bones/15/position = Vector3(0.00107886, 3.8461, -0.0821095) -bones/15/rotation = Quaternion(-0.209386, 0.735858, 0.623768, -0.15995) +bones/15/rotation = Quaternion(-0.21553, 0.745444, 0.613412, -0.146924) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "arm2_R" bones/16/parent = 15 bones/16/rest = Transform3D(0.999962, -0.00846545, 0.00203661, 0.00853768, 0.99922, -0.0385481, -0.0017087, 0.038564, 0.999254, -4.28408e-07, 3.65838, -2.16067e-06) bones/16/enabled = true bones/16/position = Vector3(-4.28408e-07, 3.65838, -2.16067e-06) -bones/16/rotation = Quaternion(-0.424022, 0.233298, -0.489444, 0.725412) +bones/16/rotation = Quaternion(-0.486067, -0.16412, -0.362283, 0.778174) bones/16/scale = Vector3(1, 1, 0.999999) bones/17/name = "arm3_R" bones/17/parent = 16 bones/17/rest = Transform3D(0.998789, 0.0488077, -0.00615137, -0.0491113, 0.996528, -0.0672226, 0.00284903, 0.0674433, 0.997719, -5.21541e-08, 3.04263, -1.31503e-06) bones/17/enabled = true bones/17/position = Vector3(-5.21541e-08, 3.04263, -1.31503e-06) -bones/17/rotation = Quaternion(-0.0553628, -0.0361614, 0.62832, 0.77514) +bones/17/rotation = Quaternion(-0.0553629, -0.0361614, 0.62832, 0.77514) bones/17/scale = Vector3(1, 0.999999, 1) bones/18/name = "hand_R" bones/18/parent = 17 @@ -339,22 +339,22 @@ bones/19/name = "hip_L" bones/19/parent = -1 bones/19/rest = Transform3D(0.138486, 0.897208, 0.419333, -0.129033, -0.403458, 0.905854, 0.981923, -0.179556, 0.059896, 0.000155807, -0.00105953, -2.01735) bones/19/enabled = true -bones/19/position = Vector3(-0.290163, -1.11395, -2.01735) -bones/19/rotation = Quaternion(0.608697, 0.3155, 0.575514, -0.445793) +bones/19/position = Vector3(-0.381562, -1.20042, -1.71619) +bones/19/rotation = Quaternion(0.627767, 0.292688, 0.544975, -0.472487) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "leg1_L" bones/20/parent = 19 bones/20/rest = Transform3D(0.945603, 0.113405, 0.304916, -0.324072, 0.410457, 0.852351, -0.0284943, -0.9048, 0.424881, 2.08616e-07, 2.00996, -7.1153e-07) bones/20/enabled = true bones/20/position = Vector3(2.08616e-07, 2.00996, -7.1153e-07) -bones/20/rotation = Quaternion(-0.30808, -0.444485, -0.267974, 0.797314) +bones/20/rotation = Quaternion(-0.327925, -0.422597, -0.300857, 0.789533) bones/20/scale = Vector3(1, 0.999999, 1) bones/21/name = "leg2_L" bones/21/parent = 20 bones/21/rest = Transform3D(0.990336, -0.138679, 0.00180777, 0.138628, 0.990193, 0.0173138, -0.00419111, -0.0168959, 0.999848, 5.96046e-08, 5.85994, -5.23403e-07) bones/21/enabled = true bones/21/position = Vector3(5.96046e-08, 5.85994, -5.23403e-07) -bones/21/rotation = Quaternion(-0.060049, 0.00130142, 0.4861, 0.871837) +bones/21/rotation = Quaternion(-0.0605445, 0.00129802, 0.49011, 0.869554) bones/21/scale = Vector3(1, 1, 1) bones/22/name = "foot1_L" bones/22/parent = 21 @@ -388,7 +388,7 @@ bones/26/name = "hip_R" bones/26/parent = -1 bones/26/rest = Transform3D(0.138486, -0.897208, -0.419333, 0.129033, -0.403458, 0.905854, -0.981923, -0.179556, 0.059896, -0.000155807, -0.00105953, -2.01735) bones/26/enabled = true -bones/26/position = Vector3(-0.290475, -1.11395, -2.01735) +bones/26/position = Vector3(-0.0218232, -1.11395, -2.01917) bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793) bones/26/scale = Vector3(1, 1, 1) bones/27/name = "leg1_R" @@ -396,14 +396,14 @@ bones/27/parent = 26 bones/27/rest = Transform3D(0.945603, -0.113405, -0.304916, 0.324072, 0.410457, 0.852351, 0.0284943, -0.9048, 0.424881, -9.54606e-09, 2.00996, -3.52971e-07) bones/27/enabled = true bones/27/position = Vector3(-9.54606e-09, 2.00996, -3.52971e-07) -bones/27/rotation = Quaternion(-0.209385, 0.420724, 0.143017, 0.871031) +bones/27/rotation = Quaternion(-0.201704, 0.42497, 0.137533, 0.871666) bones/27/scale = Vector3(1, 0.999999, 1) bones/28/name = "leg2_R" bones/28/parent = 27 bones/28/rest = Transform3D(0.990336, 0.138679, -0.00180777, -0.138628, 0.990193, 0.0173138, 0.00419111, -0.0168959, 0.999848, 4.51691e-08, 5.85994, -3.72529e-09) bones/28/enabled = true bones/28/position = Vector3(4.51691e-08, 5.85994, -3.72529e-09) -bones/28/rotation = Quaternion(-0.0643786, -0.00115414, -0.513993, 0.855374) +bones/28/rotation = Quaternion(-0.0627068, -0.00116495, -0.500645, 0.863378) bones/28/scale = Vector3(1, 1, 1) bones/29/name = "foot1_R" bones/29/parent = 28 @@ -435,7 +435,7 @@ bones/32/rotation = Quaternion(0.456756, 0.539878, -0.539587, -0.456893) bones/32/scale = Vector3(1, 1, 1) [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"] -transform = Transform3D(-0.300929, -0.0901167, -0.949379, -0.328078, -0.924976, 0.191792, -0.895436, 0.369186, 0.248787, -1.6582, 8.32712, 4.94593) +transform = Transform3D(-0.271443, -0.0440478, -0.961446, -0.333033, -0.932944, 0.136766, -0.902999, 0.357318, 0.238571, -1.68503, 8.20202, 4.95649) bone_name = "TOP OF SKULL" bone_idx = 8 @@ -457,6 +457,14 @@ custom_aabb = AABB(0, 4.26, 1.65, 0, 2.215, 3.215) mesh = SubResource("ArrayMesh_5ew54") skin = SubResource("Skin_e330f") +[node name="BoneAttachment3D2" type="BoneAttachment3D" parent="Armature/Skeleton3D"] +transform = Transform3D(-0.0477638, -0.00543313, -0.998843, -0.0797991, -0.996767, 0.00923727, -0.995664, 0.080149, 0.0471753, -6.32381, -1.21705, -0.163401) +bone_name = "hand_R" +bone_idx = 18 + +[node name="AttackSFX" type="AudioStreamPlayer3D" parent="Armature/Skeleton3D/BoneAttachment3D2"] +transform = Transform3D(-0.300929, -0.328079, -0.895438, -0.0901166, -0.924978, 0.369186, -0.94938, 0.191793, 0.248787, -14.812, 2.65093, -1.27026) + [node name="AnimationPlayer" type="AnimationPlayer" parent="."] unique_name_in_owner = true libraries = { @@ -479,3 +487,10 @@ collision_mask = 16 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.300452, 11.5388, 0.257962) shape = SubResource("BoxShape3D_pmgg3") disabled = true + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" + +[node name="Walk2" type="AudioStreamPlayer3D" parent="."] diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm1.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm1.tscn index a020333c..0260c944 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm1.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm1.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=195 format=4 uid="uid://b7ofk5cv4ldh"] +[gd_scene load_steps=191 format=4 uid="uid://b7ofk5cv4ldh"] [ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_crk52"] [ext_resource type="Texture2D" uid="uid://bid5r6mhevna3" path="res://src/enemy/enemy_types/16. demon wall/model/ARM1_AREA_2_MAIN_222STONE.png" id="2_pkcrx"] @@ -9,10 +9,6 @@ [ext_resource type="Texture2D" uid="uid://wdncxtvw7xxw" path="res://src/vfx/Enemy/demon_wall_holy_orbs.png" id="6_554i8"] [ext_resource type="Texture2D" uid="uid://cp6jald32fyon" path="res://src/vfx/Enemy/demon wall holyorb blast section.png" id="7_ij2i2"] [ext_resource type="AudioStream" uid="uid://c50a5gp3821u4" path="res://src/audio/sfx/ENEMY_DEMON_WALL_ORB.ogg" id="8_673l8"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="10_m8ri3"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="11_pxakc"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="12_g34ap"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="13_f15ds"] [sub_resource type="Resource" id="Resource_crk52"] script = ExtResource("2_crk52") @@ -2027,43 +2023,43 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(0.664239, -0.5079, 0.548475, 0.747326, 0.467912, -0.471764, -0.017029, 0.723254, 0.690372, 1.32537, -1.1447, -1.67359) bones/0/enabled = true -bones/0/position = Vector3(1.36926, -0.989588, -0.956847) -bones/0/rotation = Quaternion(0.0622507, 0.618544, 0.573477, 0.533527) +bones/0/position = Vector3(1.35023, -0.949945, -0.951) +bones/0/rotation = Quaternion(0.0863564, 0.584829, 0.634219, 0.498282) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, -0.0728408, -0.00159767, 0.0728462, 0.996536, 0.0401248, -0.00133059, -0.0401345, 0.999193, 1.19209e-07, 1.85949, 3.57628e-07) bones/1/enabled = true bones/1/position = Vector3(1.19209e-07, 1.85949, 3.57628e-07) -bones/1/rotation = Quaternion(-0.0988864, 0.163865, 0.155096, 0.969183) +bones/1/rotation = Quaternion(-0.0504763, 0.0629209, 0.0822485, 0.993342) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.175378, 0.963955, 0.200084, -0.983796, 0.179284, -0.00142574, -0.0372462, -0.196592, 0.979778, -1.19209e-07, 0.416929, 0) bones/2/enabled = true bones/2/position = Vector3(-1.19209e-07, 0.416929, 0) -bones/2/rotation = Quaternion(-0.0591257, 0.0888552, -0.669872, 0.734765) +bones/2/rotation = Quaternion(-0.0620359, 0.0820447, -0.650208, 0.752761) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.795965, -0.570793, -0.201581, 0.584249, 0.811523, 0.00907765, 0.158406, -0.124999, 0.97943, 0, 0.298125, -7.15256e-07) bones/3/enabled = true bones/3/position = Vector3(0, 0.298125, -7.15256e-07) -bones/3/rotation = Quaternion(0.00611299, -0.111648, 0.352037, 0.929283) +bones/3/rotation = Quaternion(-0.0192725, -0.101548, 0.323417, 0.940594) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 bones/4/rest = Transform3D(0.989609, -0.143492, 0.00920886, 0.143739, 0.98559, -0.0891694, 0.00371892, 0.0895665, 0.995974, 2.38419e-07, 0.217615, -1.19209e-07) bones/4/enabled = true bones/4/position = Vector3(2.38419e-07, 0.217615, -1.19209e-07) -bones/4/rotation = Quaternion(0.0161814, -0.0301657, 0.189312, 0.98132) +bones/4/rotation = Quaternion(0.0338167, -0.0108495, 0.11766, 0.992419) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "Bone.005" bones/5/parent = 1 bones/5/rest = Transform3D(0.891186, 0.451267, 0.0463144, -0.453483, 0.888891, 0.0650073, -0.0118328, -0.0789364, 0.996809, -1.19209e-07, 0.416929, 0) bones/5/enabled = true bones/5/position = Vector3(-1.19209e-07, 0.416929, 0) -bones/5/rotation = Quaternion(-0.010088, 0.00520194, -0.242489, 0.970088) +bones/5/rotation = Quaternion(-0.0265093, 0.0111489, -0.236595, 0.971183) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 @@ -2098,35 +2094,35 @@ bones/10/parent = 9 bones/10/rest = Transform3D(0.999465, -0.0299684, -0.0130876, 0.0321775, 0.972617, 0.230175, 0.00583128, -0.230473, 0.973061, -5.96046e-07, 0.347821, -4.76837e-07) bones/10/enabled = true bones/10/position = Vector3(-5.96046e-07, 0.347821, -4.76837e-07) -bones/10/rotation = Quaternion(-0.0460738, 0.00293458, 0.0179325, 0.998773) +bones/10/rotation = Quaternion(-0.088852, -0.00177213, 0.0165433, 0.995906) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 bones/11/rest = Transform3D(0.999927, -0.00347527, -0.0115401, 0.00624295, 0.968404, 0.249307, 0.0103091, -0.249361, 0.968356, 5.36442e-07, 0.236611, 0) bones/11/enabled = true bones/11/position = Vector3(5.36442e-07, 0.236611, 0) -bones/11/rotation = Quaternion(-0.228115, -0.0296815, 0.0089574, 0.97314) +bones/11/rotation = Quaternion(-0.165604, -0.0148975, 0.00497866, 0.986067) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "Bone.012" bones/12/parent = 11 bones/12/rest = Transform3D(0.997952, 0.0219232, -0.0600952, -0.0135761, 0.990624, 0.13594, 0.062512, -0.134846, 0.988893, 1.07288e-06, 0.172989, -1.19209e-07) bones/12/enabled = true bones/12/position = Vector3(1.07288e-06, 0.172989, -1.19209e-07) -bones/12/rotation = Quaternion(-0.171091, -0.0563946, -0.00329622, 0.983634) +bones/12/rotation = Quaternion(-0.108042, -0.0407396, -0.00673693, 0.993288) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "Bone.013" bones/13/parent = 1 bones/13/rest = Transform3D(0.924677, -0.380197, -0.0205529, 0.380735, 0.922776, 0.0593796, -0.0036102, -0.0627321, 0.998024, -1.19209e-07, 0.416929, 0) bones/13/enabled = true bones/13/position = Vector3(-1.19209e-07, 0.416929, 0) -bones/13/rotation = Quaternion(0.0474971, 0.0268914, 0.182702, 0.981652) +bones/13/rotation = Quaternion(-0.000604329, 0.00780562, 0.189789, 0.981794) bones/13/scale = Vector3(1, 1, 1) bones/14/name = "Bone.014" bones/14/parent = 13 bones/14/rest = Transform3D(0.961502, 0.268958, 0.0563539, -0.274785, 0.938956, 0.207014, 0.00276425, -0.214529, 0.976714, -5.36442e-07, 0.369994, -4.76837e-07) bones/14/enabled = true bones/14/position = Vector3(-5.36442e-07, 0.369994, -4.76837e-07) -bones/14/rotation = Quaternion(-0.155176, -0.00233105, -0.142272, 0.977586) +bones/14/rotation = Quaternion(-0.125803, 0.00741104, -0.13975, 0.982135) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 @@ -2140,14 +2136,14 @@ bones/16/parent = 15 bones/16/rest = Transform3D(0.985406, 0.151262, 0.0780702, -0.133163, 0.97071, -0.199976, -0.106032, 0.186662, 0.976686, 3.20375e-07, 0.160424, -2.98023e-07) bones/16/enabled = true bones/16/position = Vector3(3.20375e-07, 0.160424, -2.98023e-07) -bones/16/rotation = Quaternion(-0.0233502, 0.00574487, -0.11195, 0.993423) +bones/16/rotation = Quaternion(0.050877, 0.0307588, -0.0874526, 0.994393) bones/16/scale = Vector3(1, 1, 1) bones/17/name = "Bone.017" bones/17/parent = 1 bones/17/rest = Transform3D(0.731154, -0.681923, -0.0198731, 0.682037, 0.729994, 0.0439829, -0.0154858, -0.0457125, 0.998835, -1.19209e-07, 0.416929, 0) bones/17/enabled = true bones/17/position = Vector3(-1.19209e-07, 0.416929, 0) -bones/17/rotation = Quaternion(-0.0499665, -0.0355904, 0.437294, 0.897224) +bones/17/rotation = Quaternion(-0.034177, -0.0145476, 0.394429, 0.918176) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "Bone.018" bones/18/parent = 17 @@ -2174,8 +2170,8 @@ bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.638395, -0.466665, -0.612107, -0.416251, 0.459614, -0.784532, 0.647447, 0.755632, 0.0991655, 2.29161, -2.09633, -3.23813) bones/21/enabled = true -bones/21/position = Vector3(2.22308, -0.329703, -2.79167) -bones/21/rotation = Quaternion(0.700519, 0.039746, 0.422672, 0.573622) +bones/21/position = Vector3(2.24211, -0.369347, -2.79752) +bones/21/rotation = Quaternion(0.687697, 0.0368382, 0.421745, 0.589785) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_006" type="MeshInstance3D" parent="Pivot/ARM1/1_ R TELLERIC PROJECTILE ARM/Skeleton3D"] @@ -2183,7 +2179,7 @@ mesh = SubResource("ArrayMesh_5cjg8") skin = SubResource("Skin_my7ts") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Pivot/ARM1/1_ R TELLERIC PROJECTILE ARM/Skeleton3D"] -transform = Transform3D(-0.83137, -0.332269, 0.445446, 0.553505, -0.423597, 0.717076, -0.0495731, 0.842712, 0.536078, 0.23671, -0.648355, 1.35749) +transform = Transform3D(-0.71025, -0.495843, 0.499685, 0.692459, -0.364386, 0.622675, -0.126671, 0.788266, 0.602156, 0.101032, -0.903048, 1.44604) bone_name = "Bone.019" bone_idx = 19 @@ -2298,24 +2294,9 @@ volume_db = 1.0 max_polyphony = 3 bus = &"SFX" -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("10_m8ri3") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("11_pxakc") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("12_g34ap") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("13_f15ds") +autoplay = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm2.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm2.tscn index 42800be2..628175b2 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm2.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm2.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=33 format=4 uid="uid://ctlvo2kw5r0ey"] +[gd_scene load_steps=29 format=4 uid="uid://ctlvo2kw5r0ey"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_jkuo4"] [ext_resource type="Texture2D" uid="uid://fjwfbrwtb7ps" path="res://src/enemy/enemy_types/16. demon wall/model/ARM2_AREA_2_MAIN_222STONE.png" id="2_hmqyn"] @@ -6,10 +6,6 @@ [ext_resource type="Texture2D" uid="uid://dkh83g7ce40i7" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_ao_1k.jpg" id="3_wpd4r"] [ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_phvjc"] [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_ctuoa"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="7_a6ruh"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="8_jjbj7"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="9_errvy"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="10_krboa"] [sub_resource type="Resource" id="Resource_phvjc"] script = ExtResource("2_phvjc") @@ -765,78 +761,78 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(0.0151222, 0.673616, -0.738927, -0.999829, 0.0180683, -0.00399019, 0.0106633, 0.738861, 0.673774, -1.71286, 0.00923252, -1.71285) bones/0/enabled = true -bones/0/position = Vector3(-1.73435, 0.820216, -1.53976) -bones/0/rotation = Quaternion(0.0754039, -0.451298, -0.660785, 0.594985) +bones/0/position = Vector3(-1.9457, 0.739367, -1.71836) +bones/0/rotation = Quaternion(0.0957486, -0.453948, -0.635626, 0.617044) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, 0.0728408, -0.00158073, -0.072718, 0.996536, 0.0403565, 0.00451486, -0.0401343, 0.999184, -4.4331e-07, 1.85949, -4.81494e-07) bones/1/enabled = true bones/1/position = Vector3(-4.4331e-07, 1.85949, -4.81494e-07) -bones/1/rotation = Quaternion(0.202096, -0.198066, 0.0546023, 0.957573) +bones/1/rotation = Quaternion(-0.0681244, -0.214679, 0.10327, 0.968818) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.189846, -0.964577, -0.183168, 0.981103, 0.179283, 0.0727582, -0.037342, -0.19352, 0.980385, -9.68575e-08, 0.416929, 8.61473e-09) bones/2/enabled = true bones/2/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09) -bones/2/rotation = Quaternion(-0.248751, 0.260316, 0.749248, 0.555865) +bones/2/rotation = Quaternion(-0.326906, 0.130211, 0.627521, 0.694547) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.810203, 0.578594, -0.0938093, -0.560363, 0.811523, 0.165602, 0.171945, -0.0816043, 0.981721, -4.76837e-07, 0.298125, -2.68221e-07) bones/3/enabled = true bones/3/position = Vector3(-4.76837e-07, 0.298125, -2.68221e-07) -bones/3/rotation = Quaternion(-0.0478189, -0.101087, -0.419313, 0.900928) +bones/3/rotation = Quaternion(-0.0325891, -0.05813, -0.351598, 0.933776) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 bones/4/rest = Transform3D(0.986624, 0.16227, 0.0155213, -0.161299, 0.98559, -0.050939, -0.0235636, 0.0477541, 0.998581, 2.38419e-07, 0.217614, 5.96046e-08) bones/4/enabled = true bones/4/position = Vector3(2.38419e-07, 0.217614, 5.96046e-08) -bones/4/rotation = Quaternion(0.0476864, -0.127654, -0.296571, 0.945239) +bones/4/rotation = Quaternion(0.0309265, -0.0260959, -0.138086, 0.989593) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "Bone.005" bones/5/parent = 1 bones/5/rest = Transform3D(0.89182, -0.451516, 0.0281062, 0.446851, 0.888891, 0.100982, -0.0705786, -0.0774989, 0.994491, -9.68575e-08, 0.416929, 8.61473e-09) bones/5/enabled = true bones/5/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09) -bones/5/rotation = Quaternion(0.234165, -0.00278947, 0.356533, 0.904458) +bones/5/rotation = Quaternion(0.026268, 0.0183302, 0.265916, 0.963464) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 bones/6/rest = Transform3D(0.941856, 0.326827, -0.0780507, -0.307446, 0.931929, 0.192316, 0.135592, -0.157137, 0.978224, 0, 0.366571, -7.45058e-08) bones/6/enabled = true bones/6/position = Vector3(0, 0.366571, -7.45058e-08) -bones/6/rotation = Quaternion(-0.446711, -0.0576492, -0.0296498, 0.892327) +bones/6/rotation = Quaternion(-0.369996, -0.064284, -0.0441853, 0.925753) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 bones/7/rest = Transform3D(0.999908, -0.0133759, -0.00243115, 0.0135617, 0.968863, 0.247224, -0.000951389, -0.247234, 0.968955, 8.75443e-08, 0.229155, 1.19209e-07) bones/7/enabled = true bones/7/position = Vector3(8.75443e-08, 0.229155, 1.19209e-07) -bones/7/rotation = Quaternion(-0.211212, -0.00736115, 0.0265476, 0.977052) +bones/7/rotation = Quaternion(-0.147005, -0.00217376, 0.0118842, 0.989062) bones/7/scale = Vector3(1, 1, 1) bones/8/name = "Bone.008" bones/8/parent = 7 bones/8/rest = Transform3D(0.996542, 0.0206638, -0.0804854, -0.00720722, 0.986431, 0.164018, 0.0827825, -0.162871, 0.983168, -1.49012e-08, 0.142665, 6.85453e-07) bones/8/enabled = true bones/8/position = Vector3(-1.49012e-08, 0.142665, 6.85453e-07) -bones/8/rotation = Quaternion(-0.291578, -0.0666832, 0.0460628, 0.953108) +bones/8/rotation = Quaternion(-0.136586, -0.0478226, 0.00667796, 0.989451) bones/8/scale = Vector3(1, 1, 1) bones/9/name = "Bone.009" bones/9/parent = 1 bones/9/rest = Transform3D(0.998879, -0.0472251, 0.00320398, 0.0469487, 0.997098, 0.0599298, -0.00602488, -0.0597122, 0.998197, -9.68575e-08, 0.416929, 8.61473e-09) bones/9/enabled = true bones/9/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09) -bones/9/rotation = Quaternion(0.156956, 0.0935562, 0.0909965, 0.978944) +bones/9/rotation = Quaternion(0.018211, 0.0258931, 0.0410917, 0.998654) bones/9/scale = Vector3(1, 1, 1) bones/10/name = "Bone.010" bones/10/parent = 9 bones/10/rest = Transform3D(0.999443, 0.0307123, -0.0130676, -0.0268696, 0.972617, 0.230853, 0.0197998, -0.230373, 0.972901, 1.21567e-07, 0.347822, -2.08616e-07) bones/10/enabled = true bones/10/position = Vector3(1.21567e-07, 0.347822, -2.08616e-07) -bones/10/rotation = Quaternion(-0.347598, -0.163417, 0.0111933, 0.923225) +bones/10/rotation = Quaternion(-0.356211, -0.110529, 0.0617988, 0.925785) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 @@ -850,70 +846,70 @@ bones/12/parent = 11 bones/12/rest = Transform3D(0.997806, -0.0280254, -0.0599811, 0.0357503, 0.990623, 0.131861, 0.0557232, -0.133716, 0.989452, 1.18278e-07, 0.172989, 2.01166e-07) bones/12/enabled = true bones/12/position = Vector3(1.18278e-07, 0.172989, 2.01166e-07) -bones/12/rotation = Quaternion(-0.229557, 0.0242499, 0.0732644, 0.970231) +bones/12/rotation = Quaternion(-0.108856, -0.0153544, 0.030822, 0.993461) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "Bone.013" bones/13/parent = 1 bones/13/rest = Transform3D(0.92488, 0.379995, -0.0141585, -0.377983, 0.922776, 0.0749236, 0.0415357, -0.0639437, 0.997089, -9.68575e-08, 0.416929, 8.61473e-09) bones/13/enabled = true bones/13/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09) -bones/13/rotation = Quaternion(0.167763, 0.145898, -0.146431, 0.963913) +bones/13/rotation = Quaternion(0.0170849, 0.0272562, -0.182418, 0.982695) bones/13/scale = Vector3(1, 1, 1) bones/14/name = "Bone.014" bones/14/parent = 13 bones/14/rest = Transform3D(0.959373, -0.277519, 0.050852, 0.259649, 0.938956, 0.225709, -0.110386, -0.203336, 0.972867, 1.78814e-07, 0.369994, -3.53903e-07) bones/14/enabled = true bones/14/position = Vector3(1.78814e-07, 0.369994, -3.53903e-07) -bones/14/rotation = Quaternion(-0.262683, -0.107255, 0.0368074, 0.958196) +bones/14/rotation = Quaternion(-0.309677, -0.111235, 0.162863, 0.930163) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 bones/15/rest = Transform3D(0.987789, 0.153061, -0.029059, -0.126507, 0.896881, 0.423794, 0.0909288, -0.414943, 0.905292, -5.96046e-08, 0.248162, 5.96046e-08) bones/15/enabled = true bones/15/position = Vector3(-5.96046e-08, 0.248162, 5.96046e-08) -bones/15/rotation = Quaternion(-0.322976, -0.0035519, 0.0817736, 0.942861) +bones/15/rotation = Quaternion(-0.243945, -0.0238875, -0.0324108, 0.968953) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "Bone.016" bones/16/parent = 15 bones/16/rest = Transform3D(0.985539, -0.152261, 0.0743639, 0.163269, 0.970709, -0.17626, -0.0453481, 0.185853, 0.98153, -1.78814e-07, 0.160425, -4.02331e-07) bones/16/enabled = true bones/16/position = Vector3(-1.78814e-07, 0.160425, -4.02331e-07) -bones/16/rotation = Quaternion(-0.114985, 0.0512529, 0.0664507, 0.989816) +bones/16/rotation = Quaternion(0.0383582, 0.0357353, 0.0764621, 0.995693) bones/16/scale = Vector3(1, 1, 1) bones/17/name = "Bone.017" bones/17/parent = 1 bones/17/rest = Transform3D(0.731563, 0.681774, 8.39818e-05, -0.680319, 0.729994, 0.0653797, 0.0445129, -0.0478865, 0.99786, -9.68575e-08, 0.416929, 8.61473e-09) bones/17/enabled = true bones/17/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09) -bones/17/rotation = Quaternion(0.171076, 0.0211648, -0.377364, 0.90988) +bones/17/rotation = Quaternion(0.0214689, -0.00344222, -0.370542, 0.928561) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "Bone.018" bones/18/parent = 17 bones/18/rest = Transform3D(0.858902, -0.5087, 0.059257, 0.482273, 0.842315, 0.240663, -0.172338, -0.178128, 0.968798, 3.57628e-07, 0.400229, -2.95229e-07) bones/18/enabled = true bones/18/position = Vector3(3.57628e-07, 0.400229, -2.95229e-07) -bones/18/rotation = Quaternion(-0.321734, -0.31537, 0.357352, 0.818125) +bones/18/rotation = Quaternion(-0.2991, -0.18512, 0.324807, 0.877935) bones/18/scale = Vector3(1, 1, 1) bones/19/name = "Bone.019" bones/19/parent = 18 bones/19/rest = Transform3D(0.998851, -0.0332967, -0.0344649, 0.0348099, 0.998413, 0.0442783, 0.0329358, -0.0454271, 0.998425, 0, 0.196712, 3.57628e-07) bones/19/enabled = true bones/19/position = Vector3(0, 0.196712, 3.57628e-07) -bones/19/rotation = Quaternion(-0.079484, -0.0124728, -0.00775525, 0.996728) +bones/19/rotation = Quaternion(-0.037141, -0.0157356, 0.0106563, 0.999129) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "Bone.020" bones/20/parent = 19 bones/20/rest = Transform3D(0.982791, 0.183548, -0.0207611, -0.170809, 0.945817, 0.276144, 0.0703217, -0.267845, 0.960892, 2.98023e-07, 0.127214, 5.96046e-08) bones/20/enabled = true bones/20/position = Vector3(2.98023e-07, 0.127214, 5.96046e-08) -bones/20/rotation = Quaternion(-0.245843, -0.0442765, 0.0117927, 0.968226) +bones/20/rotation = Quaternion(-0.166051, -0.0286059, -0.0638233, 0.983634) bones/20/scale = Vector3(1, 1, 1) bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.769842, 0.636233, -0.0505042, -0.0970478, 0.0384815, -0.994536, -0.630813, 0.770536, 0.0913697, -3.03019, -0.0704439, -3.30826) bones/21/enabled = true -bones/21/position = Vector3(-2.24204, 0.707312, -3.53973) -bones/21/rotation = Quaternion(0.185823, -0.644771, -0.644604, 0.366369) +bones/21/position = Vector3(-2.13284, 0.773119, -3.77007) +bones/21/rotation = Quaternion(0.204733, -0.665736, -0.666833, 0.264977) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_004" type="MeshInstance3D" parent="Pivot/ARM2/2_ R MAGIC ARM 4/Skeleton3D"] @@ -921,7 +917,7 @@ mesh = SubResource("ArrayMesh_ddgyy") skin = SubResource("Skin_lcoox") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Pivot/ARM2/2_ R MAGIC ARM 4/Skeleton3D"] -transform = Transform3D(0.943622, 0.276694, -0.181708, 0.0113473, 0.521566, 0.853135, 0.330831, -0.807099, 0.489022, -0.200943, 1.22156, 0.0520266) +transform = Transform3D(0.870884, 0.427666, 0.242204, -0.386321, 0.290996, 0.875259, 0.303838, -0.855817, 0.41864, -0.301, 1.16072, -0.217676) bone_name = "Bone.002" bone_idx = 2 @@ -962,24 +958,9 @@ skeleton = NodePath("../../..") unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.6188, 7.72862, -1.3327) -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("7_a6ruh") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("8_jjbj7") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("9_errvy") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("10_krboa") +autoplay = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm3.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm3.tscn index f7e8cdb7..7e0d9a1d 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm3.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm3.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=93 format=4 uid="uid://dxrgfh28wj5su"] +[gd_scene load_steps=89 format=4 uid="uid://dxrgfh28wj5su"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_fhrhk"] [ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_4acx4"] @@ -6,10 +6,6 @@ [ext_resource type="Texture2D" uid="uid://bntxhgjbex8m1" path="res://src/enemy/enemy_types/16. demon wall/model/ARM3_concrete_0003_height_1k.png" id="3_gcbec"] [ext_resource type="Texture2D" uid="uid://blqlb7bc65cv1" path="res://src/vfx/Enemy/DEMONWALL_MOVE_VISUALCUE.png" id="4_gcbec"] [ext_resource type="AudioStream" uid="uid://bjo0q2tyf7vff" path="res://src/audio/sfx/ENEMY_DEMON_WALLMOVE.ogg" id="5_o1lds"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="7_andm5"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="8_yqd2x"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="9_ybxom"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="10_uknf0"] [sub_resource type="Resource" id="Resource_4acx4"] script = ExtResource("2_4acx4") @@ -1013,64 +1009,64 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(-0.0590079, 0.671656, -0.73851, -0.998184, -0.0307104, 0.0518259, 0.0121292, 0.740227, 0.672248, -1.70411, 0.133377, -1.71641) bones/0/enabled = true -bones/0/position = Vector3(-2.70225, 0.450514, -1.22667) -bones/0/rotation = Quaternion(0.208372, -0.387532, -0.707889, 0.552534) +bones/0/position = Vector3(-2.90912, 0.555896, -1.21881) +bones/0/rotation = Quaternion(0.163819, -0.413042, -0.75343, 0.484668) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, 0.0728404, -0.00158077, -0.0727175, 0.996536, 0.0403564, 0.00451487, -0.0401342, 0.999184, 1.2666e-07, 1.85949, 0) bones/1/enabled = true bones/1/position = Vector3(1.2666e-07, 1.85949, 0) -bones/1/rotation = Quaternion(-0.157879, -0.510701, 0.145108, 0.832588) +bones/1/rotation = Quaternion(-0.118348, -0.426078, 0.207897, 0.872485) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.189847, -0.964576, -0.183168, 0.981104, 0.179283, 0.0727586, -0.0373423, -0.19352, 0.980386, 8.9407e-08, 0.416929, -2.38419e-07) bones/2/enabled = true bones/2/position = Vector3(8.9407e-08, 0.416929, -2.38419e-07) -bones/2/rotation = Quaternion(-0.337999, -0.0967287, 0.703497, 0.617651) +bones/2/rotation = Quaternion(-0.339098, -0.0861908, 0.758265, 0.550107) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.810203, 0.578594, -0.0938098, -0.560363, 0.811523, 0.165603, 0.171946, -0.0816042, 0.981721, -1.78814e-07, 0.298124, 5.96046e-08) bones/3/enabled = true bones/3/position = Vector3(-1.78814e-07, 0.298124, 5.96046e-08) -bones/3/rotation = Quaternion(-0.155276, 0.0390375, -0.340926, 0.926356) +bones/3/rotation = Quaternion(-0.16113, 0.00187354, -0.418897, 0.893621) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 bones/4/rest = Transform3D(0.986624, 0.16227, 0.0155225, -0.161298, 0.98559, -0.0509395, -0.0235648, 0.0477544, 0.998581, -2.98023e-07, 0.217615, 2.83122e-07) bones/4/enabled = true bones/4/position = Vector3(-2.98023e-07, 0.217615, 2.83122e-07) -bones/4/rotation = Quaternion(-0.091495, 0.123492, -0.565373, 0.81039) +bones/4/rotation = Quaternion(-0.152254, 0.0394014, -0.404863, 0.900751) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "Bone.005" bones/5/parent = 1 bones/5/rest = Transform3D(0.89182, -0.451516, 0.0281058, 0.446851, 0.888891, 0.100983, -0.0705783, -0.0774992, 0.994491, 8.9407e-08, 0.416929, -2.38419e-07) bones/5/enabled = true bones/5/position = Vector3(8.9407e-08, 0.416929, -2.38419e-07) -bones/5/rotation = Quaternion(-0.225984, 0.210192, 0.0548716, 0.9496) +bones/5/rotation = Quaternion(-0.249622, 0.22382, 0.0505408, 0.940765) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 bones/6/rest = Transform3D(0.941855, 0.326829, -0.0780507, -0.307447, 0.931929, 0.192315, 0.135592, -0.157136, 0.978224, 2.98023e-07, 0.36657, -5.96046e-08) bones/6/enabled = true bones/6/position = Vector3(2.98023e-07, 0.36657, -5.96046e-08) -bones/6/rotation = Quaternion(-0.457623, 0.312684, -0.077172, 0.828767) +bones/6/rotation = Quaternion(-0.326999, 0.302616, -0.165742, 0.879787) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 bones/7/rest = Transform3D(0.999908, -0.0133746, -0.00243148, 0.0135605, 0.968863, 0.247226, -0.000950764, -0.247236, 0.968955, -5.36442e-07, 0.229155, 3.57628e-07) bones/7/enabled = true bones/7/position = Vector3(-5.36442e-07, 0.229155, 3.57628e-07) -bones/7/rotation = Quaternion(-0.642568, -0.0146723, -0.192082, 0.741617) +bones/7/rotation = Quaternion(-0.509186, -0.094959, -0.265378, 0.813196) bones/7/scale = Vector3(1, 1, 1) bones/8/name = "Bone.008" bones/8/parent = 7 bones/8/rest = Transform3D(0.996542, 0.0206576, -0.0804851, -0.00720127, 0.986431, 0.164017, 0.0827812, -0.162871, 0.983169, -5.96046e-08, 0.142665, -3.12924e-07) bones/8/enabled = true bones/8/position = Vector3(-5.96046e-08, 0.142665, -3.12924e-07) -bones/8/rotation = Quaternion(-0.154079, -0.0680068, 0.0528914, 0.984295) +bones/8/rotation = Quaternion(-0.0892798, -0.0436998, -0.00103097, 0.995047) bones/8/scale = Vector3(1, 1, 1) bones/9/name = "Bone.009" bones/9/parent = 1 @@ -1084,21 +1080,21 @@ bones/10/parent = 9 bones/10/rest = Transform3D(0.999443, 0.0307126, -0.0130675, -0.0268698, 0.972617, 0.230855, 0.0197998, -0.230375, 0.9729, 4.787e-07, 0.347821, -1.78814e-07) bones/10/enabled = true bones/10/position = Vector3(4.787e-07, 0.347821, -1.78814e-07) -bones/10/rotation = Quaternion(-0.470017, 0.308676, 0.000768506, 0.826924) +bones/10/rotation = Quaternion(-0.424109, 0.272209, -0.0484802, 0.862371) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 bones/11/rest = Transform3D(0.999931, -0.0022606, -0.0115383, 0.00506641, 0.968404, 0.249334, 0.0106101, -0.249375, 0.968349, 8.49366e-07, 0.236611, 4.17233e-07) bones/11/enabled = true bones/11/position = Vector3(8.49366e-07, 0.236611, 4.17233e-07) -bones/11/rotation = Quaternion(-0.496551, -0.0813748, -0.285111, 0.815798) +bones/11/rotation = Quaternion(-0.45076, -0.127508, -0.322391, 0.82257) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "Bone.012" bones/12/parent = 11 bones/12/rest = Transform3D(0.997806, -0.0280227, -0.0599811, 0.0357475, 0.990624, 0.13186, 0.0557236, -0.133715, 0.989452, -5.93718e-07, 0.172989, 1.78814e-07) bones/12/enabled = true bones/12/position = Vector3(-5.93718e-07, 0.172989, 1.78814e-07) -bones/12/rotation = Quaternion(-0.255075, -0.00602007, 0.0404366, 0.966057) +bones/12/rotation = Quaternion(-0.0854781, -0.0267645, 0.0184508, 0.99581) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "Bone.013" bones/13/parent = 1 @@ -1112,14 +1108,14 @@ bones/14/parent = 13 bones/14/rest = Transform3D(0.959373, -0.277519, 0.0508523, 0.259649, 0.938956, 0.225709, -0.110386, -0.203335, 0.972867, 1.19209e-07, 0.369994, -3.57628e-07) bones/14/enabled = true bones/14/position = Vector3(1.19209e-07, 0.369994, -3.57628e-07) -bones/14/rotation = Quaternion(-0.556151, 0.195296, 0.110794, 0.800175) +bones/14/rotation = Quaternion(-0.481403, 0.211647, 0.0607506, 0.84839) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 bones/15/rest = Transform3D(0.987789, 0.153063, -0.029059, -0.126508, 0.89688, 0.423794, 0.0909294, -0.414943, 0.905292, -4.17233e-07, 0.248162, 1.19209e-07) bones/15/enabled = true bones/15/position = Vector3(-4.17233e-07, 0.248162, 1.19209e-07) -bones/15/rotation = Quaternion(-0.477377, -0.175006, -0.353686, 0.785106) +bones/15/rotation = Quaternion(-0.447179, -0.175884, -0.432328, 0.763012) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "Bone.016" bones/16/parent = 15 @@ -1140,14 +1136,14 @@ bones/18/parent = 17 bones/18/rest = Transform3D(0.858902, -0.508701, 0.0592547, 0.482273, 0.842314, 0.240665, -0.172338, -0.178131, 0.968798, 4.17233e-07, 0.400229, 0) bones/18/enabled = true bones/18/position = Vector3(4.17233e-07, 0.400229, 0) -bones/18/rotation = Quaternion(-0.585794, 0.0767296, 0.18654, 0.784959) +bones/18/rotation = Quaternion(-0.50778, 0.133272, 0.14124, 0.839315) bones/18/scale = Vector3(1, 1, 1) bones/19/name = "Bone.019" bones/19/parent = 18 bones/19/rest = Transform3D(0.998851, -0.0332957, -0.0344645, 0.0348088, 0.998413, 0.0442743, 0.0329356, -0.0454231, 0.998425, 4.17233e-07, 0.196711, -2.38419e-07) bones/19/enabled = true bones/19/position = Vector3(4.17233e-07, 0.196711, -2.38419e-07) -bones/19/rotation = Quaternion(-0.28407, -0.228523, -0.245743, 0.89816) +bones/19/rotation = Quaternion(-0.244721, -0.250689, -0.339782, 0.87282) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "Bone.020" bones/20/parent = 19 @@ -1160,8 +1156,8 @@ bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.761771, 0.635827, -0.12422, -0.154809, -0.00753344, -0.987916, -0.629079, 0.771795, 0.0926928, -3.0206, 0.148975, -3.31442) bones/21/enabled = true -bones/21/position = Vector3(-2.96686, 1.05614, -3.25487) -bones/21/rotation = Quaternion(0.737913, -0.12376, -0.28217, 0.600456) +bones/21/position = Vector3(-3.02062, 1.15557, -3.26273) +bones/21/rotation = Quaternion(0.707755, -0.22069, -0.355822, 0.569007) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_005" type="MeshInstance3D" parent="ARM3/3_ R STATUS ARM/Skeleton3D"] @@ -1203,24 +1199,9 @@ process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.50733, 5.85585, 9.42984) bus = &"SFX" -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("7_andm5") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("8_yqd2x") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("9_ybxom") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("10_uknf0") +autoplay = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm4.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm4.tscn index 260d3c0b..9fbe3986 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm4.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm4.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=39 format=4 uid="uid://cuupl4irduut4"] +[gd_scene load_steps=35 format=4 uid="uid://cuupl4irduut4"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_nwywg"] [ext_resource type="Texture2D" uid="uid://d3xy7wplqk3gq" path="res://src/enemy/enemy_types/16. demon wall/model/ARM4_AREA_2_MAIN_222STONE.png" id="2_0pjjv"] @@ -12,10 +12,6 @@ [ext_resource type="Texture2D" uid="uid://cm5di6dciqwa5" path="res://src/vfx/Enemy/processed lightning bolts/plightning3.png" id="8_wbqyb"] [ext_resource type="Texture2D" uid="uid://bcl1oo6yr37wl" path="res://src/vfx/Enemy/processed lightning bolts/plightning4.png" id="9_el805"] [ext_resource type="AudioStream" uid="uid://bgumf0x52xmby" path="res://src/audio/sfx/enemy_ambassador_kick.ogg" id="9_sb6ar"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="13_20074"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="14_tpigo"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="15_7deko"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="16_dfg4x"] [sub_resource type="Resource" id="Resource_wbqyb"] script = ExtResource("2_wbqyb") @@ -824,8 +820,8 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(0.0151219, 0.673616, -0.738927, -0.999828, 0.0180682, -0.00398999, 0.0106634, 0.738861, 0.673774, -1.71741, 0.00290632, -1.71742) bones/0/enabled = true -bones/0/position = Vector3(-2.20236, -0.366824, -1.81351) -bones/0/rotation = Quaternion(0.105792, -0.50745, -0.45984, 0.721006) +bones/0/position = Vector3(-2.11229, -0.244131, -1.67003) +bones/0/rotation = Quaternion(0.0888077, -0.515917, -0.43396, 0.733227) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 @@ -978,8 +974,8 @@ bones/22/name = "Bone.021" bones/22/parent = -1 bones/22/rest = Transform3D(0.769842, 0.636233, -0.050504, -0.0970476, 0.0384815, -0.994536, -0.630813, 0.770536, 0.0913696, -3.03474, -0.0767703, -3.31282) bones/22/enabled = true -bones/22/position = Vector3(-2.00785, 0.928537, -3.63168) -bones/22/rotation = Quaternion(0.863746, -0.137895, -0.181118, 0.449583) +bones/22/position = Vector3(-2.03072, 0.815672, -3.63951) +bones/22/rotation = Quaternion(0.835322, -0.117748, -0.167405, 0.510243) bones/22/scale = Vector3(1, 1, 1) [node name="CHEST_003" type="MeshInstance3D" parent="ARM4/4_ R WEAPON ARM/Skeleton3D"] @@ -987,7 +983,7 @@ mesh = SubResource("ArrayMesh_k01v5") skin = SubResource("Skin_f7n3b") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM4/4_ R WEAPON ARM/Skeleton3D"] -transform = Transform3D(0.169372, -0.934802, 0.312184, -0.855442, -0.296744, -0.424455, 0.48942, -0.195165, -0.849929, -0.427154, 1.03882, -0.518697) +transform = Transform3D(0.199421, -0.927333, 0.316677, -0.818551, -0.335306, -0.466417, 0.538708, -0.166202, -0.825936, -0.367673, 1.2894, -0.483307) bone_name = "Bone.008" bone_idx = 8 @@ -1049,24 +1045,9 @@ omni_attenuation = 0.063 process_mode = 3 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.38603, 4.06867, 12.9578) -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("13_20074") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("14_tpigo") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("15_7deko") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("16_dfg4x") +autoplay = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm5.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm5.tscn index 18a6203e..3cc565ee 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm5.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm5.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=61 format=4 uid="uid://bh1pkdedeoj16"] +[gd_scene load_steps=57 format=4 uid="uid://bh1pkdedeoj16"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_j3ruw"] [ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_flp87"] @@ -9,10 +9,6 @@ [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_flp87"] [ext_resource type="AudioStream" uid="uid://cm565avpubaxy" path="res://src/audio/sfx/ENEMY_DEMONWALL_SMASH.ogg" id="8_mx4ao"] [ext_resource type="AudioStream" uid="uid://bgumf0x52xmby" path="res://src/audio/sfx/enemy_ambassador_kick.ogg" id="9_gju43"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="10_58u67"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="11_51471"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="12_630jn"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="13_5ayd7"] [sub_resource type="Resource" id="Resource_flp87"] script = ExtResource("2_flp87") @@ -1490,29 +1486,29 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(0.0151219, -0.673616, 0.738927, 0.999829, 0.0180681, -0.00399013, -0.0106631, 0.738861, 0.673774, 1.71286, 0.00923371, -1.71285) bones/0/enabled = true -bones/0/position = Vector3(2.61052, -0.120878, -1.43825) -bones/0/rotation = Quaternion(0.325178, 0.514232, 0.67442, 0.41831) +bones/0/position = Vector3(2.62006, -0.0504998, -1.30297) +bones/0/rotation = Quaternion(0.305712, 0.531545, 0.670669, 0.417376) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, -0.0728417, -0.00159788, 0.0728471, 0.996536, 0.040124, -0.00133035, -0.0401337, 0.999193, -2.93367e-07, 1.85949, 2.16067e-07) bones/1/enabled = true bones/1/position = Vector3(-2.93367e-07, 1.85949, 2.16067e-07) -bones/1/rotation = Quaternion(0.242883, 0.240439, -0.116785, 0.932501) +bones/1/rotation = Quaternion(-0.0168523, 0.173041, -0.130468, 0.97609) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.175376, 0.963955, 0.200086, -0.983797, 0.179282, -0.00142622, -0.0372466, -0.196594, 0.979777, 5.40167e-08, 0.416929, 1.78814e-07) bones/2/enabled = true bones/2/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07) -bones/2/rotation = Quaternion(-0.124477, 0.0489336, -0.685746, 0.715446) +bones/2/rotation = Quaternion(-0.391899, -0.0013121, -0.5353, 0.748243) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.795966, -0.570792, -0.201583, 0.584248, 0.811525, 0.00907693, 0.158408, -0.124999, 0.97943, -1.04308e-07, 0.298126, 2.5332e-07) bones/3/enabled = true bones/3/position = Vector3(-1.04308e-07, 0.298126, 2.5332e-07) -bones/3/rotation = Quaternion(0.101709, -0.495714, 0.198192, 0.83943) +bones/3/rotation = Quaternion(0.106525, -0.412173, 0.141205, 0.893771) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 @@ -1526,7 +1522,7 @@ bones/5/parent = 1 bones/5/rest = Transform3D(0.891185, 0.451269, 0.046316, -0.453486, 0.88889, 0.0650086, -0.0118334, -0.0789384, 0.996809, 5.40167e-08, 0.416929, 1.78814e-07) bones/5/enabled = true bones/5/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07) -bones/5/rotation = Quaternion(0.0978542, 0.0198669, -0.32182, 0.941521) +bones/5/rotation = Quaternion(-0.110087, 0.126641, -0.29005, 0.942186) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 @@ -1554,7 +1550,7 @@ bones/9/parent = 1 bones/9/rest = Transform3D(0.998888, 0.0470357, 0.00321129, -0.0471435, 0.997098, 0.0597784, -0.000390256, -0.0598634, 0.998206, 5.40167e-08, 0.416929, 1.78814e-07) bones/9/enabled = true bones/9/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07) -bones/9/rotation = Quaternion(0.137327, -0.0366635, -0.0538153, 0.988383) +bones/9/rotation = Quaternion(-0.0210906, 0.123642, -0.0302292, 0.991642) bones/9/scale = Vector3(1, 1, 1) bones/10/name = "Bone.010" bones/10/parent = 9 @@ -1582,7 +1578,7 @@ bones/13/parent = 1 bones/13/rest = Transform3D(0.924678, -0.380194, -0.0205531, 0.380732, 0.922777, 0.0593806, -0.00361027, -0.0627332, 0.998024, 5.40167e-08, 0.416929, 1.78814e-07) bones/13/enabled = true bones/13/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07) -bones/13/rotation = Quaternion(0.206614, -0.108717, 0.136027, 0.962802) +bones/13/rotation = Quaternion(0.11576, 0.0979914, 0.145937, 0.977599) bones/13/scale = Vector3(1, 1, 1) bones/14/name = "Bone.014" bones/14/parent = 13 @@ -1610,7 +1606,7 @@ bones/17/parent = 1 bones/17/rest = Transform3D(0.731155, -0.681922, -0.0198745, 0.682036, 0.729995, 0.0439837, -0.0154852, -0.045714, 0.998834, 5.40167e-08, 0.416929, 1.78814e-07) bones/17/enabled = true bones/17/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07) -bones/17/rotation = Quaternion(0.271206, -0.228541, 0.244034, 0.902587) +bones/17/rotation = Quaternion(0.209665, -0.0019727, 0.251644, 0.944834) bones/17/scale = Vector3(1, 1, 0.999999) bones/18/name = "Bone.018" bones/18/parent = 17 @@ -1637,8 +1633,8 @@ bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.769842, -0.636234, 0.0505046, 0.0970479, 0.038481, -0.994536, 0.630814, 0.770536, 0.0913694, 3.03019, -0.0704418, -3.30826) bones/21/enabled = true -bones/21/position = Vector3(2.37387, -0.417525, -3.46455) -bones/21/rotation = Quaternion(0.553876, 0.473724, 0.348957, 0.589098) +bones/21/position = Vector3(2.37565, -0.462059, -3.45991) +bones/21/rotation = Quaternion(0.541548, 0.478946, 0.336956, 0.603155) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_008" type="MeshInstance3D" parent="ARM5/5_ R MELEE ARM/Skeleton3D"] @@ -1646,7 +1642,7 @@ mesh = SubResource("ArrayMesh_mat8l") skin = SubResource("Skin_em6a3") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM5/5_ R MELEE ARM/Skeleton3D"] -transform = Transform3D(-0.713554, 0.0844566, 0.69549, 0.70036, 0.111948, 0.704956, -0.0183209, 0.990118, -0.13903, 2.45564, -0.104424, 1.02541) +transform = Transform3D(-0.92118, -0.279613, 0.270633, 0.362958, -0.366615, 0.856653, -0.140313, 0.887361, 0.439207, 2.10933, -0.149498, 1.26339) bone_name = "Bone.018" bone_idx = 18 @@ -1684,24 +1680,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.69006, 2.77812, 9.53749) pitch_scale = 0.81 bus = &"SFX" -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("10_58u67") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("11_51471") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("12_630jn") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("13_5ayd7") +autoplay = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm6.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm6.tscn index d7346f63..8b2391bb 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm6.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm6.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=27 format=4 uid="uid://c61hpj1aackmn"] +[gd_scene load_steps=23 format=4 uid="uid://c61hpj1aackmn"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_xefo1"] [ext_resource type="Texture2D" uid="uid://c4gfxyge646im" path="res://src/enemy/enemy_types/16. demon wall/model/ARM6_AREA_2_MAIN_222STONE.png" id="2_7j47h"] @@ -7,10 +7,6 @@ [ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_h1jik"] [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_3jiko"] [ext_resource type="AudioStream" uid="uid://bgumf0x52xmby" path="res://src/audio/sfx/enemy_ambassador_kick.ogg" id="7_3jiko"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="8_np0rn"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="9_8skmg"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="10_3x3pn"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="11_4vlpq"] [sub_resource type="Resource" id="Resource_h1jik"] script = ExtResource("2_h1jik") @@ -540,29 +536,29 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(0.351559, -0.633916, 0.68888, 0.936032, 0.250429, -0.247241, -0.0157858, 0.731734, 0.681407, 1.6292, -0.58344, -1.69503) bones/0/enabled = true -bones/0/position = Vector3(2.48111, -0.791097, -2.0223) -bones/0/rotation = Quaternion(0.211555, 0.66827, 0.335644, 0.629288) +bones/0/position = Vector3(2.43413, -0.758034, -1.98741) +bones/0/rotation = Quaternion(0.219615, 0.635419, 0.374157, 0.638763) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, -0.0728406, -0.00159759, 0.072846, 0.996536, 0.0401254, -0.0013307, -0.0401352, 0.999193, -2.57045e-07, 1.85949, -1.63913e-07) bones/1/enabled = true bones/1/position = Vector3(-2.57045e-07, 1.85949, -1.63913e-07) -bones/1/rotation = Quaternion(-0.0237538, 0.053527, -0.0617698, 0.996371) +bones/1/rotation = Quaternion(-0.0226169, 0.0365289, -0.0305677, 0.998609) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.175377, 0.963955, 0.200084, -0.983797, 0.179282, -0.00142542, -0.0372455, -0.196592, 0.979778, -2.04891e-08, 0.416929, -1.19209e-07) bones/2/enabled = true bones/2/position = Vector3(-2.04891e-08, 0.416929, -1.19209e-07) -bones/2/rotation = Quaternion(-0.496466, 0.206001, -0.556218, 0.633803) +bones/2/rotation = Quaternion(-0.48634, 0.214547, -0.553479, 0.641174) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.795964, -0.570795, -0.201579, 0.584251, 0.811522, 0.00907907, 0.158404, -0.125, 0.97943, -2.79397e-07, 0.298125, 7.07805e-08) bones/3/enabled = true bones/3/position = Vector3(-2.79397e-07, 0.298125, 7.07805e-08) -bones/3/rotation = Quaternion(0.16814, -0.0106965, 0.540617, 0.824226) +bones/3/rotation = Quaternion(0.160391, -0.0163611, 0.532711, 0.830799) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 @@ -576,14 +572,14 @@ bones/5/parent = 1 bones/5/rest = Transform3D(0.891186, 0.451268, 0.0463134, -0.453484, 0.888891, 0.0650076, -0.0118317, -0.0789362, 0.996809, -2.04891e-08, 0.416929, -1.19209e-07) bones/5/enabled = true bones/5/position = Vector3(-2.04891e-08, 0.416929, -1.19209e-07) -bones/5/rotation = Quaternion(-0.103232, 0.0140211, -0.0748231, 0.99174) +bones/5/rotation = Quaternion(-0.0879521, 0.0148485, -0.0751249, 0.993177) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 bones/6/rest = Transform3D(0.94556, -0.31325, -0.0882615, 0.323948, 0.931928, 0.162993, 0.0311958, -0.182712, 0.982671, 0, 0.366571, 4.47035e-08) bones/6/enabled = true bones/6/position = Vector3(0, 0.366571, 4.47035e-08) -bones/6/rotation = Quaternion(-0.714531, -0.211121, 0.0779645, 0.662415) +bones/6/rotation = Quaternion(-0.696016, -0.210966, 0.0748524, 0.68224) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 @@ -611,7 +607,7 @@ bones/10/parent = 9 bones/10/rest = Transform3D(0.999465, -0.0299655, -0.0130879, 0.0321747, 0.972617, 0.230176, 0.00583219, -0.230474, 0.973061, -2.98023e-08, 0.347821, 2.23517e-07) bones/10/enabled = true bones/10/position = Vector3(-2.98023e-08, 0.347821, 2.23517e-07) -bones/10/rotation = Quaternion(-0.767688, -0.0497837, -0.0886708, 0.632703) +bones/10/rotation = Quaternion(-0.739675, -0.0534615, -0.0912674, 0.6646) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 @@ -639,7 +635,7 @@ bones/14/parent = 13 bones/14/rest = Transform3D(0.961502, 0.268958, 0.056354, -0.274785, 0.938956, 0.207015, 0.00276436, -0.21453, 0.976713, 4.93601e-08, 0.369994, -2.08616e-07) bones/14/enabled = true bones/14/position = Vector3(4.93601e-08, 0.369994, -2.08616e-07) -bones/14/rotation = Quaternion(-0.815073, 0.104335, -0.137342, 0.553089) +bones/14/rotation = Quaternion(-0.790172, 0.102029, -0.148332, 0.585847) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 @@ -660,14 +656,14 @@ bones/17/parent = 1 bones/17/rest = Transform3D(0.731154, -0.681923, -0.0198726, 0.682037, 0.729994, 0.0439829, -0.0154861, -0.0457121, 0.998834, -2.04891e-08, 0.416929, -1.19209e-07) bones/17/enabled = true bones/17/position = Vector3(-2.04891e-08, 0.416929, -1.19209e-07) -bones/17/rotation = Quaternion(-0.0449998, 0.0166296, 0.33525, 0.940907) +bones/17/rotation = Quaternion(-0.0372924, 0.0136837, 0.335118, 0.941338) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "Bone.018" bones/18/parent = 17 bones/18/rest = Transform3D(0.857941, 0.502855, 0.105234, -0.513706, 0.842315, 0.163132, -0.00660832, -0.194017, 0.980976, -1.56462e-07, 0.400229, 2.23517e-07) bones/18/enabled = true bones/18/position = Vector3(-1.56462e-07, 0.400229, 2.23517e-07) -bones/18/rotation = Quaternion(-0.777278, 0.137312, -0.161318, 0.59242) +bones/18/rotation = Quaternion(-0.752679, 0.127129, -0.179054, 0.620687) bones/18/scale = Vector3(1, 1, 1) bones/19/name = "Bone.019" bones/19/parent = 18 @@ -687,8 +683,8 @@ bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.752405, -0.592093, -0.288639, -0.162915, 0.257308, -0.952497, 0.638236, 0.763687, 0.0971389, 2.85513, -1.1162, -3.27626) bones/21/enabled = true -bones/21/position = Vector3(1.06374, -0.868974, -3.4685) -bones/21/rotation = Quaternion(0.670964, 0.419623, -0.114057, 0.600596) +bones/21/position = Vector3(1.11072, -0.902037, -3.50338) +bones/21/rotation = Quaternion(0.663182, 0.392296, -0.0958793, 0.630159) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_001" type="MeshInstance3D" parent="ARM6/6_ L WEAPON ARM/Skeleton3D"] @@ -696,7 +692,7 @@ mesh = SubResource("ArrayMesh_4ec00") skin = SubResource("Skin_37t5x") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM6/6_ L WEAPON ARM/Skeleton3D"] -transform = Transform3D(0.0490867, 0.928964, -0.3669, 0.709748, -0.290902, -0.641587, -0.702744, -0.228913, -0.673609, 1.90943, 0.709731, -0.193528) +transform = Transform3D(0.116803, 0.904972, -0.409124, 0.785922, -0.336077, -0.519016, -0.607193, -0.260917, -0.750493, 1.7, 0.568608, -0.0619529) bone_name = "Bone.020" bone_idx = 20 @@ -726,24 +722,9 @@ anim_player = NodePath("../AnimationPlayer") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="ARM6"] bus = &"SFX" -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("8_np0rn") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("9_8skmg") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("10_3x3pn") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("11_4vlpq") +autoplay = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm7.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm7.tscn index d5a42f06..199154fe 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm7.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm7.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=33 format=4 uid="uid://big4eurgqyejq"] +[gd_scene load_steps=29 format=4 uid="uid://big4eurgqyejq"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_enq7k"] [ext_resource type="Texture2D" uid="uid://dni8145sh8qu3" path="res://src/enemy/enemy_types/16. demon wall/model/ARM7_AREA_2_MAIN_222STONE.png" id="2_1gdpg"] @@ -8,10 +8,6 @@ [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_v88k1"] [ext_resource type="Texture2D" uid="uid://cnnn1m1mcb6qc" path="res://src/vfx/Enemy/FLAME_SPRITE_SHEET_FIXED.png" id="6_xpy5w"] [ext_resource type="AudioStream" uid="uid://xtdvy7l702sl" path="res://src/audio/sfx/enemy_demon_wall_flamethrower.ogg" id="8_ssyb0"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="9_tma27"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="10_6ih5g"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="11_jl2ue"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="12_ldh72"] [sub_resource type="Resource" id="Resource_v88k1"] script = ExtResource("2_v88k1") @@ -632,155 +628,155 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(0.0151218, -0.673616, 0.738927, 0.999829, 0.0180678, -0.0039901, -0.010663, 0.738861, 0.673774, 1.71286, 0.009233, -1.71285) bones/0/enabled = true -bones/0/position = Vector3(2.24663, -0.603815, -1.50391) -bones/0/rotation = Quaternion(0.198976, 0.338412, 0.596431, 0.700112) +bones/0/position = Vector3(2.25513, -0.594931, -1.49851) +bones/0/rotation = Quaternion(0.241272, 0.28664, 0.625464, 0.684412) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, -0.0728417, -0.00159799, 0.0728471, 0.996536, 0.0401243, -0.00133027, -0.0401341, 0.999193, 3.45986e-07, 1.85949, 1.30385e-07) bones/1/enabled = true bones/1/position = Vector3(3.45986e-07, 1.85949, 1.30385e-07) -bones/1/rotation = Quaternion(0.0426236, 0.560478, 0.182529, 0.806679) +bones/1/rotation = Quaternion(0.0832379, 0.578544, 0.158159, 0.79583) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.175376, 0.963955, 0.200084, -0.983797, 0.179281, -0.0014251, -0.0372451, -0.196592, 0.979778, 5.59958e-08, 0.416929, 4.28408e-08) bones/2/enabled = true bones/2/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08) -bones/2/rotation = Quaternion(-0.0503495, 0.158851, -0.617644, 0.768601) +bones/2/rotation = Quaternion(-0.0476991, 0.174387, -0.61332, 0.768865) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.795965, -0.570793, -0.20158, 0.584249, 0.811523, 0.0090791, 0.158405, -0.125, 0.97943, -3.50177e-07, 0.298125, 3.20375e-07) bones/3/enabled = true bones/3/position = Vector3(-3.50177e-07, 0.298125, 3.20375e-07) -bones/3/rotation = Quaternion(-0.146117, -0.132595, 0.316681, 0.927783) +bones/3/rotation = Quaternion(-0.123493, -0.125017, 0.31463, 0.932806) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 bones/4/rest = Transform3D(0.989609, -0.143493, 0.00920777, 0.14374, 0.98559, -0.089171, 0.00372037, 0.0895679, 0.995974, 6.03497e-07, 0.217615, -2.83122e-07) bones/4/enabled = true bones/4/position = Vector3(6.03497e-07, 0.217615, -2.83122e-07) -bones/4/rotation = Quaternion(0.0104301, 0.0375251, 0.236483, 0.970855) +bones/4/rotation = Quaternion(0.0175996, 0.0301154, 0.202945, 0.978569) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "Bone.005" bones/5/parent = 1 bones/5/rest = Transform3D(0.891185, 0.45127, 0.0463153, -0.453486, 0.888889, 0.0650082, -0.011833, -0.0789377, 0.996809, 5.59958e-08, 0.416929, 4.28408e-08) bones/5/enabled = true bones/5/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08) -bones/5/rotation = Quaternion(-0.0186151, 0.0242297, -0.235692, 0.971347) +bones/5/rotation = Quaternion(-0.0223058, 0.0223735, -0.235116, 0.971454) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 bones/6/rest = Transform3D(0.94556, -0.313252, -0.0882626, 0.323951, 0.931928, 0.162992, 0.0311969, -0.182711, 0.982671, -1.56462e-07, 0.366571, -7.45058e-08) bones/6/enabled = true bones/6/position = Vector3(-1.56462e-07, 0.366571, -7.45058e-08) -bones/6/rotation = Quaternion(-0.170281, -0.0329316, 0.191584, 0.966031) +bones/6/rotation = Quaternion(-0.153508, -0.0324337, 0.185671, 0.970005) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 bones/7/rest = Transform3D(0.999951, -0.00959686, -0.00243394, 0.00990068, 0.968863, 0.247401, -1.61149e-05, -0.247413, 0.96891, 2.14204e-07, 0.229155, -1.71363e-07) bones/7/enabled = true bones/7/position = Vector3(2.14204e-07, 0.229155, -1.71363e-07) -bones/7/rotation = Quaternion(-0.00207297, 0.0579493, 0.0167521, 0.998177) +bones/7/rotation = Quaternion(-0.027344, 0.0459692, 0.0143377, 0.998466) bones/7/scale = Vector3(1, 1, 1) bones/8/name = "Bone.008" bones/8/parent = 7 bones/8/rest = Transform3D(0.996094, -0.0359841, -0.0806318, 0.0483356, 0.986431, 0.156898, 0.0738919, -0.160182, 0.984318, 1.47149e-07, 0.142665, 1.63913e-07) bones/8/enabled = true bones/8/position = Vector3(1.47149e-07, 0.142665, 1.63913e-07) -bones/8/rotation = Quaternion(-0.204302, -0.0906771, 0.00219749, 0.974697) +bones/8/rotation = Quaternion(-0.178866, -0.0801028, 0.00611895, 0.980588) bones/8/scale = Vector3(1, 1, 1) bones/9/name = "Bone.009" bones/9/parent = 1 bones/9/rest = Transform3D(0.998888, 0.0470356, 0.00321137, -0.0471435, 0.997098, 0.0597771, -0.000390392, -0.0598621, 0.998207, 5.59958e-08, 0.416929, 4.28408e-08) bones/9/enabled = true bones/9/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08) -bones/9/rotation = Quaternion(-0.0214432, 0.0269149, -0.0129677, 0.999324) +bones/9/rotation = Quaternion(-0.0231721, 0.0216227, -0.0151247, 0.999383) bones/9/scale = Vector3(1, 1, 1) bones/10/name = "Bone.010" bones/10/parent = 9 bones/10/rest = Transform3D(0.999465, -0.0299664, -0.0130889, 0.0321758, 0.972617, 0.230175, 0.00583295, -0.230473, 0.973061, 2.34169e-07, 0.347821, 2.51457e-07) bones/10/enabled = true bones/10/position = Vector3(2.34169e-07, 0.347821, 2.51457e-07) -bones/10/rotation = Quaternion(-0.048337, -0.00204269, -0.00569314, 0.998813) +bones/10/rotation = Quaternion(-0.0621742, -0.00259941, -0.00133589, 0.998061) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 bones/11/rest = Transform3D(0.999927, -0.00348307, -0.0115382, 0.00625005, 0.968404, 0.249308, 0.0103053, -0.249362, 0.968356, -4.47035e-07, 0.236611, -1.2666e-07) bones/11/enabled = true bones/11/position = Vector3(-4.47035e-07, 0.236611, -1.2666e-07) -bones/11/rotation = Quaternion(-0.120637, 0.00954634, 0.013289, 0.992562) +bones/11/rotation = Quaternion(-0.121646, 0.00653855, 0.0111237, 0.99249) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "Bone.012" bones/12/parent = 11 bones/12/rest = Transform3D(0.997952, 0.0219325, -0.0600964, -0.0135852, 0.990624, 0.13594, 0.0625145, -0.134845, 0.988893, -2.6077e-08, 0.172989, -8.9407e-08) bones/12/enabled = true bones/12/position = Vector3(-2.6077e-08, 0.172989, -8.9407e-08) -bones/12/rotation = Quaternion(-0.117368, -0.0469344, -0.0060703, 0.99196) +bones/12/rotation = Quaternion(-0.107288, -0.0436371, -0.00665055, 0.993248) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "Bone.013" bones/13/parent = 1 bones/13/rest = Transform3D(0.924678, -0.380194, -0.020553, 0.380732, 0.922777, 0.0593802, -0.00361024, -0.0627328, 0.998024, 5.59958e-08, 0.416929, 4.28408e-08) bones/13/enabled = true bones/13/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08) -bones/13/rotation = Quaternion(-0.0807626, -0.0317657, 0.184871, 0.978923) +bones/13/rotation = Quaternion(-0.0902744, -0.037031, 0.183043, 0.978251) bones/13/scale = Vector3(1, 1, 1) bones/14/name = "Bone.014" bones/14/parent = 13 bones/14/rest = Transform3D(0.961502, 0.268956, 0.0563545, -0.274783, 0.938957, 0.207014, 0.00276324, -0.21453, 0.976713, -5.96046e-08, 0.369994, -1.19209e-07) bones/14/enabled = true bones/14/position = Vector3(-5.96046e-08, 0.369994, -1.19209e-07) -bones/14/rotation = Quaternion(-0.0121053, 0.093014, -0.168775, 0.981181) +bones/14/rotation = Quaternion(-0.0316788, 0.0767801, -0.162675, 0.983178) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 bones/15/rest = Transform3D(0.991898, -0.123696, -0.0289435, 0.124233, 0.89688, 0.424467, -0.0265461, -0.424624, 0.904981, 3.35276e-07, 0.248162, 2.98023e-08) bones/15/enabled = true bones/15/position = Vector3(3.35276e-07, 0.248162, 2.98023e-08) -bones/15/rotation = Quaternion(-0.250247, -0.095279, 0.0404606, 0.962632) +bones/15/rotation = Quaternion(-0.243831, -0.0759087, 0.0452602, 0.965783) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "Bone.016" bones/16/parent = 15 bones/16/rest = Transform3D(0.985405, 0.151269, 0.0780704, -0.133169, 0.970709, -0.199973, -0.106033, 0.186658, 0.976686, 2.5332e-07, 0.160425, 2.38419e-07) bones/16/enabled = true bones/16/position = Vector3(2.5332e-07, 0.160425, 2.38419e-07) -bones/16/rotation = Quaternion(-0.0950608, -0.00283341, -0.0712662, 0.992913) +bones/16/rotation = Quaternion(-0.0552159, 0.00742891, -0.0715926, 0.995877) bones/16/scale = Vector3(1, 1, 1) bones/17/name = "Bone.017" bones/17/parent = 1 bones/17/rest = Transform3D(0.731155, -0.681922, -0.0198728, 0.682036, 0.729995, 0.0439838, -0.0154864, -0.0457129, 0.998835, 5.59958e-08, 0.416929, 4.28408e-08) bones/17/enabled = true bones/17/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08) -bones/17/rotation = Quaternion(-0.0323553, -0.0901917, 0.360074, 0.92799) +bones/17/rotation = Quaternion(-0.0306865, -0.0720045, 0.361655, 0.929021) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "Bone.018" bones/18/parent = 17 bones/18/rest = Transform3D(0.857941, 0.502855, 0.105234, -0.513706, 0.842315, 0.163131, -0.00660895, -0.194016, 0.980976, 3.20375e-07, 0.400228, 5.21541e-08) bones/18/enabled = true bones/18/position = Vector3(3.20375e-07, 0.400228, 5.21541e-08) -bones/18/rotation = Quaternion(-0.0650744, 0.163233, -0.237803, 0.955285) +bones/18/rotation = Quaternion(-0.0709579, 0.135816, -0.24378, 0.957648) bones/18/scale = Vector3(1, 1, 1) bones/19/name = "Bone.019" bones/19/parent = 18 bones/19/rest = Transform3D(0.998612, 0.039922, -0.0343595, -0.0384998, 0.998413, 0.041105, 0.035946, -0.0397251, 0.998564, -1.11759e-08, 0.196711, 2.08616e-07) bones/19/enabled = true bones/19/position = Vector3(-1.11759e-08, 0.196711, 2.08616e-07) -bones/19/rotation = Quaternion(-0.015694, -0.0682023, -0.03528, 0.996924) +bones/19/rotation = Quaternion(-0.0166218, -0.0578792, -0.0320887, 0.997669) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "Bone.020" bones/20/parent = 19 bones/20/rest = Transform3D(0.986971, -0.159729, -0.0193674, 0.158629, 0.945818, 0.283312, -0.0269352, -0.282693, 0.958832, -2.01166e-07, 0.127215, 4.47035e-08) bones/20/enabled = true bones/20/position = Vector3(-2.01166e-07, 0.127215, 4.47035e-08) -bones/20/rotation = Quaternion(-0.184269, -0.0381617, 0.0740548, 0.979339) +bones/20/rotation = Quaternion(-0.175964, -0.0299666, 0.0754335, 0.981045) bones/20/scale = Vector3(1, 1, 1) bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.769842, -0.636234, 0.0505047, 0.097048, 0.038481, -0.994536, 0.630814, 0.770536, 0.0913695, 3.03019, -0.0704427, -3.30826) bones/21/enabled = true -bones/21/position = Vector3(2.73986, 0.0654195, -3.39532) -bones/21/rotation = Quaternion(0.758807, 0.0665945, 0.2939, 0.577409) +bones/21/position = Vector3(2.73136, 0.0565356, -3.40071) +bones/21/rotation = Quaternion(0.756788, 0.0717616, 0.291718, 0.580536) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_002" type="MeshInstance3D" parent="Pivot/ARM7/7_ L AGNI CONE ARM/Skeleton3D"] @@ -788,7 +784,7 @@ mesh = SubResource("ArrayMesh_x24rv") skin = SubResource("Skin_pqs8c") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Pivot/ARM7/7_ L AGNI CONE ARM/Skeleton3D"] -transform = Transform3D(-0.853632, -0.471498, 0.221363, 0.256391, -0.0104199, 0.966517, -0.453405, 0.881805, 0.129783, 0.944127, -0.214516, -0.235202) +transform = Transform3D(-0.855846, -0.461249, 0.234045, 0.288884, -0.050929, 0.956009, -0.429038, 0.885808, 0.176835, 0.920325, -0.406816, -0.21765) bone_name = "Bone.001" bone_idx = 1 @@ -842,24 +838,9 @@ bus = &"SFX" unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.47512, 10.9398, -1.13179) -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("9_tma27") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("10_6ih5g") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("11_jl2ue") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("12_ldh72") +autoplay = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm8.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm8.tscn index f4d81121..68e7e027 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm8.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm8.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=27 format=4 uid="uid://25ignmox5j8o"] +[gd_scene load_steps=23 format=4 uid="uid://25ignmox5j8o"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_5tnjc"] [ext_resource type="Texture2D" uid="uid://dsnuk0k83wrna" path="res://src/enemy/enemy_types/16. demon wall/model/ARM8_AREA_2_MAIN_222STONE.png" id="2_8jyke"] @@ -7,10 +7,6 @@ [ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_yary7"] [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_cglns"] [ext_resource type="AudioStream" uid="uid://ugc77goiwht0" path="res://src/audio/sfx/enemy_ambassador_punch.ogg" id="7_cglns"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="8_i7tvv"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="9_s00ib"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="10_lq68h"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="11_1fvxr"] [sub_resource type="Resource" id="Resource_yary7"] script = ExtResource("2_yary7") @@ -554,15 +550,15 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(-0.0590079, 0.671656, -0.73851, -0.998184, -0.0307105, 0.0518258, 0.0121291, 0.740227, 0.672248, -1.70411, 0.133377, -1.7164) bones/0/enabled = true -bones/0/position = Vector3(-2.90251, 0.821056, -1.19932) -bones/0/rotation = Quaternion(-0.0307662, -0.640633, -0.702446, 0.308565) +bones/0/position = Vector3(-2.86362, 0.703859, -1.20191) +bones/0/rotation = Quaternion(0.00731149, -0.584844, -0.714614, 0.383707) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, 0.0728404, -0.00158078, -0.0727175, 0.996536, 0.0403564, 0.00451488, -0.0401342, 0.999184, -2.90573e-07, 1.85949, 2.08616e-07) bones/1/enabled = true bones/1/position = Vector3(-2.90573e-07, 1.85949, 2.08616e-07) -bones/1/rotation = Quaternion(-0.050829, 0.0107334, 0.238876, 0.969659) +bones/1/rotation = Quaternion(-0.102341, 0.0154878, 0.19142, 0.976035) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 @@ -701,8 +697,8 @@ bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.761771, 0.635827, -0.12422, -0.154809, -0.00753331, -0.987916, -0.629079, 0.771795, 0.0926929, -3.0206, 0.148976, -3.31442) bones/21/enabled = true -bones/21/position = Vector3(-2.95832, 0.364883, -3.28222) -bones/21/rotation = Quaternion(0.474724, -0.460951, -0.406109, 0.630267) +bones/21/position = Vector3(-2.9972, 0.482079, -3.27963) +bones/21/rotation = Quaternion(0.526979, -0.398985, -0.408239, 0.629639) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST_007" type="MeshInstance3D" parent="ARM8/8_ L MELEE ARM/Skeleton3D"] @@ -710,7 +706,7 @@ mesh = SubResource("ArrayMesh_3e72b") skin = SubResource("Skin_v7bct") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM8/8_ L MELEE ARM/Skeleton3D"] -transform = Transform3D(-0.746257, -0.442407, 0.49737, -0.367996, -0.348436, -0.862074, 0.554689, -0.826359, 0.0972186, -1.35378, 0.455844, 0.60696) +transform = Transform3D(-0.698426, -0.463424, 0.54538, -0.528493, -0.17989, -0.829659, 0.482592, -0.867685, -0.119277, -1.16401, 0.291725, 0.414628) bone_name = "Bone.012" bone_idx = 12 @@ -741,24 +737,9 @@ root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_5tnjc") anim_player = NodePath("../AnimationPlayer") -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("8_i7tvv") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("9_s00ib") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("10_lq68h") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("11_1fvxr") +autoplay = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm9.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm9.tscn index fe2bd0c7..33f72364 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm9.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/Arm9.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=162 format=4 uid="uid://dppws3muepn0l"] +[gd_scene load_steps=158 format=4 uid="uid://dppws3muepn0l"] [ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_fjfqv"] [ext_resource type="Texture2D" uid="uid://c1jl757qlt28e" path="res://src/enemy/enemy_types/16. demon wall/model/ARM9_AREA_2_MAIN_222STONE.png" id="2_bbf6x"] @@ -8,10 +8,6 @@ [ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_fk886"] [ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_jltgb"] [ext_resource type="AudioStream" uid="uid://53o2klbyrg3k" path="res://src/audio/sfx/enemy_demon_wall_debuff.ogg" id="8_g28ne"] -[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="9_n4pi1"] -[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="10_8ffok"] -[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="11_g5dit"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="12_ahsqi"] [sub_resource type="Resource" id="Resource_jltgb"] script = ExtResource("2_jltgb") @@ -1553,141 +1549,141 @@ bones/0/name = "Bone" bones/0/parent = -1 bones/0/rest = Transform3D(0.664239, -0.5079, 0.548475, 0.747327, 0.467912, -0.471764, -0.0170288, 0.723254, 0.690372, 1.32537, -1.1447, -1.67359) bones/0/enabled = true -bones/0/position = Vector3(1.60988, -1.05332, -1.37138) -bones/0/rotation = Quaternion(-0.0847933, 0.842793, 0.477148, 0.234178) +bones/0/position = Vector3(1.49708, -1.0679, -1.42367) +bones/0/rotation = Quaternion(0.025682, 0.677428, 0.611803, 0.40759) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Bone.001" bones/1/parent = 0 bones/1/rest = Transform3D(0.997342, -0.0728411, -0.00159727, 0.0728464, 0.996536, 0.0401251, -0.00133102, -0.0401348, 0.999193, 4.76837e-07, 1.85949, -3.57628e-07) bones/1/enabled = true bones/1/position = Vector3(4.76837e-07, 1.85949, -3.57628e-07) -bones/1/rotation = Quaternion(-0.259304, -0.229132, 0.100842, 0.932787) +bones/1/rotation = Quaternion(-0.103688, -0.0798619, 0.0593791, 0.989619) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Bone.002" bones/2/parent = 1 bones/2/rest = Transform3D(0.175377, 0.963955, 0.200084, -0.983796, 0.179283, -0.00142535, -0.0372456, -0.196592, 0.979778, 2.38419e-07, 0.416929, 0) bones/2/enabled = true bones/2/position = Vector3(2.38419e-07, 0.416929, 0) -bones/2/rotation = Quaternion(-0.266077, 0.168954, -0.645688, 0.695518) +bones/2/rotation = Quaternion(-0.134362, 0.109791, -0.644194, 0.74492) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Bone.003" bones/3/parent = 2 bones/3/rest = Transform3D(0.795965, -0.570793, -0.20158, 0.584249, 0.811523, 0.00907775, 0.158406, -0.124999, 0.97943, -3.57628e-07, 0.298125, 2.98023e-07) bones/3/enabled = true bones/3/position = Vector3(-3.57628e-07, 0.298125, 2.98023e-07) -bones/3/rotation = Quaternion(-0.010037, -0.0874289, 0.400771, 0.911942) +bones/3/rotation = Quaternion(-0.0266758, -0.0925272, 0.338443, 0.936047) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Bone.004" bones/4/parent = 3 bones/4/rest = Transform3D(0.989609, -0.143491, 0.00920793, 0.143738, 0.98559, -0.0891698, 0.00371984, 0.0895667, 0.995974, -1.19209e-07, 0.217615, 0) bones/4/enabled = true bones/4/position = Vector3(-1.19209e-07, 0.217615, 0) -bones/4/rotation = Quaternion(0.155159, 0.0086465, 0.215889, 0.963973) +bones/4/rotation = Quaternion(0.0832059, 0.00389879, 0.122132, 0.989012) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "Bone.005" bones/5/parent = 1 bones/5/rest = Transform3D(0.891187, 0.451267, 0.0463142, -0.453483, 0.888891, 0.0650071, -0.0118327, -0.0789361, 0.99681, 2.38419e-07, 0.416929, 0) bones/5/enabled = true bones/5/position = Vector3(2.38419e-07, 0.416929, 0) -bones/5/rotation = Quaternion(-0.119883, 0.023862, -0.205944, 0.970899) +bones/5/rotation = Quaternion(-0.0656899, 0.0180486, -0.223705, 0.972273) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "Bone.006" bones/6/parent = 5 bones/6/rest = Transform3D(0.945561, -0.313247, -0.0882632, 0.323946, 0.931929, 0.162995, 0.0311974, -0.182714, 0.982671, 2.38419e-07, 0.366571, 2.38419e-07) bones/6/enabled = true bones/6/position = Vector3(2.38419e-07, 0.366571, 2.38419e-07) -bones/6/rotation = Quaternion(-0.266025, -0.0547133, 0.158645, 0.949247) +bones/6/rotation = Quaternion(-0.149944, -0.0389323, 0.161557, 0.974628) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 bones/7/rest = Transform3D(0.999951, -0.00959863, -0.00243464, 0.00990257, 0.968864, 0.247396, -1.58236e-05, -0.247408, 0.968911, -3.57628e-07, 0.229155, -4.76837e-07) bones/7/enabled = true bones/7/position = Vector3(-3.57628e-07, 0.229155, -4.76837e-07) -bones/7/rotation = Quaternion(-0.3124, 0.0360711, 0.0365625, 0.948561) +bones/7/rotation = Quaternion(-0.190246, 0.0120906, 0.015896, 0.981533) bones/7/scale = Vector3(1, 1, 1) bones/8/name = "Bone.008" bones/8/parent = 7 bones/8/rest = Transform3D(0.996094, -0.0359844, -0.080632, 0.0483362, 0.986431, 0.156901, 0.0738919, -0.160186, 0.984317, -1.19209e-07, 0.142665, 5.96046e-08) bones/8/enabled = true bones/8/position = Vector3(-1.19209e-07, 0.142665, 5.96046e-08) -bones/8/rotation = Quaternion(-0.316928, 0.00617318, 0.0792994, 0.945109) +bones/8/rotation = Quaternion(-0.162525, -0.0234763, 0.0414917, 0.985552) bones/8/scale = Vector3(1, 1, 1) bones/9/name = "Bone.009" bones/9/parent = 1 bones/9/rest = Transform3D(0.998888, 0.0470345, 0.00320965, -0.0471423, 0.997098, 0.0597765, -0.000388783, -0.0598614, 0.998207, 2.38419e-07, 0.416929, 0) bones/9/enabled = true bones/9/position = Vector3(2.38419e-07, 0.416929, 0) -bones/9/rotation = Quaternion(-0.178934, 0.0469714, -0.008006, 0.982707) +bones/9/rotation = Quaternion(-0.0815746, 0.0168447, -0.0182451, 0.996358) bones/9/scale = Vector3(1, 1, 1) bones/10/name = "Bone.010" bones/10/parent = 9 bones/10/rest = Transform3D(0.999465, -0.0299688, -0.013087, 0.0321776, 0.972617, 0.230175, 0.00583061, -0.230473, 0.973061, 1.19209e-07, 0.347821, -4.76837e-07) bones/10/enabled = true bones/10/position = Vector3(1.19209e-07, 0.347821, -4.76837e-07) -bones/10/rotation = Quaternion(-0.272473, -0.0466986, 0.0264601, 0.960665) +bones/10/rotation = Quaternion(-0.170474, -0.019287, 0.0194353, 0.984982) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "Bone.011" bones/11/parent = 10 bones/11/rest = Transform3D(0.999927, -0.00347542, -0.0115401, 0.00624306, 0.968405, 0.249306, 0.010309, -0.24936, 0.968356, -1.19209e-07, 0.23661, -3.57628e-07) bones/11/enabled = true bones/11/position = Vector3(-1.19209e-07, 0.23661, -3.57628e-07) -bones/11/rotation = Quaternion(-0.289659, 0.0375797, 0.0400403, 0.955553) +bones/11/rotation = Quaternion(-0.182889, 0.00939047, 0.0154718, 0.982967) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "Bone.012" bones/12/parent = 11 bones/12/rest = Transform3D(0.997952, 0.0219231, -0.0600952, -0.0135757, 0.990623, 0.135945, 0.062512, -0.13485, 0.988892, -7.15256e-07, 0.172989, -3.57628e-07) bones/12/enabled = true bones/12/position = Vector3(-7.15256e-07, 0.172989, -3.57628e-07) -bones/12/rotation = Quaternion(-0.214396, -0.00038524, 0.0368907, 0.97605) +bones/12/rotation = Quaternion(-0.118764, -0.0203251, 0.00691565, 0.99269) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "Bone.013" bones/13/parent = 1 bones/13/rest = Transform3D(0.924677, -0.380196, -0.0205531, 0.380734, 0.922776, 0.0593795, -0.00360998, -0.0627321, 0.998024, 2.38419e-07, 0.416929, 0) bones/13/enabled = true bones/13/position = Vector3(2.38419e-07, 0.416929, 0) -bones/13/rotation = Quaternion(-0.0869399, 0.011616, 0.19529, 0.976815) +bones/13/rotation = Quaternion(-0.0504366, 0.00118676, 0.194531, 0.979598) bones/13/scale = Vector3(1, 1, 1) bones/14/name = "Bone.014" bones/14/parent = 13 bones/14/rest = Transform3D(0.961502, 0.268959, 0.0563536, -0.274785, 0.938956, 0.207013, 0.00276419, -0.214528, 0.976714, -4.76837e-07, 0.369994, 1.19209e-07) bones/14/enabled = true bones/14/position = Vector3(-4.76837e-07, 0.369994, 1.19209e-07) -bones/14/rotation = Quaternion(-0.167362, 0.0341507, -0.132487, 0.976356) +bones/14/rotation = Quaternion(-0.12793, 0.020711, -0.136208, 0.982167) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "Bone.015" bones/15/parent = 14 bones/15/rest = Transform3D(0.991898, -0.123694, -0.0289441, 0.12423, 0.896878, 0.424473, -0.0265452, -0.42463, 0.904978, 4.17233e-07, 0.248162, 0) bones/15/enabled = true bones/15/position = Vector3(4.17233e-07, 0.248162, 0) -bones/15/rotation = Quaternion(-0.340009, 0.0276822, 0.0796518, 0.936634) +bones/15/rotation = Quaternion(-0.260592, 0.00916688, 0.0693033, 0.962915) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "Bone.016" bones/16/parent = 15 bones/16/rest = Transform3D(0.985406, 0.151262, 0.0780701, -0.133163, 0.970709, -0.199978, -0.106032, 0.186663, 0.976685, -8.9407e-08, 0.160424, -8.34465e-07) bones/16/enabled = true bones/16/position = Vector3(-8.9407e-08, 0.160424, -8.34465e-07) -bones/16/rotation = Quaternion(0.0420214, 0.0571542, -0.0650502, 0.995357) +bones/16/rotation = Quaternion(0.0783437, 0.0501464, -0.0694346, 0.99324) bones/16/scale = Vector3(1, 1, 1) bones/17/name = "Bone.017" bones/17/parent = 1 bones/17/rest = Transform3D(0.731154, -0.681923, -0.0198735, 0.682037, 0.729994, 0.0439834, -0.0154858, -0.0457131, 0.998835, 2.38419e-07, 0.416929, 0) bones/17/enabled = true bones/17/position = Vector3(2.38419e-07, 0.416929, 0) -bones/17/rotation = Quaternion(-0.104245, 0.0500787, 0.395603, 0.911111) +bones/17/rotation = Quaternion(-0.0518302, 0.0165322, 0.377071, 0.924585) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "Bone.018" bones/18/parent = 17 bones/18/rest = Transform3D(0.857942, 0.502854, 0.105233, -0.513705, 0.842316, 0.163129, -0.00660948, -0.194014, 0.980976, -5.96046e-07, 0.400228, -7.15256e-07) bones/18/enabled = true bones/18/position = Vector3(-5.96046e-07, 0.400228, -7.15256e-07) -bones/18/rotation = Quaternion(-0.166994, 0.0657689, -0.265268, 0.947323) +bones/18/rotation = Quaternion(-0.118684, 0.0418215, -0.265245, 0.955934) bones/18/scale = Vector3(1, 1, 1) bones/19/name = "Bone.019" bones/19/parent = 18 bones/19/rest = Transform3D(0.998612, 0.039929, -0.0343581, -0.0385066, 0.998412, 0.0411099, 0.035945, -0.0397298, 0.998564, 2.08616e-07, 0.196712, -2.38419e-07) bones/19/enabled = true bones/19/position = Vector3(2.08616e-07, 0.196712, -2.38419e-07) -bones/19/rotation = Quaternion(-0.124374, -0.0294682, -0.0399575, 0.990992) +bones/19/rotation = Quaternion(-0.0562708, -0.0217182, -0.0266794, 0.997823) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "Bone.020" bones/20/parent = 19 @@ -1700,8 +1696,8 @@ bones/21/name = "Bone.021" bones/21/parent = -1 bones/21/rest = Transform3D(0.638395, -0.466665, -0.612108, -0.416251, 0.459614, -0.784532, 0.647446, 0.755632, 0.0991659, 2.29161, -2.09633, -3.23813) bones/21/enabled = true -bones/21/position = Vector3(2.34956, -1.43094, -3.26329) -bones/21/rotation = Quaternion(0.536061, 0.155034, 0.347987, 0.753331) +bones/21/position = Vector3(2.46236, -1.41636, -3.211) +bones/21/rotation = Quaternion(0.509965, 0.123608, 0.393738, 0.754737) bones/21/scale = Vector3(1, 1, 1) [node name="CHEST" type="MeshInstance3D" parent="ARM9/9_ L MAGIC 3 ARM/Skeleton3D"] @@ -1709,7 +1705,7 @@ mesh = SubResource("ArrayMesh_auq5d") skin = SubResource("Skin_h0kek") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM9/9_ L MAGIC 3 ARM/Skeleton3D"] -transform = Transform3D(-0.901522, -0.410487, -0.136964, 0.373655, -0.898066, 0.232077, -0.218267, 0.158046, 0.963006, 0.565296, -0.319394, 0.945969) +transform = Transform3D(-0.778122, -0.62636, 0.0468986, 0.587952, -0.700064, 0.405244, -0.220997, 0.342903, 0.913005, 0.16503, -0.792149, 1.03006) bone_name = "Bone.015" bone_idx = 15 @@ -1747,24 +1743,9 @@ root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_fjfqv") anim_player = NodePath("../AnimationPlayer") -[node name="HitSounds" type="Node3D" parent="."] +[node name="SFX" type="Node3D" parent="."] -[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"] unique_name_in_owner = true -stream = ExtResource("9_n4pi1") -bus = &"SFX" - -[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("10_8ffok") -bus = &"SFX" - -[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("11_g5dit") -bus = &"SFX" - -[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] -unique_name_in_owner = true -stream = ExtResource("12_ahsqi") +autoplay = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWall.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWall.tscn index 9e589612..f43e7094 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWall.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWall.tscn @@ -55,3 +55,7 @@ bus = &"SFX" unique_name_in_owner = true stream = ExtResource("6_f313b") bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallArm.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallArm.cs index e40fd446..718c09a1 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallArm.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallArm.cs @@ -25,14 +25,14 @@ public partial class DemonWallArm : EnemyModelView public new void OnReady() { - Hitbox.AreaEntered += Hitbox_AreaEntered; - base.OnReady(); + Hitbox.AreaEntered += Hitbox_AreaEntered; + base.OnReady(); } private void Hitbox_AreaEntered(Area3D area) { - var target = area.GetOwner(); - if (target is IPlayer player) - OnPlayerHit(new AttackEventArgs(new AttackData(AttackData.Damage, AttackData.ElementType))); + var target = area.GetOwner(); + if (target is IPlayer player) + base.OnPlayerHit(new AttackEventArgs(AttackData)); } } diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallModelView.tscn index b9a70724..176dcdaf 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallModelView.tscn @@ -456,3 +456,8 @@ unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeStateMachine_r5yku") anim_player = NodePath("../AnimationPlayer") + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemon.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemon.tscn index 34b70b9b..c238fcf3 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemon.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemon.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=14 format=3 uid="uid://dpq17ej06uah1"] +[gd_scene load_steps=13 format=3 uid="uid://dpq17ej06uah1"] [ext_resource type="Script" uid="uid://ccakkuoppaidy" path="res://src/enemy/enemy_types/9b. Aqueos Demon/AqueousDemon.cs" id="1_8b86o"] [ext_resource type="PackedScene" uid="uid://cu7n814hhtjwm" path="res://src/enemy/enemy_types/9b. Aqueos Demon/AqueosModelView.tscn" id="2_0hbxv"] @@ -8,7 +8,6 @@ [ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_hqaqe"] [ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_dmy4c"] [ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_gxnga"] -[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_f4fyu"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"] radius = 0.226425 @@ -108,5 +107,8 @@ bus = &"SFX" [node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"] unique_name_in_owner = true -stream = ExtResource("9_f4fyu") +bus = &"SFX" + +[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"] +unique_name_in_owner = true bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemonStats.tres b/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemonStats.tres deleted file mode 100644 index 8400ccb4..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemonStats.tres +++ /dev/null @@ -1,21 +0,0 @@ -[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://cpoxit5pafww5"] - -[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_8v7ib"] - -[resource] -script = ExtResource("1_8v7ib") -CurrentHP = 100.0 -MaximumHP = 100 -CurrentAttack = 10 -CurrentDefense = 5 -MaxAttack = 10 -MaxDefense = 5 -ExpFromDefeat = 0 -Luck = 0.05 -_telluricResistance = 0.0 -_aeolicResistance = 0.0 -_hydricResistance = 0.5 -_igneousResistance = 0.0 -_ferrumResistance = 0.0 -DropsSoulGemChance = 0.75 -metadata/_custom_type_script = "uid://dnkmr0eq1sij0" diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosModelView.tscn index 689c7f79..945aa715 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/9b. Aqueos Demon/AqueosModelView.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=367 format=3 uid="uid://cu7n814hhtjwm"] +[gd_scene load_steps=368 format=3 uid="uid://cu7n814hhtjwm"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_vf7er"] [ext_resource type="Resource" uid="uid://co0eq5nl2ai24" path="res://src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemonInfo.tres" id="2_ejhrk"] @@ -335,6 +335,7 @@ [ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="334_sm161"] [ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="335_6g4mi"] [ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="336_oklrx"] +[ext_resource type="AudioStream" uid="uid://ddcyb2ni2aisr" path="res://src/audio/sfx/ENEMY_AQUEOS_LOOP.ogg" id="336_sm161"] [sub_resource type="ViewportTexture" id="ViewportTexture_h1kaf"] viewport_path = NodePath("Sprite3D/SubViewportContainer/SubViewport") @@ -2130,5 +2131,12 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.565754, 0) light_color = Color(0.607843, 1, 1, 1) [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] +stream = ExtResource("336_sm161") autoplay = true +bus = &"SFX" doppler_tracking = 1 + +[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] +unique_name_in_owner = true +autoplay = true +bus = &"SFX" diff --git a/Zennysoft.Game.Ma/src/map/dungeon/code/MonsterRoom.cs b/Zennysoft.Game.Ma/src/map/dungeon/code/MonsterRoom.cs index 41c22eff..cb572440 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/code/MonsterRoom.cs +++ b/Zennysoft.Game.Ma/src/map/dungeon/code/MonsterRoom.cs @@ -24,7 +24,7 @@ public partial class MonsterRoom : DungeonRoom public void SpawnEnemies(Godot.Collections.Dictionary enemyInfo) { - if (enemyInfo == null || enemyInfo.Count == 0) + if (enemyInfo == null || !enemyInfo.Any(x => x.Value > 0)) return; var rng = new RandomNumberGenerator(); diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/SetAFloors/test_floor.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/SetAFloors/test_floor.tscn index 6201c8ce..7f62a4b5 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/SetAFloors/test_floor.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/SetAFloors/test_floor.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=21 format=3 uid="uid://c5ekisphioovm"] +[gd_scene load_steps=22 format=3 uid="uid://c5ekisphioovm"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_cfhj4"] [ext_resource type="PackedScene" uid="uid://dhkbvos11tkdw" path="res://src/map/dungeon/rooms/Set A/12. Jump Scare Room.tscn" id="1_crv4e"] @@ -13,6 +13,7 @@ [ext_resource type="PackedScene" uid="uid://cam640h4euewx" path="res://src/map/dungeon/rooms/Set A/05. Pit Room A.tscn" id="12_4sygy"] [ext_resource type="PackedScene" uid="uid://cdkcvd7pwmr2r" path="res://src/map/assets/Dungeon Doors/DOORA.tscn" id="12_hkp1m"] [ext_resource type="Script" uid="uid://b8bvom6o034gm" path="res://src/quest/QuestTest.cs" id="13_hkp1m"] +[ext_resource type="PackedScene" uid="uid://cmvimr0pvsgqy" path="res://src/enemy/enemy_types/10. Eden Pillar/Eden Pillar.tscn" id="14_hsujv"] [sub_resource type="Environment" id="Environment_yrcgx"] background_mode = 1 @@ -227,3 +228,11 @@ navigation_mesh = SubResource("NavigationMesh_hkp1m") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.41175, 1.02274, 0) visible = false mesh = SubResource("PlaneMesh_hkp1m") + +[node name="Eden Pillar" parent="." instance=ExtResource("14_hsujv")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -17.8435, 0, 0) + +[node name="CSGBox3D" type="CSGBox3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.4918, 1.20905, -1.40112) +use_collision = true +size = Vector3(1, 3.41809, 3.80225) diff --git a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/05. Pit Room A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/05. Pit Room A.tscn index d3e8725b..b281bd4e 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/05. Pit Room A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/05. Pit Room A.tscn @@ -794,10 +794,8 @@ radius = 2.0 size = Vector3(36, 8, 36) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_06rpm"] +shading_mode = 0 albedo_texture = ExtResource("6_5ju0l") -emission_enabled = true -emission = Color(1, 1, 1, 1) -emission_energy_multiplier = 0.0 texture_filter = 0 [sub_resource type="PlaneMesh" id="PlaneMesh_gx7da"] @@ -1119,6 +1117,7 @@ shape = SubResource("BoxShape3D_c4wqw") [node name="Minimap" type="MeshInstance3D" parent="Minimap"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 17.9999) +visible = false layers = 2 mesh = SubResource("PlaneMesh_gx7da") diff --git a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn index e02caff2..48a7141f 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn @@ -565,8 +565,8 @@ layers = 2 mesh = SubResource("PlaneMesh_5n72k") surface_material_override/0 = SubResource("StandardMaterial3D_l1s1j") -[node name="Sprite3D" type="Sprite3D" parent="Minimap"] -transform = Transform3D(5.67, 0, 0, 0, -2.47844e-07, 5.67, 0, -5.67, -2.47844e-07, 0, 0.721614, -4.4148) +[node name="Sprite3D" type="Sprite3D" parent="Minimap/Minimap"] +transform = Transform3D(-2.47844e-07, -5.67, -2.47844e-07, 0, -2.47844e-07, 5.67, -5.67, 2.47844e-07, 1.08336e-14, -2.4288, 3.94786, 0) layers = 2 texture_filter = 0 texture = ExtResource("4_ljhl3") diff --git a/Zennysoft.Game.Ma/src/player/Player.tscn b/Zennysoft.Game.Ma/src/player/Player.tscn index 9a774d44..9c42a1a3 100644 --- a/Zennysoft.Game.Ma/src/player/Player.tscn +++ b/Zennysoft.Game.Ma/src/player/Player.tscn @@ -563,7 +563,6 @@ shape = SubResource("BoxShape3D_hs4wf") unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.507, 0, 0) collision_layer = 0 -collision_mask = 0 axis_lock_linear_x = true axis_lock_linear_y = true axis_lock_linear_z = true diff --git a/Zennysoft.Game.Ma/src/system/IHasPrimaryAttack.cs b/Zennysoft.Game.Ma/src/system/IHasPrimaryAttack.cs index a732801f..9d3cc394 100644 --- a/Zennysoft.Game.Ma/src/system/IHasPrimaryAttack.cs +++ b/Zennysoft.Game.Ma/src/system/IHasPrimaryAttack.cs @@ -1,4 +1,5 @@ -using Zennysoft.Ma.Adapter; +using Godot; +using Zennysoft.Ma.Adapter; namespace Zennysoft.Game.Ma; @@ -30,9 +31,13 @@ public interface IHasTertiaryAttack public interface IHasPrimarySkill { public void PrimarySkill(); + + [Export] public AttackDataResource AttackData { get; set; } } public interface IHasRangedAttack { public void RangedAttack(); + + [Export] public AttackDataResource AttackData { get; set; } } diff --git a/Zennysoft.Game.Ma/src/system/Projectile.cs b/Zennysoft.Game.Ma/src/system/Projectile.cs index 1807518f..312a1e61 100644 --- a/Zennysoft.Game.Ma/src/system/Projectile.cs +++ b/Zennysoft.Game.Ma/src/system/Projectile.cs @@ -20,16 +20,24 @@ public partial class Projectile : Node3D public void OnReady() { - ProjectileHitbox.AreaEntered += Hitbox_AreaEntered; + ProjectileHitbox.AreaEntered += Hitbox_AreaEntered; + ProjectileHitbox.BodyEntered += ProjectileHitbox_BodyEntered; + } + + private void ProjectileHitbox_BodyEntered(Node3D body) + { + AnimationPlayer.Play("RESET"); } public void Fire() { - AnimationPlayer.Play("Fire"); + AnimationPlayer.Play("Fire"); } private void Hitbox_AreaEntered(Area3D area) { - _player.TakeDamage(new AttackData(AttackData.Damage, AttackData.ElementType)); + if (area.GetOwner() is IPlayer) + _player.TakeDamage(new AttackData(AttackData.Damage, AttackData.ElementType)); + AnimationPlayer.Play("RESET"); } }