diff --git a/Zennysoft.Game.Ma/src/DirectionType.cs b/Zennysoft.Game.Ma/src/DirectionType.cs index f7303f4f..c3539e2b 100644 --- a/Zennysoft.Game.Ma/src/DirectionType.cs +++ b/Zennysoft.Game.Ma/src/DirectionType.cs @@ -1,7 +1,7 @@ public enum DirectionType { - FORWARD, - LEFT, - RIGHT, - BACKWARD + Forward, + Left, + Right, + Backward } \ No newline at end of file diff --git a/Zennysoft.Game.Ma/src/data_viewer/DataViewer.cs b/Zennysoft.Game.Ma/src/data_viewer/DataViewer.cs index cc7516a2..3f0e20dc 100644 --- a/Zennysoft.Game.Ma/src/data_viewer/DataViewer.cs +++ b/Zennysoft.Game.Ma/src/data_viewer/DataViewer.cs @@ -34,58 +34,59 @@ public partial class DataViewer : Control public void Initialize() { - Instantiator = new Instantiator(GetTree()); - LoadModel(); + Instantiator = new Instantiator(GetTree()); + LoadModel(); } public override void _Process(double delta) { - if (Input.IsActionPressed(GameInputs.MoveLeft)) - CameraPivot.RotateY(_cameraSpeed); - if (Input.IsActionPressed(GameInputs.MoveRight)) - CameraPivot.RotateY(-_cameraSpeed); - if (Input.IsActionPressed(GameInputs.StrafeLeft)) - Camera3D.Position = Camera3D.Position.MoveToward(CameraPivot.Position, (float)delta * 2f); - if (Input.IsActionPressed(GameInputs.StrafeRight)) - Camera3D.Position = Camera3D.Position.MoveToward(CameraPivot.Position, -(float)delta * 2f); + if (Input.IsActionPressed(GameInputs.MoveLeft)) + CameraPivot.RotateY(_cameraSpeed); + if (Input.IsActionPressed(GameInputs.MoveRight)) + CameraPivot.RotateY(-_cameraSpeed); + if (Input.IsActionPressed(GameInputs.StrafeLeft)) + Camera3D.Position = Camera3D.Position.MoveToward(CameraPivot.Position, (float)delta * 2f); + if (Input.IsActionPressed(GameInputs.StrafeRight)) + Camera3D.Position = Camera3D.Position.MoveToward(CameraPivot.Position, -(float)delta * 2f); - Camera3D.Position = Camera3D.Position.Clamp(new Vector3(0, 0, 1), new Vector3(0, 0, 4)); - ModelPivot.Rotation = ModelPivot.Rotation.Clamp(Mathf.DegToRad(-60), Mathf.DegToRad(60)); - _currentModel.SetCurrentDirection(_currentModel.GlobalBasis, -CameraPivot.Basis.Z); - _currentModel.PlayIdleAnimation(); + Camera3D.Position = Camera3D.Position.Clamp(new Vector3(0, 0, 1), new Vector3(0, 0, 4)); + ModelPivot.Rotation = ModelPivot.Rotation.Clamp(Mathf.DegToRad(-60), Mathf.DegToRad(60)); + _currentModel.SetCurrentDirection(_currentModel.GlobalBasis, -CameraPivot.Basis.Z); - if (Input.IsActionJustPressed(GameInputs.Attack)) - _currentModel.PlayPrimaryAttackAnimation(); - if (Input.IsActionJustPressed(GameInputs.AltAttack)) - _currentModel.PlaySecondaryAttackAnimation(); - if (Input.IsActionJustPressed(GameInputs.Inventory) && _currentModel is ICanActivate canActivate) - canActivate.Activate(); - if (Input.IsActionPressed(GameInputs.StrafeRight)) - _currentModel.PlayWalkAnimation(); + if (Input.IsActionJustPressed(GameInputs.Attack)) + _currentModel.PlayPrimaryAttackAnimation(); + if (Input.IsActionJustPressed(GameInputs.AltAttack)) + _currentModel.PlaySecondaryAttackAnimation(); + if (Input.IsActionJustPressed(GameInputs.Inventory)) + _currentModel.PlayActivateAnimation(); + if (Input.IsActionPressed(GameInputs.StrafeRight)) + _currentModel.PlayWalkAnimation(); + if (Input.IsActionJustReleased(GameInputs.StrafeRight)) + _currentModel.PlayIdleAnimation(); - if (Input.IsActionJustPressed(GameInputs.Next)) - { - // Load next model - _currentModel.CallDeferred(MethodName.QueueFree); - _modelIndex = (_modelIndex + 1) % DataViewerRepository.ModelRepository.Count; - GD.Print(_modelIndex); - CallDeferred(MethodName.LoadModel); - } - if (Input.IsActionJustPressed(GameInputs.Previous)) - { - // Load previous model - _currentModel.CallDeferred(MethodName.QueueFree); - _modelIndex = (_modelIndex - 1 < 0 ? DataViewerRepository.ModelRepository.Count : _modelIndex) - 1; - CallDeferred(MethodName.LoadModel); - } + if (Input.IsActionJustPressed(GameInputs.Next)) + { + // Load next model + _currentModel.CallDeferred(MethodName.QueueFree); + _modelIndex = (_modelIndex + 1) % DataViewerRepository.ModelRepository.Count; + GD.Print(_modelIndex); + CallDeferred(MethodName.LoadModel); + } + if (Input.IsActionJustPressed(GameInputs.Previous)) + { + // Load previous model + _currentModel.CallDeferred(MethodName.QueueFree); + _modelIndex = (_modelIndex - 1 < 0 ? DataViewerRepository.ModelRepository.Count : _modelIndex) - 1; + CallDeferred(MethodName.LoadModel); + } } private void LoadModel() { - var modelScene = DataViewerRepository.ModelRepository.ElementAt(_modelIndex); - _currentModel = modelScene.Instantiate(); - ModelPivot.AddChild(_currentModel); - EnemyName.Text = _currentModel.EnemyLoreInfo.Name; - Description.Text = _currentModel.EnemyLoreInfo.Description; + var modelScene = DataViewerRepository.ModelRepository.ElementAt(_modelIndex); + _currentModel = modelScene.Instantiate(); + ModelPivot.AddChild(_currentModel); + EnemyName.Text = _currentModel.EnemyLoreInfo.Name; + Description.Text = _currentModel.EnemyLoreInfo.Description; } } diff --git a/Zennysoft.Game.Ma/src/enemy/BossTypeA.cs b/Zennysoft.Game.Ma/src/enemy/BossTypeA.cs index a735ff49..c4a643a1 100644 --- a/Zennysoft.Game.Ma/src/enemy/BossTypeA.cs +++ b/Zennysoft.Game.Ma/src/enemy/BossTypeA.cs @@ -89,6 +89,16 @@ public partial class BossTypeA : CharacterBody3D, IEnemy, IHasPrimaryAttack, IHa Die(); } + public void Idle() + { + _enemyModelView.PlayIdleAnimation(); + } + + public void Move() + { + _enemyModelView.PlayWalkAnimation(); + } + public virtual void Die() { SetProcess(false); @@ -136,11 +146,6 @@ public partial class BossTypeA : CharacterBody3D, IEnemy, IHasPrimaryAttack, IHa { Velocity = direction * _movementSpeed; MoveAndSlide(); - _enemyModelView.PlayWalkAnimation(); - } - else - { - _enemyModelView.PlayIdleAnimation(); } } diff --git a/Zennysoft.Game.Ma/src/enemy/Enemy.cs b/Zennysoft.Game.Ma/src/enemy/Enemy.cs index a12a3f7a..c8db700d 100644 --- a/Zennysoft.Game.Ma/src/enemy/Enemy.cs +++ b/Zennysoft.Game.Ma/src/enemy/Enemy.cs @@ -43,7 +43,7 @@ public partial class Enemy : CharacterBody3D, IEnemy, IProvide [Node] private RayCast3D Raycast { get; set; } = default!; - [Node] protected IEnemyModelView _enemyModelView { get; set; } = default!; + [Node] public IEnemyModelView EnemyModelView { get; set; } = default!; #endregion public AutoProp CurrentHP { get; set; } @@ -98,21 +98,13 @@ public partial class Enemy : CharacterBody3D, IEnemy, IProvide if (!lookDir.IsEqualApprox(GlobalPosition)) LookAt(lookDir, Vector3.Up, true); - _enemyModelView.SetCurrentDirection(GlobalBasis, -_player.CurrentBasis.Z); - - if (_enemyModelView is EnemyModelView2D) - { - if (_enemyLogic.Value is EnemyLogic.State.Patrolling or EnemyLogic.State.FollowPlayer) - _enemyModelView.PlayWalkAnimation(); - else if (_enemyModelView is not ICanActivate) - _enemyModelView.PlayIdleAnimation(); - } + EnemyModelView.SetCurrentDirection(GlobalBasis, -_player.CurrentBasis.Z); } #endregion public virtual void TakeAction() { - _enemyModelView.PlayPrimaryAttackAnimation(); + EnemyModelView.PlayPrimaryAttackAnimation(); } public virtual void SetTarget(Vector3 target) @@ -145,7 +137,7 @@ public partial class Enemy : CharacterBody3D, IEnemy, IProvide if (CurrentHP.Value <= 0) return; - _enemyModelView.PlayHitAnimation(); + EnemyModelView.PlayHitAnimation(); _enemyLogic.Input(new EnemyLogic.Input.Alerted()); if (this is ICanActivate activatable) @@ -169,7 +161,7 @@ public partial class Enemy : CharacterBody3D, IEnemy, IProvide CurrentHP.OnNext(0); _enemyLogic.Input(new EnemyLogic.Input.EnemyDefeated()); _collisionShape.SetDeferred("disabled", true); - _enemyModelView.PlayDeathAnimation(); + EnemyModelView.PlayDeathAnimation(); var tweener = CreateTween(); tweener.TweenInterval(1.0f); tweener.TweenCallback(Callable.From(QueueFree)); @@ -196,6 +188,16 @@ public partial class Enemy : CharacterBody3D, IEnemy, IProvide _attackTimer.Timeout -= OnAttackTimeout; } + public void Idle() + { + EnemyModelView.PlayIdleAnimation(); + } + + public void Move() + { + EnemyModelView.PlayWalkAnimation(); + } + public Vector3 GetEnemyGlobalPosition() => GlobalPosition; public void SetEnemyGlobalPosition(Vector3 target) diff --git a/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs b/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs index 861d1e72..6c63030d 100644 --- a/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs +++ b/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs @@ -7,24 +7,11 @@ namespace Zennysoft.Game.Ma; [Meta(typeof(IAutoNode))] public partial class EnemyModelView2D : Node3D, IEnemyModelView { - protected const string PRIMARY_ATTACK = "primary_attack"; - protected const string PRIMARY_ATTACK_LEFT = "primary_attack_left"; - protected const string PRIMARY_ATTACK_RIGHT = "primary_attack_right"; - protected const string PRIMARY_ATTACK_BACK = "primary_attack_back"; - protected const string SECONDARY_ATTACK = "secondary_attack"; - protected const string SECONDARY_ATTACK_LEFT = "secondary_attack_left"; - protected const string SECONDARY_ATTACK_RIGHT = "secondary_attack_right"; - protected const string SECONDARY_ATTACK_BACK = "secondary_attack_back"; - protected const string PRIMARY_SKILL = "primary_skill"; - protected const string IDLE_FORWARD = "idle_front"; - protected const string IDLE_LEFT = "idle_left"; - protected const string IDLE_RIGHT = "idle_right"; - protected const string IDLE_BACK = "idle_back"; - protected const string IDLE_FORWARD_WALK = "idle_front_walk"; - protected const string IDLE_LEFT_WALK = "idle_left_walk"; - protected const string IDLE_RIGHT_WALK = "idle_right_walk"; - protected const string IDLE_BACK_WALK = "idle_back_walk"; - protected const string PARAMETERS_PLAYBACK = "parameters/playback"; + private readonly string _idleName = "Idle"; + private readonly string _walkingName = "Walking"; + private readonly string _primaryAttackName = "Primary Attack"; + private readonly string _secondaryAttackName = "Secondary Attack"; + private readonly string _activateName = "Activate"; public override void _Notification(int what) => this.Notify(what); @@ -38,52 +25,30 @@ public partial class EnemyModelView2D : Node3D, IEnemyModelView [Node] public AnimationTree AnimationTree { get; set; } = default!; - protected DirectionType _currentDirection = DirectionType.FORWARD; + [ExportGroup("Animation Debug")] + [Export(PropertyHint.Enum)] + EnemyDirection _enemyDirection { get; set; } = EnemyDirection.Forward; - public void SetCurrentDirection(Basis enemyBasis, Vector3 cameraDirection) => _currentDirection = GetEnemyDirection(enemyBasis, cameraDirection, 0.55f, 0.45f); + private AnimationNodeStateMachinePlayback _stateMachine; - public void PlayPrimaryAttackAnimation() + public void OnReady() { - switch (_currentDirection) - { - case DirectionType.FORWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(PRIMARY_ATTACK); - break; - case DirectionType.RIGHT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(PRIMARY_ATTACK_RIGHT); - break; - case DirectionType.LEFT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(PRIMARY_ATTACK_LEFT); - break; - case DirectionType.BACKWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(PRIMARY_ATTACK_BACK); - break; - } + _stateMachine = (AnimationNodeStateMachinePlayback)AnimationTree.Get("parameters/playback"); } - public void PlaySecondaryAttackAnimation() - { - switch (_currentDirection) - { - case DirectionType.FORWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(SECONDARY_ATTACK); - break; - case DirectionType.RIGHT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(SECONDARY_ATTACK_RIGHT); - break; - case DirectionType.LEFT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(SECONDARY_ATTACK_LEFT); - break; - case DirectionType.BACKWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(SECONDARY_ATTACK_BACK); - break; - } - } + public void SetCurrentDirection(Basis enemyBasis, Vector3 cameraDirection) => _enemyDirection = GetEnemyDirection(enemyBasis, cameraDirection, 0.55f, 0.45f); - public void PlayPrimarySkillAnimation() - { - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(PRIMARY_SKILL); - } + public void PlayPrimaryAttackAnimation() => _stateMachine.Travel(_primaryAttackName); + + public void PlaySecondaryAttackAnimation() => _stateMachine.Travel(_secondaryAttackName); + + public void PlayPrimarySkillAnimation() => _stateMachine.Travel("Primary Skill"); + + public void PlayIdleAnimation() => _stateMachine.Travel(_idleName); + + public void PlayWalkAnimation() => _stateMachine.Travel(_walkingName); + + public void PlayActivateAnimation() => _stateMachine.Travel(_activateName); public void PlayHitAnimation() { @@ -100,49 +65,11 @@ public partial class EnemyModelView2D : Node3D, IEnemyModelView tweener.TweenCallback(Callable.From(QueueFree)); } - public virtual void PlayIdleAnimation() - { - switch (_currentDirection) - { - case DirectionType.FORWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(IDLE_FORWARD); - break; - case DirectionType.RIGHT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(IDLE_RIGHT); - break; - case DirectionType.LEFT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(IDLE_LEFT); - break; - case DirectionType.BACKWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(IDLE_BACK); - break; - } - } - - public virtual void PlayWalkAnimation() - { - switch (_currentDirection) - { - case DirectionType.FORWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(IDLE_FORWARD_WALK); - break; - case DirectionType.RIGHT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(IDLE_RIGHT_WALK); - break; - case DirectionType.LEFT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(IDLE_LEFT_WALK); - break; - case DirectionType.BACKWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(IDLE_BACK_WALK); - break; - } - } - - private DirectionType GetEnemyDirection( - Basis enemyBasis, - Vector3 cameraDirection, - float rotateUpperThreshold, - float rotateLowerThreshold) + private EnemyDirection GetEnemyDirection( + Basis enemyBasis, + Vector3 cameraDirection, + float rotateUpperThreshold, + float rotateLowerThreshold) { var enemyForwardDirection = enemyBasis.Z; var enemyLeftDirection = enemyBasis.X; @@ -150,25 +77,37 @@ public partial class EnemyModelView2D : Node3D, IEnemyModelView 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 < -rotateUpperThreshold) - return DirectionType.FORWARD; + // Check if forward facing. If the dot product is -1, the enemy is facing the camera. + if (forwardDotProduct < -rotateUpperThreshold) + { + 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) - return DirectionType.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 > 0) - return DirectionType.RIGHT; + // 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 > 0) + { + SetRight(); + 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 (Mathf.Abs(forwardDotProduct) < rotateLowerThreshold) - return DirectionType.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 (Mathf.Abs(forwardDotProduct) < rotateLowerThreshold) + { + SetLeft(); + return EnemyDirection.Left; + } + } - return _currentDirection; + return _enemyDirection; } private void LoadShader(string shaderPath) @@ -185,12 +124,39 @@ public partial class EnemyModelView2D : Node3D, IEnemyModelView 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; + } + + private void SetLeft() + { + _enemyDirection = EnemyDirection.Left; + } + + private void SetRight() + { + _enemyDirection = EnemyDirection.Right; + } + + private void SetBack() + { + _enemyDirection = EnemyDirection.Backward; + } + + private enum EnemyDirection + { + Left, + Right, + Forward, + Backward } } diff --git a/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs b/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs index abb61863..95fdd6e5 100644 --- a/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs +++ b/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs @@ -62,6 +62,8 @@ public partial class EnemyModelView3D : Node3D, IEnemyModelView AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(WALK); } + public void PlayActivateAnimation() => AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel("Activate"); + public void PlayIdleAnimation() { AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(IDLE); diff --git a/Zennysoft.Game.Ma/src/enemy/IEnemy.cs b/Zennysoft.Game.Ma/src/enemy/IEnemy.cs index 6c3b0f73..1fd05dc5 100644 --- a/Zennysoft.Game.Ma/src/enemy/IEnemy.cs +++ b/Zennysoft.Game.Ma/src/enemy/IEnemy.cs @@ -32,4 +32,8 @@ public interface IEnemy : IKillable public Vector3 GetEnemyGlobalPosition(); public IDungeonRoom GetCurrentRoom(); + + public void Idle(); + + public void Move(); } diff --git a/Zennysoft.Game.Ma/src/enemy/IEnemyModelView.cs b/Zennysoft.Game.Ma/src/enemy/IEnemyModelView.cs index 0d964490..dc5bb8ca 100644 --- a/Zennysoft.Game.Ma/src/enemy/IEnemyModelView.cs +++ b/Zennysoft.Game.Ma/src/enemy/IEnemyModelView.cs @@ -17,6 +17,8 @@ public interface IEnemyModelView : INode3D public void PlayPrimarySkillAnimation(); + public void PlayActivateAnimation(); + public void PlayHitAnimation(); public void PlayDeathAnimation(); diff --git a/Zennysoft.Game.Ma/src/enemy/INavigationAgentClient.cs b/Zennysoft.Game.Ma/src/enemy/INavigationAgentClient.cs index d34079e0..68b59ff5 100644 --- a/Zennysoft.Game.Ma/src/enemy/INavigationAgentClient.cs +++ b/Zennysoft.Game.Ma/src/enemy/INavigationAgentClient.cs @@ -4,11 +4,7 @@ namespace Zennysoft.Game.Ma; public interface INavigationAgentClient { - public void CalculateVelocity(Vector3 currentPosition, bool canMove); + public Vector3 Velocity { get; } public void SetTarget(Vector3 target); - - public bool IsAvoidanceEnabled { get; } - - public void Stop(); } diff --git a/Zennysoft.Game.Ma/src/enemy/NavigationAgentClient.cs b/Zennysoft.Game.Ma/src/enemy/NavigationAgentClient.cs index e3536345..7d93c8b6 100644 --- a/Zennysoft.Game.Ma/src/enemy/NavigationAgentClient.cs +++ b/Zennysoft.Game.Ma/src/enemy/NavigationAgentClient.cs @@ -1,9 +1,6 @@ using Chickensoft.AutoInject; using Chickensoft.Introspection; using Godot; -using System; -using System.Threading.Tasks; -using Zennysoft.Game.Abstractions; namespace Zennysoft.Game.Ma; @@ -12,72 +9,49 @@ public partial class NavigationAgentClient : Node3D, INavigationAgentClient { public override void _Notification(int what) => this.Notify(what); - [Node] private NavigationAgent3D NavAgent { get; set; } = default!; + [Node] private NavigationAgent3D _navAgent { get; set; } = default!; [Node] private Timer _patrolTimer { get; set; } = default!; - private Vector3 _currentTarget = Vector3.Zero; - private Timer _thinkTimer; - private bool _canMove = false; + public Vector3 Velocity { get; private set; } = Vector3.Zero; + + private double _speedMultiplier = 2f; public void Setup() { - NavAgent.VelocityComputed += NavAgent_VelocityComputed; - NavAgent.TargetReached += NavAgent_TargetReached; - - var rng = new RandomNumberGenerator(); - rng.Randomize(); - _patrolTimer.Timeout += OnPatrolTimeout; - _patrolTimer.WaitTime = rng.RandfRange(7.0f, 15.0f); - - _thinkTimer = new Timer - { - WaitTime = 0.4f - }; - AddChild(_thinkTimer); - _thinkTimer.Timeout += NavAgent_TargetReached; - _thinkTimer.Start(); + _navAgent.VelocityComputed += OnVelocityComputed; + _navAgent.WaypointReached += _navAgent_WaypointReached; } - public void Stop() + public override void _PhysicsProcess(double delta) { - _patrolTimer.Stop(); - _thinkTimer.Stop(); - } - - private void NavAgent_VelocityComputed(Vector3 safeVelocity) - { - if (!_canMove) + if (_navAgent.IsNavigationFinished()) return; - var enemy = GetOwner() as IEnemy; - enemy.Move(safeVelocity); + var nextPathPosition = _navAgent.GetNextPathPosition(); + var newVelocity = GlobalPosition.DirectionTo(nextPathPosition) * (float)_speedMultiplier; + + if (_navAgent.AvoidanceEnabled) + _navAgent.Velocity = newVelocity; + else + OnVelocityComputed(newVelocity); } - public void CalculateVelocity(Vector3 currentPosition, bool canMove) + public void SetTarget(Vector3 target) { - _canMove = canMove; - var nextPathPosition = NavAgent.GetNextPathPosition(); - - var newVelocity = currentPosition.DirectionTo(nextPathPosition) * 2f; - NavAgent.Velocity = newVelocity; + _navAgent.TargetPosition = target; } - public void SetTarget(Vector3 target) => Task.Delay(TimeSpan.FromSeconds(0.4)).ContinueWith(_ => _currentTarget = new Vector3(target.X, -1.75f, target.Z)); - public bool IsAvoidanceEnabled => NavAgent.AvoidanceEnabled; - - - private void NavAgent_TargetReached() + private void OnVelocityComputed(Vector3 safeVelocity) { - NavAgent.TargetPosition = _currentTarget; + Velocity = safeVelocity; } - private void OnPatrolTimeout() + private async void _navAgent_WaypointReached(Godot.Collections.Dictionary details) { - var rng = new RandomNumberGenerator(); - rng.Randomize(); - _patrolTimer.WaitTime = rng.RandfRange(5.0f, 10.0f); - var enemy = GetOwner() as ICanPatrol; - enemy.Patrol(); + _speedMultiplier = 0; + await ToSignal(GetTree().CreateTimer(2f), "timeout"); + _speedMultiplier = 2f; } + } diff --git a/Zennysoft.Game.Ma/src/enemy/NavigationAgentClient.tscn b/Zennysoft.Game.Ma/src/enemy/NavigationAgentClient.tscn index 96db02d5..9e7c668d 100644 --- a/Zennysoft.Game.Ma/src/enemy/NavigationAgentClient.tscn +++ b/Zennysoft.Game.Ma/src/enemy/NavigationAgentClient.tscn @@ -7,9 +7,6 @@ script = ExtResource("1_qwonp") [node name="NavAgent" type="NavigationAgent3D" parent="."] unique_name_in_owner = true -target_desired_distance = 2.0 -path_max_distance = 3.01 avoidance_enabled = true radius = 1.5 -time_horizon_obstacles = 1.0 debug_enabled = true diff --git a/Zennysoft.Game.Ma/src/enemy/animation_state_machines/ActivateStateMachine.tres b/Zennysoft.Game.Ma/src/enemy/animation_state_machines/ActivateStateMachine.tres new file mode 100644 index 00000000..e4bd2358 --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/animation_state_machines/ActivateStateMachine.tres @@ -0,0 +1,118 @@ +[gd_resource type="AnimationNodeStateMachine" load_steps=25 format=3 uid="uid://dlqudph8o3py1"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"] +animation = &"activate_back" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x7uye"] +animation = &"activate" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_djeua"] +animation = &"activate_left" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8wbs7"] +animation = &"activate_right" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"] +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_djeua"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8wbs7"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mnr4r"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l2wq1"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jwlar"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fdoul"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kpotx"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lfuuf"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dfvqa"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dnvt3"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_m7aft"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ctux2"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qlkux"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rmn3u"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_do1qe"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_eilyo"] +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qqywc"] +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_p2oir"] +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[resource] +states/End/position = Vector2(997, 236) +states/Start/position = Vector2(201, 100) +states/back/node = SubResource("AnimationNodeAnimation_ivy74") +states/back/position = Vector2(592, 396) +states/forward/node = SubResource("AnimationNodeAnimation_x7uye") +states/forward/position = Vector2(542, 68) +states/left/node = SubResource("AnimationNodeAnimation_djeua") +states/left/position = Vector2(378, 179) +states/right/node = SubResource("AnimationNodeAnimation_8wbs7") +states/right/position = Vector2(701, 179) +transitions = ["Start", "forward", SubResource("AnimationNodeStateMachineTransition_ivy74"), "forward", "left", SubResource("AnimationNodeStateMachineTransition_x7uye"), "left", "forward", SubResource("AnimationNodeStateMachineTransition_djeua"), "forward", "back", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "back", "forward", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "left", "right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "right", "left", SubResource("AnimationNodeStateMachineTransition_jwlar"), "back", "left", SubResource("AnimationNodeStateMachineTransition_fdoul"), "left", "back", SubResource("AnimationNodeStateMachineTransition_kpotx"), "forward", "right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "right", "forward", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "right", "back", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "back", "right", SubResource("AnimationNodeStateMachineTransition_m7aft"), "forward", "End", SubResource("AnimationNodeStateMachineTransition_ctux2"), "right", "End", SubResource("AnimationNodeStateMachineTransition_qlkux"), "back", "End", SubResource("AnimationNodeStateMachineTransition_rmn3u"), "left", "End", SubResource("AnimationNodeStateMachineTransition_do1qe"), "Start", "left", SubResource("AnimationNodeStateMachineTransition_eilyo"), "Start", "back", SubResource("AnimationNodeStateMachineTransition_qqywc"), "Start", "right", SubResource("AnimationNodeStateMachineTransition_p2oir")] diff --git a/Zennysoft.Game.Ma/src/enemy/animation_state_machines/ActivatedIdleStateMachine.tres b/Zennysoft.Game.Ma/src/enemy/animation_state_machines/ActivatedIdleStateMachine.tres new file mode 100644 index 00000000..ea6efb82 --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/animation_state_machines/ActivatedIdleStateMachine.tres @@ -0,0 +1,88 @@ +[gd_resource type="AnimationNodeStateMachine" load_steps=18 format=3 uid="uid://bh0hsg4in5bkt"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"] +animation = &"activated_idle_back" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x7uye"] +animation = &"activated_idle_front" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_djeua"] +animation = &"activated_idle_left" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8wbs7"] +animation = &"activated_idle_right" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_djeua"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8wbs7"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mnr4r"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l2wq1"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jwlar"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fdoul"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kpotx"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lfuuf"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dfvqa"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dnvt3"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_m7aft"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[resource] +states/End/position = Vector2(910, 100) +states/back/node = SubResource("AnimationNodeAnimation_ivy74") +states/back/position = Vector2(542, 276) +states/forward/node = SubResource("AnimationNodeAnimation_x7uye") +states/forward/position = Vector2(542, 69) +states/left/node = SubResource("AnimationNodeAnimation_djeua") +states/left/position = Vector2(378, 179) +states/right/node = SubResource("AnimationNodeAnimation_8wbs7") +states/right/position = Vector2(701, 179) +transitions = ["Start", "forward", SubResource("AnimationNodeStateMachineTransition_ivy74"), "forward", "left", SubResource("AnimationNodeStateMachineTransition_x7uye"), "left", "forward", SubResource("AnimationNodeStateMachineTransition_djeua"), "forward", "back", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "back", "forward", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "left", "right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "right", "left", SubResource("AnimationNodeStateMachineTransition_jwlar"), "back", "left", SubResource("AnimationNodeStateMachineTransition_fdoul"), "left", "back", SubResource("AnimationNodeStateMachineTransition_kpotx"), "forward", "right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "right", "forward", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "right", "back", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "back", "right", SubResource("AnimationNodeStateMachineTransition_m7aft")] diff --git a/Zennysoft.Game.Ma/src/enemy/animation_state_machines/IdleStateMachine.tres b/Zennysoft.Game.Ma/src/enemy/animation_state_machines/IdleStateMachine.tres new file mode 100644 index 00000000..3d3cec79 --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/animation_state_machines/IdleStateMachine.tres @@ -0,0 +1,88 @@ +[gd_resource type="AnimationNodeStateMachine" load_steps=18 format=3 uid="uid://co7lshemjrro8"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"] +animation = &"idle_back" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x7uye"] +animation = &"idle_front" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_djeua"] +animation = &"idle_left" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8wbs7"] +animation = &"idle_right" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_djeua"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8wbs7"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mnr4r"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l2wq1"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jwlar"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fdoul"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kpotx"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lfuuf"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dfvqa"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dnvt3"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_m7aft"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[resource] +states/End/position = Vector2(910, 100) +states/back/node = SubResource("AnimationNodeAnimation_ivy74") +states/back/position = Vector2(542, 276) +states/forward/node = SubResource("AnimationNodeAnimation_x7uye") +states/forward/position = Vector2(542, 68) +states/left/node = SubResource("AnimationNodeAnimation_djeua") +states/left/position = Vector2(378, 179) +states/right/node = SubResource("AnimationNodeAnimation_8wbs7") +states/right/position = Vector2(701, 179) +transitions = ["Start", "forward", SubResource("AnimationNodeStateMachineTransition_ivy74"), "forward", "left", SubResource("AnimationNodeStateMachineTransition_x7uye"), "left", "forward", SubResource("AnimationNodeStateMachineTransition_djeua"), "forward", "back", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "back", "forward", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "left", "right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "right", "left", SubResource("AnimationNodeStateMachineTransition_jwlar"), "back", "left", SubResource("AnimationNodeStateMachineTransition_fdoul"), "left", "back", SubResource("AnimationNodeStateMachineTransition_kpotx"), "forward", "right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "right", "forward", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "right", "back", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "back", "right", SubResource("AnimationNodeStateMachineTransition_m7aft")] diff --git a/Zennysoft.Game.Ma/src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres b/Zennysoft.Game.Ma/src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres new file mode 100644 index 00000000..aea6d217 --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres @@ -0,0 +1,118 @@ +[gd_resource type="AnimationNodeStateMachine" load_steps=25 format=3 uid="uid://cbq8xog50cjjy"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"] +animation = &"primary_attack_back" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x7uye"] +animation = &"primary_attack" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_djeua"] +animation = &"primary_attack_left" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8wbs7"] +animation = &"primary_attack_right" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"] +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_djeua"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8wbs7"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mnr4r"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l2wq1"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jwlar"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fdoul"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kpotx"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lfuuf"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dfvqa"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dnvt3"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_m7aft"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ctux2"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qlkux"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rmn3u"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_do1qe"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jkh6t"] +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8fa3m"] +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a8clo"] +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[resource] +states/End/position = Vector2(996, 236) +states/Start/position = Vector2(106, 236) +states/back/node = SubResource("AnimationNodeAnimation_ivy74") +states/back/position = Vector2(542, 276) +states/forward/node = SubResource("AnimationNodeAnimation_x7uye") +states/forward/position = Vector2(542, 68) +states/left/node = SubResource("AnimationNodeAnimation_djeua") +states/left/position = Vector2(378, 179) +states/right/node = SubResource("AnimationNodeAnimation_8wbs7") +states/right/position = Vector2(701, 179) +transitions = ["Start", "forward", SubResource("AnimationNodeStateMachineTransition_ivy74"), "forward", "left", SubResource("AnimationNodeStateMachineTransition_x7uye"), "left", "forward", SubResource("AnimationNodeStateMachineTransition_djeua"), "forward", "back", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "back", "forward", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "left", "right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "right", "left", SubResource("AnimationNodeStateMachineTransition_jwlar"), "back", "left", SubResource("AnimationNodeStateMachineTransition_fdoul"), "left", "back", SubResource("AnimationNodeStateMachineTransition_kpotx"), "forward", "right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "right", "forward", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "right", "back", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "back", "right", SubResource("AnimationNodeStateMachineTransition_m7aft"), "forward", "End", SubResource("AnimationNodeStateMachineTransition_ctux2"), "right", "End", SubResource("AnimationNodeStateMachineTransition_qlkux"), "back", "End", SubResource("AnimationNodeStateMachineTransition_rmn3u"), "left", "End", SubResource("AnimationNodeStateMachineTransition_do1qe"), "Start", "left", SubResource("AnimationNodeStateMachineTransition_jkh6t"), "Start", "back", SubResource("AnimationNodeStateMachineTransition_8fa3m"), "Start", "right", SubResource("AnimationNodeStateMachineTransition_a8clo")] diff --git a/Zennysoft.Game.Ma/src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres b/Zennysoft.Game.Ma/src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres new file mode 100644 index 00000000..7a2b6656 --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres @@ -0,0 +1,118 @@ +[gd_resource type="AnimationNodeStateMachine" load_steps=25 format=3 uid="uid://clybvwx3itfeo"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"] +animation = &"secondary_attack_back" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x7uye"] +animation = &"secondary_attack" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_djeua"] +animation = &"secondary_attack_left" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8wbs7"] +animation = &"secondary_attack_right" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"] +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_djeua"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8wbs7"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mnr4r"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l2wq1"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jwlar"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fdoul"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kpotx"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lfuuf"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dfvqa"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dnvt3"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_m7aft"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ctux2"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qlkux"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rmn3u"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_do1qe"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hl6c6"] +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_shpbw"] +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_d770k"] +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[resource] +states/End/position = Vector2(996, 236) +states/Start/position = Vector2(114, 219) +states/back/node = SubResource("AnimationNodeAnimation_ivy74") +states/back/position = Vector2(542, 276) +states/forward/node = SubResource("AnimationNodeAnimation_x7uye") +states/forward/position = Vector2(542, 68) +states/left/node = SubResource("AnimationNodeAnimation_djeua") +states/left/position = Vector2(378, 179) +states/right/node = SubResource("AnimationNodeAnimation_8wbs7") +states/right/position = Vector2(702, 179) +transitions = ["Start", "forward", SubResource("AnimationNodeStateMachineTransition_ivy74"), "forward", "left", SubResource("AnimationNodeStateMachineTransition_x7uye"), "left", "forward", SubResource("AnimationNodeStateMachineTransition_djeua"), "forward", "back", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "back", "forward", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "left", "right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "right", "left", SubResource("AnimationNodeStateMachineTransition_jwlar"), "back", "left", SubResource("AnimationNodeStateMachineTransition_fdoul"), "left", "back", SubResource("AnimationNodeStateMachineTransition_kpotx"), "forward", "right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "right", "forward", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "right", "back", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "back", "right", SubResource("AnimationNodeStateMachineTransition_m7aft"), "forward", "End", SubResource("AnimationNodeStateMachineTransition_ctux2"), "right", "End", SubResource("AnimationNodeStateMachineTransition_qlkux"), "back", "End", SubResource("AnimationNodeStateMachineTransition_rmn3u"), "left", "End", SubResource("AnimationNodeStateMachineTransition_do1qe"), "Start", "left", SubResource("AnimationNodeStateMachineTransition_hl6c6"), "Start", "right", SubResource("AnimationNodeStateMachineTransition_shpbw"), "Start", "back", SubResource("AnimationNodeStateMachineTransition_d770k")] diff --git a/Zennysoft.Game.Ma/src/enemy/animation_state_machines/WalkingStateMachine.tres b/Zennysoft.Game.Ma/src/enemy/animation_state_machines/WalkingStateMachine.tres new file mode 100644 index 00000000..b4b7cb52 --- /dev/null +++ b/Zennysoft.Game.Ma/src/enemy/animation_state_machines/WalkingStateMachine.tres @@ -0,0 +1,88 @@ +[gd_resource type="AnimationNodeStateMachine" load_steps=18 format=3 uid="uid://cy2ngl55c0rws"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"] +animation = &"idle_back_walk" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x7uye"] +animation = &"idle_front_walk" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_djeua"] +animation = &"idle_left_walk" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8wbs7"] +animation = &"idle_right_walk" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_djeua"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8wbs7"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mnr4r"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l2wq1"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jwlar"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fdoul"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kpotx"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lfuuf"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dfvqa"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 2" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dnvt3"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 3" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_m7aft"] +switch_mode = 1 +advance_mode = 2 +advance_expression = "_enemyDirection == 1" + +[resource] +states/End/position = Vector2(910, 100) +states/back/node = SubResource("AnimationNodeAnimation_ivy74") +states/back/position = Vector2(542, 276) +states/forward/node = SubResource("AnimationNodeAnimation_x7uye") +states/forward/position = Vector2(542, 68) +states/left/node = SubResource("AnimationNodeAnimation_djeua") +states/left/position = Vector2(378, 179) +states/right/node = SubResource("AnimationNodeAnimation_8wbs7") +states/right/position = Vector2(701, 179) +transitions = ["Start", "forward", SubResource("AnimationNodeStateMachineTransition_ivy74"), "forward", "left", SubResource("AnimationNodeStateMachineTransition_x7uye"), "left", "forward", SubResource("AnimationNodeStateMachineTransition_djeua"), "forward", "back", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "back", "forward", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "left", "right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "right", "left", SubResource("AnimationNodeStateMachineTransition_jwlar"), "back", "left", SubResource("AnimationNodeStateMachineTransition_fdoul"), "left", "back", SubResource("AnimationNodeStateMachineTransition_kpotx"), "forward", "right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "right", "forward", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "right", "back", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "back", "right", SubResource("AnimationNodeStateMachineTransition_m7aft")] diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.cs index 604f9198..3d0a0021 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.cs @@ -21,15 +21,15 @@ public partial class Sproingy : FollowsPlayerEnemy, IHasPrimaryAttack, ICanPatro public void OnReady() { SetPhysicsProcess(true); - ((EnemyModelView2D)_enemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; + ((EnemyModelView2D)EnemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; } public void OnPhysicsProcess(double delta) { _enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta)); FollowPlayerAndAttack(_enemyLogic, GlobalPosition, _player.CurrentPosition); - _navigationAgentClient.CalculateVelocity(GlobalPosition, true); - base._PhysicsProcess(delta); + Velocity = _navigationAgentClient.Velocity; + MoveAndSlide(); } public override void TakeAction() @@ -39,13 +39,12 @@ public partial class Sproingy : FollowsPlayerEnemy, IHasPrimaryAttack, ICanPatro public override void Die() { - _navigationAgentClient.Stop(); base.Die(); } public void PrimaryAttack() { - _enemyModelView.PlayPrimaryAttackAnimation(); + EnemyModelView.PlayPrimaryAttackAnimation(); } public override void SetTarget(Vector3 target) => _navigationAgentClient.SetTarget(target); 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 0ed8829e..13ca7895 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,4 +1,4 @@ -[gd_scene load_steps=172 format=3 uid="uid://bimjnsu52y3xi"] +[gd_scene load_steps=88 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"] @@ -59,6 +59,9 @@ [ext_resource type="Texture2D" uid="uid://b1cmx8l4ia3fv" path="res://src/enemy/enemy_types/01. sproingy/animations/IDLE_WALK_SIDE/Layer 14.png" id="54_jdvn0"] [ext_resource type="Texture2D" uid="uid://c7t4626rox02s" path="res://src/enemy/enemy_types/01. sproingy/animations/IDLE_WALK_SIDE/Layer 15.png" id="55_2eqor"] [ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="57_lae8t"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="60_x7uye"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cy2ngl55c0rws" path="res://src/enemy/animation_state_machines/WalkingStateMachine.tres" id="61_djeua"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="62_8wbs7"] [sub_resource type="Resource" id="Resource_ivy74"] script = ExtResource("2_7hf3j") @@ -782,329 +785,41 @@ _data = { &"primary_attack_right": SubResource("Animation_x7uye") } -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_53wuj"] -animation = &"idle_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o0tmb"] -animation = &"idle_back_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_d5bmw"] -animation = &"idle_front" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a6s5c"] -animation = &"idle_front_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fpvxl"] -animation = &"idle_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dvj10"] -animation = &"idle_left_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7hf3j"] -animation = &"idle_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"] -animation = &"idle_right_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_erbrx"] -animation = &"primary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x7uye"] -animation = &"primary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_djeua"] -animation = &"primary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8wbs7"] -animation = &"primary_attack_right" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3xv6a"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0h1op"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_361b7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wftla"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gqqkl"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5cj36"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4t05h"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qq0ru"] -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c54uj"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qmo72"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jyt1n"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5un2v"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2x3nl"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6a5nw"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0jqty"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yjcrh"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2ybyh"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n454k"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vrcjv"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h1yxw"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kg6hd"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_25i3y"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5g722"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a6y4x"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7y7m4"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ldcvv"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_aalmk"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2le5t"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4nmgu"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mw5r6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jbtxi"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mjxlk"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_irq32"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2khaq"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"] -switch_mode = 1 - [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_djeua"] -switch_mode = 1 +advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8wbs7"] -switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mnr4r"] -switch_mode = 1 +reset = false +switch_mode = 2 +advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l2wq1"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7hf3j"] -switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jwlar"] -switch_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fdoul"] -switch_mode = 1 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kpotx"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lfuuf"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dfvqa"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_at0w8"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_afod7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dwhw7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qjloj"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7uqwg"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k4jom"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ku0f8"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fwynu"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_t7vd7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tv4ou"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0b3yx"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ysi80"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ktp1h"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1cx5a"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yu2km"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6qb08"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5ap7h"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dde6r"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5a80x"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cwnal"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ik0ko"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7h3pp"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_te4ac"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_skhgh"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_j8po0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cvb6o"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qrpvt"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_obci0"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cuv27"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ykv10"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_o3f25"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_516bs"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wyiwg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ouq20"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ynkt4"] - -[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_d5bmw"] -states/End/position = Vector2(1882, 19) -states/Start/position = Vector2(29, 290) -states/idle_back/node = SubResource("AnimationNodeAnimation_53wuj") -states/idle_back/position = Vector2(459.116, 24) -states/idle_back_walk/node = SubResource("AnimationNodeAnimation_o0tmb") -states/idle_back_walk/position = Vector2(1052, 55.9474) -states/idle_front/node = SubResource("AnimationNodeAnimation_d5bmw") -states/idle_front/position = Vector2(190.295, -177) -states/idle_front_walk/node = SubResource("AnimationNodeAnimation_a6s5c") -states/idle_front_walk/position = Vector2(772, -177) -states/idle_left/node = SubResource("AnimationNodeAnimation_fpvxl") -states/idle_left/position = Vector2(459.116, -177) -states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10") -states/idle_left_walk/position = Vector2(1052, -177) -states/idle_right/node = SubResource("AnimationNodeAnimation_7hf3j") -states/idle_right/position = Vector2(190.295, 24) -states/idle_right_walk/node = SubResource("AnimationNodeAnimation_ivy74") -states/idle_right_walk/position = Vector2(772, 55.9474) -states/primary_attack/node = SubResource("AnimationNodeAnimation_erbrx") -states/primary_attack/position = Vector2(410, 308.749) -states/primary_attack_back/node = SubResource("AnimationNodeAnimation_x7uye") -states/primary_attack_back/position = Vector2(665.525, 479.749) -states/primary_attack_left/node = SubResource("AnimationNodeAnimation_djeua") -states/primary_attack_left/position = Vector2(648.525, 319) -states/primary_attack_right/node = SubResource("AnimationNodeAnimation_8wbs7") -states/primary_attack_right/position = Vector2(382, 479.749) -transitions = ["idle_front_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_3xv6a"), "idle_left_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0h1op"), "idle_front_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_361b7"), "idle_back_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_wftla"), "idle_back_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_gqqkl"), "idle_left_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_5cj36"), "idle_front_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_4t05h"), "Start", "idle_front", SubResource("AnimationNodeStateMachineTransition_qq0ru"), "idle_front", "idle_back", SubResource("AnimationNodeStateMachineTransition_c54uj"), "idle_back", "idle_left", SubResource("AnimationNodeStateMachineTransition_qmo72"), "idle_left", "idle_front", SubResource("AnimationNodeStateMachineTransition_jyt1n"), "idle_left", "idle_back", SubResource("AnimationNodeStateMachineTransition_5un2v"), "idle_back", "idle_front", SubResource("AnimationNodeStateMachineTransition_2x3nl"), "idle_front", "idle_left", SubResource("AnimationNodeStateMachineTransition_6a5nw"), "idle_back", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0jqty"), "idle_front", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_yjcrh"), "idle_back", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_2ybyh"), "idle_left", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_n454k"), "idle_back_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_vrcjv"), "idle_back_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_h1yxw"), "idle_back_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_kg6hd"), "idle_back", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_25i3y"), "idle_left", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_5g722"), "idle_front", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_a6y4x"), "idle_left_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_7y7m4"), "idle_left_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ldcvv"), "idle_left_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_aalmk"), "idle_front_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_2le5t"), "idle_front_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_4nmgu"), "idle_front_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_mw5r6"), "idle_front", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jbtxi"), "idle_left", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_mjxlk"), "idle_front", "primary_attack", SubResource("AnimationNodeStateMachineTransition_irq32"), "primary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_2khaq"), "idle_right", "idle_front", SubResource("AnimationNodeStateMachineTransition_ivy74"), "idle_front", "idle_right", SubResource("AnimationNodeStateMachineTransition_x7uye"), "idle_right", "idle_left", SubResource("AnimationNodeStateMachineTransition_djeua"), "idle_left", "idle_right", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "idle_right", "idle_back", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "idle_back", "idle_right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "idle_right", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_7hf3j"), "idle_right", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jwlar"), "idle_right", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fdoul"), "idle_front_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_kpotx"), "idle_back_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "idle_left_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "idle_front_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_at0w8"), "idle_right_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_afod7"), "idle_right_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_dwhw7"), "idle_left_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_qjloj"), "idle_right_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_7uqwg"), "idle_back_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_k4jom"), "idle_right_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ku0f8"), "idle_left", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_fwynu"), "idle_right_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_t7vd7"), "idle_back", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_tv4ou"), "idle_right_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_0b3yx"), "idle_front", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_ysi80"), "idle_right_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_ktp1h"), "idle_right", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_1cx5a"), "primary_attack", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_yu2km"), "primary_attack_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_6qb08"), "primary_attack", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_5ap7h"), "primary_attack_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_dde6r"), "primary_attack_right", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_5a80x"), "primary_attack_back", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_cwnal"), "primary_attack_right", "primary_attack", SubResource("AnimationNodeStateMachineTransition_ik0ko"), "primary_attack", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_7h3pp"), "primary_attack_right", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_te4ac"), "primary_attack_left", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_skhgh"), "primary_attack_left", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_j8po0"), "primary_attack_back", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_cvb6o"), "primary_attack_left", "idle_left", SubResource("AnimationNodeStateMachineTransition_qrpvt"), "primary_attack_right", "idle_right", SubResource("AnimationNodeStateMachineTransition_obci0"), "primary_attack_back", "idle_back", SubResource("AnimationNodeStateMachineTransition_cuv27"), "idle_left", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_ykv10"), "idle_left_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_o3f25"), "idle_right", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_516bs"), "idle_right_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_wyiwg"), "idle_back", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ouq20"), "idle_back_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ynkt4")] -graph_offset = Vector2(-591.636, 22.7244) +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_l2wq1"] +states/Idle/node = ExtResource("61_djeua") +states/Idle/position = Vector2(453, 100) +"states/Primary Attack/node" = ExtResource("60_x7uye") +"states/Primary Attack/position" = Vector2(453, 237) +states/Start/position = Vector2(201, 100) +states/Walking/node = ExtResource("62_8wbs7") +states/Walking/position = Vector2(653, 100) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_djeua"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_jwlar"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_fdoul")] [node name="EnemyModelView" type="Node3D"] +transform = Transform3D(3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0) script = ExtResource("1_oh25a") EnemyLoreInfo = SubResource("Resource_ivy74") +_enemyDirection = 1 [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0) -pixel_size = 0.003 +pixel_size = 0.001 billboard = 2 shaded = true alpha_cut = 1 @@ -1131,6 +846,7 @@ material = ExtResource("3_ivy74") position = Vector2(100, 100) sprite_frames = SubResource("SpriteFrames_6drt6") animation = &"idle_left_walk" +frame = 6 [node name="Hitbox" type="Area3D" parent="."] unique_name_in_owner = true @@ -1153,5 +869,6 @@ libraries = { [node name="AnimationTree" type="AnimationTree" parent="."] unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") -tree_root = SubResource("AnimationNodeStateMachine_d5bmw") +tree_root = SubResource("AnimationNodeStateMachine_l2wq1") +advance_expression_base_node = NodePath("..") anim_player = NodePath("../AnimationPlayer") diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.cs index fcb1bb0d..66aabc88 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/02. michael/Michael.cs @@ -19,20 +19,20 @@ public partial class Michael : FollowsPlayerEnemy, IHasPrimaryAttack, ICanPatrol public void OnReady() { SetPhysicsProcess(true); - ((EnemyModelView2D)_enemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; + ((EnemyModelView2D)EnemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; } public void OnPhysicsProcess(double delta) { _enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta)); FollowPlayerAndAttack(_enemyLogic, GlobalPosition, _player.CurrentPosition); - _navigationAgentClient.CalculateVelocity(GlobalPosition, true); + Velocity = _navigationAgentClient.Velocity; base._PhysicsProcess(delta); } public override void Die() { - _navigationAgentClient.Stop(); + //_navigationAgentClient.Stop(); base.Die(); } @@ -43,7 +43,7 @@ public partial class Michael : FollowsPlayerEnemy, IHasPrimaryAttack, ICanPatrol public void PrimaryAttack() { - _enemyModelView.PlayPrimaryAttackAnimation(); + EnemyModelView.PlayPrimaryAttackAnimation(); } public override void SetTarget(Vector3 target) => _navigationAgentClient.SetTarget(target); 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 1ab3b1bb..18972c33 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=140 format=3 uid="uid://bjg8wyvp8q6oc"] +[gd_scene load_steps=142 format=3 uid="uid://bjg8wyvp8q6oc"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_o4cc2"] [ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_3eot4"] @@ -73,7 +73,9 @@ [ext_resource type="Texture2D" uid="uid://djspx2smexhme" path="res://src/enemy/enemy_types/02. michael/animations/IDLE_WALK/LEFT SIDE/Michael_IdleWalk_Left (23).png" id="70_f0jo7"] [ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="71_ul4dn"] [ext_resource type="PackedScene" uid="uid://dpoonda2dwwic" path="res://src/enemy/BasicEnemyAnimationTree.tscn" id="73_gby04"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="74_fxhv6"] [ext_resource type="Texture2D" uid="uid://duygq1qfer5oa" path="res://src/vfx/Enemy/michael_attack.png" id="74_mip6u"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="74_pxi1p"] [sub_resource type="Resource" id="Resource_gby04"] script = ExtResource("2_3eot4") @@ -376,40 +378,22 @@ tracks/4/keys = { "update": 1, "values": [41] } - -[sub_resource type="Animation" id="Animation_3g180"] -resource_name = "idle_back" -length = 1.91667 -loop_mode = 1 -step = 0.0833333 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:frame") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 1.83333), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 22] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:animation") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Sprite3D:flip_h") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [&"idle_back_walk"] +"values": [false] } -[sub_resource type="Animation" id="Animation_ppbeh"] -resource_name = "idle_back_walk" -length = 1.91667 +[sub_resource type="Animation" id="Animation_3g180"] +resource_name = "idle_back" +length = 1.83334 loop_mode = 1 step = 0.0833333 tracks/0/type = "value" @@ -417,7 +401,7 @@ tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:frame") tracks/0/interp = 1 -tracks/0/loop_wrap = true +tracks/0/loop_wrap = false tracks/0/keys = { "times": PackedFloat32Array(0, 1.83333), "transitions": PackedFloat32Array(1, 1), @@ -439,7 +423,7 @@ tracks/1/keys = { [sub_resource type="Animation" id="Animation_fssmb"] resource_name = "idle_front" -length = 1.91667 +length = 1.83334 loop_mode = 1 step = 0.0833333 tracks/0/type = "value" @@ -447,67 +431,7 @@ tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:frame") tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 1.8333), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 22] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:animation") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"idle_front_walk"] -} - -[sub_resource type="Animation" id="Animation_3dffb"] -resource_name = "idle_front_walk" -length = 1.91667 -loop_mode = 1 -step = 0.0833333 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:frame") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 1.8333), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 22] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:animation") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [&"idle_front_walk"] -} - -[sub_resource type="Animation" id="Animation_oy7vk"] -resource_name = "idle_left" -length = 1.91667 -loop_mode = 1 -step = 0.0833333 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:frame") -tracks/0/interp = 1 -tracks/0/loop_wrap = true +tracks/0/loop_wrap = false tracks/0/keys = { "times": PackedFloat32Array(0, 1.83333), "transitions": PackedFloat32Array(1, 1), @@ -519,17 +443,17 @@ tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:animation") tracks/1/interp = 1 -tracks/1/loop_wrap = true +tracks/1/loop_wrap = false tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [&"idle_left_walk"] +"values": [&"idle_front_walk"] } -[sub_resource type="Animation" id="Animation_0qxqf"] -resource_name = "idle_left_walk" -length = 1.91667 +[sub_resource type="Animation" id="Animation_oy7vk"] +resource_name = "idle_left" +length = 1.83334 loop_mode = 1 step = 0.0833333 tracks/0/type = "value" @@ -537,7 +461,7 @@ tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:frame") tracks/0/interp = 1 -tracks/0/loop_wrap = true +tracks/0/loop_wrap = false tracks/0/keys = { "times": PackedFloat32Array(0, 1.83333), "transitions": PackedFloat32Array(1, 1), @@ -559,7 +483,7 @@ tracks/1/keys = { [sub_resource type="Animation" id="Animation_tbydq"] resource_name = "idle_right" -length = 1.91667 +length = 1.83334 loop_mode = 1 step = 0.0833333 tracks/0/type = "value" @@ -567,7 +491,7 @@ tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:frame") tracks/0/interp = 1 -tracks/0/loop_wrap = true +tracks/0/loop_wrap = false tracks/0/keys = { "times": PackedFloat32Array(0, 1.83333), "transitions": PackedFloat32Array(1, 1), @@ -586,35 +510,17 @@ tracks/1/keys = { "update": 1, "values": [&"idle_left_walk"] } - -[sub_resource type="Animation" id="Animation_3eot4"] -resource_name = "idle_right_walk" -length = 1.91667 -loop_mode = 1 -step = 0.0833333 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:frame") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite3D:flip_h") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { "times": PackedFloat32Array(0, 1.83333), "transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 22] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:animation") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), "update": 1, -"values": [&"idle_left_walk"] +"values": [true, false] } [sub_resource type="Animation" id="Animation_0k3e8"] @@ -694,7 +600,7 @@ tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [&"idle_front_walk"] +"values": [&"idle_back_walk"] } tracks/2/type = "value" tracks/2/imported = false @@ -759,7 +665,7 @@ tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [&"idle_front_walk"] +"values": [&"idle_left_walk"] } tracks/2/type = "value" tracks/2/imported = false @@ -824,7 +730,7 @@ tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [&"idle_front_walk"] +"values": [&"idle_left_walk"] } tracks/2/type = "value" tracks/2/imported = false @@ -862,24 +768,48 @@ tracks/4/keys = { "update": 0, "values": [0, 41] } +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Sprite3D:flip_h") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_346xs"] _data = { &"RESET": SubResource("Animation_41ppy"), &"idle_back": SubResource("Animation_3g180"), -&"idle_back_walk": SubResource("Animation_ppbeh"), &"idle_front": SubResource("Animation_fssmb"), -&"idle_front_walk": SubResource("Animation_3dffb"), &"idle_left": SubResource("Animation_oy7vk"), -&"idle_left_walk": SubResource("Animation_0qxqf"), &"idle_right": SubResource("Animation_tbydq"), -&"idle_right_walk": SubResource("Animation_3eot4"), &"primary_attack": SubResource("Animation_0k3e8"), &"primary_attack_back": SubResource("Animation_bk4gf"), &"primary_attack_left": SubResource("Animation_gby04"), &"primary_attack_right": SubResource("Animation_mip6u") } +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_d8ow6"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ck0ak"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_y4gx8"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_gejfr"] +states/Idle/node = ExtResource("74_pxi1p") +states/Idle/position = Vector2(417, 93) +"states/Primary Attack/node" = ExtResource("74_fxhv6") +"states/Primary Attack/position" = Vector2(428, 248) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_d8ow6"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_ck0ak"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_y4gx8")] + [sub_resource type="Animation" id="Animation_fxhv6"] resource_name = "Attack VFX" length = 1.4 @@ -1246,6 +1176,7 @@ animations = [{ [node name="EnemyModelView" type="Node3D"] script = ExtResource("1_o4cc2") EnemyLoreInfo = SubResource("Resource_gby04") +_enemyDirection = 1 [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.086869, 0) @@ -1298,6 +1229,8 @@ libraries = { [node name="AnimationTree" parent="." instance=ExtResource("73_gby04")] unique_name_in_owner = true +tree_root = SubResource("AnimationNodeStateMachine_gejfr") +advance_expression_base_node = NodePath("..") [node name="VFX Animation Player" type="AnimationPlayer" parent="."] root_node = NodePath("../AnimationPlayer") diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEater.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEater.cs index 0ef21af0..6b7e9973 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEater.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/03. filth_eater/FilthEater.cs @@ -26,14 +26,14 @@ public partial class FilthEater : FollowsPlayerEnemy, IHasPrimaryAttack, IHasSec public void OnReady() { SetPhysicsProcess(true); - ((EnemyModelView2D)_enemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; + ((EnemyModelView2D)EnemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; } public void OnPhysicsProcess(double delta) { _enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta)); FollowPlayerAndAttack(_enemyLogic, GlobalPosition, _player.CurrentPosition); - _navigationAgentClient.CalculateVelocity(GlobalPosition, true); + Velocity = _navigationAgentClient.Velocity; base._PhysicsProcess(delta); } @@ -46,17 +46,17 @@ public partial class FilthEater : FollowsPlayerEnemy, IHasPrimaryAttack, IHasSec } public void PrimaryAttack() { - _enemyModelView.PlayPrimaryAttackAnimation(); + EnemyModelView.PlayPrimaryAttackAnimation(); } public void SecondaryAttack() { - _enemyModelView.PlaySecondaryAttackAnimation(); + EnemyModelView.PlaySecondaryAttackAnimation(); } public void RangedAttack() { - _enemyModelView.PlaySecondaryAttackAnimation(); + EnemyModelView.PlaySecondaryAttackAnimation(); } public void Patrol() 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 ba0e31bd..352d4d8f 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=289 format=3 uid="uid://bup8c4x1na3aw"] +[gd_scene load_steps=303 format=3 uid="uid://bup8c4x1na3aw"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_718m1"] [ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_krqul"] @@ -194,6 +194,10 @@ [ext_resource type="Texture2D" uid="uid://bxijhjyqvfrip" path="res://src/enemy/enemy_types/03. filth_eater/animations/Filth Side Attacks Frames/ATTACK 2 SIDE/frame_073_delay-0.01s.png" id="190_wg32o"] [ext_resource type="PackedScene" uid="uid://diaxvpmwgl65u" path="res://src/enemy/TwoAttacksEnemyAnimationTree.tscn" id="193_krqul"] [ext_resource type="Texture2D" uid="uid://d0q5jru1am4v0" path="res://src/vfx/Enemy/FILTH_BLAST.png" id="194_pyy2h"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="194_u5xjp"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="195_5cwnl"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="196_e0gee"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cy2ngl55c0rws" path="res://src/enemy/animation_state_machines/WalkingStateMachine.tres" id="197_mno7m"] [sub_resource type="Resource" id="Resource_pyy2h"] script = ExtResource("2_krqul") @@ -1782,6 +1786,40 @@ _data = { &"secondary_attack_right": SubResource("Animation_smxxh") } +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_u5xjp"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5cwnl"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e0gee"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mno7m"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4h5gj"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e5pq0"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wka7s"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8jscc"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7vrs0"] + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_e5pq0"] +states/Idle/node = ExtResource("194_u5xjp") +states/Idle/position = Vector2(373, 100) +"states/Primary Attack/node" = ExtResource("195_5cwnl") +"states/Primary Attack/position" = Vector2(373, 218) +"states/Secondary Attack/node" = ExtResource("196_e0gee") +"states/Secondary Attack/position" = Vector2(588, 218) +states/Walking/node = ExtResource("197_mno7m") +states/Walking/position = Vector2(588, 100) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_u5xjp"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_5cwnl"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_e0gee"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_mno7m"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_4h5gj"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_e5pq0"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_wka7s"), "Walking", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_8jscc"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_7vrs0")] + [sub_resource type="AtlasTexture" id="AtlasTexture_smxxh"] atlas = ExtResource("194_pyy2h") region = Rect2(0, 0, 200, 200) @@ -2307,6 +2345,7 @@ _data = { transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.97683, 0) script = ExtResource("1_718m1") EnemyLoreInfo = SubResource("Resource_pyy2h") +_enemyDirection = 1 [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0.0862446, 0) @@ -2356,6 +2395,8 @@ libraries = { [node name="AnimationTree" parent="." instance=ExtResource("193_krqul")] unique_name_in_owner = true +tree_root = SubResource("AnimationNodeStateMachine_e5pq0") +advance_expression_base_node = NodePath("..") [node name="attack VFX" type="AnimatedSprite3D" parent="."] transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, -0.0228448, 0.423145, 0) diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/Sara.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/Sara.cs index 785267cf..584d228c 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/Sara.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/04. sara/Sara.cs @@ -27,14 +27,14 @@ public partial class Sara : FollowsPlayerEnemy, IHasPrimaryAttack, IHasSecondary public void OnReady() { SetPhysicsProcess(true); - ((EnemyModelView2D)_enemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; + ((EnemyModelView2D)EnemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; } public void OnPhysicsProcess(double delta) { _enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta)); FollowPlayerAndAttack(_enemyLogic, GlobalPosition, _player.CurrentPosition); - _navigationAgentClient.CalculateVelocity(GlobalPosition, true); + Velocity = _navigationAgentClient.Velocity; base._PhysicsProcess(delta); } @@ -48,18 +48,17 @@ public partial class Sara : FollowsPlayerEnemy, IHasPrimaryAttack, IHasSecondary public override void Die() { - _navigationAgentClient.Stop(); base.Die(); } public void PrimaryAttack() { - _enemyModelView.PlayPrimaryAttackAnimation(); + EnemyModelView.PlayPrimaryAttackAnimation(); } public void SecondaryAttack() { - _enemyModelView.PlaySecondaryAttackAnimation(); + EnemyModelView.PlaySecondaryAttackAnimation(); } public override void SetTarget(Vector3 target) => _navigationAgentClient.SetTarget(target); 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 c88567b8..ab9b8bbf 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=221 format=3 uid="uid://bli0t0d6ommvi"] +[gd_scene load_steps=231 format=3 uid="uid://bli0t0d6ommvi"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_oh25a"] [ext_resource type="Texture2D" uid="uid://nps7rrvkgews" path="res://src/enemy/enemy_types/04. sara/animations/IDLE+MOVE/FRONT/0001.png" id="2_8j76g"] @@ -163,7 +163,10 @@ [ext_resource type="Texture2D" uid="uid://n2c8kfwt6ve3" path="res://src/enemy/enemy_types/04. sara/animations/ATTACK2/SIDE R/0019.png" id="160_r8ggx"] [ext_resource type="Texture2D" uid="uid://dykb4rwua8iyw" path="res://src/enemy/enemy_types/04. sara/animations/ATTACK2/SIDE R/0022.png" id="161_xafpd"] [ext_resource type="PackedScene" uid="uid://diaxvpmwgl65u" path="res://src/enemy/TwoAttacksEnemyAnimationTree.tscn" id="163_e6etm"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="164_fc7i0"] [ext_resource type="Texture2D" uid="uid://cxibdrta6imfb" path="res://src/vfx/Enemy/nega.png" id="164_rrjme"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="165_veo2p"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="166_xppqu"] [sub_resource type="ViewportTexture" id="ViewportTexture_h1kaf"] viewport_path = NodePath("Sprite3D/SubViewportContainer/SubViewport") @@ -1310,6 +1313,57 @@ tracks/3/keys = { "times": PackedFloat32Array(0) } +[sub_resource type="Animation" id="Animation_gv7gi"] +resource_name = "secondary_attack_back" +length = 0.583341 +step = 0.0833333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"secondary_attack_back"] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.583333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 7] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Hitbox/CollisionShape3D:disabled") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.167084, 0.413635), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [true, false, true] +} +tracks/3/type = "animation" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Secondary Animation Player") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"clips": PackedStringArray("Attack VFX"), +"times": PackedFloat32Array(0) +} + [sub_resource type="AnimationLibrary" id="AnimationLibrary_pkiq5"] _data = { &"RESET": SubResource("Animation_pkiq5"), @@ -1326,10 +1380,35 @@ _data = { &"primary_attack_left": SubResource("Animation_fc7i0"), &"primary_attack_right": SubResource("Animation_veo2p"), &"secondary_attack": SubResource("Animation_wtyys"), +&"secondary_attack_back": SubResource("Animation_gv7gi"), &"secondary_attack_left": SubResource("Animation_qbkgi"), &"secondary_attack_right": SubResource("Animation_k1pc0") } +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qbkgi"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k1pc0"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hi3ny"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8wlnr"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gv7gi"] + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_rasxg"] +states/Idle/node = ExtResource("164_fc7i0") +states/Idle/position = Vector2(384, 100) +"states/Primary Attack/node" = ExtResource("165_veo2p") +"states/Primary Attack/position" = Vector2(384, 264) +"states/Secondary Attack/node" = ExtResource("166_xppqu") +"states/Secondary Attack/position" = Vector2(638, 264) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_qbkgi"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_k1pc0"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_hi3ny"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_8wlnr"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_gv7gi")] + [sub_resource type="AtlasTexture" id="AtlasTexture_nbpma"] atlas = ExtResource("164_rrjme") region = Rect2(0, 0, 512, 512) @@ -1626,6 +1705,7 @@ _data = { [node name="EnemyModelView" type="Node3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.31442, 0) script = ExtResource("1_oh25a") +_enemyDirection = 1 [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0) @@ -1675,6 +1755,8 @@ libraries = { [node name="AnimationTree" parent="." instance=ExtResource("163_e6etm")] unique_name_in_owner = true +tree_root = SubResource("AnimationNodeStateMachine_rasxg") +advance_expression_base_node = NodePath("..") [node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."] transform = Transform3D(0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, -0.0335064, -0.0871174, -0.40289) diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.cs index 3c5c9402..e25cfe0f 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/05. ballos/Ballos.cs @@ -27,14 +27,14 @@ public partial class Ballos : FollowsPlayerEnemy, IHasPrimaryAttack, IHasSeconda public void OnReady() { SetPhysicsProcess(true); - ((EnemyModelView2D)_enemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; + ((EnemyModelView2D)EnemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; } public void OnPhysicsProcess(double delta) { _enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta)); FollowPlayerAndAttack(_enemyLogic, GlobalPosition, _player.CurrentPosition); - _navigationAgentClient.CalculateVelocity(GlobalPosition, true); + Velocity = _navigationAgentClient.Velocity; base._PhysicsProcess(delta); } @@ -48,18 +48,17 @@ public partial class Ballos : FollowsPlayerEnemy, IHasPrimaryAttack, IHasSeconda public override void Die() { - _navigationAgentClient.Stop(); base.Die(); } public void PrimaryAttack() { - _enemyModelView.PlayPrimaryAttackAnimation(); + EnemyModelView.PlayPrimaryAttackAnimation(); } public void SecondaryAttack() { - _enemyModelView.PlaySecondaryAttackAnimation(); + EnemyModelView.PlaySecondaryAttackAnimation(); } public override void SetTarget(Vector3 target) => _navigationAgentClient.SetTarget(target); 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 57132e32..dc32a4eb 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=328 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"] @@ -95,6 +95,10 @@ [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="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"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="97_ktg2j"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cy2ngl55c0rws" path="res://src/enemy/animation_state_machines/WalkingStateMachine.tres" id="98_ktg2j"] [sub_resource type="ViewportTexture" id="ViewportTexture_h1kaf"] viewport_path = NodePath("Sprite3D/SubViewportContainer/SubViewport") @@ -472,6 +476,18 @@ tracks/3/keys = { "update": 1, "values": [false] } +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Sprite3D:flip_h") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} [sub_resource type="Animation" id="Animation_xt8vr"] resource_name = "idle_back" @@ -649,6 +665,18 @@ tracks/1/keys = { "update": 0, "values": [0, 15] } +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite3D:flip_h") +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="Animation" id="Animation_l4fpo"] resource_name = "idle_right" @@ -730,7 +758,7 @@ tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [true] +"values": [false] } [sub_resource type="Animation" id="Animation_lulp4"] @@ -1100,518 +1128,39 @@ _data = { &"secondary_attack_right": SubResource("Animation_cyiv5") } -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_53wuj"] -animation = &"idle_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o0tmb"] -animation = &"idle_back_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_d5bmw"] -animation = &"idle_front" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a6s5c"] -animation = &"idle_front_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fpvxl"] -animation = &"idle_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dvj10"] -animation = &"idle_left_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7hf3j"] -animation = &"idle_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"] -animation = &"idle_right_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_erbrx"] -animation = &"primary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x7uye"] -animation = &"primary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_djeua"] -animation = &"primary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8wbs7"] -animation = &"primary_attack_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_eslbn"] -animation = &"secondary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_krqul"] -animation = &"secondary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_pyy2h"] -animation = &"secondary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_smxxh"] -animation = &"secondary_attack_right" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3xv6a"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0h1op"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_361b7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wftla"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gqqkl"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5cj36"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4t05h"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bmy1k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mxl7w"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qq0ru"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_i3hgg"] advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c54uj"] -switch_mode = 1 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ktg2j"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qmo72"] -switch_mode = 1 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_eawrp"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jyt1n"] -switch_mode = 1 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ey0a6"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5un2v"] -switch_mode = 1 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nm21a"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2x3nl"] -switch_mode = 1 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qhytg"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6a5nw"] -switch_mode = 1 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_52r3r"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0jqty"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yjcrh"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2ybyh"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n454k"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vrcjv"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h1yxw"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kg6hd"] -break_loop_at_end = true -switch_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_25i3y"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5g722"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a6y4x"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7y7m4"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ldcvv"] -break_loop_at_end = true -switch_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_aalmk"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2le5t"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4nmgu"] -break_loop_at_end = true -switch_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mw5r6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jbtxi"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mjxlk"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_al2xs"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_irq32"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2khaq"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4q1uq"] switch_mode = 2 advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k7x0x"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_djeua"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8wbs7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mnr4r"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l2wq1"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7hf3j"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jwlar"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fdoul"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kpotx"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lfuuf"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dfvqa"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dnvt3"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_at0w8"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_afod7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dwhw7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qjloj"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7uqwg"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k4jom"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ku0f8"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fwynu"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_t7vd7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tv4ou"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0b3yx"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ysi80"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ktp1h"] -break_loop_at_end = true -switch_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1cx5a"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fn67p"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6qb08"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5ap7h"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dde6r"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5a80x"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cwnal"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ik0ko"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7h3pp"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_te4ac"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_skhgh"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_j8po0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cvb6o"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qrpvt"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_t5a8m"] switch_mode = 2 advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_obci0"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cuv27"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ach2p"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8cyro"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4fl8s"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ykv10"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hbwwn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gcl0k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_o3f25"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_r7yhf"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_516bs"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wiojf"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fgvwe"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1lijp"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3pd83"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wyiwg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l1dx6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_57oo3"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tpmfr"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8hjrx"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ouq20"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1a3du"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ymlkb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7u4wg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oatu2"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ynkt4"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7a6is"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_u5xjp"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5cwnl"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e0gee"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mno7m"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4h5gj"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e5pq0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wka7s"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8jscc"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7vrs0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_20678"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k6da7"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_eslbn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_krqul"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pyy2h"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_smxxh"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_at0n1"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_svg22"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_s7lar"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_akobn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bsqna"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gol4k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_p4ilm"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k83sm"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kcq25"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_01v4k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jltoa"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oimc0"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xcm4a"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ddwwq"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n4eka"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ec8sv"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_g2s00"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yqxd5"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_maccb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5xhee"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_503vp"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7y3hb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h8dgw"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nvud8"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nsjll"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rwn6o"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rqeru"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5qfjk"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_uyx05"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6io2i"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7jav2"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c1hmo"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yu2km"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_3ev0n"] -states/End/position = Vector2(1882, 19) -states/Start/position = Vector2(29, 290) -states/idle_back/node = SubResource("AnimationNodeAnimation_53wuj") -states/idle_back/position = Vector2(337.116, 204) -states/idle_back_walk/node = SubResource("AnimationNodeAnimation_o0tmb") -states/idle_back_walk/position = Vector2(1052, 55.9474) -states/idle_front/node = SubResource("AnimationNodeAnimation_d5bmw") -states/idle_front/position = Vector2(151.295, -318) -states/idle_front_walk/node = SubResource("AnimationNodeAnimation_a6s5c") -states/idle_front_walk/position = Vector2(573, -189) -states/idle_left/node = SubResource("AnimationNodeAnimation_fpvxl") -states/idle_left/position = Vector2(431.116, -177) -states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10") -states/idle_left_walk/position = Vector2(875, -349) -states/idle_right/node = SubResource("AnimationNodeAnimation_7hf3j") -states/idle_right/position = Vector2(-243.705, -163) -states/idle_right_walk/node = SubResource("AnimationNodeAnimation_ivy74") -states/idle_right_walk/position = Vector2(779, 34.9474) -states/primary_attack/node = SubResource("AnimationNodeAnimation_erbrx") -states/primary_attack/position = Vector2(223, 315) -states/primary_attack_back/node = SubResource("AnimationNodeAnimation_x7uye") -states/primary_attack_back/position = Vector2(632.525, 474.749) -states/primary_attack_left/node = SubResource("AnimationNodeAnimation_djeua") -states/primary_attack_left/position = Vector2(632.525, 329) -states/primary_attack_right/node = SubResource("AnimationNodeAnimation_8wbs7") -states/primary_attack_right/position = Vector2(210.295, 464.749) -states/secondary_attack/node = SubResource("AnimationNodeAnimation_eslbn") -states/secondary_attack/position = Vector2(1037, 315) -states/secondary_attack_back/node = SubResource("AnimationNodeAnimation_krqul") -states/secondary_attack_back/position = Vector2(1349.83, 458.279) -states/secondary_attack_left/node = SubResource("AnimationNodeAnimation_pyy2h") -states/secondary_attack_left/position = Vector2(1349.83, 315) -states/secondary_attack_right/node = SubResource("AnimationNodeAnimation_smxxh") -states/secondary_attack_right/position = Vector2(1052, 464.749) -transitions = ["idle_front_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_3xv6a"), "idle_left_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0h1op"), "idle_front_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_361b7"), "idle_back_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_wftla"), "idle_back_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_gqqkl"), "idle_left_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_5cj36"), "idle_front_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_4t05h"), "idle_back_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_bmy1k"), "idle_left_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_mxl7w"), "Start", "idle_front", SubResource("AnimationNodeStateMachineTransition_qq0ru"), "idle_front", "idle_back", SubResource("AnimationNodeStateMachineTransition_c54uj"), "idle_back", "idle_left", SubResource("AnimationNodeStateMachineTransition_qmo72"), "idle_left", "idle_front", SubResource("AnimationNodeStateMachineTransition_jyt1n"), "idle_left", "idle_back", SubResource("AnimationNodeStateMachineTransition_5un2v"), "idle_back", "idle_front", SubResource("AnimationNodeStateMachineTransition_2x3nl"), "idle_front", "idle_left", SubResource("AnimationNodeStateMachineTransition_6a5nw"), "idle_back", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0jqty"), "idle_front", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_yjcrh"), "idle_back", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_2ybyh"), "idle_left", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_n454k"), "idle_back_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_vrcjv"), "idle_back_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_h1yxw"), "idle_back_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_kg6hd"), "idle_back", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_25i3y"), "idle_left", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_5g722"), "idle_front", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_a6y4x"), "idle_left_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_7y7m4"), "idle_left_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ldcvv"), "idle_left_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_aalmk"), "idle_front_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_2le5t"), "idle_front_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_4nmgu"), "idle_front_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_mw5r6"), "idle_front", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jbtxi"), "idle_left", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_mjxlk"), "idle_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_al2xs"), "idle_front", "primary_attack", SubResource("AnimationNodeStateMachineTransition_irq32"), "primary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_2khaq"), "idle_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_k7x0x"), "idle_right", "idle_front", SubResource("AnimationNodeStateMachineTransition_ivy74"), "idle_front", "idle_right", SubResource("AnimationNodeStateMachineTransition_x7uye"), "idle_right", "idle_left", SubResource("AnimationNodeStateMachineTransition_djeua"), "idle_left", "idle_right", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "idle_right", "idle_back", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "idle_back", "idle_right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "idle_right", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_7hf3j"), "idle_right", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jwlar"), "idle_right", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fdoul"), "idle_front_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_kpotx"), "idle_back_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "idle_left_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "idle_right", "primary_attack", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "idle_front_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_at0w8"), "idle_right_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_afod7"), "idle_right_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_dwhw7"), "idle_left_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_qjloj"), "idle_right_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_7uqwg"), "idle_back_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_k4jom"), "idle_right_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ku0f8"), "idle_left", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_fwynu"), "idle_right_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_t7vd7"), "idle_back", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_tv4ou"), "idle_right_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_0b3yx"), "idle_front", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_ysi80"), "idle_right_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_ktp1h"), "idle_right", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_1cx5a"), "idle_right_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_fn67p"), "primary_attack_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_6qb08"), "primary_attack", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_5ap7h"), "primary_attack_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_dde6r"), "primary_attack_right", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_5a80x"), "primary_attack_back", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_cwnal"), "primary_attack_right", "primary_attack", SubResource("AnimationNodeStateMachineTransition_ik0ko"), "primary_attack", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_7h3pp"), "primary_attack_right", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_te4ac"), "primary_attack_left", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_skhgh"), "primary_attack_left", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_j8po0"), "primary_attack_back", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_cvb6o"), "primary_attack_left", "idle_left", SubResource("AnimationNodeStateMachineTransition_qrpvt"), "primary_attack_right", "idle_right", SubResource("AnimationNodeStateMachineTransition_obci0"), "primary_attack_back", "idle_back", SubResource("AnimationNodeStateMachineTransition_cuv27"), "idle_front", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_ach2p"), "idle_right", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_8cyro"), "idle_back", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_4fl8s"), "idle_left", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_ykv10"), "idle_front_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_hbwwn"), "idle_right_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_gcl0k"), "idle_left_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_o3f25"), "idle_back_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_r7yhf"), "idle_right", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_516bs"), "idle_front", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_wiojf"), "idle_left", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_fgvwe"), "idle_back", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_1lijp"), "idle_front_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_3pd83"), "idle_right_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_wyiwg"), "idle_back_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_l1dx6"), "idle_left_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_57oo3"), "idle_right", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_tpmfr"), "idle_front", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_8hjrx"), "idle_back", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ouq20"), "idle_left", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_1a3du"), "idle_front_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ymlkb"), "idle_right_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_7u4wg"), "idle_left_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_oatu2"), "idle_back_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ynkt4"), "secondary_attack", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_7a6is"), "secondary_attack_right", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_u5xjp"), "secondary_attack", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_5cwnl"), "secondary_attack_left", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_e0gee"), "secondary_attack", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_mno7m"), "secondary_attack_back", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_4h5gj"), "secondary_attack_left", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_e5pq0"), "secondary_attack_back", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_wka7s"), "secondary_attack_back", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_8jscc"), "secondary_attack_right", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_7vrs0"), "secondary_attack_left", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_20678"), "secondary_attack_right", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_k6da7"), "idle_front", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_eslbn"), "idle_front", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_krqul"), "idle_front", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_pyy2h"), "idle_front", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_smxxh"), "idle_right", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_at0n1"), "idle_right", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_svg22"), "idle_right", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_s7lar"), "idle_right", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_akobn"), "idle_left", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_bsqna"), "idle_left", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_gol4k"), "idle_left", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_p4ilm"), "idle_left", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_k83sm"), "idle_back", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_kcq25"), "idle_back", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_01v4k"), "idle_back", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_jltoa"), "idle_back", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_oimc0"), "idle_front_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_xcm4a"), "idle_front_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_ddwwq"), "idle_front_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_n4eka"), "idle_front_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_ec8sv"), "idle_left_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_g2s00"), "idle_left_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_yqxd5"), "idle_left_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_maccb"), "idle_left_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_5xhee"), "idle_back_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_503vp"), "idle_back_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_7y3hb"), "idle_back_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_h8dgw"), "idle_back_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_nvud8"), "idle_right_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_nsjll"), "idle_right_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_rwn6o"), "idle_right_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_rqeru"), "idle_right_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_5qfjk"), "secondary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_uyx05"), "secondary_attack_right", "idle_right", SubResource("AnimationNodeStateMachineTransition_6io2i"), "secondary_attack_left", "idle_left", SubResource("AnimationNodeStateMachineTransition_7jav2"), "secondary_attack_back", "idle_back", SubResource("AnimationNodeStateMachineTransition_c1hmo"), "primary_attack", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_yu2km")] -graph_offset = Vector2(-196.982, -40.9592) +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_3c83d"] +states/Idle/node = ExtResource("96_i3hgg") +states/Idle/position = Vector2(358, 100) +"states/Primary Attack/node" = ExtResource("97_ktg2j") +"states/Primary Attack/position" = Vector2(351, 211) +"states/Secondary Attack/node" = ExtResource("97_i3hgg") +"states/Secondary Attack/position" = Vector2(680, 211) +states/Walking/node = ExtResource("98_ktg2j") +states/Walking/position = Vector2(680, 100) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_i3hgg"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_ktg2j"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_eawrp"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_ey0a6"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_nm21a"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_qhytg"), "Walking", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_52r3r"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_4q1uq"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_t5a8m")] [sub_resource type="AtlasTexture" id="AtlasTexture_cyiv5"] atlas = ExtResource("95_o6ljw") @@ -1919,6 +1468,7 @@ _data = { [node name="EnemyModelView" type="Node3D"] script = ExtResource("1_ueqp5") +_enemyDirection = 1 [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 1.24865, 0) @@ -1967,7 +1517,8 @@ libraries = { [node name="AnimationTree" type="AnimationTree" parent="."] unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") -tree_root = SubResource("AnimationNodeStateMachine_3ev0n") +tree_root = SubResource("AnimationNodeStateMachine_3c83d") +advance_expression_base_node = NodePath("..") anim_player = NodePath("../AnimationPlayer") [node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."] diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/Chariot.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/Chariot.cs index 4e64b92b..147e2f50 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/Chariot.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/Chariot.cs @@ -14,8 +14,6 @@ public partial class Chariot : FollowsPlayerEnemy, IHasPrimaryAttack, ICanActiva [Export] public double PrimaryAttackElementalDamageBonus { get; set; } = 1.0; - [Node] public ChariotModelView EnemyModelView { get; set; } = default; - [Node] private INavigationAgentClient _navigationAgentClient { get; set; } = default!; private bool _activated = false; @@ -28,7 +26,7 @@ public partial class Chariot : FollowsPlayerEnemy, IHasPrimaryAttack, ICanActiva if (_activated) _movementSpeed = 0; - _navigationAgentClient.CalculateVelocity(GlobalPosition, true); + Velocity = _navigationAgentClient.Velocity; base._PhysicsProcess(delta); } @@ -41,20 +39,19 @@ public partial class Chariot : FollowsPlayerEnemy, IHasPrimaryAttack, ICanActiva if (!lookDir.IsEqualApprox(GlobalPosition)) LookAt(lookDir, Vector3.Up, true); - _enemyModelView.SetCurrentDirection(GlobalBasis, -_player.CurrentBasis.Z); + base.EnemyModelView.SetCurrentDirection(GlobalBasis, -_player.CurrentBasis.Z); - if (_enemyModelView is EnemyModelView2D && !_activated) + if (base.EnemyModelView is EnemyModelView2D && !_activated) { if (Velocity > Vector3.Zero) - _enemyModelView.PlayWalkAnimation(); + base.EnemyModelView.PlayWalkAnimation(); else - _enemyModelView.PlayIdleAnimation(); + base.EnemyModelView.PlayIdleAnimation(); } } public override void Die() { - _navigationAgentClient.Stop(); base.Die(); } @@ -64,7 +61,7 @@ public partial class Chariot : FollowsPlayerEnemy, IHasPrimaryAttack, ICanActiva } public void PrimaryAttack() { - _enemyModelView.PlayPrimaryAttackAnimation(); + base.EnemyModelView.PlayPrimaryAttackAnimation(); } public void Activate() @@ -72,7 +69,7 @@ public partial class Chariot : FollowsPlayerEnemy, IHasPrimaryAttack, ICanActiva if (_activated) return; - EnemyModelView.Activate(); + EnemyModelView.PlayActivateAnimation(); _activated = true; } diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/ChariotModelView.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/ChariotModelView.cs deleted file mode 100644 index 179a7aed..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/06. chariot/ChariotModelView.cs +++ /dev/null @@ -1,130 +0,0 @@ -using Chickensoft.AutoInject; -using Chickensoft.Introspection; -using Godot; - -namespace Zennysoft.Game.Ma; - -[Meta(typeof(IAutoNode))] -public partial class ChariotModelView : EnemyModelView2D, ICanActivate -{ - public override void _Notification(int what) => this.Notify(what); - - private const string APPEAR_FRONT = "appear_front"; - private const string APPEAR_LEFT = "appear_left"; - private const string APPEAR_RIGHT = "appear_right"; - private const string APPEAR_BACK = "appear_back"; - private const string FRONT = "front"; - private const string LEFT = "left"; - private const string RIGHT = "right"; - private const string BACK = "back"; - - private const string ACTIVATE = "activate"; - private const string ACTIVATE_LEFT = "activate_left"; - private const string ACTIVATE_RIGHT = "activate_right"; - private const string ACTIVATE_BACK = "activate_back"; - - private const string ACTIVATED_IDLE_FRONT = "activated_idle_front"; - private const string ACTIVATED_IDLE_LEFT = "activated_idle_left"; - private const string ACTIVATED_IDLE_RIGHT = "activated_idle_right"; - private const string ACTIVATED_IDLE_BACK = "activated_idle_back"; - - private bool _activated = false; - private bool _activating = false; - private bool _scrollsActivating = false; - - [Node] public AnimationTree ScrollAnimationTree { get; set; } = default!; - - public void Setup() - { - AnimationTree.AnimationFinished += AnimationTree_AnimationFinished; - ScrollAnimationTree.AnimationFinished += ScrollAnimationTree_AnimationFinished; - } - - public override void _Process(double delta) - { - if (!_activated) - return; - - if (_activating) - { - PlayActivationAnimation(); - return; - } - } - - public void Activate() - { - _activated = true; - _activating = true; - _scrollsActivating = true; - PlayActivationAnimation(); - } - - public override void PlayIdleAnimation() - { - if (_activated) - { - switch (_currentDirection) - { - case DirectionType.FORWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATED_IDLE_FRONT); - ScrollAnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(FRONT); - break; - case DirectionType.LEFT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATED_IDLE_LEFT); - ScrollAnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(LEFT); - break; - case DirectionType.RIGHT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATED_IDLE_RIGHT); - ScrollAnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(RIGHT); - break; - case DirectionType.BACKWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATED_IDLE_BACK); - ScrollAnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(BACK); - break; - } - } - else - { - base.PlayIdleAnimation(); - } - } - - private void PlayActivationAnimation() - { - switch (_currentDirection) - { - case DirectionType.FORWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATE); - if (_scrollsActivating) - ScrollAnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(APPEAR_FRONT); - break; - case DirectionType.LEFT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATE_LEFT); - if (_scrollsActivating) - ScrollAnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(APPEAR_LEFT); - break; - case DirectionType.RIGHT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATE_RIGHT); - if (_scrollsActivating) - ScrollAnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(APPEAR_RIGHT); - break; - case DirectionType.BACKWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATE_BACK); - if (_scrollsActivating) - ScrollAnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(APPEAR_BACK); - break; - } - } - - private void AnimationTree_AnimationFinished(StringName animName) - { - if (_activating && (animName == ACTIVATE || animName == ACTIVATE_LEFT || animName == ACTIVATE_RIGHT || animName == ACTIVATE_BACK)) - _activating = false; - } - private void ScrollAnimationTree_AnimationFinished(StringName animName) - { - if (_activating && (animName == APPEAR_FRONT || animName == APPEAR_LEFT || animName == APPEAR_RIGHT || animName == APPEAR_BACK)) - _scrollsActivating = false; - } -} 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 ef9c24c3..170b60fd 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 @@ -1,6 +1,6 @@ -[gd_scene load_steps=1355 format=3 uid="uid://dcm53j3rncxdm"] +[gd_scene load_steps=1184 format=3 uid="uid://dcm53j3rncxdm"] -[ext_resource type="Script" uid="uid://ckxqmb4tu4rml" path="res://src/enemy/enemy_types/06. chariot/ChariotModelView.cs" id="1_ol7va"] +[ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_ol7va"] [ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_6vf6u"] [ext_resource type="Texture2D" uid="uid://2gwychj1wbtx" path="res://src/enemy/enemy_types/06. chariot/animations/APPEAR/F/0051.png" id="2_1844k"] [ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="2_yv1f1"] @@ -971,8 +971,14 @@ [ext_resource type="Texture2D" uid="uid://dgvbbcwjlcn3s" path="res://src/enemy/enemy_types/06. chariot/animations/CLOTH_LOOP/RIGHT/0296.png" id="828_50nxi"] [ext_resource type="Texture2D" uid="uid://dsr8hjinu075n" path="res://src/enemy/enemy_types/06. chariot/animations/CLOTH_LOOP/RIGHT/0298.png" id="829_qitpn"] [ext_resource type="Texture2D" uid="uid://dcqcdd7he20sl" path="res://src/enemy/enemy_types/06. chariot/animations/CLOTH_LOOP/RIGHT/0300.png" id="830_4hn70"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://dlqudph8o3py1" path="res://src/enemy/animation_state_machines/ActivateStateMachine.tres" id="971_5duvr"] [ext_resource type="Texture2D" uid="uid://cv83xpm5cd8mv" path="res://src/vfx/Enemy/chariot_blast.png" id="972_5duvr"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://bh0hsg4in5bkt" path="res://src/enemy/animation_state_machines/ActivatedIdleStateMachine.tres" id="972_86buh"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="973_p70s4"] [ext_resource type="Texture2D" uid="uid://clgh7u21s1fw4" path="res://src/vfx/Enemy/chariot_attack_2.png" id="973_t2646"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="974_jrkfh"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="975_mud4o"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cy2ngl55c0rws" path="res://src/enemy/animation_state_machines/WalkingStateMachine.tres" id="976_vxyya"] [sub_resource type="Resource" id="Resource_500at"] script = ExtResource("2_6vf6u") @@ -6442,530 +6448,14 @@ states/right/position = Vector2(1160, 5) transitions = ["appear_front", "appear_right", SubResource("AnimationNodeStateMachineTransition_u86rl"), "appear_front", "appear_back", SubResource("AnimationNodeStateMachineTransition_uflom"), "appear_front", "appear_left", SubResource("AnimationNodeStateMachineTransition_n737b"), "appear_left", "appear_front", SubResource("AnimationNodeStateMachineTransition_1ebmq"), "appear_left", "appear_right", SubResource("AnimationNodeStateMachineTransition_rei16"), "appear_left", "appear_back", SubResource("AnimationNodeStateMachineTransition_36car"), "appear_back", "appear_left", SubResource("AnimationNodeStateMachineTransition_8ibrv"), "appear_back", "appear_front", SubResource("AnimationNodeStateMachineTransition_nryy0"), "appear_back", "appear_right", SubResource("AnimationNodeStateMachineTransition_wiqwp"), "appear_right", "appear_back", SubResource("AnimationNodeStateMachineTransition_h78qd"), "appear_right", "appear_front", SubResource("AnimationNodeStateMachineTransition_puo0m"), "appear_right", "appear_left", SubResource("AnimationNodeStateMachineTransition_0wf03"), "appear_front", "front", SubResource("AnimationNodeStateMachineTransition_vx836"), "appear_left", "left", SubResource("AnimationNodeStateMachineTransition_61mt4"), "appear_back", "back", SubResource("AnimationNodeStateMachineTransition_mle3q"), "appear_right", "right", SubResource("AnimationNodeStateMachineTransition_ov0ka"), "appear_front", "right", SubResource("AnimationNodeStateMachineTransition_6l842"), "appear_front", "left", SubResource("AnimationNodeStateMachineTransition_4a52m"), "appear_front", "back", SubResource("AnimationNodeStateMachineTransition_853at"), "appear_right", "front", SubResource("AnimationNodeStateMachineTransition_7747u"), "appear_right", "left", SubResource("AnimationNodeStateMachineTransition_j68mp"), "appear_right", "back", SubResource("AnimationNodeStateMachineTransition_f7875"), "appear_left", "front", SubResource("AnimationNodeStateMachineTransition_fwqgi"), "appear_left", "right", SubResource("AnimationNodeStateMachineTransition_ja5r0"), "appear_left", "back", SubResource("AnimationNodeStateMachineTransition_fx8qk"), "appear_back", "front", SubResource("AnimationNodeStateMachineTransition_4aent"), "appear_back", "left", SubResource("AnimationNodeStateMachineTransition_ofalu"), "appear_back", "right", SubResource("AnimationNodeStateMachineTransition_26a75"), "front", "left", SubResource("AnimationNodeStateMachineTransition_xw806"), "front", "back", SubResource("AnimationNodeStateMachineTransition_lh6fm"), "front", "right", SubResource("AnimationNodeStateMachineTransition_r80ld"), "right", "front", SubResource("AnimationNodeStateMachineTransition_b04nj"), "right", "left", SubResource("AnimationNodeStateMachineTransition_fcn2i"), "right", "back", SubResource("AnimationNodeStateMachineTransition_7dqih"), "back", "right", SubResource("AnimationNodeStateMachineTransition_lg1l0"), "back", "left", SubResource("AnimationNodeStateMachineTransition_8chr7"), "back", "front", SubResource("AnimationNodeStateMachineTransition_wk5wj"), "left", "back", SubResource("AnimationNodeStateMachineTransition_yuqg3"), "left", "front", SubResource("AnimationNodeStateMachineTransition_fo1ps"), "left", "right", SubResource("AnimationNodeStateMachineTransition_fqmmj"), "Start", "appear_front", SubResource("AnimationNodeStateMachineTransition_rqgr1"), "Start", "appear_right", SubResource("AnimationNodeStateMachineTransition_mmslw"), "Start", "appear_left", SubResource("AnimationNodeStateMachineTransition_w35hd"), "Start", "appear_back", SubResource("AnimationNodeStateMachineTransition_voekp")] graph_offset = Vector2(-30, -158.935) -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_iu7fp"] -animation = &"activate" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_xefhe"] -animation = &"activate_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_egi8d"] -animation = &"activate_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a1snv"] -animation = &"activate_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_k41o4"] -animation = &"activated_idle_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_sxeow"] -animation = &"activated_idle_front" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fkigs"] -animation = &"activated_idle_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_rdelm"] -animation = &"activated_idle_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_f7k3w"] -animation = &"idle_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_r2ugc"] -animation = &"idle_back_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_bhhf1"] -animation = &"idle_front" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_iimic"] -animation = &"idle_front_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ol7va"] -animation = &"idle_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_k1tfc"] -animation = &"idle_left_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nx828"] -animation = &"idle_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_hwkca"] -animation = &"idle_right_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_k2rj8"] -animation = &"primary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_6vf6u"] -animation = &"primary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_500at"] -animation = &"primary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_26gkg"] -animation = &"primary_attack_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_teoyo"] -animation = &"secondary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_bjs4f"] -animation = &"secondary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_eey64"] -animation = &"secondary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_c4hes"] -animation = &"secondary_attack_right" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xefhe"] -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_egi8d"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a1snv"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_iimic"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k1tfc"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hwkca"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_r2ugc"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k41o4"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_sxeow"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fkigs"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rdelm"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k2rj8"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6vf6u"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_500at"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_26gkg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_teoyo"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bjs4f"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_eey64"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c4hes"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_aaqv4"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1mlv0"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6x5wg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_th40a"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dvmwi"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_go8vw"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1281t"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7dedr"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_078l6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k12jw"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kfycr"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1jh8t"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pvf47"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5xpnt"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6axv0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dcv7d"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lkdjs"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_j5kbm"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_66sam"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fl524"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_v004k"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_r2oho"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_p284v"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mfpbe"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ia36k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_q7pyq"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6sesg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n65tb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_broll"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1rd1t"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_feuce"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5hahr"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_i68oy"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5ttbr"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qp0gy"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_uv4tm"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gvqxe"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8ug3s"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_iu7fp"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_f7k3w"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bhhf1"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ol7va"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nx828"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_y4e1v"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_38q07"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1gahh"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_502ta"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1wxjc"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rge1f"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e32u6"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6xk6j"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_em8yi"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hu8qf"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_48vgg"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wao36"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a4nyl"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_u87vu"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tx1nf"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_iws7d"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_v3qv3"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6uj5d"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0n1sd"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hp5d0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_uoqyf"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7i45u"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_biopm"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3157w"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_m3rpl"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yhkdo"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_762xv"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pev4b"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8m5jy"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rb010"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7pmjs"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yu4kp"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7wjx4"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c1utv"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6ln36"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fs3hm"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pmmbk"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_w6xpf"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7tups"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_w2h7p"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yhfu6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tt3l5"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_aed01"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pfme0"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8c1ax"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tbcup"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7qbtf"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_r33qc"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gulub"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_24hxf"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a68bd"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oft5r"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5x5mg"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4uwuv"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_grmlw"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2ug2s"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_njfum"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_sssux"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tk4gl"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ief5o"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dmvyt"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_umemc"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_16a8e"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8g5ok"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1064b"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vkfds"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wwik1"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c3so3"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_g0qna"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hxy40"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_32cdq"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3x5fk"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5duvr"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_t2646"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_t2d7k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ig27o"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_behrq"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_86buh"] - [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_p70s4"] +advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jrkfh"] [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mud4o"] +switch_mode = 2 +advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vxyya"] @@ -6976,88 +6466,27 @@ advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ylf7i"] [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_btfu3"] +switch_mode = 2 +advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yl7ba"] +switch_mode = 2 +advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_katqq"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_50tti"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3uias"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e82ix"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fxpqr"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_t50im"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pf5g7"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0qxo1"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_q68rh"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ou1lf"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qbpj5"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jd70t"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ihqjo"] - -[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_61mt4"] -states/End/position = Vector2(1466, 104) -states/Start/position = Vector2(-42, 190) -states/activate/node = SubResource("AnimationNodeAnimation_iu7fp") -states/activate/position = Vector2(498.696, 190) -states/activate_back/node = SubResource("AnimationNodeAnimation_xefhe") -states/activate_back/position = Vector2(761.696, 566.505) -states/activate_left/node = SubResource("AnimationNodeAnimation_egi8d") -states/activate_left/position = Vector2(532.696, 560.505) -states/activate_right/node = SubResource("AnimationNodeAnimation_a1snv") -states/activate_right/position = Vector2(761.696, 363.505) -states/activated_idle_back/node = SubResource("AnimationNodeAnimation_k41o4") -states/activated_idle_back/position = Vector2(1293.84, 534.505) -states/activated_idle_front/node = SubResource("AnimationNodeAnimation_sxeow") -states/activated_idle_front/position = Vector2(980.84, 301.505) -states/activated_idle_left/node = SubResource("AnimationNodeAnimation_fkigs") -states/activated_idle_left/position = Vector2(980.84, 548.505) -states/activated_idle_right/node = SubResource("AnimationNodeAnimation_rdelm") -states/activated_idle_right/position = Vector2(1287.84, 301.505) -states/idle_back/node = SubResource("AnimationNodeAnimation_f7k3w") -states/idle_back/position = Vector2(293.696, 548.505) -states/idle_back_walk/node = SubResource("AnimationNodeAnimation_r2ugc") -states/idle_back_walk/position = Vector2(380.696, 686.505) -states/idle_front/node = SubResource("AnimationNodeAnimation_bhhf1") -states/idle_front/position = Vector2(-8.30402, 363.505) -states/idle_front_walk/node = SubResource("AnimationNodeAnimation_iimic") -states/idle_front_walk/position = Vector2(17.696, 686.505) -states/idle_left/node = SubResource("AnimationNodeAnimation_ol7va") -states/idle_left/position = Vector2(2.69598, 560.505) -states/idle_left_walk/node = SubResource("AnimationNodeAnimation_k1tfc") -states/idle_left_walk/position = Vector2(17.696, 878.226) -states/idle_right/node = SubResource("AnimationNodeAnimation_nx828") -states/idle_right/position = Vector2(293.696, 359.505) -states/idle_right_walk/node = SubResource("AnimationNodeAnimation_hwkca") -states/idle_right_walk/position = Vector2(385.696, 878.226) -states/primary_attack/node = SubResource("AnimationNodeAnimation_k2rj8") -states/primary_attack/position = Vector2(1027.84, 728.695) -states/primary_attack_back/node = SubResource("AnimationNodeAnimation_6vf6u") -states/primary_attack_back/position = Vector2(1330.84, 887.226) -states/primary_attack_left/node = SubResource("AnimationNodeAnimation_500at") -states/primary_attack_left/position = Vector2(980.84, 893.226) -states/primary_attack_right/node = SubResource("AnimationNodeAnimation_26gkg") -states/primary_attack_right/position = Vector2(1390.84, 728.695) -states/secondary_attack/node = SubResource("AnimationNodeAnimation_teoyo") -states/secondary_attack/position = Vector2(579.91, 842.505) -states/secondary_attack_back/node = SubResource("AnimationNodeAnimation_bjs4f") -states/secondary_attack_back/position = Vector2(828.91, 963.276) -states/secondary_attack_left/node = SubResource("AnimationNodeAnimation_eey64") -states/secondary_attack_left/position = Vector2(593.91, 963.276) -states/secondary_attack_right/node = SubResource("AnimationNodeAnimation_c4hes") -states/secondary_attack_right/position = Vector2(837.91, 842.505) -transitions = ["Start", "idle_front", SubResource("AnimationNodeStateMachineTransition_xefhe"), "idle_front", "idle_left", SubResource("AnimationNodeStateMachineTransition_egi8d"), "idle_left", "idle_front", SubResource("AnimationNodeStateMachineTransition_a1snv"), "idle_left", "idle_right", SubResource("AnimationNodeStateMachineTransition_iimic"), "idle_right", "idle_left", SubResource("AnimationNodeStateMachineTransition_k1tfc"), "idle_right", "idle_back", SubResource("AnimationNodeStateMachineTransition_hwkca"), "idle_back", "idle_right", SubResource("AnimationNodeStateMachineTransition_r2ugc"), "idle_back", "idle_front", SubResource("AnimationNodeStateMachineTransition_k41o4"), "idle_front", "idle_back", SubResource("AnimationNodeStateMachineTransition_sxeow"), "idle_right", "idle_front", SubResource("AnimationNodeStateMachineTransition_fkigs"), "idle_front", "idle_right", SubResource("AnimationNodeStateMachineTransition_rdelm"), "idle_back", "idle_left", SubResource("AnimationNodeStateMachineTransition_k2rj8"), "idle_left", "idle_back", SubResource("AnimationNodeStateMachineTransition_6vf6u"), "idle_front", "activate", SubResource("AnimationNodeStateMachineTransition_500at"), "idle_right", "activate", SubResource("AnimationNodeStateMachineTransition_26gkg"), "idle_left", "activate", SubResource("AnimationNodeStateMachineTransition_teoyo"), "idle_back", "activate", SubResource("AnimationNodeStateMachineTransition_bjs4f"), "idle_front", "activate_right", SubResource("AnimationNodeStateMachineTransition_eey64"), "idle_left", "activate_right", SubResource("AnimationNodeStateMachineTransition_c4hes"), "idle_right", "activate_right", SubResource("AnimationNodeStateMachineTransition_aaqv4"), "idle_back", "activate_right", SubResource("AnimationNodeStateMachineTransition_1mlv0"), "idle_front", "activate_left", SubResource("AnimationNodeStateMachineTransition_6x5wg"), "idle_right", "activate_left", SubResource("AnimationNodeStateMachineTransition_th40a"), "idle_left", "activate_left", SubResource("AnimationNodeStateMachineTransition_dvmwi"), "idle_back", "activate_left", SubResource("AnimationNodeStateMachineTransition_go8vw"), "idle_front", "activate_back", SubResource("AnimationNodeStateMachineTransition_1281t"), "idle_left", "activate_back", SubResource("AnimationNodeStateMachineTransition_7dedr"), "idle_right", "activate_back", SubResource("AnimationNodeStateMachineTransition_078l6"), "idle_back", "activate_back", SubResource("AnimationNodeStateMachineTransition_k12jw"), "activate", "activate_left", SubResource("AnimationNodeStateMachineTransition_kfycr"), "activate_left", "activate", SubResource("AnimationNodeStateMachineTransition_1jh8t"), "activate", "activate_right", SubResource("AnimationNodeStateMachineTransition_pvf47"), "activate_right", "activate", SubResource("AnimationNodeStateMachineTransition_5xpnt"), "activate", "activate_back", SubResource("AnimationNodeStateMachineTransition_6axv0"), "activate_back", "activate", SubResource("AnimationNodeStateMachineTransition_dcv7d"), "activate_right", "activate_back", SubResource("AnimationNodeStateMachineTransition_lkdjs"), "activate_back", "activate_right", SubResource("AnimationNodeStateMachineTransition_j5kbm"), "activate_back", "activate_left", SubResource("AnimationNodeStateMachineTransition_66sam"), "activate_left", "activate_back", SubResource("AnimationNodeStateMachineTransition_fl524"), "activate_left", "activate_right", SubResource("AnimationNodeStateMachineTransition_v004k"), "activate_right", "activate_left", SubResource("AnimationNodeStateMachineTransition_r2oho"), "idle_front_walk", "activate", SubResource("AnimationNodeStateMachineTransition_p284v"), "idle_front_walk", "activate_left", SubResource("AnimationNodeStateMachineTransition_mfpbe"), "idle_front_walk", "activate_back", SubResource("AnimationNodeStateMachineTransition_ia36k"), "idle_front_walk", "activate_right", SubResource("AnimationNodeStateMachineTransition_q7pyq"), "idle_right_walk", "activate", SubResource("AnimationNodeStateMachineTransition_6sesg"), "idle_right_walk", "activate_left", SubResource("AnimationNodeStateMachineTransition_n65tb"), "idle_right_walk", "activate_right", SubResource("AnimationNodeStateMachineTransition_broll"), "idle_right_walk", "activate_back", SubResource("AnimationNodeStateMachineTransition_1rd1t"), "idle_left_walk", "activate", SubResource("AnimationNodeStateMachineTransition_feuce"), "idle_left_walk", "activate_right", SubResource("AnimationNodeStateMachineTransition_5hahr"), "idle_left_walk", "activate_left", SubResource("AnimationNodeStateMachineTransition_i68oy"), "idle_left_walk", "activate_back", SubResource("AnimationNodeStateMachineTransition_5ttbr"), "idle_back_walk", "activate", SubResource("AnimationNodeStateMachineTransition_qp0gy"), "idle_back_walk", "activate_right", SubResource("AnimationNodeStateMachineTransition_uv4tm"), "idle_back_walk", "activate_left", SubResource("AnimationNodeStateMachineTransition_gvqxe"), "idle_back_walk", "activate_back", SubResource("AnimationNodeStateMachineTransition_8ug3s"), "idle_front_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_iu7fp"), "idle_left_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_f7k3w"), "idle_front_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_bhhf1"), "idle_right_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_ol7va"), "idle_front_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_nx828"), "idle_back_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_y4e1v"), "idle_left_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_38q07"), "idle_back_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_1gahh"), "idle_back_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_502ta"), "idle_right_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_1wxjc"), "idle_right_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_rge1f"), "idle_left_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_e32u6"), "activate", "activated_idle_front", SubResource("AnimationNodeStateMachineTransition_6xk6j"), "activate_right", "activated_idle_right", SubResource("AnimationNodeStateMachineTransition_em8yi"), "activate_back", "activated_idle_back", SubResource("AnimationNodeStateMachineTransition_hu8qf"), "activate_left", "activated_idle_left", SubResource("AnimationNodeStateMachineTransition_48vgg"), "activated_idle_front", "activated_idle_left", SubResource("AnimationNodeStateMachineTransition_wao36"), "activated_idle_left", "activated_idle_front", SubResource("AnimationNodeStateMachineTransition_a4nyl"), "activated_idle_front", "activated_idle_right", SubResource("AnimationNodeStateMachineTransition_u87vu"), "activated_idle_right", "activated_idle_front", SubResource("AnimationNodeStateMachineTransition_tx1nf"), "activated_idle_front", "activated_idle_back", SubResource("AnimationNodeStateMachineTransition_iws7d"), "activated_idle_back", "activated_idle_front", SubResource("AnimationNodeStateMachineTransition_v3qv3"), "activated_idle_left", "activated_idle_right", SubResource("AnimationNodeStateMachineTransition_6uj5d"), "activated_idle_right", "activated_idle_left", SubResource("AnimationNodeStateMachineTransition_0n1sd"), "activated_idle_back", "activated_idle_right", SubResource("AnimationNodeStateMachineTransition_hp5d0"), "activated_idle_right", "activated_idle_back", SubResource("AnimationNodeStateMachineTransition_uoqyf"), "activated_idle_back", "activated_idle_left", SubResource("AnimationNodeStateMachineTransition_7i45u"), "activated_idle_left", "activated_idle_back", SubResource("AnimationNodeStateMachineTransition_biopm"), "activated_idle_front", "primary_attack", SubResource("AnimationNodeStateMachineTransition_3157w"), "primary_attack", "activated_idle_front", SubResource("AnimationNodeStateMachineTransition_m3rpl"), "primary_attack", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_yhkdo"), "primary_attack_right", "primary_attack", SubResource("AnimationNodeStateMachineTransition_762xv"), "primary_attack_right", "activated_idle_right", SubResource("AnimationNodeStateMachineTransition_pev4b"), "primary_attack", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_8m5jy"), "primary_attack_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_rb010"), "primary_attack", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_7pmjs"), "primary_attack_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_yu4kp"), "primary_attack_right", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_7wjx4"), "primary_attack_back", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_c1utv"), "primary_attack_right", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_6ln36"), "primary_attack_left", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_fs3hm"), "primary_attack_back", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_pmmbk"), "primary_attack_left", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_w6xpf"), "primary_attack_left", "activated_idle_left", SubResource("AnimationNodeStateMachineTransition_7tups"), "primary_attack_back", "activated_idle_back", SubResource("AnimationNodeStateMachineTransition_w2h7p"), "activated_idle_front", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_yhfu6"), "activated_idle_right", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_tt3l5"), "activated_idle_left", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_aed01"), "activated_idle_back", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_pfme0"), "secondary_attack", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_8c1ax"), "secondary_attack_right", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_tbcup"), "secondary_attack", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_7qbtf"), "secondary_attack_back", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_r33qc"), "secondary_attack_right", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_gulub"), "secondary_attack_left", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_24hxf"), "secondary_attack", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_a68bd"), "secondary_attack_left", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_oft5r"), "secondary_attack_left", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_5x5mg"), "secondary_attack_back", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_4uwuv"), "secondary_attack_back", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_grmlw"), "secondary_attack_right", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_2ug2s"), "secondary_attack", "activated_idle_front", SubResource("AnimationNodeStateMachineTransition_njfum"), "secondary_attack_right", "activated_idle_right", SubResource("AnimationNodeStateMachineTransition_sssux"), "secondary_attack_left", "activated_idle_left", SubResource("AnimationNodeStateMachineTransition_tk4gl"), "secondary_attack_back", "activated_idle_back", SubResource("AnimationNodeStateMachineTransition_ief5o"), "activated_idle_right", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_dmvyt"), "activated_idle_back", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_umemc"), "idle_front_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_16a8e"), "idle_front", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_8g5ok"), "idle_left", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_1064b"), "idle_right", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_vkfds"), "idle_back", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_wwik1"), "idle_front_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_c3so3"), "idle_front_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_g0qna"), "idle_front_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_hxy40"), "idle_left_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_32cdq"), "idle_left_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_3x5fk"), "idle_left_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_5duvr"), "idle_left_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_t2646"), "idle_front", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_t2d7k"), "idle_left", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_ig27o"), "idle_back", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_behrq"), "idle_right", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_86buh"), "idle_right_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_p70s4"), "idle_right_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_jrkfh"), "idle_right_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_mud4o"), "idle_right_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_vxyya"), "idle_front", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_jj0f0"), "idle_right", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_28bos"), "idle_back", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_ylf7i"), "idle_left", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_btfu3"), "idle_back_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_yl7ba"), "idle_front", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_katqq"), "idle_back_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_50tti"), "idle_left", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_3uias"), "idle_back_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_e82ix"), "idle_back", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fxpqr"), "idle_back_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_t50im"), "idle_right", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_pf5g7"), "activated_idle_left", "idle_left", SubResource("AnimationNodeStateMachineTransition_0qxo1"), "activated_idle_front", "idle_front", SubResource("AnimationNodeStateMachineTransition_q68rh"), "activated_idle_right", "idle_right", SubResource("AnimationNodeStateMachineTransition_ou1lf"), "activated_idle_back", "idle_back", SubResource("AnimationNodeStateMachineTransition_qbpj5"), "activated_idle_back", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_jd70t"), "activated_idle_left", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_ihqjo")] -graph_offset = Vector2(-31.431, 282.354) +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_katqq"] +states/Activate/node = ExtResource("971_5duvr") +states/Activate/position = Vector2(729, 100) +"states/Activated Idle/node" = ExtResource("972_86buh") +"states/Activated Idle/position" = Vector2(540, 184) +states/Idle/node = ExtResource("973_p70s4") +states/Idle/position = Vector2(359, 100) +"states/Primary Attack/node" = ExtResource("974_jrkfh") +"states/Primary Attack/position" = Vector2(334, 295) +"states/Secondary Attack/node" = ExtResource("975_mud4o") +"states/Secondary Attack/position" = Vector2(699, 295) +states/Walking/node = ExtResource("976_vxyya") +states/Walking/position = Vector2(359, 184) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_p70s4"), "Idle", "Activate", SubResource("AnimationNodeStateMachineTransition_jrkfh"), "Activate", "Activated Idle", SubResource("AnimationNodeStateMachineTransition_mud4o"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_vxyya"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_jj0f0"), "Activated Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_28bos"), "Activated Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_ylf7i"), "Primary Attack", "Activated Idle", SubResource("AnimationNodeStateMachineTransition_btfu3"), "Secondary Attack", "Activated Idle", SubResource("AnimationNodeStateMachineTransition_yl7ba")] [sub_resource type="AtlasTexture" id="AtlasTexture_t2d7k"] atlas = ExtResource("972_5duvr") @@ -7838,7 +7267,8 @@ anim_player = NodePath("../ScrollAnimation") [node name="AnimationTree" type="AnimationTree" parent="."] unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") -tree_root = SubResource("AnimationNodeStateMachine_61mt4") +tree_root = SubResource("AnimationNodeStateMachine_katqq") +advance_expression_base_node = NodePath("..") anim_player = NodePath("../AnimationPlayer") [node name="Attack 1" type="AnimatedSprite3D" parent="."] diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChinteModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChinteModelView.tscn index e2b19744..d1aed65e 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChinteModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChinteModelView.tscn @@ -1,7 +1,6 @@ -[gd_scene load_steps=441 format=3 uid="uid://byd7cwxq1be6f"] +[gd_scene load_steps=284 format=3 uid="uid://byd7cwxq1be6f"] -[ext_resource type="Script" uid="uid://l03h4elwjitu" path="res://src/enemy/enemy_types/07. chinthe/ChintheModelView.cs" id="1_ls38s"] -[ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_hr7xb"] +[ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_6dej3"] [ext_resource type="Texture2D" uid="uid://8qj6se762l6e" path="res://src/enemy/enemy_types/07. chinthe/animations/ACTIVATE-BACK/ACTIVATE-BACK_page_0001.png" id="3_fn0g1"] [ext_resource type="Texture2D" uid="uid://bicx2m6q0vqdw" path="res://src/enemy/enemy_types/07. chinthe/animations/HOP FRONT/HOP-FRONT_page_0001.png" id="3_kc1ey"] [ext_resource type="Texture2D" uid="uid://u2xjqc5ksrms" path="res://src/enemy/enemy_types/07. chinthe/animations/HOP BACK/HOP-BACK_page_0001.png" id="3_wc61w"] @@ -243,12 +242,9 @@ [ext_resource type="Texture2D" uid="uid://75mrdvb1vy77" path="res://src/enemy/enemy_types/07. chinthe/animations/TELEPORT/TELEPORT_page_0009.png" id="158_bo0u7"] [ext_resource type="Texture2D" uid="uid://xp31l3govdc6" path="res://src/enemy/enemy_types/07. chinthe/animations/TELEPORT/TELEPORT_page_0010.png" id="159_mmg6v"] [ext_resource type="Texture2D" uid="uid://cdv6qy3hdbqnb" path="res://src/enemy/enemy_types/07. chinthe/animations/TELEPORT/TELEPORT_page_0011.png" id="160_ugn17"] - -[sub_resource type="Resource" id="Resource_dlf6r"] -script = ExtResource("2_hr7xb") -Name = "" -Description = "" -metadata/_custom_type_script = "uid://dlsgyx4i1jmp3" +[ext_resource type="AnimationNodeStateMachine" uid="uid://dlqudph8o3py1" path="res://src/enemy/animation_state_machines/ActivateStateMachine.tres" id="243_5jjkq"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://bh0hsg4in5bkt" path="res://src/enemy/animation_state_machines/ActivatedIdleStateMachine.tres" id="244_2oumr"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="245_gr3tp"] [sub_resource type="ViewportTexture" id="ViewportTexture_h1kaf"] viewport_path = NodePath("Sprite3D/SubViewportContainer/SubViewport") @@ -1286,7 +1282,7 @@ tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:frame") tracks/1/interp = 1 -tracks/1/loop_wrap = true +tracks/1/loop_wrap = false tracks/1/keys = { "times": PackedFloat32Array(0, 3.33333), "transitions": PackedFloat32Array(1, 1), @@ -1316,7 +1312,7 @@ tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:frame") tracks/1/interp = 1 -tracks/1/loop_wrap = true +tracks/1/loop_wrap = false tracks/1/keys = { "times": PackedFloat32Array(0, 3.33133), "transitions": PackedFloat32Array(1, 1), @@ -1346,7 +1342,7 @@ tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:frame") tracks/1/interp = 1 -tracks/1/loop_wrap = true +tracks/1/loop_wrap = false tracks/1/keys = { "times": PackedFloat32Array(0, 3.33133), "transitions": PackedFloat32Array(1, 1), @@ -1376,7 +1372,7 @@ tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:frame") tracks/1/interp = 1 -tracks/1/loop_wrap = true +tracks/1/loop_wrap = false tracks/1/keys = { "times": PackedFloat32Array(0, 3.33133), "transitions": PackedFloat32Array(1, 1), @@ -1510,6 +1506,7 @@ tracks/1/keys = { [sub_resource type="Animation" id="Animation_kc1ey"] resource_name = "idle_walk_forward" length = 1.41668 +loop_mode = 1 step = 0.0833333 tracks/0/type = "value" tracks/0/imported = false @@ -2011,6 +2008,35 @@ tracks/1/keys = { "values": [0, 10] } +[sub_resource type="Animation" id="Animation_6dej3"] +resource_name = "teleport" +length = 0.833341 +step = 0.0833333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"teleport"] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSprite:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.833333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 10] +} + [sub_resource type="AnimationLibrary" id="AnimationLibrary_46p8q"] _data = { &"RESET": SubResource("Animation_46p8q"), @@ -2036,503 +2062,15 @@ _data = { &"primary_attack_right": SubResource("Animation_gr3tp"), &"secondary_attack": SubResource("Animation_6avl1"), &"secondary_attack_back": SubResource("Animation_nusgj"), -&"secondary_attack_left": SubResource("Animation_ixs6i") +&"secondary_attack_left": SubResource("Animation_ixs6i"), +&"teleport": SubResource("Animation_6dej3") } -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_iu7fp"] -animation = &"activate" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_xefhe"] -animation = &"activate_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_egi8d"] -animation = &"activate_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a1snv"] -animation = &"activate_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_k41o4"] -animation = &"activated_idle_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_sxeow"] -animation = &"activated_idle_front" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fkigs"] -animation = &"activated_idle_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_rdelm"] -animation = &"activated_idle_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_f7k3w"] -animation = &"idle_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_r2ugc"] -animation = &"idle_back_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_bhhf1"] -animation = &"idle_front" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_iimic"] -animation = &"idle_front_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ol7va"] -animation = &"idle_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_k1tfc"] -animation = &"idle_left_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nx828"] -animation = &"idle_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_hwkca"] -animation = &"idle_right_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_k2rj8"] -animation = &"primary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_6vf6u"] -animation = &"primary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_500at"] -animation = &"primary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_26gkg"] -animation = &"primary_attack_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_teoyo"] -animation = &"secondary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_bjs4f"] -animation = &"secondary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_eey64"] -animation = &"secondary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_c4hes"] -animation = &"secondary_attack_right" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xefhe"] -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_egi8d"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a1snv"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_iimic"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k1tfc"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hwkca"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_r2ugc"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k41o4"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_sxeow"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fkigs"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rdelm"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k2rj8"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6vf6u"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_500at"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_26gkg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_teoyo"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bjs4f"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_eey64"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c4hes"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_aaqv4"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1mlv0"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6x5wg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_th40a"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dvmwi"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_go8vw"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1281t"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7dedr"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_078l6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k12jw"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kfycr"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1jh8t"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pvf47"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5xpnt"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6axv0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dcv7d"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lkdjs"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_j5kbm"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_66sam"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fl524"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_v004k"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_r2oho"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7ymcu"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_p284v"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mfpbe"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ia36k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_q7pyq"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6sesg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n65tb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_broll"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1rd1t"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_feuce"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5hahr"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_i68oy"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5ttbr"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qp0gy"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_uv4tm"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gvqxe"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8ug3s"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_iu7fp"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_f7k3w"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bhhf1"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ol7va"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nx828"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_y4e1v"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_38q07"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1gahh"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_502ta"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1wxjc"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rge1f"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e32u6"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6xk6j"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_em8yi"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hu8qf"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_48vgg"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wao36"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a4nyl"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_u87vu"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tx1nf"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_iws7d"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_v3qv3"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6uj5d"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0n1sd"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hp5d0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_uoqyf"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7i45u"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_biopm"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3157w"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_m3rpl"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yhkdo"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_762xv"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pev4b"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8m5jy"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rb010"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7pmjs"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yu4kp"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7wjx4"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c1utv"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6ln36"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fs3hm"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pmmbk"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_w6xpf"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7tups"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_w2h7p"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yhfu6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tt3l5"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_aed01"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pfme0"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8c1ax"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tbcup"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7qbtf"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_r33qc"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gulub"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_24hxf"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a68bd"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oft5r"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5x5mg"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4uwuv"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_grmlw"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2ug2s"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_njfum"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_sssux"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tk4gl"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ief5o"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dmvyt"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nvqie"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xydva"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_op3hf"] +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_op3hf"] +animation = &"teleport" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_umemc"] +advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_t3xhd"] @@ -2541,92 +2079,35 @@ switch_mode = 2 advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2oumr"] -switch_mode = 2 -advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gr3tp"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oxq0i"] switch_mode = 2 advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oxq0i"] - [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ixs6i"] +switch_mode = 2 +advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nusgj"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pquqt"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kvhlo"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_y2oou"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h364r"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_diom1"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vbkca"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8dtrr"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_p5wln"] - -[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_umemc"] -states/End/position = Vector2(1466, 104) -states/Start/position = Vector2(-42, 190) -states/activate/node = SubResource("AnimationNodeAnimation_iu7fp") -states/activate/position = Vector2(498.696, 190) -states/activate_back/node = SubResource("AnimationNodeAnimation_xefhe") -states/activate_back/position = Vector2(761.696, 566.505) -states/activate_left/node = SubResource("AnimationNodeAnimation_egi8d") -states/activate_left/position = Vector2(532.696, 560.505) -states/activate_right/node = SubResource("AnimationNodeAnimation_a1snv") -states/activate_right/position = Vector2(761.696, 363.505) -states/activated_idle_back/node = SubResource("AnimationNodeAnimation_k41o4") -states/activated_idle_back/position = Vector2(1242.84, 566.505) -states/activated_idle_front/node = SubResource("AnimationNodeAnimation_sxeow") -states/activated_idle_front/position = Vector2(914.696, 305.505) -states/activated_idle_left/node = SubResource("AnimationNodeAnimation_fkigs") -states/activated_idle_left/position = Vector2(1027.84, 541.505) -states/activated_idle_right/node = SubResource("AnimationNodeAnimation_rdelm") -states/activated_idle_right/position = Vector2(1275.84, 364.505) -states/idle_back/node = SubResource("AnimationNodeAnimation_f7k3w") -states/idle_back/position = Vector2(293.696, 548.505) -states/idle_back_walk/node = SubResource("AnimationNodeAnimation_r2ugc") -states/idle_back_walk/position = Vector2(380.696, 686.505) -states/idle_front/node = SubResource("AnimationNodeAnimation_bhhf1") -states/idle_front/position = Vector2(2.69598, 364.505) -states/idle_front_walk/node = SubResource("AnimationNodeAnimation_iimic") -states/idle_front_walk/position = Vector2(36.696, 679.695) -states/idle_left/node = SubResource("AnimationNodeAnimation_ol7va") -states/idle_left/position = Vector2(2.69598, 560.505) -states/idle_left_walk/node = SubResource("AnimationNodeAnimation_k1tfc") -states/idle_left_walk/position = Vector2(17.696, 878.226) -states/idle_right/node = SubResource("AnimationNodeAnimation_nx828") -states/idle_right/position = Vector2(293.696, 359.505) -states/idle_right_walk/node = SubResource("AnimationNodeAnimation_hwkca") -states/idle_right_walk/position = Vector2(380.696, 878.226) -states/primary_attack/node = SubResource("AnimationNodeAnimation_k2rj8") -states/primary_attack/position = Vector2(1027.84, 728.695) -states/primary_attack_back/node = SubResource("AnimationNodeAnimation_6vf6u") -states/primary_attack_back/position = Vector2(1323.84, 893.226) -states/primary_attack_left/node = SubResource("AnimationNodeAnimation_500at") -states/primary_attack_left/position = Vector2(1027.84, 903.226) -states/primary_attack_right/node = SubResource("AnimationNodeAnimation_26gkg") -states/primary_attack_right/position = Vector2(1330.84, 728.695) -states/secondary_attack/node = SubResource("AnimationNodeAnimation_teoyo") -states/secondary_attack/position = Vector2(607.91, 829.505) -states/secondary_attack_back/node = SubResource("AnimationNodeAnimation_bjs4f") -states/secondary_attack_back/position = Vector2(845.91, 958.276) -states/secondary_attack_left/node = SubResource("AnimationNodeAnimation_eey64") -states/secondary_attack_left/position = Vector2(573.91, 958.276) -states/secondary_attack_right/node = SubResource("AnimationNodeAnimation_c4hes") -states/secondary_attack_right/position = Vector2(835.91, 813.505) -transitions = ["Start", "idle_front", SubResource("AnimationNodeStateMachineTransition_xefhe"), "idle_front", "idle_left", SubResource("AnimationNodeStateMachineTransition_egi8d"), "idle_left", "idle_front", SubResource("AnimationNodeStateMachineTransition_a1snv"), "idle_left", "idle_right", SubResource("AnimationNodeStateMachineTransition_iimic"), "idle_right", "idle_left", SubResource("AnimationNodeStateMachineTransition_k1tfc"), "idle_right", "idle_back", SubResource("AnimationNodeStateMachineTransition_hwkca"), "idle_back", "idle_right", SubResource("AnimationNodeStateMachineTransition_r2ugc"), "idle_back", "idle_front", SubResource("AnimationNodeStateMachineTransition_k41o4"), "idle_front", "idle_back", SubResource("AnimationNodeStateMachineTransition_sxeow"), "idle_right", "idle_front", SubResource("AnimationNodeStateMachineTransition_fkigs"), "idle_front", "idle_right", SubResource("AnimationNodeStateMachineTransition_rdelm"), "idle_back", "idle_left", SubResource("AnimationNodeStateMachineTransition_k2rj8"), "idle_left", "idle_back", SubResource("AnimationNodeStateMachineTransition_6vf6u"), "idle_front", "activate", SubResource("AnimationNodeStateMachineTransition_500at"), "idle_right", "activate", SubResource("AnimationNodeStateMachineTransition_26gkg"), "idle_left", "activate", SubResource("AnimationNodeStateMachineTransition_teoyo"), "idle_back", "activate", SubResource("AnimationNodeStateMachineTransition_bjs4f"), "idle_front", "activate_right", SubResource("AnimationNodeStateMachineTransition_eey64"), "idle_left", "activate_right", SubResource("AnimationNodeStateMachineTransition_c4hes"), "idle_right", "activate_right", SubResource("AnimationNodeStateMachineTransition_aaqv4"), "idle_back", "activate_right", SubResource("AnimationNodeStateMachineTransition_1mlv0"), "idle_front", "activate_left", SubResource("AnimationNodeStateMachineTransition_6x5wg"), "idle_right", "activate_left", SubResource("AnimationNodeStateMachineTransition_th40a"), "idle_left", "activate_left", SubResource("AnimationNodeStateMachineTransition_dvmwi"), "idle_back", "activate_left", SubResource("AnimationNodeStateMachineTransition_go8vw"), "idle_front", "activate_back", SubResource("AnimationNodeStateMachineTransition_1281t"), "idle_left", "activate_back", SubResource("AnimationNodeStateMachineTransition_7dedr"), "idle_right", "activate_back", SubResource("AnimationNodeStateMachineTransition_078l6"), "idle_back", "activate_back", SubResource("AnimationNodeStateMachineTransition_k12jw"), "activate", "activate_left", SubResource("AnimationNodeStateMachineTransition_kfycr"), "activate_left", "activate", SubResource("AnimationNodeStateMachineTransition_1jh8t"), "activate", "activate_right", SubResource("AnimationNodeStateMachineTransition_pvf47"), "activate_right", "activate", SubResource("AnimationNodeStateMachineTransition_5xpnt"), "activate", "activate_back", SubResource("AnimationNodeStateMachineTransition_6axv0"), "activate_back", "activate", SubResource("AnimationNodeStateMachineTransition_dcv7d"), "activate_right", "activate_back", SubResource("AnimationNodeStateMachineTransition_lkdjs"), "activate_back", "activate_right", SubResource("AnimationNodeStateMachineTransition_j5kbm"), "activate_back", "activate_left", SubResource("AnimationNodeStateMachineTransition_66sam"), "activate_left", "activate_back", SubResource("AnimationNodeStateMachineTransition_fl524"), "activate_left", "activate_right", SubResource("AnimationNodeStateMachineTransition_v004k"), "activate_right", "activate_left", SubResource("AnimationNodeStateMachineTransition_r2oho"), "idle_back", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_7ymcu"), "idle_front_walk", "activate", SubResource("AnimationNodeStateMachineTransition_p284v"), "idle_front_walk", "activate_left", SubResource("AnimationNodeStateMachineTransition_mfpbe"), "idle_front_walk", "activate_back", SubResource("AnimationNodeStateMachineTransition_ia36k"), "idle_front_walk", "activate_right", SubResource("AnimationNodeStateMachineTransition_q7pyq"), "idle_right_walk", "activate", SubResource("AnimationNodeStateMachineTransition_6sesg"), "idle_right_walk", "activate_left", SubResource("AnimationNodeStateMachineTransition_n65tb"), "idle_right_walk", "activate_right", SubResource("AnimationNodeStateMachineTransition_broll"), "idle_right_walk", "activate_back", SubResource("AnimationNodeStateMachineTransition_1rd1t"), "idle_left_walk", "activate", SubResource("AnimationNodeStateMachineTransition_feuce"), "idle_left_walk", "activate_right", SubResource("AnimationNodeStateMachineTransition_5hahr"), "idle_left_walk", "activate_left", SubResource("AnimationNodeStateMachineTransition_i68oy"), "idle_left_walk", "activate_back", SubResource("AnimationNodeStateMachineTransition_5ttbr"), "idle_back_walk", "activate", SubResource("AnimationNodeStateMachineTransition_qp0gy"), "idle_back_walk", "activate_right", SubResource("AnimationNodeStateMachineTransition_uv4tm"), "idle_back_walk", "activate_left", SubResource("AnimationNodeStateMachineTransition_gvqxe"), "idle_back_walk", "activate_back", SubResource("AnimationNodeStateMachineTransition_8ug3s"), "idle_front_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_iu7fp"), "idle_left_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_f7k3w"), "idle_front_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_bhhf1"), "idle_right_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_ol7va"), "idle_front_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_nx828"), "idle_back_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_y4e1v"), "idle_left_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_38q07"), "idle_back_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_1gahh"), "idle_back_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_502ta"), "idle_right_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_1wxjc"), "idle_right_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_rge1f"), "idle_left_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_e32u6"), "activate", "activated_idle_front", SubResource("AnimationNodeStateMachineTransition_6xk6j"), "activate_right", "activated_idle_right", SubResource("AnimationNodeStateMachineTransition_em8yi"), "activate_back", "activated_idle_back", SubResource("AnimationNodeStateMachineTransition_hu8qf"), "activate_left", "activated_idle_left", SubResource("AnimationNodeStateMachineTransition_48vgg"), "activated_idle_front", "activated_idle_left", SubResource("AnimationNodeStateMachineTransition_wao36"), "activated_idle_left", "activated_idle_front", SubResource("AnimationNodeStateMachineTransition_a4nyl"), "activated_idle_front", "activated_idle_right", SubResource("AnimationNodeStateMachineTransition_u87vu"), "activated_idle_right", "activated_idle_front", SubResource("AnimationNodeStateMachineTransition_tx1nf"), "activated_idle_front", "activated_idle_back", SubResource("AnimationNodeStateMachineTransition_iws7d"), "activated_idle_back", "activated_idle_front", SubResource("AnimationNodeStateMachineTransition_v3qv3"), "activated_idle_left", "activated_idle_right", SubResource("AnimationNodeStateMachineTransition_6uj5d"), "activated_idle_right", "activated_idle_left", SubResource("AnimationNodeStateMachineTransition_0n1sd"), "activated_idle_back", "activated_idle_right", SubResource("AnimationNodeStateMachineTransition_hp5d0"), "activated_idle_right", "activated_idle_back", SubResource("AnimationNodeStateMachineTransition_uoqyf"), "activated_idle_back", "activated_idle_left", SubResource("AnimationNodeStateMachineTransition_7i45u"), "activated_idle_left", "activated_idle_back", SubResource("AnimationNodeStateMachineTransition_biopm"), "activated_idle_front", "primary_attack", SubResource("AnimationNodeStateMachineTransition_3157w"), "primary_attack", "activated_idle_front", SubResource("AnimationNodeStateMachineTransition_m3rpl"), "primary_attack", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_yhkdo"), "primary_attack_right", "primary_attack", SubResource("AnimationNodeStateMachineTransition_762xv"), "primary_attack_right", "activated_idle_right", SubResource("AnimationNodeStateMachineTransition_pev4b"), "primary_attack", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_8m5jy"), "primary_attack_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_rb010"), "primary_attack", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_7pmjs"), "primary_attack_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_yu4kp"), "primary_attack_right", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_7wjx4"), "primary_attack_back", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_c1utv"), "primary_attack_right", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_6ln36"), "primary_attack_left", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_fs3hm"), "primary_attack_back", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_pmmbk"), "primary_attack_left", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_w6xpf"), "primary_attack_left", "activated_idle_left", SubResource("AnimationNodeStateMachineTransition_7tups"), "primary_attack_back", "activated_idle_back", SubResource("AnimationNodeStateMachineTransition_w2h7p"), "activated_idle_front", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_yhfu6"), "activated_idle_right", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_tt3l5"), "activated_idle_left", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_aed01"), "activated_idle_back", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_pfme0"), "secondary_attack", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_8c1ax"), "secondary_attack_right", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_tbcup"), "secondary_attack", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_7qbtf"), "secondary_attack_back", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_r33qc"), "secondary_attack_right", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_gulub"), "secondary_attack_left", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_24hxf"), "secondary_attack", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_a68bd"), "secondary_attack_left", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_oft5r"), "secondary_attack_left", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_5x5mg"), "secondary_attack_back", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_4uwuv"), "secondary_attack_back", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_grmlw"), "secondary_attack_right", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_2ug2s"), "secondary_attack", "activated_idle_front", SubResource("AnimationNodeStateMachineTransition_njfum"), "secondary_attack_right", "activated_idle_right", SubResource("AnimationNodeStateMachineTransition_sssux"), "secondary_attack_left", "activated_idle_left", SubResource("AnimationNodeStateMachineTransition_tk4gl"), "secondary_attack_back", "activated_idle_back", SubResource("AnimationNodeStateMachineTransition_ief5o"), "activated_idle_right", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_dmvyt"), "idle_front_walk", "activated_idle_front", SubResource("AnimationNodeStateMachineTransition_nvqie"), "activated_idle_front", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_xydva"), "activated_idle_right", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_op3hf"), "activated_idle_back", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_umemc"), "activated_idle_left", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_t3xhd"), "idle_left_walk", "activated_idle_left", SubResource("AnimationNodeStateMachineTransition_5jjkq"), "idle_right_walk", "activated_idle_right", SubResource("AnimationNodeStateMachineTransition_2oumr"), "idle_back_walk", "activated_idle_back", SubResource("AnimationNodeStateMachineTransition_gr3tp"), "activated_idle_right", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_oxq0i"), "activated_idle_right", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_ixs6i"), "activated_idle_right", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_nusgj"), "activated_idle_back", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_pquqt"), "activated_idle_back", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_kvhlo"), "activated_idle_back", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_y2oou"), "activated_idle_left", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_h364r"), "activated_idle_left", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_diom1"), "activated_idle_left", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_vbkca"), "activated_idle_back", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_8dtrr"), "activated_idle_left", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_p5wln")] -graph_offset = Vector2(-211.09, -86.4076) +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_nvqie"] +states/Activate/node = ExtResource("243_5jjkq") +states/Activate/position = Vector2(583, 100) +"states/Activated Idle/node" = ExtResource("244_2oumr") +"states/Activated Idle/position" = Vector2(348, 285) +states/Idle/node = ExtResource("245_gr3tp") +states/Idle/position = Vector2(357, 100) +"states/Primary Attack/node" = ExtResource("244_2oumr") +"states/Primary Attack/position" = Vector2(583, 285) +"states/Secondary Attack/node" = SubResource("AnimationNodeAnimation_op3hf") +"states/Secondary Attack/position" = Vector2(583, 404) +states/Start/position = Vector2(199, 100) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_umemc"), "Idle", "Activate", SubResource("AnimationNodeStateMachineTransition_t3xhd"), "Activate", "Activated Idle", SubResource("AnimationNodeStateMachineTransition_5jjkq"), "Activated Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_2oumr"), "Activated Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_gr3tp"), "Primary Attack", "Activated Idle", SubResource("AnimationNodeStateMachineTransition_oxq0i"), "Secondary Attack", "Activated Idle", SubResource("AnimationNodeStateMachineTransition_ixs6i")] +graph_offset = Vector2(-55, -9) [node name="EnemyModelView" type="Node3D"] -script = ExtResource("1_ls38s") -EnemyLoreInfo = SubResource("Resource_dlf6r") +script = ExtResource("1_6dej3") +_enemyDirection = 3 [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0) @@ -2675,5 +2156,6 @@ libraries = { [node name="AnimationTree" type="AnimationTree" parent="."] unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") -tree_root = SubResource("AnimationNodeStateMachine_umemc") +tree_root = SubResource("AnimationNodeStateMachine_nvqie") +advance_expression_base_node = NodePath("..") anim_player = NodePath("../AnimationPlayer") diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/Chinthe.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/Chinthe.cs index 32fc35e7..f76e29d0 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/Chinthe.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/Chinthe.cs @@ -19,12 +19,9 @@ public partial class Chinthe : FollowsPlayerEnemy, IHasPrimaryAttack, ICanPatrol [Node] private INavigationAgentClient _navigationAgentClient { get; set; } = default!; - [Node] private ChintheModelView EnemyModelView { get; set; } = default!; - public void OnReady() { SetPhysicsProcess(true); - EnemyModelView.Hitbox.AreaEntered += Hitbox_AreaEntered; } public void OnPhysicsProcess(double delta) @@ -34,13 +31,12 @@ public partial class Chinthe : FollowsPlayerEnemy, IHasPrimaryAttack, ICanPatrol _enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta)); FollowPlayerAndAttack(_enemyLogic, GlobalPosition, _player.CurrentPosition); - _navigationAgentClient.CalculateVelocity(GlobalPosition, true); + Velocity = _navigationAgentClient.Velocity; base._PhysicsProcess(delta); } public override void Die() { - _navigationAgentClient.Stop(); base.Die(); } @@ -51,7 +47,7 @@ public partial class Chinthe : FollowsPlayerEnemy, IHasPrimaryAttack, ICanPatrol public void PrimaryAttack() { - _enemyModelView.PlayPrimaryAttackAnimation(); + EnemyModelView.PlayPrimaryAttackAnimation(); } public override void SetTarget(Vector3 target) => _navigationAgentClient.SetTarget(target); @@ -67,12 +63,12 @@ public partial class Chinthe : FollowsPlayerEnemy, IHasPrimaryAttack, ICanPatrol public void Activate() { - EnemyModelView.Activate(); + EnemyModelView.PlayActivateAnimation(); } public void Teleport() { - EnemyModelView.PlayTeleportAnimation(); + //EnemyModelView.PlayTeleportAnimation(); } private void Hitbox_AreaEntered(Area3D area) diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheModelView.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheModelView.cs deleted file mode 100644 index 79302efc..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheModelView.cs +++ /dev/null @@ -1,106 +0,0 @@ -using Chickensoft.AutoInject; -using Chickensoft.Introspection; -using Godot; - -namespace Zennysoft.Game.Ma; -[Meta(typeof(IAutoNode))] -public partial class ChintheModelView : EnemyModelView2D, ICanActivate -{ - private const string INACTIVE_FRONT = "inactive_front"; - private const string INACTIVE_LEFT = "inactive_left"; - private const string INACTIVE_BACK = "inactive_back"; - - private const string ACTIVATE = "activate"; - private const string ACTIVATE_LEFT = "activate_left"; - private const string ACTIVATE_RIGHT = "activate_right"; - private const string ACTIVATE_BACK = "activate_back"; - - private const string ACTIVATED_IDLE_FRONT = "activated_idle_front"; - private const string ACTIVATED_IDLE_LEFT = "activated_idle_left"; - private const string ACTIVATED_IDLE_RIGHT = "activated_idle_right"; - private const string ACTIVATED_IDLE_BACK = "activated_idle_back"; - - public const string TELEPORT = "teleport"; - - public override void _Notification(int what) => this.Notify(what); - - [Export] public bool CanMove = false; - - private bool _activated = false; - private bool _activating = false; - - public void PlayTeleportAnimation() - { - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(TELEPORT); - } - - public override void PlayIdleAnimation() - { - if (_activated) - { - switch (_currentDirection) - { - case DirectionType.FORWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATED_IDLE_FRONT); - break; - case DirectionType.LEFT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATED_IDLE_LEFT); - break; - case DirectionType.RIGHT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATED_IDLE_RIGHT); - break; - case DirectionType.BACKWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATED_IDLE_BACK); - break; - } - } - else - { - base.PlayIdleAnimation(); - } - } - - public void Activate() - { - _activated = true; - _activating = true; - PlayActivationAnimation(); - } - - private void PlayActivationAnimation() - { - switch (_currentDirection) - { - case DirectionType.FORWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATE); - break; - case DirectionType.LEFT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATE_LEFT); - break; - case DirectionType.RIGHT: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATE_RIGHT); - break; - case DirectionType.BACKWARD: - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATE_BACK); - break; - } - } - - public void PlayActivateFrontAnimation() - { - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATE); - _activated = true; - } - - public void PlayActivateLeftAnimation() - { - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATE_LEFT); - _activated = true; - } - - public void PlayActivateBackAnimation() - { - AnimationTree.Get(PARAMETERS_PLAYBACK).As().Travel(ACTIVATE_BACK); - _activated = true; - } -} diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheModelView.cs.uid b/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheModelView.cs.uid deleted file mode 100644 index 35e422f7..00000000 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/07. chinthe/ChintheModelView.cs.uid +++ /dev/null @@ -1 +0,0 @@ -uid://l03h4elwjitu diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/Ambassador.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/Ambassador.cs index 24f0e1b8..480198f2 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/Ambassador.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/08a. Ambassador/Ambassador.cs @@ -27,14 +27,14 @@ public partial class Ambassador : FollowsPlayerEnemy, IHasPrimaryAttack, IHasSec public void OnReady() { SetPhysicsProcess(true); - ((EnemyModelView2D)_enemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; + ((EnemyModelView2D)EnemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; } public void OnPhysicsProcess(double delta) { _enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta)); FollowPlayerAndAttack(_enemyLogic, GlobalPosition, _player.CurrentPosition); - _navigationAgentClient.CalculateVelocity(GlobalPosition, true); + Velocity = _navigationAgentClient.Velocity; base._PhysicsProcess(delta); } @@ -48,18 +48,17 @@ public partial class Ambassador : FollowsPlayerEnemy, IHasPrimaryAttack, IHasSec public override void Die() { - _navigationAgentClient.Stop(); base.Die(); } public void PrimaryAttack() { - _enemyModelView.PlayPrimaryAttackAnimation(); + EnemyModelView.PlayPrimaryAttackAnimation(); } public void SecondaryAttack() { - _enemyModelView.PlaySecondaryAttackAnimation(); + EnemyModelView.PlaySecondaryAttackAnimation(); } public override void SetTarget(Vector3 target) => _navigationAgentClient.SetTarget(target); 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 b909b66e..8ab3a3a4 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=284 format=3 uid="uid://c2i8ylr3y0bri"] +[gd_scene load_steps=298 format=3 uid="uid://c2i8ylr3y0bri"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_h27bt"] [ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_yyynn"] @@ -260,6 +260,10 @@ [ext_resource type="Texture2D" uid="uid://jcs07eo1xqtj" path="res://src/enemy/enemy_types/08a. Ambassador/animations/SIDE/Layer 171.png" id="258_q2wum"] [ext_resource type="Texture2D" uid="uid://btrum7jo404t0" path="res://src/enemy/enemy_types/08a. Ambassador/animations/SIDE/Layer 172.png" id="259_br04c"] [ext_resource type="PackedScene" uid="uid://diaxvpmwgl65u" path="res://src/enemy/TwoAttacksEnemyAnimationTree.tscn" id="261_a705x"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="262_rmbbl"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cy2ngl55c0rws" path="res://src/enemy/animation_state_machines/WalkingStateMachine.tres" id="263_312rt"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="263_sroq1"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="264_dcx20"] [ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="333_u3b1r"] [sub_resource type="Resource" id="Resource_f45wt"] @@ -1838,9 +1842,44 @@ _data = { &"secondary_attack_right": SubResource("Animation_xe0e6") } +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_sroq1"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dcx20"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_evddb"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lqnm4"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mwcs5"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6v3gw"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1f6b3"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vw1ok"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nau3d"] + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_sroq1"] +states/Idle/node = ExtResource("262_rmbbl") +states/Idle/position = Vector2(371, 100) +"states/Primary Attack/node" = ExtResource("263_sroq1") +"states/Primary Attack/position" = Vector2(355, 236) +"states/Secondary Attack/node" = ExtResource("264_dcx20") +"states/Secondary Attack/position" = Vector2(690, 244) +states/Walking/node = ExtResource("263_312rt") +states/Walking/position = Vector2(635, 100) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_sroq1"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_dcx20"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_evddb"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_lqnm4"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_mwcs5"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_6v3gw"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_1f6b3"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_vw1ok"), "Walking", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_nau3d")] + [node name="EnemyModelView" type="Node3D"] script = ExtResource("1_h27bt") EnemyLoreInfo = SubResource("Resource_f45wt") +_enemyDirection = 3 [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0.545209, 0) @@ -1890,3 +1929,5 @@ libraries = { [node name="AnimationTree" parent="." instance=ExtResource("261_a705x")] unique_name_in_owner = true +tree_root = SubResource("AnimationNodeStateMachine_sroq1") +advance_expression_base_node = NodePath("..") 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 b5c6fe8d..631b34b8 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=285 format=3 uid="uid://72lbcmp4bcx4"] +[gd_scene load_steps=299 format=3 uid="uid://72lbcmp4bcx4"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_a8qtn"] [ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_xa3ug"] @@ -262,6 +262,10 @@ [ext_resource type="Texture2D" uid="uid://by2vqyh68egwr" path="res://src/enemy/enemy_types/08b. Ambassador (red)/animations/SIDE/0199.png" id="260_jtq5d"] [ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="261_uny2s"] [ext_resource type="PackedScene" uid="uid://diaxvpmwgl65u" path="res://src/enemy/TwoAttacksEnemyAnimationTree.tscn" id="262_a3dro"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="263_qerwx"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="264_xxvov"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="265_pta34"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cy2ngl55c0rws" path="res://src/enemy/animation_state_machines/WalkingStateMachine.tres" id="266_0cp06"] [sub_resource type="Resource" id="Resource_f45wt"] script = ExtResource("2_xa3ug") @@ -1842,9 +1846,44 @@ _data = { &"secondary_attack_right": SubResource("Animation_xe0e6") } +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oceba"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yqco6"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ikyxn"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2y5m2"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dyptf"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7vwa6"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_i3uxw"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ig6n6"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8fqp0"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_1o3cs"] +states/Idle/node = ExtResource("263_qerwx") +states/Idle/position = Vector2(375, 100) +"states/Primary Attack/node" = ExtResource("264_xxvov") +"states/Primary Attack/position" = Vector2(375, 281) +"states/Secondary Attack/node" = ExtResource("265_pta34") +"states/Secondary Attack/position" = Vector2(652, 281) +states/Walking/node = ExtResource("266_0cp06") +states/Walking/position = Vector2(652, 100) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_oceba"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_yqco6"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_ikyxn"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_2y5m2"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_dyptf"), "Walking", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_7vwa6"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_i3uxw"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_ig6n6"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_8fqp0")] + [node name="EnemyModelView" type="Node3D"] script = ExtResource("1_a8qtn") EnemyLoreInfo = SubResource("Resource_f45wt") +_enemyDirection = 1 [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0.487989, 0) @@ -1897,3 +1936,5 @@ libraries = { [node name="AnimationTree" parent="." instance=ExtResource("262_a3dro")] unique_name_in_owner = true +tree_root = SubResource("AnimationNodeStateMachine_1o3cs") +advance_expression_base_node = NodePath("..") 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 5a049098..5dc63dd8 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=285 format=3 uid="uid://lc5koiqn1sca"] +[gd_scene load_steps=299 format=3 uid="uid://lc5koiqn1sca"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_s0qsg"] [ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_84ebe"] @@ -262,6 +262,10 @@ [ext_resource type="Texture2D" uid="uid://biaen4nwf0tpg" path="res://src/enemy/enemy_types/08c. Ambassador (steel)/animations/SIDE/Layer 258.png" id="260_3ft46"] [ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="261_jsntq"] [ext_resource type="PackedScene" uid="uid://diaxvpmwgl65u" path="res://src/enemy/TwoAttacksEnemyAnimationTree.tscn" id="262_47uje"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="263_i2vbx"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="264_5tr5n"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="265_yj1cx"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cy2ngl55c0rws" path="res://src/enemy/animation_state_machines/WalkingStateMachine.tres" id="266_jq47d"] [sub_resource type="Resource" id="Resource_f45wt"] script = ExtResource("2_84ebe") @@ -1842,9 +1846,44 @@ _data = { &"secondary_attack_right": SubResource("Animation_xe0e6") } +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e2v6u"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_elcn4"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jiwbc"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7w85o"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_13xt0"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pn6rj"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ohtvb"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rimgk"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_v1276"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_pjwch"] +states/Idle/node = ExtResource("263_i2vbx") +states/Idle/position = Vector2(374, 100) +"states/Primary Attack/node" = ExtResource("264_5tr5n") +"states/Primary Attack/position" = Vector2(369, 214) +"states/Secondary Attack/node" = ExtResource("265_yj1cx") +"states/Secondary Attack/position" = Vector2(635, 226) +states/Walking/node = ExtResource("266_jq47d") +states/Walking/position = Vector2(635, 100) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_e2v6u"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_elcn4"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_jiwbc"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_7w85o"), "Walking", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_13xt0"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_pn6rj"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_ohtvb"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_rimgk"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_v1276")] + [node name="EnemyModelView" type="Node3D"] script = ExtResource("1_s0qsg") EnemyLoreInfo = SubResource("Resource_f45wt") +_enemyDirection = 1 [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0.561663, 0) @@ -1894,3 +1933,5 @@ libraries = { [node name="AnimationTree" parent="." instance=ExtResource("262_47uje")] unique_name_in_owner = true +tree_root = SubResource("AnimationNodeStateMachine_pjwch") +advance_expression_base_node = NodePath("..") diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemon.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemon.cs index c124cd22..1d88dac2 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemon.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemon.cs @@ -27,14 +27,14 @@ public partial class AgniDemon : FollowsPlayerEnemy, IHasPrimaryAttack, IHasSeco public void OnReady() { SetPhysicsProcess(true); - ((EnemyModelView2D)_enemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; + ((EnemyModelView2D)EnemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; } public void OnPhysicsProcess(double delta) { _enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta)); FollowPlayerAndAttack(_enemyLogic, GlobalPosition, _player.CurrentPosition); - _navigationAgentClient.CalculateVelocity(GlobalPosition, true); + Velocity = _navigationAgentClient.Velocity; base._PhysicsProcess(delta); } @@ -48,18 +48,17 @@ public partial class AgniDemon : FollowsPlayerEnemy, IHasPrimaryAttack, IHasSeco public override void Die() { - _navigationAgentClient.Stop(); base.Die(); } public void PrimaryAttack() { - _enemyModelView.PlayPrimaryAttackAnimation(); + EnemyModelView.PlayPrimaryAttackAnimation(); } public void SecondaryAttack() { - _enemyModelView.PlaySecondaryAttackAnimation(); + EnemyModelView.PlaySecondaryAttackAnimation(); } public override void SetTarget(Vector3 target) => _navigationAgentClient.SetTarget(target); 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 14bef123..503c3b57 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/09. Agni/AgniDemonModelView.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=530 format=3 uid="uid://bls3mcsyld4vy"] +[gd_scene load_steps=369 format=3 uid="uid://bls3mcsyld4vy"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_wl7dh"] [ext_resource type="Texture2D" uid="uid://dsu48b5hf48xl" path="res://src/enemy/enemy_types/09. Agni/animations/B/frame_000_delay-0.01s.png" id="2_pt8gl"] @@ -333,6 +333,9 @@ [ext_resource type="Texture2D" uid="uid://5f115symdsmg" path="res://src/enemy/enemy_types/09. Agni/animations/LAVA LOOP/frame_327_delay-0.01s.png" id="329_72hkg"] [ext_resource type="Texture2D" uid="uid://b6swecrctxcgy" path="res://src/enemy/enemy_types/09. Agni/animations/LAVA LOOP/frame_328_delay-0.01s.png" id="330_at3qg"] [ext_resource type="Texture2D" uid="uid://b6batijegfqfe" path="res://src/enemy/enemy_types/09. Agni/animations/LAVA LOOP/frame_329_delay-0.01s.png" id="331_610d6"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="334_kp6fv"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="335_3ax4w"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="336_7fjet"] [sub_resource type="Resource" id="Resource_f45wt"] script = ExtResource("2_y6p5p") @@ -1976,525 +1979,29 @@ _data = { &"secondary_attack_right": SubResource("Animation_x32v4") } -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_53wuj"] -animation = &"idle_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o0tmb"] -animation = &"idle_back_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_d5bmw"] -animation = &"idle_front" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a6s5c"] -animation = &"idle_front_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fpvxl"] -animation = &"idle_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dvj10"] -animation = &"idle_left_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7hf3j"] -animation = &"idle_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"] -animation = &"idle_right_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_erbrx"] -animation = &"primary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x7uye"] -animation = &"primary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_djeua"] -animation = &"primary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8wbs7"] -animation = &"primary_attack_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_eslbn"] -animation = &"secondary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_krqul"] -animation = &"secondary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_pyy2h"] -animation = &"secondary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_smxxh"] -animation = &"secondary_attack_right" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3xv6a"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0h1op"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_361b7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wftla"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gqqkl"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5cj36"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4t05h"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bmy1k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mxl7w"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qq0ru"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k1f51"] advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c54uj"] -switch_mode = 1 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_raroh"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qmo72"] -switch_mode = 1 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ejgd2"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jyt1n"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5un2v"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2x3nl"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6a5nw"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0jqty"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yjcrh"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2ybyh"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n454k"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vrcjv"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h1yxw"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kg6hd"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_25i3y"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5g722"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a6y4x"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7y7m4"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ldcvv"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_aalmk"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2le5t"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4nmgu"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mw5r6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jbtxi"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mjxlk"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_al2xs"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_irq32"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2khaq"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_it4oc"] switch_mode = 2 advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k7x0x"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_djeua"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8wbs7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mnr4r"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l2wq1"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7hf3j"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jwlar"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fdoul"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kpotx"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lfuuf"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dfvqa"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dnvt3"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_at0w8"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_afod7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dwhw7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qjloj"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7uqwg"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k4jom"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ku0f8"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fwynu"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_t7vd7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tv4ou"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0b3yx"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ysi80"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ktp1h"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1cx5a"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fn67p"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6qb08"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5ap7h"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dde6r"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5a80x"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cwnal"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ik0ko"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7h3pp"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_te4ac"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_skhgh"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_j8po0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cvb6o"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qrpvt"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mosnb"] switch_mode = 2 advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_obci0"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cuv27"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ach2p"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8cyro"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4fl8s"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ykv10"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hbwwn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gcl0k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_o3f25"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_r7yhf"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_516bs"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wiojf"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fgvwe"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1lijp"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3pd83"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wyiwg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l1dx6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_57oo3"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tpmfr"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8hjrx"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ouq20"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1a3du"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ymlkb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7u4wg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oatu2"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ynkt4"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7a6is"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_u5xjp"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5cwnl"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e0gee"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mno7m"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4h5gj"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e5pq0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wka7s"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8jscc"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7vrs0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_20678"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k6da7"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_eslbn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_krqul"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pyy2h"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_smxxh"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_at0n1"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_svg22"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_s7lar"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_akobn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bsqna"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gol4k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_p4ilm"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k83sm"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kcq25"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_01v4k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jltoa"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oimc0"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xcm4a"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ddwwq"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n4eka"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ec8sv"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_g2s00"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yqxd5"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_maccb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5xhee"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_503vp"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7y3hb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h8dgw"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nvud8"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nsjll"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rwn6o"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rqeru"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5qfjk"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_uyx05"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6io2i"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7jav2"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c1hmo"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yu2km"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_krqul"] -states/End/position = Vector2(1882, 19) -states/Start/position = Vector2(29, 290) -states/idle_back/node = SubResource("AnimationNodeAnimation_53wuj") -states/idle_back/position = Vector2(584.116, -35) -states/idle_back_walk/node = SubResource("AnimationNodeAnimation_o0tmb") -states/idle_back_walk/position = Vector2(1052, 55.9474) -states/idle_front/node = SubResource("AnimationNodeAnimation_d5bmw") -states/idle_front/position = Vector2(178.295, -330) -states/idle_front_walk/node = SubResource("AnimationNodeAnimation_a6s5c") -states/idle_front_walk/position = Vector2(772, -177) -states/idle_left/node = SubResource("AnimationNodeAnimation_fpvxl") -states/idle_left/position = Vector2(431.116, -177) -states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10") -states/idle_left_walk/position = Vector2(1037, -287) -states/idle_right/node = SubResource("AnimationNodeAnimation_7hf3j") -states/idle_right/position = Vector2(265.295, -105) -states/idle_right_walk/node = SubResource("AnimationNodeAnimation_ivy74") -states/idle_right_walk/position = Vector2(779, 34.9474) -states/primary_attack/node = SubResource("AnimationNodeAnimation_erbrx") -states/primary_attack/position = Vector2(223, 315) -states/primary_attack_back/node = SubResource("AnimationNodeAnimation_x7uye") -states/primary_attack_back/position = Vector2(632.525, 474.749) -states/primary_attack_left/node = SubResource("AnimationNodeAnimation_djeua") -states/primary_attack_left/position = Vector2(632.525, 329) -states/primary_attack_right/node = SubResource("AnimationNodeAnimation_8wbs7") -states/primary_attack_right/position = Vector2(210.295, 464.749) -states/secondary_attack/node = SubResource("AnimationNodeAnimation_eslbn") -states/secondary_attack/position = Vector2(1037, 315) -states/secondary_attack_back/node = SubResource("AnimationNodeAnimation_krqul") -states/secondary_attack_back/position = Vector2(1349.83, 458.279) -states/secondary_attack_left/node = SubResource("AnimationNodeAnimation_pyy2h") -states/secondary_attack_left/position = Vector2(1349.83, 315) -states/secondary_attack_right/node = SubResource("AnimationNodeAnimation_smxxh") -states/secondary_attack_right/position = Vector2(1052, 464.749) -transitions = ["idle_front_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_3xv6a"), "idle_left_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0h1op"), "idle_front_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_361b7"), "idle_back_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_wftla"), "idle_back_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_gqqkl"), "idle_left_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_5cj36"), "idle_front_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_4t05h"), "idle_back_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_bmy1k"), "idle_left_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_mxl7w"), "Start", "idle_front", SubResource("AnimationNodeStateMachineTransition_qq0ru"), "idle_front", "idle_back", SubResource("AnimationNodeStateMachineTransition_c54uj"), "idle_back", "idle_left", SubResource("AnimationNodeStateMachineTransition_qmo72"), "idle_left", "idle_front", SubResource("AnimationNodeStateMachineTransition_jyt1n"), "idle_left", "idle_back", SubResource("AnimationNodeStateMachineTransition_5un2v"), "idle_back", "idle_front", SubResource("AnimationNodeStateMachineTransition_2x3nl"), "idle_front", "idle_left", SubResource("AnimationNodeStateMachineTransition_6a5nw"), "idle_back", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0jqty"), "idle_front", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_yjcrh"), "idle_back", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_2ybyh"), "idle_left", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_n454k"), "idle_back_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_vrcjv"), "idle_back_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_h1yxw"), "idle_back_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_kg6hd"), "idle_back", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_25i3y"), "idle_left", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_5g722"), "idle_front", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_a6y4x"), "idle_left_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_7y7m4"), "idle_left_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ldcvv"), "idle_left_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_aalmk"), "idle_front_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_2le5t"), "idle_front_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_4nmgu"), "idle_front_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_mw5r6"), "idle_front", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jbtxi"), "idle_left", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_mjxlk"), "idle_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_al2xs"), "idle_front", "primary_attack", SubResource("AnimationNodeStateMachineTransition_irq32"), "primary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_2khaq"), "idle_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_k7x0x"), "idle_right", "idle_front", SubResource("AnimationNodeStateMachineTransition_ivy74"), "idle_front", "idle_right", SubResource("AnimationNodeStateMachineTransition_x7uye"), "idle_right", "idle_left", SubResource("AnimationNodeStateMachineTransition_djeua"), "idle_left", "idle_right", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "idle_right", "idle_back", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "idle_back", "idle_right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "idle_right", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_7hf3j"), "idle_right", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jwlar"), "idle_right", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fdoul"), "idle_front_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_kpotx"), "idle_back_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "idle_left_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "idle_right", "primary_attack", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "idle_front_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_at0w8"), "idle_right_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_afod7"), "idle_right_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_dwhw7"), "idle_left_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_qjloj"), "idle_right_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_7uqwg"), "idle_back_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_k4jom"), "idle_right_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ku0f8"), "idle_left", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_fwynu"), "idle_right_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_t7vd7"), "idle_back", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_tv4ou"), "idle_right_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_0b3yx"), "idle_front", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_ysi80"), "idle_right_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_ktp1h"), "idle_right", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_1cx5a"), "idle_right_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_fn67p"), "primary_attack_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_6qb08"), "primary_attack", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_5ap7h"), "primary_attack_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_dde6r"), "primary_attack_right", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_5a80x"), "primary_attack_back", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_cwnal"), "primary_attack_right", "primary_attack", SubResource("AnimationNodeStateMachineTransition_ik0ko"), "primary_attack", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_7h3pp"), "primary_attack_right", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_te4ac"), "primary_attack_left", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_skhgh"), "primary_attack_left", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_j8po0"), "primary_attack_back", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_cvb6o"), "primary_attack_left", "idle_left", SubResource("AnimationNodeStateMachineTransition_qrpvt"), "primary_attack_right", "idle_right", SubResource("AnimationNodeStateMachineTransition_obci0"), "primary_attack_back", "idle_back", SubResource("AnimationNodeStateMachineTransition_cuv27"), "idle_front", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_ach2p"), "idle_right", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_8cyro"), "idle_back", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_4fl8s"), "idle_left", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_ykv10"), "idle_front_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_hbwwn"), "idle_right_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_gcl0k"), "idle_left_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_o3f25"), "idle_back_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_r7yhf"), "idle_right", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_516bs"), "idle_front", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_wiojf"), "idle_left", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_fgvwe"), "idle_back", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_1lijp"), "idle_front_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_3pd83"), "idle_right_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_wyiwg"), "idle_back_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_l1dx6"), "idle_left_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_57oo3"), "idle_right", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_tpmfr"), "idle_front", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_8hjrx"), "idle_back", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ouq20"), "idle_left", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_1a3du"), "idle_front_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ymlkb"), "idle_right_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_7u4wg"), "idle_left_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_oatu2"), "idle_back_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ynkt4"), "secondary_attack", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_7a6is"), "secondary_attack_right", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_u5xjp"), "secondary_attack", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_5cwnl"), "secondary_attack_left", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_e0gee"), "secondary_attack", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_mno7m"), "secondary_attack_back", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_4h5gj"), "secondary_attack_left", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_e5pq0"), "secondary_attack_back", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_wka7s"), "secondary_attack_back", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_8jscc"), "secondary_attack_right", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_7vrs0"), "secondary_attack_left", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_20678"), "secondary_attack_right", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_k6da7"), "idle_front", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_eslbn"), "idle_front", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_krqul"), "idle_front", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_pyy2h"), "idle_front", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_smxxh"), "idle_right", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_at0n1"), "idle_right", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_svg22"), "idle_right", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_s7lar"), "idle_right", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_akobn"), "idle_left", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_bsqna"), "idle_left", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_gol4k"), "idle_left", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_p4ilm"), "idle_left", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_k83sm"), "idle_back", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_kcq25"), "idle_back", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_01v4k"), "idle_back", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_jltoa"), "idle_back", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_oimc0"), "idle_front_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_xcm4a"), "idle_front_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_ddwwq"), "idle_front_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_n4eka"), "idle_front_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_ec8sv"), "idle_left_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_g2s00"), "idle_left_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_yqxd5"), "idle_left_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_maccb"), "idle_left_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_5xhee"), "idle_back_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_503vp"), "idle_back_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_7y3hb"), "idle_back_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_h8dgw"), "idle_back_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_nvud8"), "idle_right_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_nsjll"), "idle_right_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_rwn6o"), "idle_right_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_rqeru"), "idle_right_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_5qfjk"), "secondary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_uyx05"), "secondary_attack_right", "idle_right", SubResource("AnimationNodeStateMachineTransition_6io2i"), "secondary_attack_left", "idle_left", SubResource("AnimationNodeStateMachineTransition_7jav2"), "secondary_attack_back", "idle_back", SubResource("AnimationNodeStateMachineTransition_c1hmo"), "primary_attack", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_yu2km")] -graph_offset = Vector2(-148.003, 47.0034) +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_830os"] +states/Idle/node = ExtResource("334_kp6fv") +states/Idle/position = Vector2(479, 100) +"states/Primary Attack/node" = ExtResource("335_3ax4w") +"states/Primary Attack/position" = Vector2(264, 285) +"states/Secondary Attack/node" = ExtResource("336_7fjet") +"states/Secondary Attack/position" = Vector2(584, 302) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_k1f51"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_raroh"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_ejgd2"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_it4oc"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_mosnb")] [sub_resource type="Animation" id="Animation_lsphj"] length = 0.001 @@ -2562,6 +2069,7 @@ _data = { [node name="EnemyModelView" type="Node3D"] script = ExtResource("1_wl7dh") EnemyLoreInfo = SubResource("Resource_f45wt") +_enemyDirection = 0 [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0.530475, 0) @@ -2616,7 +2124,8 @@ libraries = { [node name="AnimationTree" type="AnimationTree" parent="."] unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") -tree_root = SubResource("AnimationNodeStateMachine_krqul") +tree_root = SubResource("AnimationNodeStateMachine_830os") +advance_expression_base_node = NodePath("..") anim_player = NodePath("../AnimationPlayer") [node name="Lava Animation" type="AnimationPlayer" parent="."] diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/Palan.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/Palan.cs index e012a88e..4c08a344 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/Palan.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/11. Palan/Palan.cs @@ -27,14 +27,14 @@ public partial class Palan : FollowsPlayerEnemy, IHasPrimaryAttack, IHasSecondar public void OnReady() { SetPhysicsProcess(true); - ((EnemyModelView2D)_enemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; + ((EnemyModelView2D)EnemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; } public void OnPhysicsProcess(double delta) { _enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta)); FollowPlayerAndAttack(_enemyLogic, GlobalPosition, _player.CurrentPosition); - _navigationAgentClient.CalculateVelocity(GlobalPosition, true); + Velocity = _navigationAgentClient.Velocity; base._PhysicsProcess(delta); } @@ -48,18 +48,17 @@ public partial class Palan : FollowsPlayerEnemy, IHasPrimaryAttack, IHasSecondar public override void Die() { - _navigationAgentClient.Stop(); base.Die(); } public void PrimaryAttack() { - _enemyModelView.PlayPrimaryAttackAnimation(); + EnemyModelView.PlayPrimaryAttackAnimation(); } public void SecondaryAttack() { - _enemyModelView.PlaySecondaryAttackAnimation(); + EnemyModelView.PlaySecondaryAttackAnimation(); } public override void SetTarget(Vector3 target) => _navigationAgentClient.SetTarget(target); 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 cc73f64a..321e1edc 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=394 format=3 uid="uid://dxwwfbt2mtmer"] +[gd_scene load_steps=238 format=3 uid="uid://dxwwfbt2mtmer"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_yke7o"] [ext_resource type="Texture2D" uid="uid://cob5mo4lrbkrp" path="res://src/enemy/enemy_types/11. Palan/animations/B/frame_000_delay-0.01s.png" id="2_lf0wi"] @@ -202,6 +202,10 @@ [ext_resource type="Texture2D" uid="uid://ckuymrppoajnk" path="res://src/enemy/enemy_types/11. Palan/animations/R/frame_179_delay-0.01s.png" id="97_83iec"] [ext_resource type="Texture2D" uid="uid://bq85jeydr4li8" path="res://src/enemy/enemy_types/11. Palan/animations/R/frame_180_delay-0.01s.png" id="98_jwe14"] [ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="162_4qxqd"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="203_krcdq"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="204_vaycn"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="205_klhid"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cy2ngl55c0rws" path="res://src/enemy/animation_state_machines/WalkingStateMachine.tres" id="206_1bumx"] [sub_resource type="ViewportTexture" id="ViewportTexture_h1kaf"] viewport_path = NodePath("Sprite3D/SubViewportContainer/SubViewport") @@ -1532,521 +1536,43 @@ _data = { &"secondary_attack_right": SubResource("Animation_au0i1") } -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_53wuj"] -animation = &"idle_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o0tmb"] -animation = &"idle_back_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_d5bmw"] -animation = &"idle_front" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a6s5c"] -animation = &"idle_front_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fpvxl"] -animation = &"idle_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dvj10"] -animation = &"idle_left_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7hf3j"] -animation = &"idle_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"] -animation = &"idle_right_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_erbrx"] -animation = &"primary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x7uye"] -animation = &"primary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_djeua"] -animation = &"primary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8wbs7"] -animation = &"primary_attack_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_eslbn"] -animation = &"secondary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_krqul"] -animation = &"secondary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_pyy2h"] -animation = &"secondary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_smxxh"] -animation = &"secondary_attack_right" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3xv6a"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0h1op"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_361b7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wftla"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gqqkl"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5cj36"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4t05h"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bmy1k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mxl7w"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qq0ru"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0yqqu"] advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c54uj"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qmo72"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jyt1n"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5un2v"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2x3nl"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6a5nw"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0jqty"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yjcrh"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2ybyh"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n454k"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vrcjv"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h1yxw"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kg6hd"] -break_loop_at_end = true -switch_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_25i3y"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5g722"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a6y4x"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7y7m4"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ldcvv"] -break_loop_at_end = true -switch_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_aalmk"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2le5t"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4nmgu"] -break_loop_at_end = true -switch_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mw5r6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jbtxi"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mjxlk"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_al2xs"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_irq32"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2khaq"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_r6aec"] switch_mode = 2 advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k7x0x"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_djeua"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8wbs7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mnr4r"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l2wq1"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7hf3j"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jwlar"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fdoul"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kpotx"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lfuuf"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dfvqa"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dnvt3"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_at0w8"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_afod7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dwhw7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qjloj"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7uqwg"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k4jom"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ku0f8"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fwynu"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_t7vd7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tv4ou"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0b3yx"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ysi80"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ktp1h"] -break_loop_at_end = true -switch_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1cx5a"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fn67p"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6qb08"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5ap7h"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dde6r"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5a80x"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cwnal"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ik0ko"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7h3pp"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_te4ac"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_skhgh"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_j8po0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cvb6o"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qrpvt"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lid5r"] switch_mode = 2 advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_obci0"] -switch_mode = 2 -advance_mode = 2 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_au0i1"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cuv27"] -switch_mode = 2 -advance_mode = 2 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jbc40"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ach2p"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0qt6f"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8cyro"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2bn25"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4fl8s"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h2ml5"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ykv10"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_uma8i"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hbwwn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gcl0k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_o3f25"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_r7yhf"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_516bs"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wiojf"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fgvwe"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1lijp"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3pd83"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wyiwg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l1dx6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_57oo3"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tpmfr"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8hjrx"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ouq20"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1a3du"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ymlkb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7u4wg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oatu2"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ynkt4"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7a6is"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_u5xjp"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5cwnl"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e0gee"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mno7m"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4h5gj"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e5pq0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wka7s"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8jscc"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7vrs0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_20678"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k6da7"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_eslbn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_krqul"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pyy2h"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_smxxh"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_at0n1"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_svg22"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_s7lar"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_akobn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bsqna"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gol4k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_p4ilm"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k83sm"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kcq25"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_01v4k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jltoa"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oimc0"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xcm4a"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ddwwq"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n4eka"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ec8sv"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_g2s00"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yqxd5"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_maccb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5xhee"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_503vp"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7y3hb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h8dgw"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nvud8"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nsjll"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rwn6o"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rqeru"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5qfjk"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_uyx05"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6io2i"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7jav2"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c1hmo"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yu2km"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_jwe14"] -states/End/position = Vector2(1882, 19) -states/Start/position = Vector2(29, 290) -states/idle_back/node = SubResource("AnimationNodeAnimation_53wuj") -states/idle_back/position = Vector2(337.116, 204) -states/idle_back_walk/node = SubResource("AnimationNodeAnimation_o0tmb") -states/idle_back_walk/position = Vector2(1052, 55.9474) -states/idle_front/node = SubResource("AnimationNodeAnimation_d5bmw") -states/idle_front/position = Vector2(151.295, -318) -states/idle_front_walk/node = SubResource("AnimationNodeAnimation_a6s5c") -states/idle_front_walk/position = Vector2(573, -189) -states/idle_left/node = SubResource("AnimationNodeAnimation_fpvxl") -states/idle_left/position = Vector2(431.116, -177) -states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10") -states/idle_left_walk/position = Vector2(875, -349) -states/idle_right/node = SubResource("AnimationNodeAnimation_7hf3j") -states/idle_right/position = Vector2(-243.705, -163) -states/idle_right_walk/node = SubResource("AnimationNodeAnimation_ivy74") -states/idle_right_walk/position = Vector2(779, 34.9474) -states/primary_attack/node = SubResource("AnimationNodeAnimation_erbrx") -states/primary_attack/position = Vector2(223, 315) -states/primary_attack_back/node = SubResource("AnimationNodeAnimation_x7uye") -states/primary_attack_back/position = Vector2(632.525, 474.749) -states/primary_attack_left/node = SubResource("AnimationNodeAnimation_djeua") -states/primary_attack_left/position = Vector2(632.525, 329) -states/primary_attack_right/node = SubResource("AnimationNodeAnimation_8wbs7") -states/primary_attack_right/position = Vector2(210.295, 464.749) -states/secondary_attack/node = SubResource("AnimationNodeAnimation_eslbn") -states/secondary_attack/position = Vector2(1037, 315) -states/secondary_attack_back/node = SubResource("AnimationNodeAnimation_krqul") -states/secondary_attack_back/position = Vector2(1349.83, 458.279) -states/secondary_attack_left/node = SubResource("AnimationNodeAnimation_pyy2h") -states/secondary_attack_left/position = Vector2(1349.83, 315) -states/secondary_attack_right/node = SubResource("AnimationNodeAnimation_smxxh") -states/secondary_attack_right/position = Vector2(1052, 464.749) -transitions = ["idle_front_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_3xv6a"), "idle_left_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0h1op"), "idle_front_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_361b7"), "idle_back_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_wftla"), "idle_back_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_gqqkl"), "idle_left_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_5cj36"), "idle_front_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_4t05h"), "idle_back_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_bmy1k"), "idle_left_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_mxl7w"), "Start", "idle_front", SubResource("AnimationNodeStateMachineTransition_qq0ru"), "idle_front", "idle_back", SubResource("AnimationNodeStateMachineTransition_c54uj"), "idle_back", "idle_left", SubResource("AnimationNodeStateMachineTransition_qmo72"), "idle_left", "idle_front", SubResource("AnimationNodeStateMachineTransition_jyt1n"), "idle_left", "idle_back", SubResource("AnimationNodeStateMachineTransition_5un2v"), "idle_back", "idle_front", SubResource("AnimationNodeStateMachineTransition_2x3nl"), "idle_front", "idle_left", SubResource("AnimationNodeStateMachineTransition_6a5nw"), "idle_back", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0jqty"), "idle_front", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_yjcrh"), "idle_back", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_2ybyh"), "idle_left", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_n454k"), "idle_back_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_vrcjv"), "idle_back_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_h1yxw"), "idle_back_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_kg6hd"), "idle_back", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_25i3y"), "idle_left", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_5g722"), "idle_front", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_a6y4x"), "idle_left_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_7y7m4"), "idle_left_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ldcvv"), "idle_left_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_aalmk"), "idle_front_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_2le5t"), "idle_front_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_4nmgu"), "idle_front_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_mw5r6"), "idle_front", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jbtxi"), "idle_left", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_mjxlk"), "idle_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_al2xs"), "idle_front", "primary_attack", SubResource("AnimationNodeStateMachineTransition_irq32"), "primary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_2khaq"), "idle_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_k7x0x"), "idle_right", "idle_front", SubResource("AnimationNodeStateMachineTransition_ivy74"), "idle_front", "idle_right", SubResource("AnimationNodeStateMachineTransition_x7uye"), "idle_right", "idle_left", SubResource("AnimationNodeStateMachineTransition_djeua"), "idle_left", "idle_right", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "idle_right", "idle_back", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "idle_back", "idle_right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "idle_right", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_7hf3j"), "idle_right", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jwlar"), "idle_right", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fdoul"), "idle_front_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_kpotx"), "idle_back_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "idle_left_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "idle_right", "primary_attack", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "idle_front_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_at0w8"), "idle_right_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_afod7"), "idle_right_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_dwhw7"), "idle_left_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_qjloj"), "idle_right_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_7uqwg"), "idle_back_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_k4jom"), "idle_right_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ku0f8"), "idle_left", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_fwynu"), "idle_right_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_t7vd7"), "idle_back", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_tv4ou"), "idle_right_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_0b3yx"), "idle_front", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_ysi80"), "idle_right_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_ktp1h"), "idle_right", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_1cx5a"), "idle_right_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_fn67p"), "primary_attack_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_6qb08"), "primary_attack", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_5ap7h"), "primary_attack_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_dde6r"), "primary_attack_right", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_5a80x"), "primary_attack_back", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_cwnal"), "primary_attack_right", "primary_attack", SubResource("AnimationNodeStateMachineTransition_ik0ko"), "primary_attack", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_7h3pp"), "primary_attack_right", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_te4ac"), "primary_attack_left", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_skhgh"), "primary_attack_left", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_j8po0"), "primary_attack_back", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_cvb6o"), "primary_attack_left", "idle_left", SubResource("AnimationNodeStateMachineTransition_qrpvt"), "primary_attack_right", "idle_right", SubResource("AnimationNodeStateMachineTransition_obci0"), "primary_attack_back", "idle_back", SubResource("AnimationNodeStateMachineTransition_cuv27"), "idle_front", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_ach2p"), "idle_right", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_8cyro"), "idle_back", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_4fl8s"), "idle_left", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_ykv10"), "idle_front_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_hbwwn"), "idle_right_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_gcl0k"), "idle_left_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_o3f25"), "idle_back_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_r7yhf"), "idle_right", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_516bs"), "idle_front", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_wiojf"), "idle_left", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_fgvwe"), "idle_back", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_1lijp"), "idle_front_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_3pd83"), "idle_right_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_wyiwg"), "idle_back_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_l1dx6"), "idle_left_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_57oo3"), "idle_right", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_tpmfr"), "idle_front", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_8hjrx"), "idle_back", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ouq20"), "idle_left", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_1a3du"), "idle_front_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ymlkb"), "idle_right_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_7u4wg"), "idle_left_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_oatu2"), "idle_back_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ynkt4"), "secondary_attack", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_7a6is"), "secondary_attack_right", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_u5xjp"), "secondary_attack", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_5cwnl"), "secondary_attack_left", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_e0gee"), "secondary_attack", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_mno7m"), "secondary_attack_back", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_4h5gj"), "secondary_attack_left", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_e5pq0"), "secondary_attack_back", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_wka7s"), "secondary_attack_back", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_8jscc"), "secondary_attack_right", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_7vrs0"), "secondary_attack_left", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_20678"), "secondary_attack_right", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_k6da7"), "idle_front", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_eslbn"), "idle_front", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_krqul"), "idle_front", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_pyy2h"), "idle_front", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_smxxh"), "idle_right", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_at0n1"), "idle_right", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_svg22"), "idle_right", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_s7lar"), "idle_right", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_akobn"), "idle_left", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_bsqna"), "idle_left", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_gol4k"), "idle_left", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_p4ilm"), "idle_left", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_k83sm"), "idle_back", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_kcq25"), "idle_back", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_01v4k"), "idle_back", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_jltoa"), "idle_back", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_oimc0"), "idle_front_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_xcm4a"), "idle_front_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_ddwwq"), "idle_front_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_n4eka"), "idle_front_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_ec8sv"), "idle_left_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_g2s00"), "idle_left_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_yqxd5"), "idle_left_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_maccb"), "idle_left_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_5xhee"), "idle_back_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_503vp"), "idle_back_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_7y3hb"), "idle_back_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_h8dgw"), "idle_back_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_nvud8"), "idle_right_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_nsjll"), "idle_right_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_rwn6o"), "idle_right_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_rqeru"), "idle_right_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_5qfjk"), "secondary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_uyx05"), "secondary_attack_right", "idle_right", SubResource("AnimationNodeStateMachineTransition_6io2i"), "secondary_attack_left", "idle_left", SubResource("AnimationNodeStateMachineTransition_7jav2"), "secondary_attack_back", "idle_back", SubResource("AnimationNodeStateMachineTransition_c1hmo"), "primary_attack", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_yu2km")] -graph_offset = Vector2(404.287, -339.136) +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_ycu4d"] +states/Idle/node = ExtResource("203_krcdq") +states/Idle/position = Vector2(386, 100) +"states/Primary Attack/node" = ExtResource("204_vaycn") +"states/Primary Attack/position" = Vector2(394, 303) +"states/Secondary Attack/node" = ExtResource("205_klhid") +"states/Secondary Attack/position" = Vector2(705, 303) +states/Walking/node = ExtResource("206_1bumx") +states/Walking/position = Vector2(705, 100) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_0yqqu"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_r6aec"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_lid5r"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_au0i1"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_jbc40"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_0qt6f"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_2bn25"), "Walking", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_h2ml5"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_uma8i")] [node name="EnemyModelView" type="Node3D"] script = ExtResource("1_yke7o") +_enemyDirection = 1 [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 1.5643, 0) @@ -2097,5 +1623,6 @@ libraries = { [node name="AnimationTree" type="AnimationTree" parent="."] unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") -tree_root = SubResource("AnimationNodeStateMachine_jwe14") +tree_root = SubResource("AnimationNodeStateMachine_ycu4d") +advance_expression_base_node = NodePath("..") anim_player = NodePath("../AnimationPlayer") 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 f858cad6..9cd05f56 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=606 format=3 uid="uid://drkaq6grim1fb"] +[gd_scene load_steps=446 format=3 uid="uid://drkaq6grim1fb"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_h8pla"] [ext_resource type="Texture2D" uid="uid://clwj6yknpw74n" path="res://src/enemy/enemy_types/12. Shield of Heaven/animations/New/Idle Back/0001.png" id="2_2eclh"] @@ -179,6 +179,9 @@ [ext_resource type="Texture2D" uid="uid://b0f6d4wd0qjej" path="res://src/enemy/enemy_types/12. Shield of Heaven/animations/New/Idle Front/0214.png" id="127_3i75y"] [ext_resource type="Texture2D" uid="uid://b3e080gq2qhta" path="res://src/enemy/enemy_types/12. Shield of Heaven/animations/New/Idle Front/0217.png" id="128_knt02"] [ext_resource type="Texture2D" uid="uid://7n61205cximv" path="res://src/enemy/enemy_types/12. Shield of Heaven/animations/New/Idle Front/0220.png" id="129_0ctqp"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="166_yh3w6"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="167_fab8g"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cy2ngl55c0rws" path="res://src/enemy/animation_state_machines/WalkingStateMachine.tres" id="169_w7rrw"] [ext_resource type="Texture2D" uid="uid://bkl170w4rtpgg" path="res://src/enemy/enemy_types/12. Shield of Heaven/animations/New/Walk Front/0001.png" id="179_niws5"] [ext_resource type="Texture2D" uid="uid://cnr5672mprep8" path="res://src/enemy/enemy_types/12. Shield of Heaven/animations/New/Walk Front/0004.png" id="180_s6k5e"] [ext_resource type="Texture2D" uid="uid://b2qky0dtbnuh5" path="res://src/enemy/enemy_types/12. Shield of Heaven/animations/New/Walk Front/0007.png" id="181_vbdn2"] @@ -2408,518 +2411,29 @@ _data = { &"secondary_attack_right": SubResource("Animation_dalxy") } -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_53wuj"] -animation = &"idle_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o0tmb"] -animation = &"idle_back_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_d5bmw"] -animation = &"idle_front" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a6s5c"] -animation = &"idle_front_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fpvxl"] -animation = &"idle_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dvj10"] -animation = &"idle_left_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7hf3j"] -animation = &"idle_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"] -animation = &"idle_right_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_erbrx"] -animation = &"primary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x7uye"] -animation = &"primary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_djeua"] -animation = &"primary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8wbs7"] -animation = &"primary_attack_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_eslbn"] -animation = &"secondary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_krqul"] -animation = &"secondary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_pyy2h"] -animation = &"secondary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_smxxh"] -animation = &"secondary_attack_right" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3xv6a"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0h1op"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_361b7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wftla"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gqqkl"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5cj36"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4t05h"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bmy1k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mxl7w"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qq0ru"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_y7ljc"] advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c54uj"] -switch_mode = 1 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_08dxp"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qmo72"] -switch_mode = 1 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yk2s3"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jyt1n"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5un2v"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2x3nl"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6a5nw"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0jqty"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yjcrh"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2ybyh"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n454k"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vrcjv"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h1yxw"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kg6hd"] -break_loop_at_end = true -switch_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_25i3y"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5g722"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a6y4x"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7y7m4"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ldcvv"] -break_loop_at_end = true -switch_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_aalmk"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2le5t"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4nmgu"] -break_loop_at_end = true -switch_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mw5r6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jbtxi"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mjxlk"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_al2xs"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_irq32"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2khaq"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mb5pg"] switch_mode = 2 advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k7x0x"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_djeua"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8wbs7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mnr4r"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l2wq1"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7hf3j"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jwlar"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fdoul"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kpotx"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lfuuf"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dfvqa"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dnvt3"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_at0w8"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_afod7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dwhw7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qjloj"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7uqwg"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k4jom"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ku0f8"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fwynu"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_t7vd7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tv4ou"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0b3yx"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ysi80"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ktp1h"] -break_loop_at_end = true -switch_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1cx5a"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fn67p"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6qb08"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5ap7h"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dde6r"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5a80x"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cwnal"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ik0ko"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7h3pp"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_te4ac"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_skhgh"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_j8po0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cvb6o"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qrpvt"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_obci0"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cuv27"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ach2p"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8cyro"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4fl8s"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ykv10"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hbwwn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gcl0k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_o3f25"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_r7yhf"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_516bs"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wiojf"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fgvwe"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1lijp"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3pd83"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wyiwg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l1dx6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_57oo3"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tpmfr"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8hjrx"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ouq20"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1a3du"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ymlkb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7u4wg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oatu2"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ynkt4"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7a6is"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_u5xjp"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5cwnl"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e0gee"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mno7m"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4h5gj"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e5pq0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wka7s"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8jscc"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7vrs0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_20678"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k6da7"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_eslbn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_krqul"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pyy2h"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_smxxh"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_at0n1"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_svg22"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_s7lar"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_akobn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bsqna"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gol4k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_p4ilm"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k83sm"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kcq25"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_01v4k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jltoa"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oimc0"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xcm4a"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ddwwq"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n4eka"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ec8sv"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_g2s00"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yqxd5"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_maccb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5xhee"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_503vp"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7y3hb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h8dgw"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nvud8"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nsjll"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rwn6o"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rqeru"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5qfjk"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_uyx05"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6io2i"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7jav2"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c1hmo"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yu2km"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_3ev0n"] -states/End/position = Vector2(1882, 19) -states/Start/position = Vector2(29, 290) -states/idle_back/node = SubResource("AnimationNodeAnimation_53wuj") -states/idle_back/position = Vector2(337.116, 204) -states/idle_back_walk/node = SubResource("AnimationNodeAnimation_o0tmb") -states/idle_back_walk/position = Vector2(1052, 55.9474) -states/idle_front/node = SubResource("AnimationNodeAnimation_d5bmw") -states/idle_front/position = Vector2(151.295, -318) -states/idle_front_walk/node = SubResource("AnimationNodeAnimation_a6s5c") -states/idle_front_walk/position = Vector2(573, -189) -states/idle_left/node = SubResource("AnimationNodeAnimation_fpvxl") -states/idle_left/position = Vector2(431.116, -177) -states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10") -states/idle_left_walk/position = Vector2(875, -349) -states/idle_right/node = SubResource("AnimationNodeAnimation_7hf3j") -states/idle_right/position = Vector2(-243.705, -163) -states/idle_right_walk/node = SubResource("AnimationNodeAnimation_ivy74") -states/idle_right_walk/position = Vector2(779, 34.9474) -states/primary_attack/node = SubResource("AnimationNodeAnimation_erbrx") -states/primary_attack/position = Vector2(223, 315) -states/primary_attack_back/node = SubResource("AnimationNodeAnimation_x7uye") -states/primary_attack_back/position = Vector2(632.525, 474.749) -states/primary_attack_left/node = SubResource("AnimationNodeAnimation_djeua") -states/primary_attack_left/position = Vector2(632.525, 329) -states/primary_attack_right/node = SubResource("AnimationNodeAnimation_8wbs7") -states/primary_attack_right/position = Vector2(210.295, 464.749) -states/secondary_attack/node = SubResource("AnimationNodeAnimation_eslbn") -states/secondary_attack/position = Vector2(1037, 315) -states/secondary_attack_back/node = SubResource("AnimationNodeAnimation_krqul") -states/secondary_attack_back/position = Vector2(1349.83, 458.279) -states/secondary_attack_left/node = SubResource("AnimationNodeAnimation_pyy2h") -states/secondary_attack_left/position = Vector2(1349.83, 315) -states/secondary_attack_right/node = SubResource("AnimationNodeAnimation_smxxh") -states/secondary_attack_right/position = Vector2(1052, 464.749) -transitions = ["idle_front_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_3xv6a"), "idle_left_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0h1op"), "idle_front_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_361b7"), "idle_back_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_wftla"), "idle_back_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_gqqkl"), "idle_left_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_5cj36"), "idle_front_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_4t05h"), "idle_back_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_bmy1k"), "idle_left_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_mxl7w"), "Start", "idle_front", SubResource("AnimationNodeStateMachineTransition_qq0ru"), "idle_front", "idle_back", SubResource("AnimationNodeStateMachineTransition_c54uj"), "idle_back", "idle_left", SubResource("AnimationNodeStateMachineTransition_qmo72"), "idle_left", "idle_front", SubResource("AnimationNodeStateMachineTransition_jyt1n"), "idle_left", "idle_back", SubResource("AnimationNodeStateMachineTransition_5un2v"), "idle_back", "idle_front", SubResource("AnimationNodeStateMachineTransition_2x3nl"), "idle_front", "idle_left", SubResource("AnimationNodeStateMachineTransition_6a5nw"), "idle_back", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0jqty"), "idle_front", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_yjcrh"), "idle_back", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_2ybyh"), "idle_left", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_n454k"), "idle_back_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_vrcjv"), "idle_back_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_h1yxw"), "idle_back_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_kg6hd"), "idle_back", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_25i3y"), "idle_left", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_5g722"), "idle_front", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_a6y4x"), "idle_left_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_7y7m4"), "idle_left_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ldcvv"), "idle_left_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_aalmk"), "idle_front_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_2le5t"), "idle_front_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_4nmgu"), "idle_front_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_mw5r6"), "idle_front", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jbtxi"), "idle_left", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_mjxlk"), "idle_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_al2xs"), "idle_front", "primary_attack", SubResource("AnimationNodeStateMachineTransition_irq32"), "primary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_2khaq"), "idle_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_k7x0x"), "idle_right", "idle_front", SubResource("AnimationNodeStateMachineTransition_ivy74"), "idle_front", "idle_right", SubResource("AnimationNodeStateMachineTransition_x7uye"), "idle_right", "idle_left", SubResource("AnimationNodeStateMachineTransition_djeua"), "idle_left", "idle_right", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "idle_right", "idle_back", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "idle_back", "idle_right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "idle_right", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_7hf3j"), "idle_right", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jwlar"), "idle_right", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fdoul"), "idle_front_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_kpotx"), "idle_back_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "idle_left_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "idle_right", "primary_attack", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "idle_front_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_at0w8"), "idle_right_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_afod7"), "idle_right_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_dwhw7"), "idle_left_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_qjloj"), "idle_right_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_7uqwg"), "idle_back_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_k4jom"), "idle_right_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ku0f8"), "idle_left", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_fwynu"), "idle_right_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_t7vd7"), "idle_back", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_tv4ou"), "idle_right_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_0b3yx"), "idle_front", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_ysi80"), "idle_right_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_ktp1h"), "idle_right", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_1cx5a"), "idle_right_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_fn67p"), "primary_attack_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_6qb08"), "primary_attack", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_5ap7h"), "primary_attack_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_dde6r"), "primary_attack_right", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_5a80x"), "primary_attack_back", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_cwnal"), "primary_attack_right", "primary_attack", SubResource("AnimationNodeStateMachineTransition_ik0ko"), "primary_attack", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_7h3pp"), "primary_attack_right", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_te4ac"), "primary_attack_left", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_skhgh"), "primary_attack_left", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_j8po0"), "primary_attack_back", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_cvb6o"), "primary_attack_left", "idle_left", SubResource("AnimationNodeStateMachineTransition_qrpvt"), "primary_attack_right", "idle_right", SubResource("AnimationNodeStateMachineTransition_obci0"), "primary_attack_back", "idle_back", SubResource("AnimationNodeStateMachineTransition_cuv27"), "idle_front", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_ach2p"), "idle_right", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_8cyro"), "idle_back", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_4fl8s"), "idle_left", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_ykv10"), "idle_front_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_hbwwn"), "idle_right_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_gcl0k"), "idle_left_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_o3f25"), "idle_back_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_r7yhf"), "idle_right", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_516bs"), "idle_front", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_wiojf"), "idle_left", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_fgvwe"), "idle_back", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_1lijp"), "idle_front_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_3pd83"), "idle_right_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_wyiwg"), "idle_back_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_l1dx6"), "idle_left_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_57oo3"), "idle_right", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_tpmfr"), "idle_front", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_8hjrx"), "idle_back", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ouq20"), "idle_left", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_1a3du"), "idle_front_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ymlkb"), "idle_right_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_7u4wg"), "idle_left_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_oatu2"), "idle_back_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ynkt4"), "secondary_attack", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_7a6is"), "secondary_attack_right", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_u5xjp"), "secondary_attack", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_5cwnl"), "secondary_attack_left", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_e0gee"), "secondary_attack", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_mno7m"), "secondary_attack_back", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_4h5gj"), "secondary_attack_left", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_e5pq0"), "secondary_attack_back", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_wka7s"), "secondary_attack_back", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_8jscc"), "secondary_attack_right", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_7vrs0"), "secondary_attack_left", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_20678"), "secondary_attack_right", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_k6da7"), "idle_front", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_eslbn"), "idle_front", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_krqul"), "idle_front", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_pyy2h"), "idle_front", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_smxxh"), "idle_right", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_at0n1"), "idle_right", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_svg22"), "idle_right", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_s7lar"), "idle_right", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_akobn"), "idle_left", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_bsqna"), "idle_left", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_gol4k"), "idle_left", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_p4ilm"), "idle_left", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_k83sm"), "idle_back", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_kcq25"), "idle_back", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_01v4k"), "idle_back", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_jltoa"), "idle_back", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_oimc0"), "idle_front_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_xcm4a"), "idle_front_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_ddwwq"), "idle_front_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_n4eka"), "idle_front_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_ec8sv"), "idle_left_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_g2s00"), "idle_left_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_yqxd5"), "idle_left_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_maccb"), "idle_left_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_5xhee"), "idle_back_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_503vp"), "idle_back_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_7y3hb"), "idle_back_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_h8dgw"), "idle_back_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_nvud8"), "idle_right_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_nsjll"), "idle_right_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_rwn6o"), "idle_right_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_rqeru"), "idle_right_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_5qfjk"), "secondary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_uyx05"), "secondary_attack_right", "idle_right", SubResource("AnimationNodeStateMachineTransition_6io2i"), "secondary_attack_left", "idle_left", SubResource("AnimationNodeStateMachineTransition_7jav2"), "secondary_attack_back", "idle_back", SubResource("AnimationNodeStateMachineTransition_c1hmo"), "primary_attack", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_yu2km")] -graph_offset = Vector2(-394.573, -407.919) +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_olfsm"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_f1vvk"] + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_mhdbq"] +states/Idle/node = ExtResource("166_yh3w6") +states/Idle/position = Vector2(359, 100) +"states/Primary Attack/node" = ExtResource("167_fab8g") +"states/Primary Attack/position" = Vector2(359, 263) +states/Walking/node = ExtResource("169_w7rrw") +states/Walking/position = Vector2(687, 100) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_y7ljc"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_08dxp"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_yk2s3"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_mb5pg"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_olfsm"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_f1vvk")] [sub_resource type="AtlasTexture" id="AtlasTexture_iv5px"] atlas = ExtResource("381_moqrm") @@ -3222,7 +2736,8 @@ libraries = { [node name="AnimationTree" type="AnimationTree" parent="."] unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") -tree_root = SubResource("AnimationNodeStateMachine_3ev0n") +tree_root = SubResource("AnimationNodeStateMachine_mhdbq") +advance_expression_base_node = NodePath("..") anim_player = NodePath("../AnimationPlayer") [node name="Attack VFX" type="AnimatedSprite3D" parent="."] diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.cs index ddd5e165..6f0afefb 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.cs @@ -26,16 +26,16 @@ public partial class ShieldOfHeaven : FollowsPlayerEnemy, IHasPrimaryAttack, IHa public void OnReady() { - SetPhysicsProcess(true); - ((EnemyModelView2D)_enemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; + SetPhysicsProcess(true); + ((EnemyModelView2D)EnemyModelView).Hitbox.AreaEntered += Hitbox_AreaEntered; } public void OnPhysicsProcess(double delta) { - _enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta)); - FollowPlayerAndAttack(_enemyLogic, GlobalPosition, _player.CurrentPosition); - _navigationAgentClient.CalculateVelocity(GlobalPosition, true); - base._PhysicsProcess(delta); + _enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta)); + FollowPlayerAndAttack(_enemyLogic, GlobalPosition, _player.CurrentPosition); + Velocity = _navigationAgentClient.Velocity; + base._PhysicsProcess(delta); } public override void TakeAction() @@ -48,18 +48,17 @@ public partial class ShieldOfHeaven : FollowsPlayerEnemy, IHasPrimaryAttack, IHa public override void Die() { - _navigationAgentClient.Stop(); - base.Die(); + base.Die(); } public void PrimaryAttack() { - _enemyModelView.PlayPrimaryAttackAnimation(); + EnemyModelView.PlayPrimaryAttackAnimation(); } public void SecondaryAttack() { - _enemyModelView.PlaySecondaryAttackAnimation(); + EnemyModelView.PlaySecondaryAttackAnimation(); } public override void SetTarget(Vector3 target) => _navigationAgentClient.SetTarget(target); 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 a8b3822e..5f020b77 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 @@ -1,4 +1,4 @@ -[gd_scene load_steps=176 format=3 uid="uid://c5asojy73n44d"] +[gd_scene load_steps=116 format=3 uid="uid://c5asojy73n44d"] [ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_mnn74"] [ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_e7c5t"] @@ -48,6 +48,8 @@ [ext_resource type="Texture2D" uid="uid://dl12u2wcp0fkb" path="res://src/enemy/enemy_types/13. gold sproingy/animations/GOLD_SPROING_SIDE/Layer 14.png" id="31_ie1nt"] [ext_resource type="Texture2D" uid="uid://bcu6ei8kbcv2w" path="res://src/enemy/enemy_types/13. gold sproingy/animations/GOLD_SPROING_SIDE/Layer 15.png" id="32_u2p8a"] [ext_resource type="Texture2D" uid="uid://08wt71swke3c" path="res://src/enemy/enemy_types/13. gold sproingy/animations/sproing sparkle sheet.png" id="50_pa2de"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="50_smvnd"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://cy2ngl55c0rws" path="res://src/enemy/animation_state_machines/WalkingStateMachine.tres" id="51_fynbp"] [ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="58_ahls6"] [ext_resource type="PackedScene" uid="uid://dpoonda2dwwic" path="res://src/enemy/BasicEnemyAnimationTree.tscn" id="59_gqipt"] @@ -545,221 +547,19 @@ _data = { &"idle_right_walk": SubResource("Animation_7hf3j") } -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_53wuj"] -animation = &"idle_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o0tmb"] -animation = &"idle_back_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_d5bmw"] -animation = &"idle_front" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a6s5c"] -animation = &"idle_front_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fpvxl"] -animation = &"idle_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dvj10"] -animation = &"idle_left_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7hf3j"] -animation = &"idle_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"] -animation = &"idle_right_walk" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3xv6a"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0h1op"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_361b7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wftla"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gqqkl"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5cj36"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qq0ru"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fynbp"] advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c54uj"] -switch_mode = 1 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bxjfw"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qmo72"] -switch_mode = 1 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_w6rvj"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jyt1n"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5un2v"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2x3nl"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6a5nw"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0jqty"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yjcrh"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2ybyh"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n454k"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vrcjv"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h1yxw"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kg6hd"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_25i3y"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5g722"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a6y4x"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7y7m4"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ldcvv"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_aalmk"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2le5t"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4nmgu"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mw5r6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jbtxi"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mjxlk"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_djeua"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8wbs7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mnr4r"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l2wq1"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7hf3j"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jwlar"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fdoul"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kpotx"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lfuuf"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dfvqa"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_at0w8"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_afod7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dwhw7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qjloj"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7uqwg"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k4jom"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ku0f8"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fwynu"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_t7vd7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tv4ou"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0b3yx"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ysi80"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ktp1h"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1cx5a"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_dson0"] -states/End/position = Vector2(1882, 19) -states/Start/position = Vector2(29, 290) -states/idle_back/node = SubResource("AnimationNodeAnimation_53wuj") -states/idle_back/position = Vector2(459.116, 24) -states/idle_back_walk/node = SubResource("AnimationNodeAnimation_o0tmb") -states/idle_back_walk/position = Vector2(1052, 55.9474) -states/idle_front/node = SubResource("AnimationNodeAnimation_d5bmw") -states/idle_front/position = Vector2(190.295, -177) -states/idle_front_walk/node = SubResource("AnimationNodeAnimation_a6s5c") -states/idle_front_walk/position = Vector2(772, -177) -states/idle_left/node = SubResource("AnimationNodeAnimation_fpvxl") -states/idle_left/position = Vector2(459.116, -177) -states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10") -states/idle_left_walk/position = Vector2(1052, -177) -states/idle_right/node = SubResource("AnimationNodeAnimation_7hf3j") -states/idle_right/position = Vector2(190.295, 24) -states/idle_right_walk/node = SubResource("AnimationNodeAnimation_ivy74") -states/idle_right_walk/position = Vector2(772, 55.9474) -transitions = ["idle_front_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_3xv6a"), "idle_left_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0h1op"), "idle_front_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_361b7"), "idle_back_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_wftla"), "idle_back_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_gqqkl"), "idle_left_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_5cj36"), "Start", "idle_front", SubResource("AnimationNodeStateMachineTransition_qq0ru"), "idle_front", "idle_back", SubResource("AnimationNodeStateMachineTransition_c54uj"), "idle_back", "idle_left", SubResource("AnimationNodeStateMachineTransition_qmo72"), "idle_left", "idle_front", SubResource("AnimationNodeStateMachineTransition_jyt1n"), "idle_left", "idle_back", SubResource("AnimationNodeStateMachineTransition_5un2v"), "idle_back", "idle_front", SubResource("AnimationNodeStateMachineTransition_2x3nl"), "idle_front", "idle_left", SubResource("AnimationNodeStateMachineTransition_6a5nw"), "idle_back", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0jqty"), "idle_front", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_yjcrh"), "idle_back", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_2ybyh"), "idle_left", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_n454k"), "idle_back_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_vrcjv"), "idle_back_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_h1yxw"), "idle_back_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_kg6hd"), "idle_back", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_25i3y"), "idle_left", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_5g722"), "idle_front", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_a6y4x"), "idle_left_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_7y7m4"), "idle_left_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ldcvv"), "idle_left_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_aalmk"), "idle_front_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_2le5t"), "idle_front_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_4nmgu"), "idle_front_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_mw5r6"), "idle_front", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jbtxi"), "idle_left", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_mjxlk"), "idle_right", "idle_front", SubResource("AnimationNodeStateMachineTransition_ivy74"), "idle_front", "idle_right", SubResource("AnimationNodeStateMachineTransition_x7uye"), "idle_right", "idle_left", SubResource("AnimationNodeStateMachineTransition_djeua"), "idle_left", "idle_right", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "idle_right", "idle_back", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "idle_back", "idle_right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "idle_right", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_7hf3j"), "idle_right", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jwlar"), "idle_right", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fdoul"), "idle_front_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_kpotx"), "idle_back_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "idle_left_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "idle_front_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_at0w8"), "idle_right_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_afod7"), "idle_right_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_dwhw7"), "idle_left_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_qjloj"), "idle_right_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_7uqwg"), "idle_back_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_k4jom"), "idle_right_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ku0f8"), "idle_left", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_fwynu"), "idle_right_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_t7vd7"), "idle_back", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_tv4ou"), "idle_right_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_0b3yx"), "idle_front", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_ysi80"), "idle_right_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_ktp1h"), "idle_right", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_1cx5a")] -graph_offset = Vector2(-591.636, -79.0988) +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_bxjfw"] +states/Idle/node = ExtResource("50_smvnd") +states/Idle/position = Vector2(399, 100) +states/Wallking/node = ExtResource("51_fynbp") +states/Wallking/position = Vector2(593, 100) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_fynbp"), "Idle", "Wallking", SubResource("AnimationNodeStateMachineTransition_bxjfw"), "Wallking", "Idle", SubResource("AnimationNodeStateMachineTransition_w6rvj")] [sub_resource type="AtlasTexture" id="AtlasTexture_smvnd"] atlas = ExtResource("50_pa2de") @@ -1129,7 +929,8 @@ libraries = { [node name="AnimationTree" parent="." instance=ExtResource("59_gqipt")] unique_name_in_owner = true -tree_root = SubResource("AnimationNodeStateMachine_dson0") +tree_root = SubResource("AnimationNodeStateMachine_bxjfw") +advance_expression_base_node = NodePath("..") [node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."] transform = Transform3D(0.37, 0, 0, 0, 0.37, 0, 0, 0, 0.37, -0.0374646, 0.291998, -1.19209e-07) diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWall.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWall.cs index 4edd8b7d..d386abeb 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWall.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWall.cs @@ -2,6 +2,7 @@ using Chickensoft.AutoInject; using Chickensoft.Collections; using Chickensoft.Introspection; using Godot; +using System; using System.Linq; using Zennysoft.Ma.Adapter; @@ -28,70 +29,80 @@ public partial class DemonWall : CharacterBody3D, IEnemy public void OnReady() { - CurrentHP = new AutoProp(_enemyStatResource.MaximumHP); - _attackTimer = new Timer { WaitTime = 5f }; - _attackTimer.Timeout += AttackTimer_Timeout; - AddChild(_attackTimer); - _damageCalculator = new DamageCalculator(); - CurrentHP.Sync += CurrentHP_Sync; + CurrentHP = new AutoProp(_enemyStatResource.MaximumHP); + _attackTimer = new Timer { WaitTime = 5f }; + _attackTimer.Timeout += AttackTimer_Timeout; + AddChild(_attackTimer); + _damageCalculator = new DamageCalculator(); + CurrentHP.Sync += CurrentHP_Sync; } private void CurrentHP_Sync(double newHP) { - if (newHP <= 0) - Die(); + if (newHP <= 0) + Die(); } public void Activate() { - EnemyModelView.Activate(); - SetPhysicsProcess(true); - StartAttackTimer(); + EnemyModelView.PlayActivateAnimation(); + SetPhysicsProcess(true); + StartAttackTimer(); } private void AttackTimer_Timeout() { - TakeAction(); + TakeAction(); } public void TakeAction() { - EnemyModelView.Attack(_maximumWallMoveAmount); + EnemyModelView.Attack(_maximumWallMoveAmount); } public void Move(Vector3 velocity) => throw new System.NotImplementedException(); public void TakeDamage(double damage, ElementType elementType = ElementType.None, bool isCriticalHit = false, bool ignoreDefense = false, bool ignoreElementalResistance = false) { - var damageTaken = _damageCalculator.CalculateDamage( - damage, - elementType, - _enemyStatResource.CurrentDefense, - _enemyStatResource.ElementalResistance, - isCriticalHit, - ignoreDefense, - ignoreElementalResistance); + var damageTaken = _damageCalculator.CalculateDamage( + damage, + elementType, + _enemyStatResource.CurrentDefense, + _enemyStatResource.ElementalResistance, + isCriticalHit, + ignoreDefense, + ignoreElementalResistance); - CurrentHP.OnNext(CurrentHP.Value - damageTaken); - GD.Print($"Demon Wall HP Left: {CurrentHP.Value}"); - EnemyModelView.PlayHitAnimation(); + CurrentHP.OnNext(CurrentHP.Value - damageTaken); + GD.Print($"Demon Wall HP Left: {CurrentHP.Value}"); + EnemyModelView.PlayHitAnimation(); } - public void Knockback(float impulse, Vector3 direction) => throw new System.NotImplementedException(); - public void SetCurrentHP(int newHP) => throw new System.NotImplementedException(); + public void Idle() + { + throw new NotImplementedException(); + } + + public void Move() + { + throw new NotImplementedException(); + } + + public void Knockback(float impulse, Vector3 direction) => throw new NotImplementedException(); + public void SetCurrentHP(int newHP) => throw new NotImplementedException(); public int GetMaximumHP() => _enemyStatResource.MaximumHP; public void StartAttackTimer() => _attackTimer.Start(); public void StopAttackTimer() => _attackTimer.Stop(); - public void SetTarget(Vector3 target) => throw new System.NotImplementedException(); - public void SetEnemyGlobalPosition(Vector3 target) => throw new System.NotImplementedException(); - public Vector3 GetEnemyGlobalPosition() => throw new System.NotImplementedException(); - public IDungeonRoom GetCurrentRoom() => throw new System.NotImplementedException(); + public void SetTarget(Vector3 target) => throw new NotImplementedException(); + public void SetEnemyGlobalPosition(Vector3 target) => throw new NotImplementedException(); + public Vector3 GetEnemyGlobalPosition() => throw new NotImplementedException(); + public IDungeonRoom GetCurrentRoom() => throw new NotImplementedException(); public async void Die() { - CurrentHP.OnCompleted(); - EnemyModelView.PlayDeathAnimation(); - await ToSignal(GetTree().CreateTimer(0.8f), "timeout"); - CallDeferred(MethodName.QueueFree); + CurrentHP.OnCompleted(); + EnemyModelView.PlayDeathAnimation(); + await ToSignal(GetTree().CreateTimer(0.8f), "timeout"); + CallDeferred(MethodName.QueueFree); } } diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallModelView.cs b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallModelView.cs index 463acf70..df2ac5f4 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallModelView.cs +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/16. demon wall/DemonWallModelView.cs @@ -24,81 +24,81 @@ public partial class DemonWallModelView : EnemyModelView3D [Node] private AnimatableBody3D _opposingWall { get; set; } = default!; - public void Activate() + public void PlayActivateAnimation() { - _opposingWall.Show(); - var collisionShape = _opposingWall.GetChildren().OfType().Single(); - collisionShape.SetDeferred(CollisionShape3D.PropertyName.Disabled, false); - SetPhysicsProcess(true); + _opposingWall.Show(); + var collisionShape = _opposingWall.GetChildren().OfType().Single(); + collisionShape.SetDeferred(CollisionShape3D.PropertyName.Disabled, false); + SetPhysicsProcess(true); } public void OnPhysicsProcess(double delta) { - var direction = GlobalPosition.DirectionTo(_player.CurrentPosition).Normalized(); - var rotationAngle = GetRotationAngle(_rotation); - RotateToPlayer(Eye, rotationAngle, 1f); + var direction = GlobalPosition.DirectionTo(_player.CurrentPosition).Normalized(); + var rotationAngle = GetRotationAngle(_rotation); + RotateToPlayer(Eye, rotationAngle, 1f); } public void RotateToPlayer(Node3D rotateObject, float rotationAngle, float timeInSeconds) { - var tweener = CreateTween(); - tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(rotateObject, x)), rotateObject.Rotation.Y, rotationAngle, timeInSeconds); + var tweener = CreateTween(); + tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(rotateObject, x)), rotateObject.Rotation.Y, rotationAngle, timeInSeconds); } public async void Attack(double maximumWallMoveAmount) { - var rng = new RandomNumberGenerator(); - rng.Randomize(); + var rng = new RandomNumberGenerator(); + rng.Randomize(); - var leftArms = new Godot.Collections.Array(LeftArms.GetChildren().Cast()); - var rightArms = new Godot.Collections.Array(RightArms.GetChildren().Cast()); + var leftArms = new Godot.Collections.Array(LeftArms.GetChildren().Cast()); + var rightArms = new Godot.Collections.Array(RightArms.GetChildren().Cast()); - var leftArm = leftArms.PickRandom(); - var rightArm = rightArms.PickRandom(); + var leftArm = leftArms.PickRandom(); + var rightArm = rightArms.PickRandom(); - leftArm.PrimaryAttack(); - rightArm.PrimaryAttack(); + leftArm.PrimaryAttack(); + rightArm.PrimaryAttack(); - var arm1 = GetNode("%Arm1"); - var arm2 = GetNode("%Arm2"); - var arm7 = GetNode("%Arm2"); + var arm1 = GetNode("%Arm1"); + var arm2 = GetNode("%Arm2"); + var arm7 = GetNode("%Arm2"); - if (leftArm == arm1) - await AimAtPlayer(arm1, 2.1); - if (leftArm == arm2) - await AimAtPlayer(arm2, 1.5); - if (leftArm == GetNode("%Arm3") && _opposingWall.Position.Z > -maximumWallMoveAmount) - MoveWall(); - if (rightArm == arm7) - await AimAtPlayer(arm7, 2.5); + if (leftArm == arm1) + await AimAtPlayer(arm1, 2.1); + if (leftArm == arm2) + await AimAtPlayer(arm2, 1.5); + if (leftArm == GetNode("%Arm3") && _opposingWall.Position.Z > -maximumWallMoveAmount) + MoveWall(); + if (rightArm == arm7) + await AimAtPlayer(arm7, 2.5); } private async Task AimAtPlayer(DemonWallArm arm, double animationLengthInSeconds) { - var rotationAngle = GetRotationAngle(arm.GetNode("%Rotation")); - RotateToPlayer(arm.GetNode("%Pivot"), rotationAngle, 0.3f); - await ToSignal(GetTree().CreateTimer(animationLengthInSeconds), "timeout"); - RotateToPlayer(arm.GetNode("%Pivot"), 0, 0.3f); + var rotationAngle = GetRotationAngle(arm.GetNode("%Rotation")); + RotateToPlayer(arm.GetNode("%Pivot"), rotationAngle, 0.3f); + await ToSignal(GetTree().CreateTimer(animationLengthInSeconds), "timeout"); + RotateToPlayer(arm.GetNode("%Pivot"), 0, 0.3f); } private async void MoveWall() { - await ToSignal(GetTree().CreateTimer(1.5f), "timeout"); - var tweener = CreateTween(); - tweener.TweenMethod(Callable.From((float x) => MoveWallTowardsPlayer(x)), _opposingWall.Position.Z, _opposingWall.Position.Z - 2, 3f); + await ToSignal(GetTree().CreateTimer(1.5f), "timeout"); + var tweener = CreateTween(); + tweener.TweenMethod(Callable.From((float x) => MoveWallTowardsPlayer(x)), _opposingWall.Position.Z, _opposingWall.Position.Z - 2, 3f); } private void MoveWallTowardsPlayer(float moveAmount) { - _opposingWall.Position = new Vector3(_opposingWall.Position.X, _opposingWall.Position.Y, moveAmount); + _opposingWall.Position = new Vector3(_opposingWall.Position.X, _opposingWall.Position.Y, moveAmount); } private float GetRotationAngle(Node3D rotationNode) { - var target = new Vector3(_player.CurrentPosition.X, Position.Y, _player.CurrentPosition.Z); - rotationNode.LookAt(target, Vector3.Up, true); - rotationNode.RotateY(Rotation.Y); - return rotationNode.Rotation.Y; + var target = new Vector3(_player.CurrentPosition.X, Position.Y, _player.CurrentPosition.Z); + rotationNode.LookAt(target, Vector3.Up, true); + rotationNode.RotateY(Rotation.Y); + return rotationNode.Rotation.Y; } private void RotateTowardsPlayer(Node3D rotationNode, float angle) => rotationNode.Rotation = new Vector3(rotationNode.Rotation.X, angle, rotationNode.Rotation.Z); 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 18b96fa3..c3c78636 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=529 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"] @@ -333,6 +333,9 @@ [ext_resource type="Texture2D" uid="uid://daos4dnmaq6xx" path="res://src/enemy/enemy_types/9b. Aqueos Demon/animations/WATER LOOP/0188.png" id="331_p8xq6"] [ext_resource type="Texture2D" uid="uid://c311su0a86yii" path="res://src/enemy/enemy_types/9b. Aqueos Demon/animations/WATER LOOP/0190.png" id="332_8j4qa"] [ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="333_ylptm"] +[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"] [sub_resource type="ViewportTexture" id="ViewportTexture_h1kaf"] viewport_path = NodePath("Sprite3D/SubViewportContainer/SubViewport") @@ -1970,525 +1973,29 @@ _data = { &"secondary_attack_right": SubResource("Animation_x32v4") } -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_53wuj"] -animation = &"idle_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o0tmb"] -animation = &"idle_back_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_d5bmw"] -animation = &"idle_front" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a6s5c"] -animation = &"idle_front_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fpvxl"] -animation = &"idle_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dvj10"] -animation = &"idle_left_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7hf3j"] -animation = &"idle_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"] -animation = &"idle_right_walk" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_erbrx"] -animation = &"primary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x7uye"] -animation = &"primary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_djeua"] -animation = &"primary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8wbs7"] -animation = &"primary_attack_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_eslbn"] -animation = &"secondary_attack" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_krqul"] -animation = &"secondary_attack_back" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_pyy2h"] -animation = &"secondary_attack_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_smxxh"] -animation = &"secondary_attack_right" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3xv6a"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0h1op"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_361b7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wftla"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gqqkl"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5cj36"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4t05h"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bmy1k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mxl7w"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qq0ru"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wr22k"] advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c54uj"] -switch_mode = 1 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_s1m3f"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qmo72"] -switch_mode = 1 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_chae2"] -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jyt1n"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5un2v"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2x3nl"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6a5nw"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0jqty"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yjcrh"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2ybyh"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n454k"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vrcjv"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h1yxw"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kg6hd"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_25i3y"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5g722"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a6y4x"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7y7m4"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ldcvv"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_aalmk"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2le5t"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4nmgu"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mw5r6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jbtxi"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mjxlk"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_al2xs"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_irq32"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2khaq"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rh3bi"] switch_mode = 2 advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k7x0x"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_djeua"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8wbs7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mnr4r"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l2wq1"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7hf3j"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jwlar"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fdoul"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kpotx"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lfuuf"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dfvqa"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dnvt3"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_at0w8"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_afod7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dwhw7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qjloj"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7uqwg"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k4jom"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ku0f8"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fwynu"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_t7vd7"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tv4ou"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0b3yx"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ysi80"] -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ktp1h"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1cx5a"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fn67p"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6qb08"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5ap7h"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dde6r"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5a80x"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cwnal"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ik0ko"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7h3pp"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_te4ac"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_skhgh"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_j8po0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cvb6o"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qrpvt"] +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ar8mh"] switch_mode = 2 advance_mode = 2 -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_obci0"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cuv27"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ach2p"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8cyro"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4fl8s"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ykv10"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hbwwn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gcl0k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_o3f25"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_r7yhf"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_516bs"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wiojf"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fgvwe"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1lijp"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3pd83"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wyiwg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l1dx6"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_57oo3"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tpmfr"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8hjrx"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ouq20"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1a3du"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ymlkb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7u4wg"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oatu2"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ynkt4"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7a6is"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_u5xjp"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5cwnl"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e0gee"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mno7m"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4h5gj"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e5pq0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wka7s"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8jscc"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7vrs0"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_20678"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k6da7"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_eslbn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_krqul"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pyy2h"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_smxxh"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_at0n1"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_svg22"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_s7lar"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_akobn"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bsqna"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gol4k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_p4ilm"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k83sm"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kcq25"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_01v4k"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jltoa"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oimc0"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xcm4a"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ddwwq"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n4eka"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ec8sv"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_g2s00"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yqxd5"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_maccb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5xhee"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_503vp"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7y3hb"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h8dgw"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nvud8"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nsjll"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rwn6o"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rqeru"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5qfjk"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_uyx05"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6io2i"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7jav2"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c1hmo"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yu2km"] -reset = false -switch_mode = 1 - -[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_krqul"] -states/End/position = Vector2(1882, 19) -states/Start/position = Vector2(29, 290) -states/idle_back/node = SubResource("AnimationNodeAnimation_53wuj") -states/idle_back/position = Vector2(584.116, -35) -states/idle_back_walk/node = SubResource("AnimationNodeAnimation_o0tmb") -states/idle_back_walk/position = Vector2(1052, 55.9474) -states/idle_front/node = SubResource("AnimationNodeAnimation_d5bmw") -states/idle_front/position = Vector2(3.295, -311) -states/idle_front_walk/node = SubResource("AnimationNodeAnimation_a6s5c") -states/idle_front_walk/position = Vector2(772, -177) -states/idle_left/node = SubResource("AnimationNodeAnimation_fpvxl") -states/idle_left/position = Vector2(459.116, -177) -states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10") -states/idle_left_walk/position = Vector2(1037, -287) -states/idle_right/node = SubResource("AnimationNodeAnimation_7hf3j") -states/idle_right/position = Vector2(265.295, -105) -states/idle_right_walk/node = SubResource("AnimationNodeAnimation_ivy74") -states/idle_right_walk/position = Vector2(779, 34.9474) -states/primary_attack/node = SubResource("AnimationNodeAnimation_erbrx") -states/primary_attack/position = Vector2(223, 315) -states/primary_attack_back/node = SubResource("AnimationNodeAnimation_x7uye") -states/primary_attack_back/position = Vector2(632.525, 474.749) -states/primary_attack_left/node = SubResource("AnimationNodeAnimation_djeua") -states/primary_attack_left/position = Vector2(632.525, 329) -states/primary_attack_right/node = SubResource("AnimationNodeAnimation_8wbs7") -states/primary_attack_right/position = Vector2(210.295, 464.749) -states/secondary_attack/node = SubResource("AnimationNodeAnimation_eslbn") -states/secondary_attack/position = Vector2(1037, 315) -states/secondary_attack_back/node = SubResource("AnimationNodeAnimation_krqul") -states/secondary_attack_back/position = Vector2(1349.83, 458.279) -states/secondary_attack_left/node = SubResource("AnimationNodeAnimation_pyy2h") -states/secondary_attack_left/position = Vector2(1349.83, 315) -states/secondary_attack_right/node = SubResource("AnimationNodeAnimation_smxxh") -states/secondary_attack_right/position = Vector2(1052, 464.749) -transitions = ["idle_front_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_3xv6a"), "idle_left_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0h1op"), "idle_front_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_361b7"), "idle_back_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_wftla"), "idle_back_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_gqqkl"), "idle_left_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_5cj36"), "idle_front_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_4t05h"), "idle_back_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_bmy1k"), "idle_left_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_mxl7w"), "Start", "idle_front", SubResource("AnimationNodeStateMachineTransition_qq0ru"), "idle_front", "idle_back", SubResource("AnimationNodeStateMachineTransition_c54uj"), "idle_back", "idle_left", SubResource("AnimationNodeStateMachineTransition_qmo72"), "idle_left", "idle_front", SubResource("AnimationNodeStateMachineTransition_jyt1n"), "idle_left", "idle_back", SubResource("AnimationNodeStateMachineTransition_5un2v"), "idle_back", "idle_front", SubResource("AnimationNodeStateMachineTransition_2x3nl"), "idle_front", "idle_left", SubResource("AnimationNodeStateMachineTransition_6a5nw"), "idle_back", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0jqty"), "idle_front", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_yjcrh"), "idle_back", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_2ybyh"), "idle_left", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_n454k"), "idle_back_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_vrcjv"), "idle_back_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_h1yxw"), "idle_back_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_kg6hd"), "idle_back", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_25i3y"), "idle_left", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_5g722"), "idle_front", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_a6y4x"), "idle_left_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_7y7m4"), "idle_left_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ldcvv"), "idle_left_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_aalmk"), "idle_front_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_2le5t"), "idle_front_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_4nmgu"), "idle_front_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_mw5r6"), "idle_front", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jbtxi"), "idle_left", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_mjxlk"), "idle_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_al2xs"), "idle_front", "primary_attack", SubResource("AnimationNodeStateMachineTransition_irq32"), "primary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_2khaq"), "idle_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_k7x0x"), "idle_right", "idle_front", SubResource("AnimationNodeStateMachineTransition_ivy74"), "idle_front", "idle_right", SubResource("AnimationNodeStateMachineTransition_x7uye"), "idle_right", "idle_left", SubResource("AnimationNodeStateMachineTransition_djeua"), "idle_left", "idle_right", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "idle_right", "idle_back", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "idle_back", "idle_right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "idle_right", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_7hf3j"), "idle_right", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_jwlar"), "idle_right", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fdoul"), "idle_front_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_kpotx"), "idle_back_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "idle_left_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "idle_right", "primary_attack", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "idle_front_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_at0w8"), "idle_right_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_afod7"), "idle_right_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_dwhw7"), "idle_left_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_qjloj"), "idle_right_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_7uqwg"), "idle_back_walk", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_k4jom"), "idle_right_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_ku0f8"), "idle_left", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_fwynu"), "idle_right_walk", "idle_back", SubResource("AnimationNodeStateMachineTransition_t7vd7"), "idle_back", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_tv4ou"), "idle_right_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_0b3yx"), "idle_front", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_ysi80"), "idle_right_walk", "idle_right", SubResource("AnimationNodeStateMachineTransition_ktp1h"), "idle_right", "idle_right_walk", SubResource("AnimationNodeStateMachineTransition_1cx5a"), "idle_right_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_fn67p"), "primary_attack_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_6qb08"), "primary_attack", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_5ap7h"), "primary_attack_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_dde6r"), "primary_attack_right", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_5a80x"), "primary_attack_back", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_cwnal"), "primary_attack_right", "primary_attack", SubResource("AnimationNodeStateMachineTransition_ik0ko"), "primary_attack", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_7h3pp"), "primary_attack_right", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_te4ac"), "primary_attack_left", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_skhgh"), "primary_attack_left", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_j8po0"), "primary_attack_back", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_cvb6o"), "primary_attack_left", "idle_left", SubResource("AnimationNodeStateMachineTransition_qrpvt"), "primary_attack_right", "idle_right", SubResource("AnimationNodeStateMachineTransition_obci0"), "primary_attack_back", "idle_back", SubResource("AnimationNodeStateMachineTransition_cuv27"), "idle_front", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_ach2p"), "idle_right", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_8cyro"), "idle_back", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_4fl8s"), "idle_left", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_ykv10"), "idle_front_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_hbwwn"), "idle_right_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_gcl0k"), "idle_left_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_o3f25"), "idle_back_walk", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_r7yhf"), "idle_right", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_516bs"), "idle_front", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_wiojf"), "idle_left", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_fgvwe"), "idle_back", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_1lijp"), "idle_front_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_3pd83"), "idle_right_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_wyiwg"), "idle_back_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_l1dx6"), "idle_left_walk", "primary_attack_right", SubResource("AnimationNodeStateMachineTransition_57oo3"), "idle_right", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_tpmfr"), "idle_front", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_8hjrx"), "idle_back", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ouq20"), "idle_left", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_1a3du"), "idle_front_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ymlkb"), "idle_right_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_7u4wg"), "idle_left_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_oatu2"), "idle_back_walk", "primary_attack_back", SubResource("AnimationNodeStateMachineTransition_ynkt4"), "secondary_attack", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_7a6is"), "secondary_attack_right", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_u5xjp"), "secondary_attack", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_5cwnl"), "secondary_attack_left", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_e0gee"), "secondary_attack", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_mno7m"), "secondary_attack_back", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_4h5gj"), "secondary_attack_left", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_e5pq0"), "secondary_attack_back", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_wka7s"), "secondary_attack_back", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_8jscc"), "secondary_attack_right", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_7vrs0"), "secondary_attack_left", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_20678"), "secondary_attack_right", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_k6da7"), "idle_front", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_eslbn"), "idle_front", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_krqul"), "idle_front", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_pyy2h"), "idle_front", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_smxxh"), "idle_right", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_at0n1"), "idle_right", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_svg22"), "idle_right", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_s7lar"), "idle_right", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_akobn"), "idle_left", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_bsqna"), "idle_left", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_gol4k"), "idle_left", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_p4ilm"), "idle_left", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_k83sm"), "idle_back", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_kcq25"), "idle_back", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_01v4k"), "idle_back", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_jltoa"), "idle_back", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_oimc0"), "idle_front_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_xcm4a"), "idle_front_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_ddwwq"), "idle_front_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_n4eka"), "idle_front_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_ec8sv"), "idle_left_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_g2s00"), "idle_left_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_yqxd5"), "idle_left_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_maccb"), "idle_left_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_5xhee"), "idle_back_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_503vp"), "idle_back_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_7y3hb"), "idle_back_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_h8dgw"), "idle_back_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_nvud8"), "idle_right_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_nsjll"), "idle_right_walk", "secondary_attack_left", SubResource("AnimationNodeStateMachineTransition_rwn6o"), "idle_right_walk", "secondary_attack_right", SubResource("AnimationNodeStateMachineTransition_rqeru"), "idle_right_walk", "secondary_attack_back", SubResource("AnimationNodeStateMachineTransition_5qfjk"), "secondary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_uyx05"), "secondary_attack_right", "idle_right", SubResource("AnimationNodeStateMachineTransition_6io2i"), "secondary_attack_left", "idle_left", SubResource("AnimationNodeStateMachineTransition_7jav2"), "secondary_attack_back", "idle_back", SubResource("AnimationNodeStateMachineTransition_c1hmo"), "primary_attack", "primary_attack_left", SubResource("AnimationNodeStateMachineTransition_yu2km")] -graph_offset = Vector2(-238.697, -402.622) +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_o2grh"] +states/Idle/node = ExtResource("334_sm161") +states/Idle/position = Vector2(481, 100) +"states/Primary Attack/node" = ExtResource("335_6g4mi") +"states/Primary Attack/position" = Vector2(362, 252) +"states/Secondary Attack/node" = ExtResource("336_oklrx") +"states/Secondary Attack/position" = Vector2(601, 252) +transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_wr22k"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_s1m3f"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_chae2"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_rh3bi"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_ar8mh")] [sub_resource type="Animation" id="Animation_lsphj"] length = 0.001 @@ -2556,6 +2063,7 @@ _data = { [node name="EnemyModelView" type="Node3D"] script = ExtResource("1_vf7er") EnemyLoreInfo = ExtResource("2_ejhrk") +_enemyDirection = 1 [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0.516636, 0) @@ -2610,7 +2118,8 @@ libraries = { [node name="AnimationTree" type="AnimationTree" parent="."] unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") -tree_root = SubResource("AnimationNodeStateMachine_krqul") +tree_root = SubResource("AnimationNodeStateMachine_o2grh") +advance_expression_base_node = NodePath("..") anim_player = NodePath("../AnimationPlayer") [node name="Water Animation" type="AnimationPlayer" parent="."] diff --git a/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.Attacking.cs b/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.Attacking.cs index 51466aa4..a263f7a9 100644 --- a/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.Attacking.cs +++ b/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.Attacking.cs @@ -11,8 +11,14 @@ public partial class EnemyLogic { public Attacking() { - OnAttach(() => Get().StartAttackTimer()); - OnDetach(() => Get().StopAttackTimer()); + OnAttach(() => + { + Get().StartAttackTimer(); + }); + OnDetach(() => + { + Get().StopAttackTimer(); + }); } } } diff --git a/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.FollowPlayer.cs b/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.FollowPlayer.cs index c25fbdbe..1871f609 100644 --- a/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.FollowPlayer.cs +++ b/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.FollowPlayer.cs @@ -10,6 +10,11 @@ public partial class EnemyLogic [Meta, Id("enemy_logic_state_followplayer")] public partial record FollowPlayer : Activated, IGet, IGet { + public FollowPlayer() + { + OnAttach(() => Get().Move()); + } + public Transition On(in Input.PhysicsTick input) { var enemy = Get(); diff --git a/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.Idle.cs b/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.Idle.cs index e17e0865..85e47e2f 100644 --- a/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.Idle.cs +++ b/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.Idle.cs @@ -10,6 +10,11 @@ public partial class EnemyLogic [Meta, Id("enemy_logic_state_idle")] public partial record Idle : Alive, IGet { + public Idle() + { + OnAttach(() => Get().Idle()); + } + public Transition On(in Input.StartPatrol _) { return To(); diff --git a/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.Patrolling.cs b/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.Patrolling.cs index bd9a0856..16f57ba9 100644 --- a/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.Patrolling.cs +++ b/Zennysoft.Game.Ma/src/enemy/state/states/EnemyLogic.State.Patrolling.cs @@ -13,6 +13,11 @@ public partial class EnemyLogic { private Vector3 _patrolTarget { get; set; } + public Patrolling() + { + OnAttach(() => Get().Move()); + } + public Transition On(in Input.PhysicsTick input) { var delta = input.Delta; diff --git a/Zennysoft.Game.Ma/src/map/dungeon/code/DungeonRoom.cs b/Zennysoft.Game.Ma/src/map/dungeon/code/DungeonRoom.cs index c73eb961..c0104975 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/code/DungeonRoom.cs +++ b/Zennysoft.Game.Ma/src/map/dungeon/code/DungeonRoom.cs @@ -28,8 +28,11 @@ public abstract partial class DungeonRoom : Node3D, IDungeonRoom public void Setup() { _enemiesInRoom = []; - //_room.BodyEntered += Room_BodyEntered; - //_room.BodyExited += Room_BodyExited; + if (_room != null) + { + _room.BodyEntered += Room_BodyEntered; + _room.BodyExited += Room_BodyExited; + } } private void Room_BodyExited(Node3D body) diff --git a/Zennysoft.Game.Ma/src/map/dungeon/code/SpecialRoom.cs b/Zennysoft.Game.Ma/src/map/dungeon/code/SpecialRoom.cs new file mode 100644 index 00000000..542b2de3 --- /dev/null +++ b/Zennysoft.Game.Ma/src/map/dungeon/code/SpecialRoom.cs @@ -0,0 +1,10 @@ +using Chickensoft.AutoInject; +using Chickensoft.Introspection; + +namespace Zennysoft.Game.Ma; + +[Meta(typeof(IAutoNode))] +public partial class SpecialRoom : DungeonRoom +{ + public override void _Notification(int what) => this.Notify(what); +} diff --git a/Zennysoft.Game.Ma/src/map/dungeon/code/SpecialRoom.cs.uid b/Zennysoft.Game.Ma/src/map/dungeon/code/SpecialRoom.cs.uid new file mode 100644 index 00000000..fd5c1b36 --- /dev/null +++ b/Zennysoft.Game.Ma/src/map/dungeon/code/SpecialRoom.cs.uid @@ -0,0 +1 @@ +uid://bccyfmj8ikewh diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/35. Goddess of Guidance's Room.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/35. Goddess of Guidance's Room.tscn index 322bd208..3ee1435c 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/35. Goddess of Guidance's Room.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/35. Goddess of Guidance's Room.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=101 format=4 uid="uid://bo20ffw2ygbks"] +[gd_scene load_steps=97 format=4 uid="uid://bo20ffw2ygbks"] [ext_resource type="Script" uid="uid://xd6tx3lifebl" path="res://src/map/dungeon/code/SpecialFloor.cs" id="1_j4ho3"] [ext_resource type="Texture2D" uid="uid://ddrvsy7psmwig" path="res://src/map/dungeon/models/Special Floors & Rooms/35. Goddess of Guidance's Floor/GoG Room mirrored_DARKER_STONE_AREA_2.png" id="2_jbyuo"] @@ -15,10 +15,6 @@ [ext_resource type="Texture2D" uid="uid://nvg6i8gbgqjv" path="res://src/map/dungeon/models/Special Floors & Rooms/35. Goddess of Guidance's Floor/GoG Room mirrored_angkor_mural.jpg" id="14_tf4w3"] [ext_resource type="Texture2D" uid="uid://3w1ac5fvks5v" path="res://src/map/dungeon/models/Special Floors & Rooms/35. Goddess of Guidance's Floor/GoG Room mirrored_area_2_big_tile.png" id="15_nduur"] [ext_resource type="Shader" uid="uid://beg8sp6kw66w8" path="res://src/map/map shaders/GOGROOM Water.gdshader" id="16_q4do2"] -[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="17_j4ho3"] -[ext_resource type="PackedScene" uid="uid://bs56ccgosmu47" path="res://src/enemy/enemy_types/01. sproingy/Sproingy.tscn" id="18_qt11j"] -[ext_resource type="PackedScene" uid="uid://b0gwivt7cw7nd" path="res://src/enemy/enemy_types/02. michael/Michael.tscn" id="19_tkf4r"] -[ext_resource type="PackedScene" uid="uid://cvk007twac22c" path="res://src/enemy/enemy_types/03. filth_eater/FilthEater.tscn" id="20_fs8fd"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_q1ixl"] resource_name = "Material.014" @@ -1078,8 +1074,3 @@ transform = Transform3D(230, 0, 0, 0, 230, 0, 0, 0, 230, 0, -4.49359, 0) mesh = SubResource("PlaneMesh_slalf") skeleton = NodePath("../Model/GoG Room mirrored") surface_material_override/0 = SubResource("ShaderMaterial_savej") - -[node name="EnemyDatabase" parent="." instance=ExtResource("17_j4ho3")] -unique_name_in_owner = true -EnemyList = Array[PackedScene]([ExtResource("18_qt11j"), ExtResource("19_tkf4r"), ExtResource("20_fs8fd")]) -SpawnRate = PackedFloat32Array(0.5, 1, 1)