Improve enemy behavior, add filth eater
This commit is contained in:
@@ -51,7 +51,7 @@ public partial class DataViewer : Control
|
|||||||
|
|
||||||
Camera3D.Position = Camera3D.Position.Clamp(new Vector3(0, 0, 1), new Vector3(0, 0, 4));
|
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));
|
ModelPivot.Rotation = ModelPivot.Rotation.Clamp(Mathf.DegToRad(-60), Mathf.DegToRad(60));
|
||||||
_currentModel.RotateModel(_currentModel.Basis, CameraPivot.Basis.Z, 0.75f, 0.5f);
|
_currentModel.RotateModel(_currentModel.Basis, CameraPivot.Basis.Z, 0.75f, 0.5f, false);
|
||||||
|
|
||||||
if (Input.IsActionJustPressed(GameInputs.Attack))
|
if (Input.IsActionJustPressed(GameInputs.Attack))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -89,9 +89,13 @@ public partial class Enemy : RigidBody3D, IEnemy, IProvide<IEnemyLogic>
|
|||||||
var velocity = (targetPosition - GlobalTransform.Origin).Normalized() * 2f * delta;
|
var velocity = (targetPosition - GlobalTransform.Origin).Normalized() * 2f * delta;
|
||||||
var lookAtDir = GlobalTransform.Origin - velocity;
|
var lookAtDir = GlobalTransform.Origin - velocity;
|
||||||
var lookAtPosition = new Vector3(lookAtDir.X, GlobalPosition.Y, lookAtDir.Z);
|
var lookAtPosition = new Vector3(lookAtDir.X, GlobalPosition.Y, lookAtDir.Z);
|
||||||
|
|
||||||
if (GlobalPosition.DistanceTo(target) > 1.0f && !velocity.IsEqualApprox(Vector3.Zero) && !Position.IsEqualApprox(lookAtPosition))
|
if (GlobalPosition.DistanceTo(target) > 1.0f && !velocity.IsEqualApprox(Vector3.Zero) && !Position.IsEqualApprox(lookAtPosition))
|
||||||
LookAt(lookAtPosition + new Vector3(0.001f, 0.001f, 0.001f), Vector3.Up);
|
LookAt(lookAtPosition + new Vector3(0.001f, 0.001f, 0.001f), Vector3.Up);
|
||||||
EnemyModelView.RotateModel(GlobalTransform.Basis, -Player.CurrentBasis.Z);
|
|
||||||
|
var isWalking = _enemyLogic.Value is EnemyLogic.State.Patrolling or EnemyLogic.State.FollowPlayer;
|
||||||
|
|
||||||
|
EnemyModelView.RotateModel(GlobalTransform.Basis, -Player.CurrentBasis.Z, isWalking);
|
||||||
_knockbackStrength = _knockbackStrength * 0.9f;
|
_knockbackStrength = _knockbackStrength * 0.9f;
|
||||||
MoveAndCollide(velocity + (_knockbackDirection * _knockbackStrength));
|
MoveAndCollide(velocity + (_knockbackDirection * _knockbackStrength));
|
||||||
}
|
}
|
||||||
@@ -133,7 +137,6 @@ public partial class Enemy : RigidBody3D, IEnemy, IProvide<IEnemyLogic>
|
|||||||
_currentHP.Sync += OnHPChanged;
|
_currentHP.Sync += OnHPChanged;
|
||||||
LineOfSight.BodyEntered += LineOfSight_BodyEntered;
|
LineOfSight.BodyEntered += LineOfSight_BodyEntered;
|
||||||
PatrolTimer.Timeout += OnPatrolTimeout;
|
PatrolTimer.Timeout += OnPatrolTimeout;
|
||||||
AttackTimer.Timeout += OnAttackTimeout;
|
|
||||||
var rng = new RandomNumberGenerator();
|
var rng = new RandomNumberGenerator();
|
||||||
rng.Randomize();
|
rng.Randomize();
|
||||||
PatrolTimer.WaitTime = rng.RandfRange(7.0f, 15.0f);
|
PatrolTimer.WaitTime = rng.RandfRange(7.0f, 15.0f);
|
||||||
@@ -151,18 +154,40 @@ public partial class Enemy : RigidBody3D, IEnemy, IProvide<IEnemyLogic>
|
|||||||
rng.Randomize();
|
rng.Randomize();
|
||||||
var randomizedSpot = new Vector3(rng.RandfRange(-7.0f, 7.0f), 0, rng.RandfRange(-7.0f, 7.0f));
|
var randomizedSpot = new Vector3(rng.RandfRange(-7.0f, 7.0f), 0, rng.RandfRange(-7.0f, 7.0f));
|
||||||
_enemyLogic.Input(new EnemyLogic.Input.PatrolToRandomSpot(GlobalPosition + randomizedSpot));
|
_enemyLogic.Input(new EnemyLogic.Input.PatrolToRandomSpot(GlobalPosition + randomizedSpot));
|
||||||
|
_enemyLogic.Input(new EnemyLogic.Input.StartPatrol());
|
||||||
PatrolTimer.WaitTime = rng.RandfRange(5.0f, 10.0f);
|
PatrolTimer.WaitTime = rng.RandfRange(5.0f, 10.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnPhysicsProcess(double delta)
|
public void OnPhysicsProcess(double delta)
|
||||||
{
|
{
|
||||||
_enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta));
|
_enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta));
|
||||||
|
|
||||||
|
if (_enemyLogic.Value is EnemyLogic.State.FollowPlayer && GlobalPosition.DistanceTo(Player.CurrentPosition) < 2.5f)
|
||||||
|
_enemyLogic.Input(new EnemyLogic.Input.StartAttacking());
|
||||||
|
if (_enemyLogic.Value is EnemyLogic.State.FollowPlayer && GlobalPosition.DistanceTo(Player.CurrentPosition) > 45f)
|
||||||
|
_enemyLogic.Input(new EnemyLogic.Input.LostPlayer());
|
||||||
|
if (_enemyLogic.Value is EnemyLogic.State.Attacking && GlobalPosition.DistanceTo(Player.CurrentPosition) > 2.5f)
|
||||||
|
_enemyLogic.Input(new EnemyLogic.Input.Alerted());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StartAttackTimer()
|
||||||
|
{
|
||||||
|
AttackTimer.Timeout += OnAttackTimeout;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StopAttackTimer()
|
||||||
|
{
|
||||||
|
AttackTimer.Timeout -= OnAttackTimeout;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnAttackTimeout()
|
private void OnAttackTimeout()
|
||||||
{
|
{
|
||||||
if (GlobalPosition.DistanceTo(Player.CurrentPosition) > 2.5f)
|
if (GlobalPosition.DistanceTo(Player.CurrentPosition) > 2.5f)
|
||||||
|
{
|
||||||
|
_enemyLogic.Input(new EnemyLogic.Input.Alerted());
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var rng = new RandomNumberGenerator();
|
var rng = new RandomNumberGenerator();
|
||||||
rng.Randomize();
|
rng.Randomize();
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ public interface IEnemyModelView : INode3D
|
|||||||
|
|
||||||
public void PlayDeathAnimation();
|
public void PlayDeathAnimation();
|
||||||
|
|
||||||
public void RotateModel(Basis enemyBasis, Vector3 cameraDirection);
|
public void RotateModel(Basis enemyBasis, Vector3 cameraDirection, bool isWalking);
|
||||||
|
|
||||||
public void RotateModel(Basis enemyBasis, Vector3 cameraDirection, float rotateUpperThreshold, float rotateLowerThreshold);
|
public void RotateModel(Basis enemyBasis, Vector3 cameraDirection, float rotateUpperThreshold, float rotateLowerThreshold, bool isWalking);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Meta(typeof(IAutoNode))]
|
[Meta(typeof(IAutoNode))]
|
||||||
@@ -28,9 +28,12 @@ public partial class EnemyModelView : Node3D, IEnemyModelView
|
|||||||
private const string PRIMARY_ATTACK = "primary_attack";
|
private const string PRIMARY_ATTACK = "primary_attack";
|
||||||
private const string SECONDARY_ATTACK = "secondary_attack";
|
private const string SECONDARY_ATTACK = "secondary_attack";
|
||||||
private const string PRIMARY_SKILL = "primary_skill";
|
private const string PRIMARY_SKILL = "primary_skill";
|
||||||
private const string IDLE_FORWARD = "idle_front_walk";
|
private const string IDLE_FORWARD = "idle_front";
|
||||||
private const string IDLE_LEFT = "idle_left_walk";
|
private const string IDLE_LEFT = "idle_left";
|
||||||
private const string IDLE_BACK = "idle_back_walk";
|
private const string IDLE_BACK = "idle_back";
|
||||||
|
private const string IDLE_FORWARD_WALK = "idle_front_walk";
|
||||||
|
private const string IDLE_LEFT_WALK = "idle_left_walk";
|
||||||
|
private const string IDLE_BACK_WALK = "idle_back_walk";
|
||||||
private const string PARAMETERS_PLAYBACK = "parameters/playback";
|
private const string PARAMETERS_PLAYBACK = "parameters/playback";
|
||||||
|
|
||||||
public override void _Notification(int what) => this.Notify(what);
|
public override void _Notification(int what) => this.Notify(what);
|
||||||
@@ -81,9 +84,14 @@ public partial class EnemyModelView : Node3D, IEnemyModelView
|
|||||||
tweener.TweenCallback(Callable.From(QueueFree));
|
tweener.TweenCallback(Callable.From(QueueFree));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RotateModel(Basis enemyBasis, Vector3 cameraDirection) => RotateModel(enemyBasis, cameraDirection, 0.85f, 0.3f);
|
public void RotateModel(Basis enemyBasis, Vector3 cameraDirection, bool isWalking) => RotateModel(enemyBasis, cameraDirection, 0.85f, 0.3f, isWalking);
|
||||||
|
|
||||||
public void RotateModel(Basis enemyBasis, Vector3 cameraDirection, float rotateUpperThreshold, float rotateLowerThreshold)
|
public void RotateModel(
|
||||||
|
Basis enemyBasis,
|
||||||
|
Vector3 cameraDirection,
|
||||||
|
float rotateUpperThreshold,
|
||||||
|
float rotateLowerThreshold,
|
||||||
|
bool isWalking)
|
||||||
{
|
{
|
||||||
var enemyForwardDirection = enemyBasis.Z;
|
var enemyForwardDirection = enemyBasis.Z;
|
||||||
var enemyLeftDirection = enemyBasis.X;
|
var enemyLeftDirection = enemyBasis.X;
|
||||||
@@ -93,17 +101,32 @@ public partial class EnemyModelView : Node3D, IEnemyModelView
|
|||||||
|
|
||||||
// Check if forward facing. If the dot product is -1, the enemy is facing the camera.
|
// Check if forward facing. If the dot product is -1, the enemy is facing the camera.
|
||||||
if (forwardDotProduct < -rotateUpperThreshold)
|
if (forwardDotProduct < -rotateUpperThreshold)
|
||||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_FORWARD);
|
{
|
||||||
|
if (isWalking)
|
||||||
|
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_FORWARD_WALK);
|
||||||
|
else
|
||||||
|
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_FORWARD);
|
||||||
|
}
|
||||||
// Check if backward facing. If the dot product is 1, the enemy is facing the same direction as the camera.
|
// Check if backward facing. If the dot product is 1, the enemy is facing the same direction as the camera.
|
||||||
else if (forwardDotProduct > rotateUpperThreshold)
|
else if (forwardDotProduct > rotateUpperThreshold)
|
||||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_BACK);
|
{
|
||||||
|
if (isWalking)
|
||||||
|
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_BACK_WALK);
|
||||||
|
else
|
||||||
|
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_BACK);
|
||||||
|
}
|
||||||
else
|
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 the dot product of the perpendicular direction is positive (up to 1), the enemy is facing to the left (since it's mirrored).
|
||||||
AnimatedSprite.FlipH = leftDotProduct > 0;
|
AnimatedSprite.FlipH = leftDotProduct > 0;
|
||||||
// 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.
|
// 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)
|
if (Mathf.Abs(forwardDotProduct) < rotateLowerThreshold)
|
||||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_LEFT);
|
{
|
||||||
|
if (isWalking)
|
||||||
|
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_LEFT_WALK);
|
||||||
|
else
|
||||||
|
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_LEFT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,8 +140,10 @@ public partial class EnemyModelView : Node3D, IEnemyModelView
|
|||||||
|
|
||||||
private void AnimationTree_AnimationFinished(StringName animName)
|
private void AnimationTree_AnimationFinished(StringName animName)
|
||||||
{
|
{
|
||||||
if (animName == "attack")
|
if (animName == PRIMARY_ATTACK || animName == SECONDARY_ATTACK || animName == PRIMARY_SKILL)
|
||||||
|
{
|
||||||
AnimationTree.Get("parameters/playback").As<AnimationNodeStateMachinePlayback>().Travel(IDLE_FORWARD);
|
AnimationTree.Get("parameters/playback").As<AnimationNodeStateMachinePlayback>().Travel(IDLE_FORWARD);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetShaderValue(float shaderValue)
|
private void SetShaderValue(float shaderValue)
|
||||||
|
|||||||
@@ -13,4 +13,8 @@ public interface IEnemy : IKillable
|
|||||||
public void MoveToLocation(Vector3 target, float delta);
|
public void MoveToLocation(Vector3 target, float delta);
|
||||||
|
|
||||||
public double CurrentHP { get; }
|
public double CurrentHP { get; }
|
||||||
|
|
||||||
|
public void StartAttackTimer();
|
||||||
|
|
||||||
|
public void StopAttackTimer();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,12 @@ public partial class FilthEater : Enemy, IHasPrimaryAttack, IHasSecondaryAttack
|
|||||||
[Export]
|
[Export]
|
||||||
public double SecondaryAttackElementalDamageBonus { get; set; } = 1.0;
|
public double SecondaryAttackElementalDamageBonus { get; set; } = 1.0;
|
||||||
|
|
||||||
|
public void OnReady()
|
||||||
|
{
|
||||||
|
SetPhysicsProcess(true);
|
||||||
|
EnemyModelView.Hitbox.AreaEntered += Hitbox_AreaEntered;
|
||||||
|
}
|
||||||
|
|
||||||
public override void TakeAction()
|
public override void TakeAction()
|
||||||
{
|
{
|
||||||
var rng = new RandomNumberGenerator();
|
var rng = new RandomNumberGenerator();
|
||||||
@@ -35,4 +41,14 @@ public partial class FilthEater : Enemy, IHasPrimaryAttack, IHasSecondaryAttack
|
|||||||
{
|
{
|
||||||
EnemyModelView.PlaySecondaryAttackAnimation();
|
EnemyModelView.PlaySecondaryAttackAnimation();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void Hitbox_AreaEntered(Area3D area)
|
||||||
|
{
|
||||||
|
var target = area.GetOwner();
|
||||||
|
if (target is IPlayer player)
|
||||||
|
{
|
||||||
|
var damage = _enemyStatResource.CurrentAttack * PrimaryAttackElementalDamageBonus;
|
||||||
|
player.TakeDamage(damage, PrimaryAttackElementalType, BattleExtensions.IsCriticalHit(_enemyStatResource.Luck));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,101 +1,17 @@
|
|||||||
[gd_scene load_steps=128 format=3 uid="uid://cvk007twac22c"]
|
[gd_scene load_steps=10 format=3 uid="uid://cvk007twac22c"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cohal8w5ceneg" path="res://src/enemy/enemy_types/filth_eater/FilthEater.cs" id="1_fyc13"]
|
[ext_resource type="Script" uid="uid://cohal8w5ceneg" path="res://src/enemy/enemy_types/filth_eater/FilthEater.cs" id="1_fyc13"]
|
||||||
[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="2_mqiog"]
|
[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="2_mqiog"]
|
||||||
[ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="3_ipypc"]
|
[ext_resource type="PackedScene" uid="uid://bup8c4x1na3aw" path="res://src/enemy/enemy_types/filth_eater/FilthEaterModelView.tscn" id="3_rrwed"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cx1wk7n77hdpu" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 1.png" id="4_ag3g0"]
|
[ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="4_5eid5"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bv4du7bb3m6ug" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 1.png" id="4_qpdqy"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bdl6xn7wskn2r" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 2.png" id="5_881nf"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://clop1gx0va5gr" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 2.png" id="5_yyxe5"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://5iax7vcyt8qt" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 3.png" id="6_b36gv"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://ci337oq1l44ho" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 3.png" id="6_syv0y"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dgipkalbfs1f7" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 4.png" id="7_1qmf7"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://c8wivayhgj3nd" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 4.png" id="7_pwogy"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://d4lkimsumierr" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 5.png" id="8_ax8t2"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bf40014pkwx42" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 5.png" id="8_hj3yj"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cbfbew6sylfa2" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 6.png" id="9_hs56h"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dgc6rf51fioyy" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 6.png" id="9_x3ej0"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://ikiiahlk73uc" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 7.png" id="10_bhjmg"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://5s13hrs5qkka" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 7.png" id="10_uu3sx"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dfj7678uy2pvl" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 8.png" id="11_8dbcy"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://b8owhlm8bl01c" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 8.png" id="11_qr6yl"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dlt0nnxj35n80" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 9.png" id="12_8js62"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dh3uwftcjqyef" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 9.png" id="12_52gnj"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bilk4yaup2s35" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 10.png" id="13_1we81"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bk7wcnonh4jny" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 10.png" id="13_hb0co"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bkl5fxkcekwmp" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 11.png" id="14_i6i7p"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://ck5agp22b8gf8" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 12.png" id="15_trgeg"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://epvsktx6naj7" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 13.png" id="16_xbrkw"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://ca51hi4l16715" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 14.png" id="17_7q6uh"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cygkdbos7lkwp" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 15.png" id="18_hkxpi"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://d03m6olqj2w17" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 1.png" id="19_sbko7"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://t31ypmfyx5j3" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 2.png" id="20_x3iqd"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dv1gs1w0n5wkg" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 3.png" id="21_767l2"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://c25m07wbjbbes" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 4.png" id="22_6e43k"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cu1w0lx0upcqx" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 5.png" id="23_tr33v"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://culy6xkoj4qpp" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 6.png" id="24_ny7vm"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dbdfgak3luyys" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 1.png" id="24_us7b5"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cn7xwqx3ha6g6" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 7.png" id="25_k2cb6"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://btvjpj3aownnx" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 2.png" id="25_u8hmy"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://but1m3lh1bs0t" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 3.png" id="26_qkjhp"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cd8iuk2kcls5a" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 8.png" id="26_w7faw"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dvtoifuhrpyog" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 4.png" id="27_2xal1"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cayeaturveyf" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 9.png" id="27_sl1r7"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://3oxlqj4455f8" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 5.png" id="28_7cvs7"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://ccvpfhpkue7vh" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 10.png" id="28_py2qk"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://d4lxgwn6rikvb" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 6.png" id="29_8402p"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://j8y2un2sivdv" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 11.png" id="29_jasni"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://v53lbiw8me5m" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 1.png" id="29_tqvh6"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bg2xs2axaulm5" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 2.png" id="30_d6cs6"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://ww6k6t8y5ksp" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 7.png" id="30_itvqp"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://by2nkoei1mwpy" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 12.png" id="30_jcbck"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://vsdbtc6ba2eh" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 8.png" id="31_6jqkx"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://wbqtaldweh1m" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 13.png" id="31_ea8qb"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cl6b81krcl604" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 3.png" id="31_xst2h"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://di8rpvj2hmsai" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 9.png" id="32_b655w"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://kqh1umtrh00a" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 14.png" id="32_h82fp"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bs3h416iapkfp" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 4.png" id="32_qi1g0"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cu5c3turddubn" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 5.png" id="33_b428r"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bmt7tyt2iu2nb" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 15.png" id="33_dfndb"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://kiko1cme3emk" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 10.png" id="33_n5gl2"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://1keo4y5rylbv" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 6.png" id="34_moswi"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://t8hshsb7dm7o" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 16.png" id="34_xibve"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bw7hqv3mry5eq" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 17.png" id="35_bx6l1"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://qj2746r20rek" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 7.png" id="35_d1q80"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://ntpw05kexehl" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 18.png" id="36_ttpm8"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dxi670b1ja3hp" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 8.png" id="36_ykptl"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bu6n2fxwqihhx" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 19.png" id="37_lwexn"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cl1srhwevno7u" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 9.png" id="37_qw2oy"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cisx7av366072" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 10.png" id="38_hlhq5"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bmrb1ud156sb" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 20.png" id="38_w5c4w"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://duhs4f0lupkmv" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 21.png" id="39_8rhj7"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://llvv56omqv8a" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 22.png" id="40_cjjbw"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://birlvuiwu1yft" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 23.png" id="41_mg6yl"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dwg7g0ehtgash" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 24.png" id="42_y7n5o"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://4d1qa2rkbbqv" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 25.png" id="43_ek6mm"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bi3juww8n01r3" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 26.png" id="44_7ap51"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://t7xfmlom7cu" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 27.png" id="45_7uf6q"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://c86knltqhwlwu" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 28.png" id="46_kqrcm"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://eps1cucptmph" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 29.png" id="47_q15vg"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://14epu41pdqsj" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 30.png" id="48_0ameu"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bc1ncvqgwlno0" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 31.png" id="49_o0yjx"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cb1kqd4it5se1" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 32.png" id="50_46mal"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bo5ckfudrx7fv" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 33.png" id="51_sumwx"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bhnttvctkibde" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 34.png" id="52_xsekn"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dttt1ykvp0b38" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 35.png" id="53_8ndjr"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://c4rgp13cnfa3l" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 36.png" id="54_88ycb"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://clpo0cltnnh66" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 37.png" id="55_au34h"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://c6c3hdmgd7rel" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 38.png" id="56_ie8y6"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://d32ej6fsx53io" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 39.png" id="57_o526l"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cy5dacfrmsxwe" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 40.png" id="58_4tgv5"]
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_0y048"]
|
[sub_resource type="Resource" id="Resource_0y048"]
|
||||||
script = ExtResource("2_mqiog")
|
script = ExtResource("2_mqiog")
|
||||||
CurrentHP = 50.0
|
CurrentHP = 50.0
|
||||||
MaximumHP = 50.0
|
MaximumHP = 50.0
|
||||||
CurrentAttack = 5
|
CurrentAttack = 15
|
||||||
CurrentDefense = 5
|
CurrentDefense = 5
|
||||||
MaxAttack = 5
|
MaxAttack = 15
|
||||||
MaxDefense = 5
|
MaxDefense = 5
|
||||||
ExpFromDefeat = 15
|
ExpFromDefeat = 15
|
||||||
Luck = 0.05
|
Luck = 0.05
|
||||||
@@ -114,496 +30,15 @@ radius = 1.0
|
|||||||
height = 5.0
|
height = 5.0
|
||||||
radius = 1.0
|
radius = 1.0
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_0yire"]
|
|
||||||
size = Vector3(1, 0.565, 2)
|
|
||||||
|
|
||||||
[sub_resource type="ViewportTexture" id="ViewportTexture_h1kaf"]
|
|
||||||
viewport_path = NodePath("Sprite3D/SubViewport")
|
|
||||||
|
|
||||||
[sub_resource type="SpriteFrames" id="SpriteFrames_ttwal"]
|
|
||||||
animations = [{
|
|
||||||
"frames": [{
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("4_qpdqy")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("5_yyxe5")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("6_b36gv")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("7_pwogy")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("8_hj3yj")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("9_x3ej0")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("10_bhjmg")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("11_8dbcy")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("12_52gnj")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("13_hb0co")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("14_i6i7p")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("15_trgeg")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("16_xbrkw")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("17_7q6uh")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("18_hkxpi")
|
|
||||||
}],
|
|
||||||
"loop": true,
|
|
||||||
"name": &"attack",
|
|
||||||
"speed": 12.0
|
|
||||||
}, {
|
|
||||||
"frames": [{
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("19_sbko7")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("20_x3iqd")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("21_767l2")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("22_6e43k")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("23_tr33v")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("24_ny7vm")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("25_k2cb6")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("26_w7faw")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("27_sl1r7")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("28_py2qk")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("29_jasni")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("30_jcbck")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("31_ea8qb")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("32_h82fp")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("33_dfndb")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("34_xibve")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("35_bx6l1")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("36_ttpm8")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("37_lwexn")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("38_w5c4w")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("39_8rhj7")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("40_cjjbw")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("41_mg6yl")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("42_y7n5o")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("43_ek6mm")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("44_7ap51")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("45_7uf6q")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("46_kqrcm")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("47_q15vg")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("48_0ameu")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("49_o0yjx")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("50_46mal")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("51_sumwx")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("52_xsekn")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("53_8ndjr")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("54_88ycb")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("55_au34h")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("56_ie8y6")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("57_o526l")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("58_4tgv5")
|
|
||||||
}],
|
|
||||||
"loop": true,
|
|
||||||
"name": &"attack2",
|
|
||||||
"speed": 12.0
|
|
||||||
}, {
|
|
||||||
"frames": [{
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("4_ag3g0")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("5_881nf")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("6_syv0y")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("7_1qmf7")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("8_ax8t2")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("9_hs56h")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("10_uu3sx")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("11_qr6yl")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("12_8js62")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("13_1we81")
|
|
||||||
}],
|
|
||||||
"loop": true,
|
|
||||||
"name": &"idle_back_walk",
|
|
||||||
"speed": 12.0
|
|
||||||
}, {
|
|
||||||
"frames": [{
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("29_tqvh6")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("30_d6cs6")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("31_xst2h")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("32_qi1g0")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("33_b428r")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("34_moswi")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("35_d1q80")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("36_ykptl")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("37_qw2oy")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("38_hlhq5")
|
|
||||||
}],
|
|
||||||
"loop": true,
|
|
||||||
"name": &"idle_front_walk",
|
|
||||||
"speed": 12.0
|
|
||||||
}, {
|
|
||||||
"frames": [{
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("24_us7b5")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("25_u8hmy")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("26_qkjhp")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("27_2xal1")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("28_7cvs7")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("29_8402p")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("30_itvqp")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("31_6jqkx")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("32_b655w")
|
|
||||||
}, {
|
|
||||||
"duration": 1.0,
|
|
||||||
"texture": ExtResource("33_n5gl2")
|
|
||||||
}],
|
|
||||||
"loop": true,
|
|
||||||
"name": &"idle_left_walk",
|
|
||||||
"speed": 12.0
|
|
||||||
}]
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_ch8ic"]
|
|
||||||
length = 0.001
|
|
||||||
tracks/0/type = "value"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("Hitbox/CollisionShape3D:disabled")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [true]
|
|
||||||
}
|
|
||||||
tracks/1/type = "value"
|
|
||||||
tracks/1/imported = false
|
|
||||||
tracks/1/enabled = true
|
|
||||||
tracks/1/path = NodePath("Sprite3D/SubViewport/AnimatedSprite2D:animation")
|
|
||||||
tracks/1/interp = 1
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [&"attack2"]
|
|
||||||
}
|
|
||||||
tracks/2/type = "value"
|
|
||||||
tracks/2/imported = false
|
|
||||||
tracks/2/enabled = true
|
|
||||||
tracks/2/path = NodePath("Sprite3D/SubViewport/AnimatedSprite2D:frame")
|
|
||||||
tracks/2/interp = 1
|
|
||||||
tracks/2/loop_wrap = true
|
|
||||||
tracks/2/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [0]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_1tda5"]
|
|
||||||
resource_name = "idle_back_walk"
|
|
||||||
length = 1.25001
|
|
||||||
loop_mode = 1
|
|
||||||
step = 0.0833333
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_31nry"]
|
|
||||||
resource_name = "idle_front_walk"
|
|
||||||
length = 1.25001
|
|
||||||
loop_mode = 1
|
|
||||||
step = 0.0833333
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_1870e"]
|
|
||||||
resource_name = "idle_left_walk"
|
|
||||||
length = 1.25001
|
|
||||||
loop_mode = 1
|
|
||||||
step = 0.0833333
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_ruc6s"]
|
|
||||||
resource_name = "attack"
|
|
||||||
length = 0.750008
|
|
||||||
step = 0.0833333
|
|
||||||
tracks/0/type = "value"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("Hitbox/CollisionShape3D:disabled")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.25, 0.666666),
|
|
||||||
"transitions": PackedFloat32Array(1, 1, 1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [true, false, true]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_wwl4v"]
|
|
||||||
resource_name = "attack2"
|
|
||||||
step = 0.0833333
|
|
||||||
tracks/0/type = "value"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("Sprite3D/SubViewport/AnimatedSprite2D:animation")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [&"attack2"]
|
|
||||||
}
|
|
||||||
tracks/1/type = "value"
|
|
||||||
tracks/1/imported = false
|
|
||||||
tracks/1/enabled = true
|
|
||||||
tracks/1/path = NodePath("Sprite3D/SubViewport/AnimatedSprite2D:frame")
|
|
||||||
tracks/1/interp = 1
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [0]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6tj5r"]
|
|
||||||
_data = {
|
|
||||||
&"RESET": SubResource("Animation_ch8ic"),
|
|
||||||
&"idle_back_walk": SubResource("Animation_1tda5"),
|
|
||||||
&"idle_front_walk": SubResource("Animation_31nry"),
|
|
||||||
&"idle_left_walk": SubResource("Animation_1870e"),
|
|
||||||
&"primary_attack": SubResource("Animation_ruc6s"),
|
|
||||||
&"secondary_attack": SubResource("Animation_wwl4v")
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o0tmb"]
|
|
||||||
animation = &"idle_back_walk"
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a6s5c"]
|
|
||||||
animation = &"idle_front_walk"
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dvj10"]
|
|
||||||
animation = &"idle_left_walk"
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_erbrx"]
|
|
||||||
animation = &"primary_attack"
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fyc13"]
|
|
||||||
animation = &"secondary_attack"
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vljb2"]
|
|
||||||
advance_mode = 2
|
|
||||||
|
|
||||||
[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_8hgxu"]
|
|
||||||
switch_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fq2yw"]
|
|
||||||
switch_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yqm0k"]
|
|
||||||
switch_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bmy1k"]
|
|
||||||
switch_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mxl7w"]
|
|
||||||
switch_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0y048"]
|
|
||||||
switch_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_uhpql"]
|
|
||||||
switch_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l7m4y"]
|
|
||||||
switch_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_464kr"]
|
|
||||||
switch_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_45of7"]
|
|
||||||
switch_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c482n"]
|
|
||||||
switch_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_acrfn"]
|
|
||||||
states/End/position = Vector2(1464, 100)
|
|
||||||
states/idle_back_walk/node = SubResource("AnimationNodeAnimation_o0tmb")
|
|
||||||
states/idle_back_walk/position = Vector2(519, 75.9474)
|
|
||||||
states/idle_front_walk/node = SubResource("AnimationNodeAnimation_a6s5c")
|
|
||||||
states/idle_front_walk/position = Vector2(331, -12)
|
|
||||||
states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10")
|
|
||||||
states/idle_left_walk/position = Vector2(331, 196.947)
|
|
||||||
states/primary_attack/node = SubResource("AnimationNodeAnimation_erbrx")
|
|
||||||
states/primary_attack/position = Vector2(1067, 33.9474)
|
|
||||||
states/secondary_attack/node = SubResource("AnimationNodeAnimation_fyc13")
|
|
||||||
states/secondary_attack/position = Vector2(1057, 151.947)
|
|
||||||
transitions = ["Start", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_vljb2"), "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"), "primary_attack", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_8hgxu"), "primary_attack", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fq2yw"), "primary_attack", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_yqm0k"), "idle_back_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_bmy1k"), "idle_left_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_mxl7w"), "idle_back_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_0y048"), "idle_left_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_uhpql"), "idle_front_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_l7m4y"), "secondary_attack", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_464kr"), "secondary_attack", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_45of7"), "secondary_attack", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_c482n")]
|
|
||||||
graph_offset = Vector2(-121, -17.0526)
|
|
||||||
|
|
||||||
[sub_resource type="SphereShape3D" id="SphereShape3D_0y048"]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_0y048"]
|
||||||
radius = 1.0
|
radius = 1.0
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_fv5vf"]
|
||||||
|
script = ExtResource("4_5eid5")
|
||||||
|
Name = "Filth Eater"
|
||||||
|
Description = "This guy grosses me out."
|
||||||
|
metadata/_custom_type_script = ExtResource("4_5eid5")
|
||||||
|
|
||||||
[node name="FilthEater" type="RigidBody3D"]
|
[node name="FilthEater" type="RigidBody3D"]
|
||||||
process_mode = 1
|
process_mode = 1
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
||||||
@@ -647,55 +82,11 @@ unique_name_in_owner = true
|
|||||||
wait_time = 0.8
|
wait_time = 0.8
|
||||||
autostart = true
|
autostart = true
|
||||||
|
|
||||||
[node name="Hitbox" type="Area3D" parent="."]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -0.152949, 0, 0)
|
|
||||||
collision_layer = 64
|
|
||||||
collision_mask = 64
|
|
||||||
script = ExtResource("3_ipypc")
|
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hitbox"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.189337, 0.217529, -1.45579)
|
|
||||||
shape = SubResource("BoxShape3D_0yire")
|
|
||||||
disabled = true
|
|
||||||
|
|
||||||
[node name="Raycast" type="RayCast3D" parent="."]
|
[node name="Raycast" type="RayCast3D" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
target_position = Vector3(0, 0, -5)
|
target_position = Vector3(0, 0, -5)
|
||||||
collision_mask = 3
|
collision_mask = 3
|
||||||
|
|
||||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
|
||||||
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0.0862446, 0)
|
|
||||||
billboard = 2
|
|
||||||
shaded = true
|
|
||||||
texture_filter = 0
|
|
||||||
render_priority = 100
|
|
||||||
texture = SubResource("ViewportTexture_h1kaf")
|
|
||||||
|
|
||||||
[node name="SubViewport" type="SubViewport" parent="Sprite3D"]
|
|
||||||
disable_3d = true
|
|
||||||
transparent_bg = true
|
|
||||||
handle_input_locally = false
|
|
||||||
size = Vector2i(300, 300)
|
|
||||||
render_target_update_mode = 4
|
|
||||||
|
|
||||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Sprite3D/SubViewport"]
|
|
||||||
sprite_frames = SubResource("SpriteFrames_ttwal")
|
|
||||||
animation = &"attack2"
|
|
||||||
offset = Vector2(150, 150)
|
|
||||||
|
|
||||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
libraries = {
|
|
||||||
&"": SubResource("AnimationLibrary_6tj5r")
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="AnimationTree" type="AnimationTree" parent="."]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
root_node = NodePath("%AnimationTree/..")
|
|
||||||
tree_root = SubResource("AnimationNodeStateMachine_acrfn")
|
|
||||||
anim_player = NodePath("../AnimationPlayer")
|
|
||||||
|
|
||||||
[node name="Collision" type="Area3D" parent="."]
|
[node name="Collision" type="Area3D" parent="."]
|
||||||
collision_layer = 2048
|
collision_layer = 2048
|
||||||
collision_mask = 0
|
collision_mask = 0
|
||||||
@@ -703,3 +94,7 @@ collision_mask = 0
|
|||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Collision"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Collision"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.120117, 0.221246, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.120117, 0.221246, 0)
|
||||||
shape = SubResource("SphereShape3D_0y048")
|
shape = SubResource("SphereShape3D_0y048")
|
||||||
|
|
||||||
|
[node name="EnemyModelView" parent="." instance=ExtResource("3_rrwed")]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
EnemyLoreInfo = SubResource("Resource_fv5vf")
|
||||||
|
|||||||
891
src/enemy/enemy_types/filth_eater/FilthEaterModelView.tscn
Normal file
891
src/enemy/enemy_types/filth_eater/FilthEaterModelView.tscn
Normal file
@@ -0,0 +1,891 @@
|
|||||||
|
[gd_scene load_steps=156 format=3 uid="uid://bup8c4x1na3aw"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://chymnqdw7hibn" path="res://src/enemy/EnemyModelView.cs" id="1_jsdjt"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bdar3daydbkge" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 1.png" id="2_vpn42"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://o214hr614jit" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 2.png" id="3_7tggm"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://hyipatqsvukp" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 3.png" id="4_usgpm"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://sgj8yf8vsocq" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 4.png" id="5_ovibr"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://x8opkqq25djn" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 5.png" id="6_bhity"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bmet672yyne78" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 6.png" id="7_6vimm"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bgusk0212nx0j" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 7.png" id="8_b1kem"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dmntrmq3btkft" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 8.png" id="9_81s5h"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ffj2hr4qqyln" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 9.png" id="10_gbkfe"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bm1cbtx4kywo4" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 10.png" id="11_k1s5a"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://runh757ueg5f" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 11.png" id="12_lemlj"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cx4h5q6wueqx8" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 12.png" id="13_pl2jt"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://tc64bxenok5l" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 13.png" id="14_ptf8k"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dnbt4acfvo84o" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 14.png" id="15_loeab"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dqb2opf4cabl3" path="res://src/enemy/enemy_types/filth_eater/animations/SWIPE/Layer 15.png" id="16_edhco"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bmocc6xynyify" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 1.png" id="17_nwrau"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ctac7m3x1lvwe" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 2.png" id="18_v2qih"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ruvsc5a5gwf3" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 3.png" id="19_4c1md"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dll3r3dqvpej3" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 4.png" id="20_goihn"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://b8s07qwgcda0d" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 5.png" id="21_icis1"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://btqbb8eyqiubk" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 6.png" id="22_8q25d"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://jd7dvnr00ylk" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 7.png" id="23_4a5ts"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://df2bufdndmlig" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 8.png" id="24_sqr7e"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://btoq431qn2yq0" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 9.png" id="25_a0xhj"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://exbmjfi0ic63" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 10.png" id="26_fgfpp"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ca413xrf5rfef" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 11.png" id="27_s6aj5"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://713cp3mv6b4s" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 12.png" id="28_7fcax"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bx3l2xl5lbnvr" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 13.png" id="29_fjekd"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ctkqec7psl27x" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 14.png" id="30_kkltw"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ou6aoq3157xc" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 15.png" id="31_wqsiy"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dch5ap1kutysk" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 16.png" id="32_kfb12"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://wwk6carcrhkm" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 17.png" id="33_yruiq"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://jc3w7okwwul" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 18.png" id="34_otm43"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dr6aw5o0dlm3h" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 19.png" id="35_uibxq"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://brhq8xdhcisee" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 20.png" id="36_se6s4"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://b0f4ywlw6qjg4" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 21.png" id="37_e8my8"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://d0s5rohemvg8q" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 22.png" id="38_h8cq6"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dh2c7ikj6k25w" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 23.png" id="39_5ws5l"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cxi0prctj4rca" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 24.png" id="40_6w02o"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://c8qtxhl4fuhae" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 25.png" id="41_baw20"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://m3dfoeh3fcnl" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 26.png" id="42_4f1dv"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://chb8ipvevxokv" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 27.png" id="43_xsqsu"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://c6oxhyqgxjuij" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 28.png" id="44_t7txr"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://crvgrtjyt08rf" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 29.png" id="45_mmwwm"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://1vyxpd413rxp" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 30.png" id="46_uoxil"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dniodtxp2roo3" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 31.png" id="47_6nrom"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://capmyixro7vdr" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 32.png" id="48_ibce1"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bjlgvnqp5n1a1" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 33.png" id="49_yghoo"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://04j4uotkqg3n" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 34.png" id="50_23jqc"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://buxebs8i5ool4" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 35.png" id="51_76ppw"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://nrqph1d3u4d" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 36.png" id="52_el40o"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://qyyl8x7b5url" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 37.png" id="53_qf8ap"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bkm8w8qju6ojd" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 38.png" id="54_xxxgj"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://d2gfdhwnlpx44" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 39.png" id="55_0wpy5"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dfinkpqoewvdo" path="res://src/enemy/enemy_types/filth_eater/animations/TELLERIC ATTACK/Layer 40.png" id="56_tnfhd"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://8k6jpchal0r7" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 1.png" id="57_8r0mm"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://djurx0km185ki" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 2.png" id="58_2yrab"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://b3fv4r6jqr0ln" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 3.png" id="59_7707u"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cch7x848dymwt" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 4.png" id="60_uok4m"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bpy7rgnlxn5yj" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 5.png" id="61_tm6xl"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bhx3isrsanrsp" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 6.png" id="62_a4tm8"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://d2mroaaomar06" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 7.png" id="63_8q0bs"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ckspslfap4ftr" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 8.png" id="64_6lwpr"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dlgf7ybn22qxq" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 9.png" id="65_g8bx7"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dth3ijcas0ik3" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 10.png" id="66_mmiv6"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cfsn43ur26cdm" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 1.png" id="67_aldps"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bhvfn8ivbf4ft" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 2.png" id="68_ev7xu"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dv3luun17uogb" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 3.png" id="69_48d2b"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://c3qps6ydrvlvb" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 4.png" id="70_mkjvr"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://l4xotnpkh1b1" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 5.png" id="71_bpq0n"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cituuuichmghm" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 6.png" id="72_i3840"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cskq44syg3ksp" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 7.png" id="73_dq6k8"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://d00a7mu16bm3n" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 8.png" id="74_gbdn0"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dcq2q3n4enpf6" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 9.png" id="75_176fl"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://2p0hu703jem8" path="res://src/enemy/enemy_types/filth_eater/animations/WALK FRONT/Layer 10.png" id="76_eyg13"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://d038d3hf7652i" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 1.png" id="77_wcnf4"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://do1xtg4s3u88w" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 2.png" id="78_jkvs8"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://y6p4w8emisdp" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 3.png" id="79_1d7tg"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://d0s0vfqgxo4ch" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 4.png" id="80_kvegm"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://c1pgbp26wxpw2" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 5.png" id="81_238em"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cnmxqnexnb6to" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 6.png" id="82_soorf"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://l6sj31rtfj0" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 7.png" id="83_yg0qa"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://nhbclk8h0vkm" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 8.png" id="84_iqg8f"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://kjq0epk60s5b" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 9.png" id="85_8eyuc"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://snhdh4kc60np" path="res://src/enemy/enemy_types/filth_eater/animations/WALK SIDE/Layer 10.png" id="86_k7dm5"]
|
||||||
|
[ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="87_7tggm"]
|
||||||
|
|
||||||
|
[sub_resource type="ViewportTexture" id="ViewportTexture_7tggm"]
|
||||||
|
viewport_path = NodePath("Sprite3D/SubViewport")
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_673a4"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("57_8r0mm")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("58_2yrab")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("59_7707u")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("60_uok4m")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("61_tm6xl")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("62_a4tm8")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("63_8q0bs")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("64_6lwpr")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("65_g8bx7")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("66_mmiv6")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"idle_back_walk",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("67_aldps")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("68_ev7xu")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("69_48d2b")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("70_mkjvr")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("71_bpq0n")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("72_i3840")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("73_dq6k8")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("74_gbdn0")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("75_176fl")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("76_eyg13")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"idle_front_walk",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("77_wcnf4")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("78_jkvs8")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("79_1d7tg")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("80_kvegm")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("81_238em")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("82_soorf")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("83_yg0qa")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("84_iqg8f")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("85_8eyuc")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("86_k7dm5")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"idle_side_walk",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("2_vpn42")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("3_7tggm")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("4_usgpm")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("5_ovibr")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("6_bhity")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("7_6vimm")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("8_b1kem")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("9_81s5h")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("10_gbkfe")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("11_k1s5a")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("12_lemlj")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("13_pl2jt")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("14_ptf8k")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("15_loeab")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("16_edhco")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"primary_attack",
|
||||||
|
"speed": 12.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("17_nwrau")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("18_v2qih")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("19_4c1md")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("20_goihn")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("21_icis1")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("22_8q25d")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("23_4a5ts")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("24_sqr7e")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("25_a0xhj")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("26_fgfpp")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("27_s6aj5")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("28_7fcax")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("29_fjekd")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("30_kkltw")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("31_wqsiy")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("32_kfb12")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("33_yruiq")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("34_otm43")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("35_uibxq")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("36_se6s4")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("37_e8my8")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("38_h8cq6")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("39_5ws5l")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("40_6w02o")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("41_baw20")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("42_4f1dv")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("43_xsqsu")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("44_t7txr")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("45_mmwwm")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("46_uoxil")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("47_6nrom")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("48_ibce1")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("49_yghoo")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("50_23jqc")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("51_76ppw")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("52_el40o")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("53_qf8ap")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("54_xxxgj")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("55_0wpy5")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("56_tnfhd")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"secondary_attack",
|
||||||
|
"speed": 12.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_usgpm"]
|
||||||
|
size = Vector3(1, 0.565, 2)
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_b157j"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite3D/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_back_walk"]
|
||||||
|
}
|
||||||
|
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),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_b1kem"]
|
||||||
|
resource_name = "idle_back"
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:animation")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [&"idle_back_walk"]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_l5yrx"]
|
||||||
|
resource_name = "idle_walk_back"
|
||||||
|
length = 0.750008
|
||||||
|
loop_mode = 1
|
||||||
|
step = 0.0833333
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333, 0.666667),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0, 1, 2, 3, 5, 6, 7, 8, 9]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite3D/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_back_walk"]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_bhity"]
|
||||||
|
resource_name = "idle_front"
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:animation")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0.0333333),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [&"idle_front_walk"]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_ttnhl"]
|
||||||
|
resource_name = "idle_walk_front"
|
||||||
|
length = 0.833342
|
||||||
|
loop_mode = 1
|
||||||
|
step = 0.0833333
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333, 0.666667, 0.75),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite3D/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_6vimm"]
|
||||||
|
resource_name = "idle_left"
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:animation")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [&"idle_side_walk"]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_ovibr"]
|
||||||
|
resource_name = "idle_side_walk"
|
||||||
|
length = 0.750008
|
||||||
|
loop_mode = 1
|
||||||
|
step = 0.0833333
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:animation")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [&"idle_side_walk"]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333, 0.666667, 0.75),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_7tggm"]
|
||||||
|
resource_name = "primary_attack"
|
||||||
|
length = 1.08334
|
||||||
|
step = 0.0833333
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:animation")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [&"primary_attack"]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333, 0.666667, 0.75, 0.833333, 0.916667, 1),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14]
|
||||||
|
}
|
||||||
|
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.588603, 0.833705),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true, false, true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_usgpm"]
|
||||||
|
resource_name = "secondary_attack"
|
||||||
|
length = 3.25001
|
||||||
|
step = 0.0833333
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite3D/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"]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333, 0.666667, 0.75, 0.833333, 0.916667, 1, 1.08333, 1.16667, 1.25, 1.33333, 1.41667, 1.5, 1.58333, 1.66667, 1.75, 1.83333, 1.91667, 2, 2.08333, 2.16667, 2.25, 2.33333, 2.41667, 2.5, 2.58333, 2.66667, 2.75, 2.83333, 2.91667, 3, 3.08333, 3.17257, 3.25),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39]
|
||||||
|
}
|
||||||
|
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, 1.75453, 2.16781),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true, false, true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_tbr0l"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_b157j"),
|
||||||
|
&"idle_back": SubResource("Animation_b1kem"),
|
||||||
|
&"idle_back_walk": SubResource("Animation_l5yrx"),
|
||||||
|
&"idle_front": SubResource("Animation_bhity"),
|
||||||
|
&"idle_front_walk": SubResource("Animation_ttnhl"),
|
||||||
|
&"idle_left": SubResource("Animation_6vimm"),
|
||||||
|
&"idle_left_walk": SubResource("Animation_ovibr"),
|
||||||
|
&"primary_attack": SubResource("Animation_7tggm"),
|
||||||
|
&"secondary_attack": SubResource("Animation_usgpm")
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7tggm"]
|
||||||
|
animation = &"idle_back"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o0tmb"]
|
||||||
|
animation = &"idle_back_walk"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_usgpm"]
|
||||||
|
animation = &"idle_front"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a6s5c"]
|
||||||
|
animation = &"idle_front_walk"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ovibr"]
|
||||||
|
animation = &"idle_left"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dvj10"]
|
||||||
|
animation = &"idle_left_walk"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_erbrx"]
|
||||||
|
animation = &"primary_attack"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fyc13"]
|
||||||
|
animation = &"secondary_attack"
|
||||||
|
|
||||||
|
[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_8hgxu"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fq2yw"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yqm0k"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bmy1k"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mxl7w"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7tggm"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_usgpm"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ovibr"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bhity"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6vimm"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_b1kem"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_81s5h"]
|
||||||
|
advance_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gbkfe"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k1s5a"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lemlj"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pl2jt"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ptf8k"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_loeab"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_edhco"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nwrau"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_v2qih"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4c1md"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_goihn"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_icis1"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8q25d"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4a5ts"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_sqr7e"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a0xhj"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fgfpp"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_s6aj5"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7fcax"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fjekd"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kkltw"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wqsiy"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kfb12"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yruiq"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_otm43"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_uibxq"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_se6s4"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_q1wiq"]
|
||||||
|
states/End/position = Vector2(1463, 100)
|
||||||
|
states/Start/position = Vector2(-63, 66)
|
||||||
|
states/idle_back/node = SubResource("AnimationNodeAnimation_7tggm")
|
||||||
|
states/idle_back/position = Vector2(20, 5.18198)
|
||||||
|
states/idle_back_walk/node = SubResource("AnimationNodeAnimation_o0tmb")
|
||||||
|
states/idle_back_walk/position = Vector2(636, 52.9474)
|
||||||
|
states/idle_front/node = SubResource("AnimationNodeAnimation_usgpm")
|
||||||
|
states/idle_front/position = Vector2(74, 156.947)
|
||||||
|
states/idle_front_walk/node = SubResource("AnimationNodeAnimation_a6s5c")
|
||||||
|
states/idle_front_walk/position = Vector2(359, -71)
|
||||||
|
states/idle_left/node = SubResource("AnimationNodeAnimation_ovibr")
|
||||||
|
states/idle_left/position = Vector2(108, -126)
|
||||||
|
states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10")
|
||||||
|
states/idle_left_walk/position = Vector2(347, 243.947)
|
||||||
|
states/primary_attack/node = SubResource("AnimationNodeAnimation_erbrx")
|
||||||
|
states/primary_attack/position = Vector2(1919, -71)
|
||||||
|
states/secondary_attack/node = SubResource("AnimationNodeAnimation_fyc13")
|
||||||
|
states/secondary_attack/position = Vector2(1933, 308.947)
|
||||||
|
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"), "primary_attack", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_8hgxu"), "primary_attack", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fq2yw"), "primary_attack", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_yqm0k"), "idle_back_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_bmy1k"), "idle_left_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_mxl7w"), "idle_front_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_7tggm"), "idle_back_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_usgpm"), "idle_left_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_ovibr"), "secondary_attack", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_bhity"), "secondary_attack", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_6vimm"), "secondary_attack", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_b1kem"), "Start", "idle_front", SubResource("AnimationNodeStateMachineTransition_81s5h"), "idle_front", "idle_left", SubResource("AnimationNodeStateMachineTransition_gbkfe"), "idle_front", "idle_back", SubResource("AnimationNodeStateMachineTransition_k1s5a"), "idle_left", "idle_front", SubResource("AnimationNodeStateMachineTransition_lemlj"), "idle_left", "idle_back", SubResource("AnimationNodeStateMachineTransition_pl2jt"), "idle_back", "idle_front", SubResource("AnimationNodeStateMachineTransition_ptf8k"), "idle_back", "idle_left", SubResource("AnimationNodeStateMachineTransition_loeab"), "idle_back", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_edhco"), "idle_back", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_nwrau"), "idle_back", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_v2qih"), "idle_left", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_4c1md"), "idle_left", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_goihn"), "idle_left", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_icis1"), "idle_front", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_8q25d"), "idle_front", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_4a5ts"), "idle_front", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_sqr7e"), "idle_front", "primary_attack", SubResource("AnimationNodeStateMachineTransition_a0xhj"), "idle_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_fgfpp"), "idle_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_s6aj5"), "primary_attack", "idle_back", SubResource("AnimationNodeStateMachineTransition_7fcax"), "primary_attack", "idle_left", SubResource("AnimationNodeStateMachineTransition_fjekd"), "primary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_kkltw"), "idle_front", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_wqsiy"), "idle_left", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_kfb12"), "idle_back", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_yruiq"), "secondary_attack", "idle_back", SubResource("AnimationNodeStateMachineTransition_otm43"), "secondary_attack", "idle_left", SubResource("AnimationNodeStateMachineTransition_uibxq"), "secondary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_se6s4")]
|
||||||
|
graph_offset = Vector2(-121, 94.2273)
|
||||||
|
|
||||||
|
[node name="EnemyModelView" type="Node3D"]
|
||||||
|
script = ExtResource("1_jsdjt")
|
||||||
|
|
||||||
|
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||||
|
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0.0862446, 0)
|
||||||
|
billboard = 2
|
||||||
|
shaded = true
|
||||||
|
texture_filter = 0
|
||||||
|
render_priority = 100
|
||||||
|
texture = SubResource("ViewportTexture_7tggm")
|
||||||
|
|
||||||
|
[node name="SubViewport" type="SubViewport" parent="Sprite3D"]
|
||||||
|
disable_3d = true
|
||||||
|
transparent_bg = true
|
||||||
|
handle_input_locally = false
|
||||||
|
size = Vector2i(300, 300)
|
||||||
|
render_target_update_mode = 4
|
||||||
|
|
||||||
|
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="Sprite3D/SubViewport"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
position = Vector2(150, 150)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_673a4")
|
||||||
|
animation = &"idle_back_walk"
|
||||||
|
|
||||||
|
[node name="Hitbox" type="Area3D" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -0.152949, 0, 0)
|
||||||
|
collision_layer = 64
|
||||||
|
collision_mask = 64
|
||||||
|
script = ExtResource("87_7tggm")
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hitbox"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.189337, 0.217529, -1.45579)
|
||||||
|
shape = SubResource("BoxShape3D_usgpm")
|
||||||
|
disabled = true
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
libraries = {
|
||||||
|
&"": SubResource("AnimationLibrary_tbr0l")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="AnimationTree" type="AnimationTree" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
root_node = NodePath("%AnimationTree/..")
|
||||||
|
tree_root = SubResource("AnimationNodeStateMachine_q1wiq")
|
||||||
|
anim_player = NodePath("../AnimationPlayer")
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bv4du7bb3m6ug"
|
uid="uid://bdar3daydbkge"
|
||||||
path="res://.godot/imported/Layer 1.png-6df3dd98cc9b3179807aae903731666d.ctex"
|
path="res://.godot/imported/Layer 1.png-6df3dd98cc9b3179807aae903731666d.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bk7wcnonh4jny"
|
uid="uid://bm1cbtx4kywo4"
|
||||||
path="res://.godot/imported/Layer 10.png-d362cc35aa808124e03539ff3b9212f2.ctex"
|
path="res://.godot/imported/Layer 10.png-d362cc35aa808124e03539ff3b9212f2.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bkl5fxkcekwmp"
|
uid="uid://runh757ueg5f"
|
||||||
path="res://.godot/imported/Layer 11.png-0ae7fe13f924d5a6bba2a7b4b046da1f.ctex"
|
path="res://.godot/imported/Layer 11.png-0ae7fe13f924d5a6bba2a7b4b046da1f.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://ck5agp22b8gf8"
|
uid="uid://cx4h5q6wueqx8"
|
||||||
path="res://.godot/imported/Layer 12.png-68dbc39bd922beee27d7e1d667078d6c.ctex"
|
path="res://.godot/imported/Layer 12.png-68dbc39bd922beee27d7e1d667078d6c.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://epvsktx6naj7"
|
uid="uid://tc64bxenok5l"
|
||||||
path="res://.godot/imported/Layer 13.png-4ce03ec7c10976e909aa14c97ec6fa93.ctex"
|
path="res://.godot/imported/Layer 13.png-4ce03ec7c10976e909aa14c97ec6fa93.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://ca51hi4l16715"
|
uid="uid://dnbt4acfvo84o"
|
||||||
path="res://.godot/imported/Layer 14.png-23bcb1609577b6a6369edf178b4e7309.ctex"
|
path="res://.godot/imported/Layer 14.png-23bcb1609577b6a6369edf178b4e7309.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cygkdbos7lkwp"
|
uid="uid://dqb2opf4cabl3"
|
||||||
path="res://.godot/imported/Layer 15.png-adffb8fd5e148efa818d2fce32b57e94.ctex"
|
path="res://.godot/imported/Layer 15.png-adffb8fd5e148efa818d2fce32b57e94.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://clop1gx0va5gr"
|
uid="uid://o214hr614jit"
|
||||||
path="res://.godot/imported/Layer 2.png-7045832edf464fd4dd0418aa6e3bb1e2.ctex"
|
path="res://.godot/imported/Layer 2.png-7045832edf464fd4dd0418aa6e3bb1e2.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://5iax7vcyt8qt"
|
uid="uid://hyipatqsvukp"
|
||||||
path="res://.godot/imported/Layer 3.png-21a1ff227e59da118df0874eeadde6b4.ctex"
|
path="res://.godot/imported/Layer 3.png-21a1ff227e59da118df0874eeadde6b4.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://c8wivayhgj3nd"
|
uid="uid://sgj8yf8vsocq"
|
||||||
path="res://.godot/imported/Layer 4.png-5dc4dc8398f07b7c30cab1c9ec30e8ae.ctex"
|
path="res://.godot/imported/Layer 4.png-5dc4dc8398f07b7c30cab1c9ec30e8ae.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bf40014pkwx42"
|
uid="uid://x8opkqq25djn"
|
||||||
path="res://.godot/imported/Layer 5.png-53d3803755a0527f9e40920da3595d8c.ctex"
|
path="res://.godot/imported/Layer 5.png-53d3803755a0527f9e40920da3595d8c.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dgc6rf51fioyy"
|
uid="uid://bmet672yyne78"
|
||||||
path="res://.godot/imported/Layer 6.png-dd7ae15bdf8b762d9aba30338d70b916.ctex"
|
path="res://.godot/imported/Layer 6.png-dd7ae15bdf8b762d9aba30338d70b916.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://ikiiahlk73uc"
|
uid="uid://bgusk0212nx0j"
|
||||||
path="res://.godot/imported/Layer 7.png-0a72eeed9b2ffe942521419b93f596d4.ctex"
|
path="res://.godot/imported/Layer 7.png-0a72eeed9b2ffe942521419b93f596d4.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dfj7678uy2pvl"
|
uid="uid://dmntrmq3btkft"
|
||||||
path="res://.godot/imported/Layer 8.png-b58c658ebf9e6e6a00ef54bfdccd143f.ctex"
|
path="res://.godot/imported/Layer 8.png-b58c658ebf9e6e6a00ef54bfdccd143f.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dh3uwftcjqyef"
|
uid="uid://ffj2hr4qqyln"
|
||||||
path="res://.godot/imported/Layer 9.png-a9cdc75ccb301c198fb92a5636c3adae.ctex"
|
path="res://.godot/imported/Layer 9.png-a9cdc75ccb301c198fb92a5636c3adae.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://d03m6olqj2w17"
|
uid="uid://bmocc6xynyify"
|
||||||
path="res://.godot/imported/Layer 1.png-d07e11351e6260f4d9af1590eea7ef1d.ctex"
|
path="res://.godot/imported/Layer 1.png-d07e11351e6260f4d9af1590eea7ef1d.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://ccvpfhpkue7vh"
|
uid="uid://exbmjfi0ic63"
|
||||||
path="res://.godot/imported/Layer 10.png-d6c946a827ce39563272afae63270733.ctex"
|
path="res://.godot/imported/Layer 10.png-d6c946a827ce39563272afae63270733.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://j8y2un2sivdv"
|
uid="uid://ca413xrf5rfef"
|
||||||
path="res://.godot/imported/Layer 11.png-26a7b42f29c6fc910f4060424b152075.ctex"
|
path="res://.godot/imported/Layer 11.png-26a7b42f29c6fc910f4060424b152075.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://by2nkoei1mwpy"
|
uid="uid://713cp3mv6b4s"
|
||||||
path="res://.godot/imported/Layer 12.png-b81deb218d64464f74cfdef2aa311a81.ctex"
|
path="res://.godot/imported/Layer 12.png-b81deb218d64464f74cfdef2aa311a81.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://wbqtaldweh1m"
|
uid="uid://bx3l2xl5lbnvr"
|
||||||
path="res://.godot/imported/Layer 13.png-c01657dee6c3351b2713a98394fb7f37.ctex"
|
path="res://.godot/imported/Layer 13.png-c01657dee6c3351b2713a98394fb7f37.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://kqh1umtrh00a"
|
uid="uid://ctkqec7psl27x"
|
||||||
path="res://.godot/imported/Layer 14.png-36b2167a60d87f755be70da52222b7b3.ctex"
|
path="res://.godot/imported/Layer 14.png-36b2167a60d87f755be70da52222b7b3.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bmt7tyt2iu2nb"
|
uid="uid://ou6aoq3157xc"
|
||||||
path="res://.godot/imported/Layer 15.png-a0424091cebcec72043146ffe2200fa0.ctex"
|
path="res://.godot/imported/Layer 15.png-a0424091cebcec72043146ffe2200fa0.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://t8hshsb7dm7o"
|
uid="uid://dch5ap1kutysk"
|
||||||
path="res://.godot/imported/Layer 16.png-2905d8662e870f57ad5cd094bd0e6851.ctex"
|
path="res://.godot/imported/Layer 16.png-2905d8662e870f57ad5cd094bd0e6851.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bw7hqv3mry5eq"
|
uid="uid://wwk6carcrhkm"
|
||||||
path="res://.godot/imported/Layer 17.png-e865b9b48dc46fdd9bae865763a53221.ctex"
|
path="res://.godot/imported/Layer 17.png-e865b9b48dc46fdd9bae865763a53221.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://ntpw05kexehl"
|
uid="uid://jc3w7okwwul"
|
||||||
path="res://.godot/imported/Layer 18.png-d7fa650b1830f31e634aef69735a7498.ctex"
|
path="res://.godot/imported/Layer 18.png-d7fa650b1830f31e634aef69735a7498.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bu6n2fxwqihhx"
|
uid="uid://dr6aw5o0dlm3h"
|
||||||
path="res://.godot/imported/Layer 19.png-673ea0d3dce2d6cb8673a0f1206c53b1.ctex"
|
path="res://.godot/imported/Layer 19.png-673ea0d3dce2d6cb8673a0f1206c53b1.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://t31ypmfyx5j3"
|
uid="uid://ctac7m3x1lvwe"
|
||||||
path="res://.godot/imported/Layer 2.png-da316ffac7c63abedc13bd869bc5b43e.ctex"
|
path="res://.godot/imported/Layer 2.png-da316ffac7c63abedc13bd869bc5b43e.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bmrb1ud156sb"
|
uid="uid://brhq8xdhcisee"
|
||||||
path="res://.godot/imported/Layer 20.png-4281651de5f42244f4f845782400d157.ctex"
|
path="res://.godot/imported/Layer 20.png-4281651de5f42244f4f845782400d157.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://duhs4f0lupkmv"
|
uid="uid://b0f4ywlw6qjg4"
|
||||||
path="res://.godot/imported/Layer 21.png-f9ef2445fafc97506bf8e36c8e22b538.ctex"
|
path="res://.godot/imported/Layer 21.png-f9ef2445fafc97506bf8e36c8e22b538.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://llvv56omqv8a"
|
uid="uid://d0s5rohemvg8q"
|
||||||
path="res://.godot/imported/Layer 22.png-3a7014d2efd2bbea339b8af5c49c0239.ctex"
|
path="res://.godot/imported/Layer 22.png-3a7014d2efd2bbea339b8af5c49c0239.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://birlvuiwu1yft"
|
uid="uid://dh2c7ikj6k25w"
|
||||||
path="res://.godot/imported/Layer 23.png-73a4d52733c6be3574e43036764db5ae.ctex"
|
path="res://.godot/imported/Layer 23.png-73a4d52733c6be3574e43036764db5ae.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dwg7g0ehtgash"
|
uid="uid://cxi0prctj4rca"
|
||||||
path="res://.godot/imported/Layer 24.png-a708d480c8bbe17913c2e689426142d4.ctex"
|
path="res://.godot/imported/Layer 24.png-a708d480c8bbe17913c2e689426142d4.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://4d1qa2rkbbqv"
|
uid="uid://c8qtxhl4fuhae"
|
||||||
path="res://.godot/imported/Layer 25.png-9d2f645da262c031751a7b2314364a1a.ctex"
|
path="res://.godot/imported/Layer 25.png-9d2f645da262c031751a7b2314364a1a.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bi3juww8n01r3"
|
uid="uid://m3dfoeh3fcnl"
|
||||||
path="res://.godot/imported/Layer 26.png-e29dce7342c3060b5023d6fc09042386.ctex"
|
path="res://.godot/imported/Layer 26.png-e29dce7342c3060b5023d6fc09042386.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://t7xfmlom7cu"
|
uid="uid://chb8ipvevxokv"
|
||||||
path="res://.godot/imported/Layer 27.png-bad2ab85dc1e731c01ba0ab2cfb51dc6.ctex"
|
path="res://.godot/imported/Layer 27.png-bad2ab85dc1e731c01ba0ab2cfb51dc6.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://c86knltqhwlwu"
|
uid="uid://c6oxhyqgxjuij"
|
||||||
path="res://.godot/imported/Layer 28.png-09fb2b108de714a173bfb0e9fcf5615e.ctex"
|
path="res://.godot/imported/Layer 28.png-09fb2b108de714a173bfb0e9fcf5615e.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://eps1cucptmph"
|
uid="uid://crvgrtjyt08rf"
|
||||||
path="res://.godot/imported/Layer 29.png-b9b2dce66adaa07d0e40f9eb7ac4f5a9.ctex"
|
path="res://.godot/imported/Layer 29.png-b9b2dce66adaa07d0e40f9eb7ac4f5a9.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dv1gs1w0n5wkg"
|
uid="uid://ruvsc5a5gwf3"
|
||||||
path="res://.godot/imported/Layer 3.png-ea7baa985541a01282c499379b5056a8.ctex"
|
path="res://.godot/imported/Layer 3.png-ea7baa985541a01282c499379b5056a8.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://14epu41pdqsj"
|
uid="uid://1vyxpd413rxp"
|
||||||
path="res://.godot/imported/Layer 30.png-cea791142ec87bcb8e6c72d425b64715.ctex"
|
path="res://.godot/imported/Layer 30.png-cea791142ec87bcb8e6c72d425b64715.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bc1ncvqgwlno0"
|
uid="uid://dniodtxp2roo3"
|
||||||
path="res://.godot/imported/Layer 31.png-b4f496c35a19f812d0e403692d0e8b3c.ctex"
|
path="res://.godot/imported/Layer 31.png-b4f496c35a19f812d0e403692d0e8b3c.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cb1kqd4it5se1"
|
uid="uid://capmyixro7vdr"
|
||||||
path="res://.godot/imported/Layer 32.png-d23b18ff504aa9af6459ee1cefd3cede.ctex"
|
path="res://.godot/imported/Layer 32.png-d23b18ff504aa9af6459ee1cefd3cede.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bo5ckfudrx7fv"
|
uid="uid://bjlgvnqp5n1a1"
|
||||||
path="res://.godot/imported/Layer 33.png-e2328d3fa8fde7cc5f6b7dfcd0775b8c.ctex"
|
path="res://.godot/imported/Layer 33.png-e2328d3fa8fde7cc5f6b7dfcd0775b8c.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bhnttvctkibde"
|
uid="uid://04j4uotkqg3n"
|
||||||
path="res://.godot/imported/Layer 34.png-93bc22f843335b125259e844b7c85840.ctex"
|
path="res://.godot/imported/Layer 34.png-93bc22f843335b125259e844b7c85840.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dttt1ykvp0b38"
|
uid="uid://buxebs8i5ool4"
|
||||||
path="res://.godot/imported/Layer 35.png-8e5f997bfbd105ff454dfa4e72dd9283.ctex"
|
path="res://.godot/imported/Layer 35.png-8e5f997bfbd105ff454dfa4e72dd9283.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://c4rgp13cnfa3l"
|
uid="uid://nrqph1d3u4d"
|
||||||
path="res://.godot/imported/Layer 36.png-ff0342aaeff7ad5226ab5c9f351a57ee.ctex"
|
path="res://.godot/imported/Layer 36.png-ff0342aaeff7ad5226ab5c9f351a57ee.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://clpo0cltnnh66"
|
uid="uid://qyyl8x7b5url"
|
||||||
path="res://.godot/imported/Layer 37.png-599f31ef81c93d2a1eff81dadf21d1d2.ctex"
|
path="res://.godot/imported/Layer 37.png-599f31ef81c93d2a1eff81dadf21d1d2.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://c6c3hdmgd7rel"
|
uid="uid://bkm8w8qju6ojd"
|
||||||
path="res://.godot/imported/Layer 38.png-68217dec623edcd5f7f8a3223b16f39f.ctex"
|
path="res://.godot/imported/Layer 38.png-68217dec623edcd5f7f8a3223b16f39f.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://d32ej6fsx53io"
|
uid="uid://d2gfdhwnlpx44"
|
||||||
path="res://.godot/imported/Layer 39.png-bad3d689861dd5d1fa8b9f4e7fcb079f.ctex"
|
path="res://.godot/imported/Layer 39.png-bad3d689861dd5d1fa8b9f4e7fcb079f.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://c25m07wbjbbes"
|
uid="uid://dll3r3dqvpej3"
|
||||||
path="res://.godot/imported/Layer 4.png-3c01c4f44683f912a20909dbff7b21c5.ctex"
|
path="res://.godot/imported/Layer 4.png-3c01c4f44683f912a20909dbff7b21c5.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cy5dacfrmsxwe"
|
uid="uid://dfinkpqoewvdo"
|
||||||
path="res://.godot/imported/Layer 40.png-e9fb78e0d68cbfdbdf7109ed3322915f.ctex"
|
path="res://.godot/imported/Layer 40.png-e9fb78e0d68cbfdbdf7109ed3322915f.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cu1w0lx0upcqx"
|
uid="uid://b8s07qwgcda0d"
|
||||||
path="res://.godot/imported/Layer 5.png-87c3db9613295416a0ecc8559b1ca433.ctex"
|
path="res://.godot/imported/Layer 5.png-87c3db9613295416a0ecc8559b1ca433.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://culy6xkoj4qpp"
|
uid="uid://btqbb8eyqiubk"
|
||||||
path="res://.godot/imported/Layer 6.png-7eacdb0d93225b15ea9e6d4bf9cea57c.ctex"
|
path="res://.godot/imported/Layer 6.png-7eacdb0d93225b15ea9e6d4bf9cea57c.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cn7xwqx3ha6g6"
|
uid="uid://jd7dvnr00ylk"
|
||||||
path="res://.godot/imported/Layer 7.png-072424e6af0afa2f8acee700b8cf8355.ctex"
|
path="res://.godot/imported/Layer 7.png-072424e6af0afa2f8acee700b8cf8355.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cd8iuk2kcls5a"
|
uid="uid://df2bufdndmlig"
|
||||||
path="res://.godot/imported/Layer 8.png-5739701c8d79114f329a0dbb41d4dcb5.ctex"
|
path="res://.godot/imported/Layer 8.png-5739701c8d79114f329a0dbb41d4dcb5.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cayeaturveyf"
|
uid="uid://btoq431qn2yq0"
|
||||||
path="res://.godot/imported/Layer 9.png-9998235fa0be6f1e351f290d7a16ebc3.ctex"
|
path="res://.godot/imported/Layer 9.png-9998235fa0be6f1e351f290d7a16ebc3.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cx1wk7n77hdpu"
|
uid="uid://8k6jpchal0r7"
|
||||||
path="res://.godot/imported/Layer 1.png-61623fbdabecec48b58faad4301f0cf0.ctex"
|
path="res://.godot/imported/Layer 1.png-61623fbdabecec48b58faad4301f0cf0.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bilk4yaup2s35"
|
uid="uid://dth3ijcas0ik3"
|
||||||
path="res://.godot/imported/Layer 10.png-9b0a47c1fb8363d5b6dd27d160d4571b.ctex"
|
path="res://.godot/imported/Layer 10.png-9b0a47c1fb8363d5b6dd27d160d4571b.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bdl6xn7wskn2r"
|
uid="uid://djurx0km185ki"
|
||||||
path="res://.godot/imported/Layer 2.png-95550d2410448800f59774868e97bdc8.ctex"
|
path="res://.godot/imported/Layer 2.png-95550d2410448800f59774868e97bdc8.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://ci337oq1l44ho"
|
uid="uid://b3fv4r6jqr0ln"
|
||||||
path="res://.godot/imported/Layer 3.png-234616afc795fd2b64b38bfc40aa4d7e.ctex"
|
path="res://.godot/imported/Layer 3.png-234616afc795fd2b64b38bfc40aa4d7e.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dgipkalbfs1f7"
|
uid="uid://cch7x848dymwt"
|
||||||
path="res://.godot/imported/Layer 4.png-1c60ae0e1a838bc89cf53d9171e74b4a.ctex"
|
path="res://.godot/imported/Layer 4.png-1c60ae0e1a838bc89cf53d9171e74b4a.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://d4lkimsumierr"
|
uid="uid://bpy7rgnlxn5yj"
|
||||||
path="res://.godot/imported/Layer 5.png-75e2efc54d4e7fd18b5e1abe774207e4.ctex"
|
path="res://.godot/imported/Layer 5.png-75e2efc54d4e7fd18b5e1abe774207e4.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cbfbew6sylfa2"
|
uid="uid://bhx3isrsanrsp"
|
||||||
path="res://.godot/imported/Layer 6.png-e0e0ed0bbab709ce5f7203b1f965fbf6.ctex"
|
path="res://.godot/imported/Layer 6.png-e0e0ed0bbab709ce5f7203b1f965fbf6.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://5s13hrs5qkka"
|
uid="uid://d2mroaaomar06"
|
||||||
path="res://.godot/imported/Layer 7.png-9170971ef16ae62ce8fbe314948888b1.ctex"
|
path="res://.godot/imported/Layer 7.png-9170971ef16ae62ce8fbe314948888b1.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://b8owhlm8bl01c"
|
uid="uid://ckspslfap4ftr"
|
||||||
path="res://.godot/imported/Layer 8.png-b6eb2127ab6a71e5ba70196c6bbb5b6c.ctex"
|
path="res://.godot/imported/Layer 8.png-b6eb2127ab6a71e5ba70196c6bbb5b6c.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dlt0nnxj35n80"
|
uid="uid://dlgf7ybn22qxq"
|
||||||
path="res://.godot/imported/Layer 9.png-be1f39071c30907306bd621b1f6e565a.ctex"
|
path="res://.godot/imported/Layer 9.png-be1f39071c30907306bd621b1f6e565a.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://v53lbiw8me5m"
|
uid="uid://cfsn43ur26cdm"
|
||||||
path="res://.godot/imported/Layer 1.png-0fc715e6d24fb606d38d98dbad8b389b.ctex"
|
path="res://.godot/imported/Layer 1.png-0fc715e6d24fb606d38d98dbad8b389b.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cisx7av366072"
|
uid="uid://2p0hu703jem8"
|
||||||
path="res://.godot/imported/Layer 10.png-331a47a5ae4ee326a65ca851f7f14bad.ctex"
|
path="res://.godot/imported/Layer 10.png-331a47a5ae4ee326a65ca851f7f14bad.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bg2xs2axaulm5"
|
uid="uid://bhvfn8ivbf4ft"
|
||||||
path="res://.godot/imported/Layer 2.png-722912ed068caf19a674d5723b998880.ctex"
|
path="res://.godot/imported/Layer 2.png-722912ed068caf19a674d5723b998880.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cl6b81krcl604"
|
uid="uid://dv3luun17uogb"
|
||||||
path="res://.godot/imported/Layer 3.png-e5d6eef5a4f3fce7e3623f68bfe58960.ctex"
|
path="res://.godot/imported/Layer 3.png-e5d6eef5a4f3fce7e3623f68bfe58960.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bs3h416iapkfp"
|
uid="uid://c3qps6ydrvlvb"
|
||||||
path="res://.godot/imported/Layer 4.png-900106d391e489efca608517c8276d22.ctex"
|
path="res://.godot/imported/Layer 4.png-900106d391e489efca608517c8276d22.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cu5c3turddubn"
|
uid="uid://l4xotnpkh1b1"
|
||||||
path="res://.godot/imported/Layer 5.png-ccaf7fda30e11414d007c994aeec0fba.ctex"
|
path="res://.godot/imported/Layer 5.png-ccaf7fda30e11414d007c994aeec0fba.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://1keo4y5rylbv"
|
uid="uid://cituuuichmghm"
|
||||||
path="res://.godot/imported/Layer 6.png-b61805ab50d4963587c6eec969a9b1e2.ctex"
|
path="res://.godot/imported/Layer 6.png-b61805ab50d4963587c6eec969a9b1e2.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://qj2746r20rek"
|
uid="uid://cskq44syg3ksp"
|
||||||
path="res://.godot/imported/Layer 7.png-a67edf8ad847814920b162e0ba196c2b.ctex"
|
path="res://.godot/imported/Layer 7.png-a67edf8ad847814920b162e0ba196c2b.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dxi670b1ja3hp"
|
uid="uid://d00a7mu16bm3n"
|
||||||
path="res://.godot/imported/Layer 8.png-c224a88034d316e2a05bcf1acf06c80b.ctex"
|
path="res://.godot/imported/Layer 8.png-c224a88034d316e2a05bcf1acf06c80b.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cl1srhwevno7u"
|
uid="uid://dcq2q3n4enpf6"
|
||||||
path="res://.godot/imported/Layer 9.png-129f31fa23ab007c34b9784fdad7d140.ctex"
|
path="res://.godot/imported/Layer 9.png-129f31fa23ab007c34b9784fdad7d140.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dbdfgak3luyys"
|
uid="uid://d038d3hf7652i"
|
||||||
path="res://.godot/imported/Layer 1.png-2af52a93fe130f87eee4f702b270eb81.ctex"
|
path="res://.godot/imported/Layer 1.png-2af52a93fe130f87eee4f702b270eb81.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://kiko1cme3emk"
|
uid="uid://snhdh4kc60np"
|
||||||
path="res://.godot/imported/Layer 10.png-535dcc86e13e1b5bcefffaa908977c61.ctex"
|
path="res://.godot/imported/Layer 10.png-535dcc86e13e1b5bcefffaa908977c61.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://btvjpj3aownnx"
|
uid="uid://do1xtg4s3u88w"
|
||||||
path="res://.godot/imported/Layer 2.png-2048fc08985f8df1b35bcc7f2d215056.ctex"
|
path="res://.godot/imported/Layer 2.png-2048fc08985f8df1b35bcc7f2d215056.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://but1m3lh1bs0t"
|
uid="uid://y6p4w8emisdp"
|
||||||
path="res://.godot/imported/Layer 3.png-f29c8d8f9ac40599c2c68d07983d57a9.ctex"
|
path="res://.godot/imported/Layer 3.png-f29c8d8f9ac40599c2c68d07983d57a9.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dvtoifuhrpyog"
|
uid="uid://d0s0vfqgxo4ch"
|
||||||
path="res://.godot/imported/Layer 4.png-464735584d136537153e04d6fa29ae0b.ctex"
|
path="res://.godot/imported/Layer 4.png-464735584d136537153e04d6fa29ae0b.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://3oxlqj4455f8"
|
uid="uid://c1pgbp26wxpw2"
|
||||||
path="res://.godot/imported/Layer 5.png-181f77cb2889ea376fab331b073c3f3a.ctex"
|
path="res://.godot/imported/Layer 5.png-181f77cb2889ea376fab331b073c3f3a.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://d4lxgwn6rikvb"
|
uid="uid://cnmxqnexnb6to"
|
||||||
path="res://.godot/imported/Layer 6.png-55432acb8f8504b93cfde4dee5fc78e0.ctex"
|
path="res://.godot/imported/Layer 6.png-55432acb8f8504b93cfde4dee5fc78e0.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://ww6k6t8y5ksp"
|
uid="uid://l6sj31rtfj0"
|
||||||
path="res://.godot/imported/Layer 7.png-d1a7631694b6d71fd9d56b118601ee40.ctex"
|
path="res://.godot/imported/Layer 7.png-d1a7631694b6d71fd9d56b118601ee40.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://vsdbtc6ba2eh"
|
uid="uid://nhbclk8h0vkm"
|
||||||
path="res://.godot/imported/Layer 8.png-11394063c51446c140df4ca66a3e3783.ctex"
|
path="res://.godot/imported/Layer 8.png-11394063c51446c140df4ca66a3e3783.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://di8rpvj2hmsai"
|
uid="uid://kjq0epk60s5b"
|
||||||
path="res://.godot/imported/Layer 9.png-e25d454cdf437d36eacdabaf8d7bc473.ctex"
|
path="res://.godot/imported/Layer 9.png-e25d454cdf437d36eacdabaf8d7bc473.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
|
|||||||
@@ -15,13 +15,7 @@ public partial class Michael : Enemy, IHasPrimaryAttack
|
|||||||
public void OnReady()
|
public void OnReady()
|
||||||
{
|
{
|
||||||
SetPhysicsProcess(true);
|
SetPhysicsProcess(true);
|
||||||
EnemyModelView.AnimationTree.AnimationFinished += AnimationPlayer_AnimationFinished;
|
EnemyModelView.Hitbox.AreaEntered += Hitbox_AreaEntered;
|
||||||
}
|
|
||||||
|
|
||||||
private void AnimationPlayer_AnimationFinished(StringName animName)
|
|
||||||
{
|
|
||||||
if (animName == "primary_attack")
|
|
||||||
EnemyModelView.Hitbox.AreaEntered -= Hitbox_AreaEntered;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void TakeAction()
|
public override void TakeAction()
|
||||||
@@ -30,7 +24,6 @@ public partial class Michael : Enemy, IHasPrimaryAttack
|
|||||||
}
|
}
|
||||||
public void PrimaryAttack()
|
public void PrimaryAttack()
|
||||||
{
|
{
|
||||||
EnemyModelView.Hitbox.AreaEntered += Hitbox_AreaEntered;
|
|
||||||
EnemyModelView.PlayPrimaryAttackAnimation();
|
EnemyModelView.PlayPrimaryAttackAnimation();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=101 format=3 uid="uid://bjg8wyvp8q6oc"]
|
[gd_scene load_steps=129 format=3 uid="uid://bjg8wyvp8q6oc"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://chymnqdw7hibn" path="res://src/enemy/EnemyModelView.cs" id="1_iajg3"]
|
[ext_resource type="Script" uid="uid://chymnqdw7hibn" path="res://src/enemy/EnemyModelView.cs" id="1_iajg3"]
|
||||||
[ext_resource type="Texture2D" uid="uid://clpqh2pyqljkn" path="res://src/enemy/enemy_types/michael/animations/IDLE_WALK/BACK/Michael_Walk_Idle_Back (1).png" id="2_3g180"]
|
[ext_resource type="Texture2D" uid="uid://clpqh2pyqljkn" path="res://src/enemy/enemy_types/michael/animations/IDLE_WALK/BACK/Michael_Walk_Idle_Back (1).png" id="2_3g180"]
|
||||||
@@ -476,30 +476,129 @@ tracks/2/keys = {
|
|||||||
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
|
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[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("Sprite/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333, 0.666666, 0.75, 0.833333, 0.916666, 1, 1.08333, 1.16667, 1.25, 1.33333, 1.41667, 1.5, 1.58333, 1.66667, 1.75, 1.83333),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite/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_back_walk"]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_fssmb"]
|
||||||
|
resource_name = "idle_front"
|
||||||
|
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("Sprite/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333, 0.666666, 0.75, 0.833333, 0.916666, 1, 1.08333, 1.16667, 1.25, 1.33333, 1.41667, 1.5, 1.58333, 1.66667, 1.75, 1.8333),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite/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("Sprite/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333, 0.666666, 0.75, 0.833333, 0.916666, 1, 1.08333, 1.16667, 1.25, 1.33333, 1.41667, 1.5, 1.58333, 1.66667, 1.75, 1.83333),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite/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"]
|
||||||
|
}
|
||||||
|
|
||||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_346xs"]
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_346xs"]
|
||||||
_data = {
|
_data = {
|
||||||
&"RESET": SubResource("Animation_41ppy"),
|
&"RESET": SubResource("Animation_41ppy"),
|
||||||
|
&"idle_back": SubResource("Animation_3g180"),
|
||||||
&"idle_back_walk": SubResource("Animation_ppbeh"),
|
&"idle_back_walk": SubResource("Animation_ppbeh"),
|
||||||
|
&"idle_front": SubResource("Animation_fssmb"),
|
||||||
&"idle_front_walk": SubResource("Animation_3dffb"),
|
&"idle_front_walk": SubResource("Animation_3dffb"),
|
||||||
|
&"idle_left": SubResource("Animation_oy7vk"),
|
||||||
&"idle_left_walk": SubResource("Animation_0qxqf"),
|
&"idle_left_walk": SubResource("Animation_0qxqf"),
|
||||||
&"primary_attack": SubResource("Animation_0k3e8")
|
&"primary_attack": SubResource("Animation_0k3e8")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_3g180"]
|
||||||
|
animation = &"idle_back"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o0tmb"]
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o0tmb"]
|
||||||
animation = &"idle_back_walk"
|
animation = &"idle_back_walk"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fssmb"]
|
||||||
|
animation = &"idle_front"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a6s5c"]
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a6s5c"]
|
||||||
animation = &"idle_front_walk"
|
animation = &"idle_front_walk"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_oy7vk"]
|
||||||
|
animation = &"idle_left"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dvj10"]
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dvj10"]
|
||||||
animation = &"idle_left_walk"
|
animation = &"idle_left_walk"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_erbrx"]
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_erbrx"]
|
||||||
animation = &"primary_attack"
|
animation = &"primary_attack"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vljb2"]
|
|
||||||
advance_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3xv6a"]
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3xv6a"]
|
||||||
switch_mode = 1
|
switch_mode = 1
|
||||||
|
|
||||||
@@ -535,18 +634,91 @@ switch_mode = 2
|
|||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mxl7w"]
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mxl7w"]
|
||||||
switch_mode = 2
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7jsk6"]
|
||||||
|
advance_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nntdb"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_1br6i"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2m7tq"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_d2pq5"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_p18ld"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8kbdd"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nb2qv"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nqbx0"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4depw"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fegyx"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_eh46c"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dgujy"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6ogef"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cvhi5"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e3x3h"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mqikf"]
|
||||||
|
switch_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ide2k"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_114qx"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_smnr6"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_g6ih4"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_odtr7"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_off5l"]
|
||||||
|
switch_mode = 1
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_r23qr"]
|
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_r23qr"]
|
||||||
states/End/position = Vector2(1464, 100)
|
states/End/position = Vector2(1464, 100)
|
||||||
|
states/Start/position = Vector2(-44, 64)
|
||||||
|
states/idle_back/node = SubResource("AnimationNodeAnimation_3g180")
|
||||||
|
states/idle_back/position = Vector2(414, -131.053)
|
||||||
states/idle_back_walk/node = SubResource("AnimationNodeAnimation_o0tmb")
|
states/idle_back_walk/node = SubResource("AnimationNodeAnimation_o0tmb")
|
||||||
states/idle_back_walk/position = Vector2(490, 92.9474)
|
states/idle_back_walk/position = Vector2(542, 140.947)
|
||||||
|
states/idle_front/node = SubResource("AnimationNodeAnimation_fssmb")
|
||||||
|
states/idle_front/position = Vector2(14, 10.9474)
|
||||||
states/idle_front_walk/node = SubResource("AnimationNodeAnimation_a6s5c")
|
states/idle_front_walk/node = SubResource("AnimationNodeAnimation_a6s5c")
|
||||||
states/idle_front_walk/position = Vector2(331, -12)
|
states/idle_front_walk/position = Vector2(509, -31)
|
||||||
|
states/idle_left/node = SubResource("AnimationNodeAnimation_oy7vk")
|
||||||
|
states/idle_left/position = Vector2(77, 151.947)
|
||||||
states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10")
|
states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10")
|
||||||
states/idle_left_walk/position = Vector2(331, 196.947)
|
states/idle_left_walk/position = Vector2(318, 248.947)
|
||||||
states/primary_attack/node = SubResource("AnimationNodeAnimation_erbrx")
|
states/primary_attack/node = SubResource("AnimationNodeAnimation_erbrx")
|
||||||
states/primary_attack/position = Vector2(1151, 86.9474)
|
states/primary_attack/position = Vector2(1151, 86.9474)
|
||||||
transitions = ["Start", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_vljb2"), "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"), "primary_attack", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_8hgxu"), "primary_attack", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fq2yw"), "primary_attack", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_yqm0k"), "idle_back_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_bmy1k"), "idle_left_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_mxl7w")]
|
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"), "primary_attack", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_8hgxu"), "primary_attack", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fq2yw"), "primary_attack", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_yqm0k"), "idle_back_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_bmy1k"), "idle_left_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_mxl7w"), "Start", "idle_front", SubResource("AnimationNodeStateMachineTransition_7jsk6"), "idle_front", "idle_back", SubResource("AnimationNodeStateMachineTransition_nntdb"), "idle_front", "idle_left", SubResource("AnimationNodeStateMachineTransition_1br6i"), "idle_left", "idle_front", SubResource("AnimationNodeStateMachineTransition_2m7tq"), "idle_back", "idle_front", SubResource("AnimationNodeStateMachineTransition_d2pq5"), "idle_back", "idle_left", SubResource("AnimationNodeStateMachineTransition_p18ld"), "idle_left", "idle_back", SubResource("AnimationNodeStateMachineTransition_8kbdd"), "idle_front", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_nb2qv"), "idle_front_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_nqbx0"), "idle_front", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_4depw"), "idle_back_walk", "idle_front", SubResource("AnimationNodeStateMachineTransition_fegyx"), "idle_front", "primary_attack", SubResource("AnimationNodeStateMachineTransition_eh46c"), "primary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_dgujy"), "idle_back", "primary_attack", SubResource("AnimationNodeStateMachineTransition_6ogef"), "primary_attack", "idle_back", SubResource("AnimationNodeStateMachineTransition_cvhi5"), "idle_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_e3x3h"), "primary_attack", "idle_left", SubResource("AnimationNodeStateMachineTransition_mqikf"), "idle_left", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_ide2k"), "idle_left_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_114qx"), "idle_left", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_smnr6"), "idle_back_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_g6ih4"), "idle_left", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_odtr7"), "idle_front_walk", "idle_left", SubResource("AnimationNodeStateMachineTransition_off5l")]
|
||||||
graph_offset = Vector2(-190, -62.0526)
|
graph_offset = Vector2(-190, -100.703)
|
||||||
|
|
||||||
[node name="EnemyModelView" type="Node3D"]
|
[node name="EnemyModelView" type="Node3D"]
|
||||||
script = ExtResource("1_iajg3")
|
script = ExtResource("1_iajg3")
|
||||||
|
|||||||
@@ -17,13 +17,7 @@ public partial class Sproingy : Enemy, IHasPrimaryAttack
|
|||||||
public void OnReady()
|
public void OnReady()
|
||||||
{
|
{
|
||||||
SetPhysicsProcess(true);
|
SetPhysicsProcess(true);
|
||||||
EnemyModelView.AnimationTree.AnimationFinished += AnimationPlayer_AnimationFinished;
|
EnemyModelView.Hitbox.AreaEntered += Hitbox_AreaEntered;
|
||||||
}
|
|
||||||
|
|
||||||
private void AnimationPlayer_AnimationFinished(StringName animName)
|
|
||||||
{
|
|
||||||
if (animName == "primary_attack")
|
|
||||||
EnemyModelView.Hitbox.AreaEntered -= Hitbox_AreaEntered;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void TakeAction()
|
public override void TakeAction()
|
||||||
@@ -32,7 +26,6 @@ public partial class Sproingy : Enemy, IHasPrimaryAttack
|
|||||||
}
|
}
|
||||||
public void PrimaryAttack()
|
public void PrimaryAttack()
|
||||||
{
|
{
|
||||||
EnemyModelView.Hitbox.AreaEntered += Hitbox_AreaEntered;
|
|
||||||
EnemyModelView.PlayPrimaryAttackAnimation();
|
EnemyModelView.PlayPrimaryAttackAnimation();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=86 format=3 uid="uid://bli0t0d6ommvi"]
|
[gd_scene load_steps=122 format=3 uid="uid://bli0t0d6ommvi"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://chymnqdw7hibn" path="res://src/enemy/EnemyModelView.cs" id="1_0vbio"]
|
[ext_resource type="Script" uid="uid://chymnqdw7hibn" path="res://src/enemy/EnemyModelView.cs" id="1_0vbio"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dd0ia6isdqg61" path="res://src/enemy/enemy_types/sproingy/animations/ATTACK/Layer 1.png" id="1_pbx41"]
|
[ext_resource type="Texture2D" uid="uid://dd0ia6isdqg61" path="res://src/enemy/enemy_types/sproingy/animations/ATTACK/Layer 1.png" id="1_pbx41"]
|
||||||
@@ -293,6 +293,36 @@ tracks/2/keys = {
|
|||||||
"values": [true]
|
"values": [true]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_d5bmw"]
|
||||||
|
resource_name = "idle_back"
|
||||||
|
length = 1.16667
|
||||||
|
loop_mode = 1
|
||||||
|
step = 0.0833333
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:animation")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [&"idle_back_walk"]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333, 0.666666, 0.75, 0.833333, 0.916666, 1, 1.08333, 1.16667),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
|
||||||
|
}
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_1tda5"]
|
[sub_resource type="Animation" id="Animation_1tda5"]
|
||||||
resource_name = "idle_back_walk"
|
resource_name = "idle_back_walk"
|
||||||
length = 1.16667
|
length = 1.16667
|
||||||
@@ -323,6 +353,36 @@ tracks/1/keys = {
|
|||||||
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
|
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_53wuj"]
|
||||||
|
resource_name = "idle_front"
|
||||||
|
length = 1.16667
|
||||||
|
loop_mode = 1
|
||||||
|
step = 0.0833333
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:animation")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [&"idle_front_walk"]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333, 0.666667, 0.75, 0.833333, 0.916667, 1, 1.08333, 1.16667),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
|
||||||
|
}
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_31nry"]
|
[sub_resource type="Animation" id="Animation_31nry"]
|
||||||
resource_name = "idle_front_walk"
|
resource_name = "idle_front_walk"
|
||||||
length = 1.16667
|
length = 1.16667
|
||||||
@@ -353,6 +413,36 @@ tracks/1/keys = {
|
|||||||
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
|
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_fpvxl"]
|
||||||
|
resource_name = "idle_left"
|
||||||
|
length = 1.25001
|
||||||
|
loop_mode = 1
|
||||||
|
step = 0.0833333
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333, 0.666666, 0.75, 0.833333, 0.916666, 1, 1.08333, 1.16667),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Sprite3D/SubViewport/AnimatedSprite:animation")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [&"idle_left_walk"]
|
||||||
|
}
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_1870e"]
|
[sub_resource type="Animation" id="Animation_1870e"]
|
||||||
resource_name = "idle_left_walk"
|
resource_name = "idle_left_walk"
|
||||||
length = 1.25001
|
length = 1.25001
|
||||||
@@ -427,27 +517,36 @@ tracks/2/keys = {
|
|||||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6tj5r"]
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6tj5r"]
|
||||||
_data = {
|
_data = {
|
||||||
&"RESET": SubResource("Animation_ch8ic"),
|
&"RESET": SubResource("Animation_ch8ic"),
|
||||||
|
&"idle_back": SubResource("Animation_d5bmw"),
|
||||||
&"idle_back_walk": SubResource("Animation_1tda5"),
|
&"idle_back_walk": SubResource("Animation_1tda5"),
|
||||||
|
&"idle_front": SubResource("Animation_53wuj"),
|
||||||
&"idle_front_walk": SubResource("Animation_31nry"),
|
&"idle_front_walk": SubResource("Animation_31nry"),
|
||||||
|
&"idle_left": SubResource("Animation_fpvxl"),
|
||||||
&"idle_left_walk": SubResource("Animation_1870e"),
|
&"idle_left_walk": SubResource("Animation_1870e"),
|
||||||
&"primary_attack": SubResource("Animation_ruc6s")
|
&"primary_attack": SubResource("Animation_ruc6s")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_53wuj"]
|
||||||
|
animation = &"idle_back"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o0tmb"]
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o0tmb"]
|
||||||
animation = &"idle_back_walk"
|
animation = &"idle_back_walk"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_d5bmw"]
|
||||||
|
animation = &"idle_front"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a6s5c"]
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a6s5c"]
|
||||||
animation = &"idle_front_walk"
|
animation = &"idle_front_walk"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fpvxl"]
|
||||||
|
animation = &"idle_left"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dvj10"]
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dvj10"]
|
||||||
animation = &"idle_left_walk"
|
animation = &"idle_left_walk"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_erbrx"]
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_erbrx"]
|
||||||
animation = &"primary_attack"
|
animation = &"primary_attack"
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vljb2"]
|
|
||||||
advance_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3xv6a"]
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3xv6a"]
|
||||||
switch_mode = 1
|
switch_mode = 1
|
||||||
|
|
||||||
@@ -483,18 +582,107 @@ switch_mode = 2
|
|||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mxl7w"]
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mxl7w"]
|
||||||
switch_mode = 2
|
switch_mode = 2
|
||||||
|
|
||||||
|
[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"]
|
||||||
|
|
||||||
|
[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"]
|
||||||
|
|
||||||
|
[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"]
|
||||||
|
|
||||||
|
[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"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_al2xs"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_afa0q"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_irq32"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2khaq"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k7x0x"]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_noc6c"]
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_d5bmw"]
|
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_d5bmw"]
|
||||||
states/End/position = Vector2(1464, 100)
|
states/End/position = Vector2(1466, 104)
|
||||||
|
states/Start/position = Vector2(92, 119)
|
||||||
|
states/idle_back/node = SubResource("AnimationNodeAnimation_53wuj")
|
||||||
|
states/idle_back/position = Vector2(180.116, -34)
|
||||||
states/idle_back_walk/node = SubResource("AnimationNodeAnimation_o0tmb")
|
states/idle_back_walk/node = SubResource("AnimationNodeAnimation_o0tmb")
|
||||||
states/idle_back_walk/position = Vector2(491, 92.9474)
|
states/idle_back_walk/position = Vector2(676, -8.0526)
|
||||||
|
states/idle_front/node = SubResource("AnimationNodeAnimation_d5bmw")
|
||||||
|
states/idle_front/position = Vector2(403.116, 43.9474)
|
||||||
states/idle_front_walk/node = SubResource("AnimationNodeAnimation_a6s5c")
|
states/idle_front_walk/node = SubResource("AnimationNodeAnimation_a6s5c")
|
||||||
states/idle_front_walk/position = Vector2(331, -12)
|
states/idle_front_walk/position = Vector2(644, -100)
|
||||||
|
states/idle_left/node = SubResource("AnimationNodeAnimation_fpvxl")
|
||||||
|
states/idle_left/position = Vector2(367.116, 119)
|
||||||
states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10")
|
states/idle_left_walk/node = SubResource("AnimationNodeAnimation_dvj10")
|
||||||
states/idle_left_walk/position = Vector2(331, 196.947)
|
states/idle_left_walk/position = Vector2(438, 242.947)
|
||||||
states/primary_attack/node = SubResource("AnimationNodeAnimation_erbrx")
|
states/primary_attack/node = SubResource("AnimationNodeAnimation_erbrx")
|
||||||
states/primary_attack/position = Vector2(1024, 92.9474)
|
states/primary_attack/position = Vector2(1024, 92.9474)
|
||||||
transitions = ["Start", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_vljb2"), "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"), "primary_attack", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_8hgxu"), "primary_attack", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fq2yw"), "primary_attack", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_yqm0k"), "idle_back_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_bmy1k"), "idle_left_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_mxl7w")]
|
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"), "primary_attack", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_8hgxu"), "primary_attack", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fq2yw"), "primary_attack", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_yqm0k"), "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"), "primary_attack", "idle_back", SubResource("AnimationNodeStateMachineTransition_afa0q"), "idle_front", "primary_attack", SubResource("AnimationNodeStateMachineTransition_irq32"), "primary_attack", "idle_front", SubResource("AnimationNodeStateMachineTransition_2khaq"), "idle_left", "primary_attack", SubResource("AnimationNodeStateMachineTransition_k7x0x"), "primary_attack", "idle_left", SubResource("AnimationNodeStateMachineTransition_noc6c")]
|
||||||
graph_offset = Vector2(46.1163, -62.0526)
|
graph_offset = Vector2(46.1163, -73.3694)
|
||||||
|
|
||||||
[node name="EnemyModelView" type="Node3D"]
|
[node name="EnemyModelView" type="Node3D"]
|
||||||
script = ExtResource("1_0vbio")
|
script = ExtResource("1_0vbio")
|
||||||
|
|||||||
@@ -15,8 +15,14 @@ public partial class EnemyLogic
|
|||||||
|
|
||||||
public readonly record struct EnemyDefeated();
|
public readonly record struct EnemyDefeated();
|
||||||
|
|
||||||
|
public readonly record struct StartPatrol;
|
||||||
|
|
||||||
|
public readonly record struct StopMoving;
|
||||||
|
|
||||||
public readonly record struct PatrolToRandomSpot(Vector3 PatrolTarget);
|
public readonly record struct PatrolToRandomSpot(Vector3 PatrolTarget);
|
||||||
|
|
||||||
public readonly record struct AttackTimer;
|
public readonly record struct AttackTimer;
|
||||||
|
|
||||||
|
public readonly record struct StartAttacking;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,27 @@
|
|||||||
@startuml EnemyLogic
|
@startuml EnemyLogic
|
||||||
state "EnemyLogic State" as GameJamDungeon_EnemyLogic_State {
|
state "EnemyLogic State" as GameJamDungeon_EnemyLogic_State {
|
||||||
state "Alive" as GameJamDungeon_EnemyLogic_State_Alive {
|
state "Alive" as GameJamDungeon_EnemyLogic_State_Alive {
|
||||||
|
state "Attacking" as GameJamDungeon_EnemyLogic_State_Attacking
|
||||||
state "FollowPlayer" as GameJamDungeon_EnemyLogic_State_FollowPlayer
|
state "FollowPlayer" as GameJamDungeon_EnemyLogic_State_FollowPlayer
|
||||||
state "Idle" as GameJamDungeon_EnemyLogic_State_Idle
|
state "Idle" as GameJamDungeon_EnemyLogic_State_Idle
|
||||||
|
state "Patrolling" as GameJamDungeon_EnemyLogic_State_Patrolling
|
||||||
}
|
}
|
||||||
state "Defeated" as GameJamDungeon_EnemyLogic_State_Defeated
|
state "Defeated" as GameJamDungeon_EnemyLogic_State_Defeated
|
||||||
}
|
}
|
||||||
|
|
||||||
GameJamDungeon_EnemyLogic_State_Alive --> GameJamDungeon_EnemyLogic_State_Alive : AttackTimer
|
GameJamDungeon_EnemyLogic_State_Alive --> GameJamDungeon_EnemyLogic_State_Attacking : AttackTimer
|
||||||
|
GameJamDungeon_EnemyLogic_State_Alive --> GameJamDungeon_EnemyLogic_State_Attacking : StartAttacking
|
||||||
GameJamDungeon_EnemyLogic_State_Alive --> GameJamDungeon_EnemyLogic_State_Defeated : EnemyDefeated
|
GameJamDungeon_EnemyLogic_State_Alive --> GameJamDungeon_EnemyLogic_State_Defeated : EnemyDefeated
|
||||||
|
GameJamDungeon_EnemyLogic_State_Alive --> GameJamDungeon_EnemyLogic_State_FollowPlayer : Alerted
|
||||||
|
GameJamDungeon_EnemyLogic_State_Alive --> GameJamDungeon_EnemyLogic_State_Idle : StopMoving
|
||||||
|
GameJamDungeon_EnemyLogic_State_Attacking --> GameJamDungeon_EnemyLogic_State_Idle : StopMoving
|
||||||
GameJamDungeon_EnemyLogic_State_FollowPlayer --> GameJamDungeon_EnemyLogic_State_FollowPlayer : PhysicsTick
|
GameJamDungeon_EnemyLogic_State_FollowPlayer --> GameJamDungeon_EnemyLogic_State_FollowPlayer : PhysicsTick
|
||||||
GameJamDungeon_EnemyLogic_State_FollowPlayer --> GameJamDungeon_EnemyLogic_State_Idle : LostPlayer
|
GameJamDungeon_EnemyLogic_State_FollowPlayer --> GameJamDungeon_EnemyLogic_State_Idle : LostPlayer
|
||||||
GameJamDungeon_EnemyLogic_State_Idle --> GameJamDungeon_EnemyLogic_State_FollowPlayer : Alerted
|
GameJamDungeon_EnemyLogic_State_FollowPlayer --> GameJamDungeon_EnemyLogic_State_Idle : StopMoving
|
||||||
GameJamDungeon_EnemyLogic_State_Idle --> GameJamDungeon_EnemyLogic_State_Idle : PatrolToRandomSpot
|
GameJamDungeon_EnemyLogic_State_Idle --> GameJamDungeon_EnemyLogic_State_Patrolling : StartPatrol
|
||||||
GameJamDungeon_EnemyLogic_State_Idle --> GameJamDungeon_EnemyLogic_State_Idle : PhysicsTick
|
GameJamDungeon_EnemyLogic_State_Patrolling --> GameJamDungeon_EnemyLogic_State_Idle : StopMoving
|
||||||
|
GameJamDungeon_EnemyLogic_State_Patrolling --> GameJamDungeon_EnemyLogic_State_Patrolling : PatrolToRandomSpot
|
||||||
|
GameJamDungeon_EnemyLogic_State_Patrolling --> GameJamDungeon_EnemyLogic_State_Patrolling : PhysicsTick
|
||||||
|
|
||||||
GameJamDungeon_EnemyLogic_State_Alive : OnAttackTimer → TakeAction
|
GameJamDungeon_EnemyLogic_State_Alive : OnAttackTimer → TakeAction
|
||||||
GameJamDungeon_EnemyLogic_State_Alive : OnEnemyDefeated → Defeated
|
GameJamDungeon_EnemyLogic_State_Alive : OnEnemyDefeated → Defeated
|
||||||
|
|||||||
@@ -7,12 +7,12 @@ public partial class EnemyLogic
|
|||||||
public partial record State
|
public partial record State
|
||||||
{
|
{
|
||||||
[Meta, Id("enemy_logic_state_alive")]
|
[Meta, Id("enemy_logic_state_alive")]
|
||||||
public abstract partial record Alive : State, IGet<Input.AttackTimer>, IGet<Input.EnemyDefeated>
|
public abstract partial record Alive : State, IGet<Input.AttackTimer>, IGet<Input.EnemyDefeated>, IGet<Input.StopMoving>, IGet<Input.StartAttacking>, IGet<Input.Alerted>
|
||||||
{
|
{
|
||||||
public Transition On(in Input.AttackTimer input)
|
public Transition On(in Input.AttackTimer input)
|
||||||
{
|
{
|
||||||
Output(new Output.TakeAction());
|
Output(new Output.TakeAction());
|
||||||
return ToSelf();
|
return To<Attacking>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Transition On(in Input.EnemyDefeated input)
|
public Transition On(in Input.EnemyDefeated input)
|
||||||
@@ -20,6 +20,21 @@ public partial class EnemyLogic
|
|||||||
Output(new Output.Defeated());
|
Output(new Output.Defeated());
|
||||||
return To<Defeated>();
|
return To<Defeated>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Transition On(in Input.StopMoving input)
|
||||||
|
{
|
||||||
|
return To<Idle>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Transition On(in Input.StartAttacking input)
|
||||||
|
{
|
||||||
|
return To<Attacking>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Transition On(in Input.Alerted _)
|
||||||
|
{
|
||||||
|
return To<FollowPlayer>();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
19
src/enemy/state/states/EnemyLogic.State.Attacking.cs
Normal file
19
src/enemy/state/states/EnemyLogic.State.Attacking.cs
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
using Chickensoft.Introspection;
|
||||||
|
|
||||||
|
namespace GameJamDungeon;
|
||||||
|
|
||||||
|
public partial class EnemyLogic
|
||||||
|
{
|
||||||
|
public partial record State
|
||||||
|
{
|
||||||
|
[Meta, Id("enemy_logic_state_attacking")]
|
||||||
|
public partial record Attacking : Alive, IGet<Input.StopMoving>
|
||||||
|
{
|
||||||
|
public Attacking()
|
||||||
|
{
|
||||||
|
OnAttach(() => Get<IEnemy>().StartAttackTimer());
|
||||||
|
OnDetach(() => Get<IEnemy>().StopAttackTimer());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user