Additional refactoring and fixing of equipment data
Add attack data to enemy attacks (might need to rework a little bit for primary/secondary attacks)
This commit is contained in:
@@ -5,15 +5,13 @@ namespace Zennysoft.Ma.Adapter
|
||||
{
|
||||
public static class DamageCalculator
|
||||
{
|
||||
public static int CalculateDamage(Damage damage, double defense, ElementalResistanceSet elementalResistanceSet)
|
||||
public static int CalculateDamage(AttackData damage, double defense, ElementalResistanceSet elementalResistanceSet)
|
||||
{
|
||||
var calculatedDamage = damage.BaseDamage;
|
||||
if (!damage.IgnoreDefense)
|
||||
calculatedDamage = CalculateDefenseResistance(calculatedDamage, defense);
|
||||
if (!damage.IgnoreElementalResistance)
|
||||
calculatedDamage = CalculateElementalResistance(calculatedDamage, elementalResistanceSet.ElementalResistance[damage.ElementType]);
|
||||
if (damage.IsCriticalHit)
|
||||
calculatedDamage *= 2;
|
||||
|
||||
return Mathf.Max(1, calculatedDamage);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Chickensoft.Collections;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Ma.Adapter;
|
||||
public interface IEquipmentComponent
|
||||
@@ -13,4 +12,17 @@ public interface IEquipmentComponent
|
||||
public void Equip(EquipableItem equipable);
|
||||
|
||||
public void Unequip(EquipableItem equipable);
|
||||
|
||||
public bool IsItemEquipped(InventoryItem item);
|
||||
|
||||
public int BonusAttack { get; }
|
||||
|
||||
public int BonusDefense { get; }
|
||||
|
||||
public int BonusHP { get; }
|
||||
|
||||
public int BonusVT { get; }
|
||||
|
||||
public int BonusLuck { get; }
|
||||
|
||||
}
|
||||
|
||||
@@ -6,5 +6,5 @@ public interface ILuckComponent
|
||||
{
|
||||
public IAutoProp<int> Luck { get; }
|
||||
|
||||
public void SetLuck(int value);
|
||||
public void IncreaseLuck(int value);
|
||||
}
|
||||
|
||||
3
Zennysoft.Game.Ma.Implementation/Entity/AttackData.cs
Normal file
3
Zennysoft.Game.Ma.Implementation/Entity/AttackData.cs
Normal file
@@ -0,0 +1,3 @@
|
||||
namespace Zennysoft.Ma.Adapter;
|
||||
|
||||
public record AttackData(int BaseDamage, ElementType ElementType, bool IgnoreDefense = false, bool IgnoreElementalResistance = false);
|
||||
@@ -1,3 +0,0 @@
|
||||
namespace Zennysoft.Ma.Adapter;
|
||||
|
||||
public record Damage(int BaseDamage, ElementType ElementType, bool IsCriticalHit, bool IgnoreDefense, bool IgnoreElementalResistance);
|
||||
@@ -4,6 +4,8 @@
|
||||
{
|
||||
public Dictionary<ElementType, double> ElementalResistance { get; }
|
||||
|
||||
public static ElementalResistanceSet None => new ElementalResistanceSet(0, 0, 0, 0, 0);
|
||||
|
||||
public ElementalResistanceSet(double aeolicResistance, double hydricResistance, double igneousResistance, double ferrumResistance, double telluricResistance)
|
||||
{
|
||||
ElementalResistance = new Dictionary<ElementType, double>
|
||||
|
||||
@@ -1,11 +1,17 @@
|
||||
using Chickensoft.Introspection;
|
||||
using Chickensoft.Serialization;
|
||||
|
||||
namespace Zennysoft.Ma.Adapter;
|
||||
|
||||
[Meta, Id("equipable_item")]
|
||||
public abstract partial class EquipableItem : InventoryItem
|
||||
{
|
||||
[Save("equipable_item_is_equipped")]
|
||||
public bool IsEquipped { get; set; }
|
||||
public virtual int BonusAttack { get; }
|
||||
|
||||
public virtual int BonusDefense { get; }
|
||||
|
||||
public virtual int BonusHP { get; }
|
||||
|
||||
public virtual int BonusVT { get; }
|
||||
|
||||
public virtual int BonusLuck { get; }
|
||||
}
|
||||
|
||||
@@ -5,5 +5,6 @@ public enum WeaponTag
|
||||
None,
|
||||
SelfDamage,
|
||||
IgnoreAffinity,
|
||||
IgnoreDefense,
|
||||
Knockback,
|
||||
}
|
||||
|
||||
@@ -53,8 +53,6 @@ public interface IGameRepo : IDisposable
|
||||
|
||||
public void OnPlayerAttackedWall();
|
||||
|
||||
public void OnPlayerAttackedEnemy();
|
||||
|
||||
public void OnRestorativePickedUp(IHealthPack restorative);
|
||||
|
||||
public void CloseInventory();
|
||||
@@ -147,11 +145,6 @@ public class GameRepo : IGameRepo
|
||||
PlayerAttackedWall?.Invoke();
|
||||
}
|
||||
|
||||
public void OnPlayerAttackedEnemy()
|
||||
{
|
||||
PlayerAttackedEnemy?.Invoke();
|
||||
}
|
||||
|
||||
public void OnRestorativePickedUp(IHealthPack restorative)
|
||||
{
|
||||
RestorativePickedUp?.Invoke(restorative);
|
||||
|
||||
@@ -12,5 +12,5 @@ public interface IInventory
|
||||
|
||||
public void Remove(InventoryItem inventoryItem);
|
||||
|
||||
public void Sort();
|
||||
public void Sort(EquipableItem currentWeapon, EquipableItem currentArmor, EquipableItem currentAccessory);
|
||||
}
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
using Godot;
|
||||
using Chickensoft.GodotNodeInterfaces;
|
||||
using Godot;
|
||||
using Zennysoft.Game.Abstractions;
|
||||
|
||||
namespace Zennysoft.Ma.Adapter;
|
||||
|
||||
public interface IPlayer : IKillable
|
||||
public interface IPlayer : IKillable, ICharacterBody3D
|
||||
{
|
||||
public void Activate();
|
||||
|
||||
public void Deactivate();
|
||||
|
||||
public void TakeDamage(Damage damage);
|
||||
public void TakeDamage(AttackData damage);
|
||||
|
||||
public void Knockback(float impulse);
|
||||
|
||||
@@ -19,10 +20,6 @@ public interface IPlayer : IKillable
|
||||
|
||||
public IInventory Inventory { get; }
|
||||
|
||||
public Vector3 CurrentPosition { get; }
|
||||
|
||||
public Basis CurrentBasis { get; }
|
||||
|
||||
public IHealthComponent HealthComponent { get; }
|
||||
|
||||
public IVTComponent VTComponent { get; }
|
||||
|
||||
@@ -16,6 +16,16 @@ public class EquipmentComponent : IEquipmentComponent
|
||||
|
||||
public AutoProp<EquipableItem> _equippedAccessory;
|
||||
|
||||
public int BonusAttack => _equippedWeapon.Value.BonusAttack + _equippedArmor.Value.BonusAttack + _equippedAccessory.Value.BonusAttack;
|
||||
|
||||
public int BonusDefense => _equippedWeapon.Value.BonusDefense + _equippedArmor.Value.BonusDefense + _equippedAccessory.Value.BonusDefense;
|
||||
|
||||
public int BonusHP => _equippedWeapon.Value.BonusHP + _equippedArmor.Value.BonusHP + _equippedAccessory.Value.BonusHP;
|
||||
|
||||
public int BonusVT => _equippedWeapon.Value.BonusVT + _equippedArmor.Value.BonusVT + _equippedAccessory.Value.BonusVT;
|
||||
|
||||
public int BonusLuck => _equippedWeapon.Value.BonusLuck + _equippedArmor.Value.BonusLuck + _equippedAccessory.Value.BonusLuck;
|
||||
|
||||
public EquipmentComponent()
|
||||
{
|
||||
_equippedWeapon = new AutoProp<EquipableItem>(new Weapon());
|
||||
@@ -42,4 +52,12 @@ public class EquipmentComponent : IEquipmentComponent
|
||||
if (equipable is Accessory accessory)
|
||||
_equippedAccessory.OnNext(new Accessory());
|
||||
}
|
||||
|
||||
public bool IsItemEquipped(InventoryItem item)
|
||||
{
|
||||
if (item is not EquipableItem)
|
||||
return false;
|
||||
|
||||
return item == _equippedWeapon.Value || item == _equippedArmor.Value || item == _equippedAccessory.Value;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,5 +14,5 @@ public class LuckComponent : ILuckComponent
|
||||
_luck = new AutoProp<int>(initialLuck);
|
||||
}
|
||||
|
||||
public void SetLuck(int value) => _luck.OnNext(value);
|
||||
public void IncreaseLuck(int value) => _luck.OnNext(_luck.Value + value);
|
||||
}
|
||||
|
||||
14
Zennysoft.Game.Ma/src/enemy/AttackEventArgs.cs
Normal file
14
Zennysoft.Game.Ma/src/enemy/AttackEventArgs.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
public class AttackEventArgs : EventArgs
|
||||
{
|
||||
public AttackData Damage;
|
||||
|
||||
public AttackEventArgs(AttackData damage)
|
||||
{
|
||||
Damage = damage;
|
||||
}
|
||||
}
|
||||
@@ -52,10 +52,10 @@ public partial class BossTypeA : Enemy, IHaveEngagePlayerBehavior, IHaveFollowBe
|
||||
|
||||
public void OnPhysicsProcess(double delta)
|
||||
{
|
||||
var direction = GlobalPosition.DirectionTo(_player.CurrentPosition).Normalized();
|
||||
var direction = GlobalPosition.DirectionTo(_player.GlobalPosition).Normalized();
|
||||
|
||||
var rotationAngle = GetRotationAngle();
|
||||
if (GlobalBasis.Z.AngleTo(_player.CurrentBasis.Z) > Mathf.DegToRad(60))
|
||||
if (GlobalBasis.Z.AngleTo(_player.GlobalBasis.Z) > Mathf.DegToRad(60))
|
||||
{
|
||||
RotateToPlayer(rotationAngle);
|
||||
EnemyModelView.PlayIdleAnimation();
|
||||
@@ -95,7 +95,7 @@ public partial class BossTypeA : Enemy, IHaveEngagePlayerBehavior, IHaveFollowBe
|
||||
{
|
||||
var target = area.GetOwner();
|
||||
if (target is IPlayer player)
|
||||
player.TakeDamage(new Damage(AttackComponent.TotalAttack, PrimaryAttackElementalType, BattleExtensions.IsCriticalHit(7), false, false));
|
||||
player.TakeDamage(new AttackData(AttackComponent.TotalAttack, PrimaryAttackElementalType));
|
||||
}
|
||||
|
||||
public void StartFight()
|
||||
@@ -120,7 +120,7 @@ public partial class BossTypeA : Enemy, IHaveEngagePlayerBehavior, IHaveFollowBe
|
||||
|
||||
private float GetRotationAngle()
|
||||
{
|
||||
var target = new Vector3(_player.CurrentPosition.X, Position.Y, _player.CurrentPosition.Z);
|
||||
var target = new Vector3(_player.GlobalPosition.X, Position.Y, _player.GlobalPosition.Z);
|
||||
_rotation.LookAt(target, Vector3.Up, true);
|
||||
_rotation.RotateY(Rotation.Y);
|
||||
return _rotation.Rotation.Y;
|
||||
|
||||
@@ -182,6 +182,6 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
|
||||
|
||||
private void EnemyModelView_HitPlayer(object sender, System.EventArgs e)
|
||||
{
|
||||
_player.TakeDamage(new Damage(AttackComponent.TotalAttack, ElementType.None, false, false, false));
|
||||
_player.TakeDamage(new AttackData(AttackComponent.TotalAttack, ElementType.None));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ public abstract partial class Enemy2D : Enemy
|
||||
|
||||
public override void _PhysicsProcess(double delta)
|
||||
{
|
||||
_enemyModelView.SetCurrentDirection(GlobalBasis, -_player.CurrentBasis.Z);
|
||||
_enemyModelView.SetCurrentDirection(GlobalBasis, -_player.GlobalBasis.Z);
|
||||
}
|
||||
|
||||
protected void PlayerDetector_BodyEntered(Node3D node)
|
||||
@@ -53,15 +53,15 @@ public abstract partial class Enemy2D : Enemy
|
||||
|
||||
protected void EngagePlayerBehavior_TakeAction() => EnemyModelView.PlayPrimaryAttackAnimation();
|
||||
|
||||
protected void EngagePlayerBehavior_AcquireTarget() => LookAt(new Vector3(_player.CurrentPosition.X, GlobalPosition.Y, _player.CurrentPosition.Z), Vector3.Up, true);
|
||||
protected void EngagePlayerBehavior_AcquireTarget() => LookAt(new Vector3(_player.GlobalPosition.X, GlobalPosition.Y, _player.GlobalPosition.Z), Vector3.Up, true);
|
||||
|
||||
private void LineOfSight_BodyEntered(Node3D body)
|
||||
{
|
||||
var overlappingBodies = LineOfSight.GetOverlappingBodies();
|
||||
foreach (var _ in overlappingBodies)
|
||||
{
|
||||
if (Raycast.GlobalPosition != _player.CurrentPosition)
|
||||
Raycast.LookAt(_player.CurrentPosition, Vector3.Up);
|
||||
if (Raycast.GlobalPosition != _player.GlobalPosition)
|
||||
Raycast.LookAt(_player.GlobalPosition, Vector3.Up);
|
||||
Raycast.ForceRaycastUpdate();
|
||||
if (Raycast.IsColliding())
|
||||
{
|
||||
|
||||
@@ -19,6 +19,8 @@ public abstract partial class EnemyModelView : Node3D, IEnemyModelView
|
||||
|
||||
[Node] public AnimationTree AnimationTree { get; set; } = default!;
|
||||
|
||||
[Export] public AttackDataResource AttackData { get; set; }
|
||||
|
||||
private AnimationNodeStateMachinePlayback _stateMachine;
|
||||
|
||||
public event EventHandler HitPlayer;
|
||||
@@ -44,10 +46,7 @@ public abstract partial class EnemyModelView : Node3D, IEnemyModelView
|
||||
|
||||
public virtual void PlayHitAnimation() => throw new System.NotImplementedException();
|
||||
|
||||
protected virtual void OnPlayerHit()
|
||||
{
|
||||
HitPlayer?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
protected virtual void OnPlayerHit(AttackEventArgs arg) => HitPlayer?.Invoke(this, arg);
|
||||
|
||||
public override void _ExitTree()
|
||||
{
|
||||
|
||||
@@ -2,6 +2,7 @@ using Chickensoft.AutoInject;
|
||||
using Chickensoft.Introspection;
|
||||
using Godot;
|
||||
using System.Linq;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
[Meta(typeof(IAutoNode))]
|
||||
@@ -31,7 +32,7 @@ public partial class EnemyModelView2D : EnemyModelView, IEnemyModelView
|
||||
base.OnReady();
|
||||
}
|
||||
|
||||
private void Hitbox_AreaEntered(Area3D area) => OnPlayerHit();
|
||||
private void Hitbox_AreaEntered(Area3D area) => OnPlayerHit(new AttackEventArgs(new AttackData(10, ElementType.None)));
|
||||
|
||||
public void SetCurrentDirection(Basis enemyBasis, Vector3 cameraDirection) => _enemyDirection = GetEnemyDirection(enemyBasis, cameraDirection, _upperThreshold, _lowerThreshold);
|
||||
|
||||
@@ -135,4 +136,4 @@ public partial class EnemyModelView2D : EnemyModelView, IEnemyModelView
|
||||
{
|
||||
_enemyDirection = EnemyDirection.Backward;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,8 +9,6 @@ public partial class EnemyModelView3D : EnemyModelView
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
[Export] public EnemyLoreInfo EnemyLoreInfo { get; set; } = default!;
|
||||
|
||||
[Node] private AnimationPlayer _animationPlayer { get; set; } = default!;
|
||||
|
||||
[Node] public MeshInstance3D MeshInstance { get; set; } = default!;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_resource type="AnimationNodeStateMachine" load_steps=25 format=3 uid="uid://dlqudph8o3py1"]
|
||||
[gd_resource type="AnimationNodeStateMachine" load_steps=22 format=3 uid="uid://dlqudph8o3py1"]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"]
|
||||
animation = &"activate_back"
|
||||
@@ -14,7 +14,6 @@ animation = &"activate_right"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 2"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"]
|
||||
switch_mode = 1
|
||||
@@ -92,18 +91,6 @@ advance_mode = 2
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_eilyo"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 0"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qqywc"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 3"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_p2oir"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 1"
|
||||
|
||||
[resource]
|
||||
states/End/position = Vector2(997, 236)
|
||||
states/Start/position = Vector2(201, 100)
|
||||
@@ -115,4 +102,4 @@ states/left/node = SubResource("AnimationNodeAnimation_djeua")
|
||||
states/left/position = Vector2(378, 179)
|
||||
states/right/node = SubResource("AnimationNodeAnimation_8wbs7")
|
||||
states/right/position = Vector2(701, 179)
|
||||
transitions = ["Start", "forward", SubResource("AnimationNodeStateMachineTransition_ivy74"), "forward", "left", SubResource("AnimationNodeStateMachineTransition_x7uye"), "left", "forward", SubResource("AnimationNodeStateMachineTransition_djeua"), "forward", "back", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "back", "forward", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "left", "right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "right", "left", SubResource("AnimationNodeStateMachineTransition_jwlar"), "back", "left", SubResource("AnimationNodeStateMachineTransition_fdoul"), "left", "back", SubResource("AnimationNodeStateMachineTransition_kpotx"), "forward", "right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "right", "forward", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "right", "back", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "back", "right", SubResource("AnimationNodeStateMachineTransition_m7aft"), "forward", "End", SubResource("AnimationNodeStateMachineTransition_ctux2"), "right", "End", SubResource("AnimationNodeStateMachineTransition_qlkux"), "back", "End", SubResource("AnimationNodeStateMachineTransition_rmn3u"), "left", "End", SubResource("AnimationNodeStateMachineTransition_do1qe"), "Start", "left", SubResource("AnimationNodeStateMachineTransition_eilyo"), "Start", "back", SubResource("AnimationNodeStateMachineTransition_qqywc"), "Start", "right", SubResource("AnimationNodeStateMachineTransition_p2oir")]
|
||||
transitions = ["Start", "forward", SubResource("AnimationNodeStateMachineTransition_ivy74"), "forward", "left", SubResource("AnimationNodeStateMachineTransition_x7uye"), "left", "forward", SubResource("AnimationNodeStateMachineTransition_djeua"), "forward", "back", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "back", "forward", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "left", "right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "right", "left", SubResource("AnimationNodeStateMachineTransition_jwlar"), "back", "left", SubResource("AnimationNodeStateMachineTransition_fdoul"), "left", "back", SubResource("AnimationNodeStateMachineTransition_kpotx"), "forward", "right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "right", "forward", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "right", "back", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "back", "right", SubResource("AnimationNodeStateMachineTransition_m7aft"), "forward", "End", SubResource("AnimationNodeStateMachineTransition_ctux2"), "right", "End", SubResource("AnimationNodeStateMachineTransition_qlkux"), "back", "End", SubResource("AnimationNodeStateMachineTransition_rmn3u"), "left", "End", SubResource("AnimationNodeStateMachineTransition_do1qe")]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_resource type="AnimationNodeStateMachine" load_steps=25 format=3 uid="uid://cbq8xog50cjjy"]
|
||||
[gd_resource type="AnimationNodeStateMachine" load_steps=22 format=3 uid="uid://cbq8xog50cjjy"]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"]
|
||||
animation = &"primary_attack_back"
|
||||
@@ -14,7 +14,6 @@ animation = &"primary_attack_right"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 2"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"]
|
||||
switch_mode = 1
|
||||
@@ -92,27 +91,15 @@ advance_mode = 2
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jkh6t"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 0"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8fa3m"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 3"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a8clo"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 1"
|
||||
|
||||
[resource]
|
||||
states/End/position = Vector2(996, 236)
|
||||
states/Start/position = Vector2(106, 236)
|
||||
states/back/node = SubResource("AnimationNodeAnimation_ivy74")
|
||||
states/back/position = Vector2(542, 276)
|
||||
states/forward/node = SubResource("AnimationNodeAnimation_x7uye")
|
||||
states/forward/position = Vector2(542, 68)
|
||||
states/forward/position = Vector2(542, 67)
|
||||
states/left/node = SubResource("AnimationNodeAnimation_djeua")
|
||||
states/left/position = Vector2(378, 179)
|
||||
states/right/node = SubResource("AnimationNodeAnimation_8wbs7")
|
||||
states/right/position = Vector2(701, 179)
|
||||
transitions = ["Start", "forward", SubResource("AnimationNodeStateMachineTransition_ivy74"), "forward", "left", SubResource("AnimationNodeStateMachineTransition_x7uye"), "left", "forward", SubResource("AnimationNodeStateMachineTransition_djeua"), "forward", "back", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "back", "forward", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "left", "right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "right", "left", SubResource("AnimationNodeStateMachineTransition_jwlar"), "back", "left", SubResource("AnimationNodeStateMachineTransition_fdoul"), "left", "back", SubResource("AnimationNodeStateMachineTransition_kpotx"), "forward", "right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "right", "forward", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "right", "back", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "back", "right", SubResource("AnimationNodeStateMachineTransition_m7aft"), "forward", "End", SubResource("AnimationNodeStateMachineTransition_ctux2"), "right", "End", SubResource("AnimationNodeStateMachineTransition_qlkux"), "back", "End", SubResource("AnimationNodeStateMachineTransition_rmn3u"), "left", "End", SubResource("AnimationNodeStateMachineTransition_do1qe"), "Start", "left", SubResource("AnimationNodeStateMachineTransition_jkh6t"), "Start", "back", SubResource("AnimationNodeStateMachineTransition_8fa3m"), "Start", "right", SubResource("AnimationNodeStateMachineTransition_a8clo")]
|
||||
transitions = ["Start", "forward", SubResource("AnimationNodeStateMachineTransition_ivy74"), "forward", "left", SubResource("AnimationNodeStateMachineTransition_x7uye"), "left", "forward", SubResource("AnimationNodeStateMachineTransition_djeua"), "forward", "back", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "back", "forward", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "left", "right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "right", "left", SubResource("AnimationNodeStateMachineTransition_jwlar"), "back", "left", SubResource("AnimationNodeStateMachineTransition_fdoul"), "left", "back", SubResource("AnimationNodeStateMachineTransition_kpotx"), "forward", "right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "right", "forward", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "right", "back", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "back", "right", SubResource("AnimationNodeStateMachineTransition_m7aft"), "forward", "End", SubResource("AnimationNodeStateMachineTransition_ctux2"), "right", "End", SubResource("AnimationNodeStateMachineTransition_qlkux"), "back", "End", SubResource("AnimationNodeStateMachineTransition_rmn3u"), "left", "End", SubResource("AnimationNodeStateMachineTransition_do1qe")]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_resource type="AnimationNodeStateMachine" load_steps=25 format=3 uid="uid://clybvwx3itfeo"]
|
||||
[gd_resource type="AnimationNodeStateMachine" load_steps=22 format=3 uid="uid://clybvwx3itfeo"]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"]
|
||||
animation = &"secondary_attack_back"
|
||||
@@ -14,7 +14,6 @@ animation = &"secondary_attack_right"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 2"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"]
|
||||
switch_mode = 1
|
||||
@@ -92,18 +91,6 @@ advance_mode = 2
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hl6c6"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 0"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_shpbw"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 1"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_d770k"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 3"
|
||||
|
||||
[resource]
|
||||
states/End/position = Vector2(996, 236)
|
||||
states/Start/position = Vector2(114, 219)
|
||||
@@ -115,4 +102,4 @@ states/left/node = SubResource("AnimationNodeAnimation_djeua")
|
||||
states/left/position = Vector2(378, 179)
|
||||
states/right/node = SubResource("AnimationNodeAnimation_8wbs7")
|
||||
states/right/position = Vector2(702, 179)
|
||||
transitions = ["Start", "forward", SubResource("AnimationNodeStateMachineTransition_ivy74"), "forward", "left", SubResource("AnimationNodeStateMachineTransition_x7uye"), "left", "forward", SubResource("AnimationNodeStateMachineTransition_djeua"), "forward", "back", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "back", "forward", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "left", "right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "right", "left", SubResource("AnimationNodeStateMachineTransition_jwlar"), "back", "left", SubResource("AnimationNodeStateMachineTransition_fdoul"), "left", "back", SubResource("AnimationNodeStateMachineTransition_kpotx"), "forward", "right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "right", "forward", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "right", "back", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "back", "right", SubResource("AnimationNodeStateMachineTransition_m7aft"), "forward", "End", SubResource("AnimationNodeStateMachineTransition_ctux2"), "right", "End", SubResource("AnimationNodeStateMachineTransition_qlkux"), "back", "End", SubResource("AnimationNodeStateMachineTransition_rmn3u"), "left", "End", SubResource("AnimationNodeStateMachineTransition_do1qe"), "Start", "left", SubResource("AnimationNodeStateMachineTransition_hl6c6"), "Start", "right", SubResource("AnimationNodeStateMachineTransition_shpbw"), "Start", "back", SubResource("AnimationNodeStateMachineTransition_d770k")]
|
||||
transitions = ["Start", "forward", SubResource("AnimationNodeStateMachineTransition_ivy74"), "forward", "left", SubResource("AnimationNodeStateMachineTransition_x7uye"), "left", "forward", SubResource("AnimationNodeStateMachineTransition_djeua"), "forward", "back", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "back", "forward", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "left", "right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "right", "left", SubResource("AnimationNodeStateMachineTransition_jwlar"), "back", "left", SubResource("AnimationNodeStateMachineTransition_fdoul"), "left", "back", SubResource("AnimationNodeStateMachineTransition_kpotx"), "forward", "right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "right", "forward", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "right", "back", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "back", "right", SubResource("AnimationNodeStateMachineTransition_m7aft"), "forward", "End", SubResource("AnimationNodeStateMachineTransition_ctux2"), "right", "End", SubResource("AnimationNodeStateMachineTransition_qlkux"), "back", "End", SubResource("AnimationNodeStateMachineTransition_rmn3u"), "left", "End", SubResource("AnimationNodeStateMachineTransition_do1qe")]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_resource type="AnimationNodeStateMachine" load_steps=21 format=3 uid="uid://cy2ngl55c0rws"]
|
||||
[gd_resource type="AnimationNodeStateMachine" load_steps=18 format=3 uid="uid://cy2ngl55c0rws"]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ivy74"]
|
||||
animation = &"idle_back_walk"
|
||||
@@ -14,7 +14,6 @@ animation = &"idle_right_walk"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ivy74"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 2"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x7uye"]
|
||||
switch_mode = 1
|
||||
@@ -76,18 +75,6 @@ switch_mode = 1
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 1"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_v537b"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 0"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_11ejb"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 1"
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ear7g"]
|
||||
advance_mode = 2
|
||||
advance_expression = "_enemyDirection == 3"
|
||||
|
||||
[resource]
|
||||
states/End/position = Vector2(910, 100)
|
||||
states/Start/position = Vector2(102, 111)
|
||||
@@ -99,5 +86,5 @@ states/left/node = SubResource("AnimationNodeAnimation_djeua")
|
||||
states/left/position = Vector2(378, 179)
|
||||
states/right/node = SubResource("AnimationNodeAnimation_8wbs7")
|
||||
states/right/position = Vector2(701, 179)
|
||||
transitions = ["Start", "forward", SubResource("AnimationNodeStateMachineTransition_ivy74"), "forward", "left", SubResource("AnimationNodeStateMachineTransition_x7uye"), "left", "forward", SubResource("AnimationNodeStateMachineTransition_djeua"), "forward", "back", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "back", "forward", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "left", "right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "right", "left", SubResource("AnimationNodeStateMachineTransition_jwlar"), "back", "left", SubResource("AnimationNodeStateMachineTransition_fdoul"), "left", "back", SubResource("AnimationNodeStateMachineTransition_kpotx"), "forward", "right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "right", "forward", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "right", "back", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "back", "right", SubResource("AnimationNodeStateMachineTransition_m7aft"), "Start", "left", SubResource("AnimationNodeStateMachineTransition_v537b"), "Start", "right", SubResource("AnimationNodeStateMachineTransition_11ejb"), "Start", "back", SubResource("AnimationNodeStateMachineTransition_ear7g")]
|
||||
transitions = ["Start", "forward", SubResource("AnimationNodeStateMachineTransition_ivy74"), "forward", "left", SubResource("AnimationNodeStateMachineTransition_x7uye"), "left", "forward", SubResource("AnimationNodeStateMachineTransition_djeua"), "forward", "back", SubResource("AnimationNodeStateMachineTransition_8wbs7"), "back", "forward", SubResource("AnimationNodeStateMachineTransition_mnr4r"), "left", "right", SubResource("AnimationNodeStateMachineTransition_l2wq1"), "right", "left", SubResource("AnimationNodeStateMachineTransition_jwlar"), "back", "left", SubResource("AnimationNodeStateMachineTransition_fdoul"), "left", "back", SubResource("AnimationNodeStateMachineTransition_kpotx"), "forward", "right", SubResource("AnimationNodeStateMachineTransition_lfuuf"), "right", "forward", SubResource("AnimationNodeStateMachineTransition_dfvqa"), "right", "back", SubResource("AnimationNodeStateMachineTransition_dnvt3"), "back", "right", SubResource("AnimationNodeStateMachineTransition_m7aft")]
|
||||
graph_offset = Vector2(0, 26.7654)
|
||||
|
||||
@@ -36,11 +36,11 @@ public partial class FollowBehavior : Node3D, IBehavior
|
||||
SetPhysicsProcess(false);
|
||||
}
|
||||
|
||||
private void OnTimeout() => _navigationAgent.TargetPosition = _player.CurrentPosition;
|
||||
private void OnTimeout() => _navigationAgent.TargetPosition = _player.GlobalPosition;
|
||||
|
||||
public void StartFollow(NavigationAgent3D navigationAgent)
|
||||
{
|
||||
_navigationAgent.TargetPosition = _player.CurrentPosition;
|
||||
_navigationAgent.TargetPosition = _player.GlobalPosition;
|
||||
_thinkTimer.Start();
|
||||
SetPhysicsProcess(true);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
[gd_scene load_steps=88 format=3 uid="uid://bimjnsu52y3xi"]
|
||||
[gd_scene load_steps=90 format=3 uid="uid://bimjnsu52y3xi"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_oh25a"]
|
||||
[ext_resource type="Texture2D" uid="uid://dd0ia6isdqg61" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 1.png" id="1_pbx41"]
|
||||
[ext_resource type="Texture2D" uid="uid://bs4ico5ouo5d3" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 2.png" id="2_0vbio"]
|
||||
[ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_7hf3j"]
|
||||
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="3_8wbs7"]
|
||||
[ext_resource type="Material" uid="uid://x2bv1q51mcjq" path="res://src/enemy/PixelMelt.tres" id="3_ivy74"]
|
||||
[ext_resource type="Texture2D" uid="uid://85ki5mc4h0vs" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 3.png" id="3_lae8t"]
|
||||
[ext_resource type="Texture2D" uid="uid://bwt1m2frb3r0e" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 4.png" id="4_53wuj"]
|
||||
@@ -68,6 +69,12 @@ Name = "Sproingy"
|
||||
Description = "He's smaller than I expected..."
|
||||
metadata/_custom_type_script = "uid://dlsgyx4i1jmp3"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_8wbs7"]
|
||||
script = ExtResource("3_8wbs7")
|
||||
Damage = 10
|
||||
ElementType = 0
|
||||
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_h1kaf"]
|
||||
viewport_path = NodePath("Sprite3D/SubViewportContainer/SubViewport")
|
||||
|
||||
@@ -819,8 +826,7 @@ transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition
|
||||
[node name="EnemyModelView" type="Node3D"]
|
||||
script = ExtResource("1_oh25a")
|
||||
EnemyLoreInfo = SubResource("Resource_ivy74")
|
||||
_upperThreshold = null
|
||||
_lowerThreshold = null
|
||||
AttackData = SubResource("Resource_8wbs7")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
transform = Transform3D(6, 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0)
|
||||
|
||||
@@ -1815,6 +1815,7 @@ states/Idle/position = Vector2(373, 100)
|
||||
"states/Primary Attack/position" = Vector2(373, 218)
|
||||
"states/Secondary Attack/node" = ExtResource("196_e0gee")
|
||||
"states/Secondary Attack/position" = Vector2(588, 218)
|
||||
states/Start/position = Vector2(198, 100)
|
||||
states/Walking/node = ExtResource("197_mno7m")
|
||||
states/Walking/position = Vector2(588, 100)
|
||||
transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_u5xjp"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_5cwnl"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_e0gee"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_mno7m"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_4h5gj"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_e5pq0"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_wka7s"), "Walking", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_8jscc"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_7vrs0")]
|
||||
|
||||
@@ -81,7 +81,7 @@ public partial class EdenPillar : Enemy3D, IHasPrimaryAttack, IHasSecondaryAttac
|
||||
|
||||
private float GetRotationAngle(float angleOffsetInRadians)
|
||||
{
|
||||
var target = new Vector3(_player.CurrentPosition.X, Position.Y, _player.CurrentPosition.Z);
|
||||
var target = new Vector3(_player.GlobalPosition.X, Position.Y, _player.GlobalPosition.Z);
|
||||
_rotation.LookAt(target, Vector3.Up, true);
|
||||
_rotation.RotateY(Rotation.Y + angleOffsetInRadians);
|
||||
return _rotation.Rotation.Y;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[gd_scene load_steps=188 format=4 uid="uid://b7ofk5cv4ldh"]
|
||||
[gd_scene load_steps=190 format=4 uid="uid://b7ofk5cv4ldh"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_crk52"]
|
||||
[ext_resource type="Texture2D" uid="uid://bid5r6mhevna3" path="res://src/enemy/enemy_types/16. demon wall/model/ARM1_AREA_2_MAIN_222STONE.png" id="2_pkcrx"]
|
||||
[ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="2_w0a5p"]
|
||||
[ext_resource type="Texture2D" uid="uid://dkh83g7ce40i7" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_ao_1k.jpg" id="3_tn8ay"]
|
||||
@@ -8,6 +9,12 @@
|
||||
[ext_resource type="Texture2D" uid="uid://wdncxtvw7xxw" path="res://src/vfx/Enemy/demon_wall_holy_orbs.png" id="6_554i8"]
|
||||
[ext_resource type="Texture2D" uid="uid://cp6jald32fyon" path="res://src/vfx/Enemy/demon wall holyorb blast section.png" id="7_ij2i2"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_crk52"]
|
||||
script = ExtResource("2_crk52")
|
||||
Damage = 10
|
||||
ElementType = 0
|
||||
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wf4fg"]
|
||||
resource_name = "STONE"
|
||||
cull_mode = 2
|
||||
@@ -1344,7 +1351,7 @@ tracks/22/path = NodePath("1_ R TELLERIC PROJECTILE ARM/Skeleton3D/BoneAttachmen
|
||||
tracks/22/interp = 1
|
||||
tracks/22/loop_wrap = true
|
||||
tracks/22/keys = {
|
||||
"times": PackedFloat32Array(0, 0.3, 2.26667),
|
||||
"times": PackedFloat32Array(0, 0.3, 0.8),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true, false]
|
||||
@@ -1380,7 +1387,7 @@ tracks/25/path = NodePath("1_ R TELLERIC PROJECTILE ARM/Skeleton3D/BoneAttachmen
|
||||
tracks/25/interp = 1
|
||||
tracks/25/loop_wrap = true
|
||||
tracks/25/keys = {
|
||||
"times": PackedFloat32Array(0.0666667, 0.858373, 2.26667),
|
||||
"times": PackedFloat32Array(0.0666667, 0.858373, 1.36667),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true, false]
|
||||
@@ -1392,7 +1399,7 @@ tracks/26/path = NodePath("1_ R TELLERIC PROJECTILE ARM/Skeleton3D/BoneAttachmen
|
||||
tracks/26/interp = 1
|
||||
tracks/26/loop_wrap = true
|
||||
tracks/26/keys = {
|
||||
"times": PackedFloat32Array(0.0666667, 1.4, 2.26667),
|
||||
"times": PackedFloat32Array(0.0666667, 1.4, 1.9),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true, false]
|
||||
@@ -1953,7 +1960,7 @@ animations = [{
|
||||
|
||||
[node name="Arm1" type="Node3D"]
|
||||
script = ExtResource("2_w0a5p")
|
||||
PrimaryAttackElementalType = 2
|
||||
AttackData = SubResource("Resource_crk52")
|
||||
|
||||
[node name="Pivot" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
@@ -1970,43 +1977,43 @@ bones/0/name = "Bone"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(0.664239, -0.5079, 0.548475, 0.747326, 0.467912, -0.471764, -0.017029, 0.723254, 0.690372, 1.32537, -1.1447, -1.67359)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(1.40784, -1.06997, -0.968705)
|
||||
bones/0/rotation = Quaternion(0.0123396, 0.674013, 0.439247, 0.593815)
|
||||
bones/0/position = Vector3(1.49292, -0.977413, -0.864047)
|
||||
bones/0/rotation = Quaternion(-0.0232671, 0.62584, 0.764734, 0.151543)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "Bone.001"
|
||||
bones/1/parent = 0
|
||||
bones/1/rest = Transform3D(0.997342, -0.0728408, -0.00159767, 0.0728462, 0.996536, 0.0401248, -0.00133059, -0.0401345, 0.999193, 1.19209e-07, 1.85949, 3.57628e-07)
|
||||
bones/1/enabled = true
|
||||
bones/1/position = Vector3(1.19209e-07, 1.85949, 3.57628e-07)
|
||||
bones/1/rotation = Quaternion(-0.190038, 0.356288, 0.291912, 0.867024)
|
||||
bones/1/rotation = Quaternion(0.641671, -0.0247244, -0.110593, 0.758562)
|
||||
bones/1/scale = Vector3(1, 1, 1)
|
||||
bones/2/name = "Bone.002"
|
||||
bones/2/parent = 1
|
||||
bones/2/rest = Transform3D(0.175378, 0.963955, 0.200084, -0.983796, 0.179284, -0.00142574, -0.0372462, -0.196592, 0.979778, -1.19209e-07, 0.416929, 0)
|
||||
bones/2/enabled = true
|
||||
bones/2/position = Vector3(-1.19209e-07, 0.416929, 0)
|
||||
bones/2/rotation = Quaternion(-0.0530884, 0.10245, -0.708154, 0.696566)
|
||||
bones/2/rotation = Quaternion(-0.0638595, 0.0776872, -0.637462, 0.763891)
|
||||
bones/2/scale = Vector3(1, 1, 1)
|
||||
bones/3/name = "Bone.003"
|
||||
bones/3/parent = 2
|
||||
bones/3/rest = Transform3D(0.795965, -0.570793, -0.201581, 0.584249, 0.811523, 0.00907765, 0.158406, -0.124999, 0.97943, 0, 0.298125, -7.15256e-07)
|
||||
bones/3/enabled = true
|
||||
bones/3/position = Vector3(0, 0.298125, -7.15256e-07)
|
||||
bones/3/rotation = Quaternion(0.0575465, -0.131542, 0.408228, 0.901518)
|
||||
bones/3/rotation = Quaternion(-0.0375077, -0.0918056, 0.293336, 0.950852)
|
||||
bones/3/scale = Vector3(1, 1, 1)
|
||||
bones/4/name = "Bone.004"
|
||||
bones/4/parent = 3
|
||||
bones/4/rest = Transform3D(0.989609, -0.143492, 0.00920886, 0.143739, 0.98559, -0.0891694, 0.00371892, 0.0895665, 0.995974, 2.38419e-07, 0.217615, -1.19209e-07)
|
||||
bones/4/enabled = true
|
||||
bones/4/position = Vector3(2.38419e-07, 0.217615, -1.19209e-07)
|
||||
bones/4/rotation = Quaternion(-0.0197099, -0.0686087, 0.330507, 0.9411)
|
||||
bones/4/rotation = Quaternion(0.186175, 0.150689, 0.017675, 0.970731)
|
||||
bones/4/scale = Vector3(1, 1, 1)
|
||||
bones/5/name = "Bone.005"
|
||||
bones/5/parent = 1
|
||||
bones/5/rest = Transform3D(0.891186, 0.451267, 0.0463144, -0.453483, 0.888891, 0.0650073, -0.0118328, -0.0789364, 0.996809, -1.19209e-07, 0.416929, 0)
|
||||
bones/5/enabled = true
|
||||
bones/5/position = Vector3(-1.19209e-07, 0.416929, 0)
|
||||
bones/5/rotation = Quaternion(0.0227858, -0.0067049, -0.254039, 0.966902)
|
||||
bones/5/rotation = Quaternion(0.156758, 0.0802091, -0.22941, 0.957269)
|
||||
bones/5/scale = Vector3(1, 1, 1)
|
||||
bones/6/name = "Bone.006"
|
||||
bones/6/parent = 5
|
||||
@@ -2020,7 +2027,7 @@ bones/7/parent = 6
|
||||
bones/7/rest = Transform3D(0.999951, -0.0095981, -0.00243508, 0.00990217, 0.968863, 0.247398, -1.52888e-05, -0.24741, 0.968911, -5.96046e-08, 0.229155, 1.19209e-07)
|
||||
bones/7/enabled = true
|
||||
bones/7/position = Vector3(-5.96046e-08, 0.229155, 1.19209e-07)
|
||||
bones/7/rotation = Quaternion(-0.124676, -0.000609761, 0.00491343, 0.992185)
|
||||
bones/7/rotation = Quaternion(-0.126436, -0.00933444, 0.0643938, 0.989838)
|
||||
bones/7/scale = Vector3(1, 1, 1)
|
||||
bones/8/name = "Bone.008"
|
||||
bones/8/parent = 7
|
||||
@@ -2034,91 +2041,91 @@ bones/9/parent = 1
|
||||
bones/9/rest = Transform3D(0.998888, 0.0470342, 0.00321046, -0.047142, 0.997098, 0.0597768, -0.000389597, -0.0598616, 0.998207, -1.19209e-07, 0.416929, 0)
|
||||
bones/9/enabled = true
|
||||
bones/9/position = Vector3(-1.19209e-07, 0.416929, 0)
|
||||
bones/9/rotation = Quaternion(-0.0299314, 0.000900694, -0.0235612, 0.999274)
|
||||
bones/9/rotation = Quaternion(0.166069, 0.0240288, -0.075139, 0.982954)
|
||||
bones/9/scale = Vector3(1, 1, 1)
|
||||
bones/10/name = "Bone.010"
|
||||
bones/10/parent = 9
|
||||
bones/10/rest = Transform3D(0.999465, -0.0299684, -0.0130876, 0.0321775, 0.972617, 0.230175, 0.00583128, -0.230473, 0.973061, -5.96046e-07, 0.347821, -4.76837e-07)
|
||||
bones/10/enabled = true
|
||||
bones/10/position = Vector3(-5.96046e-07, 0.347821, -4.76837e-07)
|
||||
bones/10/rotation = Quaternion(0.040836, 0.0124512, 0.020644, 0.998875)
|
||||
bones/10/rotation = Quaternion(-0.115831, -0.00474823, 0.0156484, 0.993134)
|
||||
bones/10/scale = Vector3(1, 1, 1)
|
||||
bones/11/name = "Bone.011"
|
||||
bones/11/parent = 10
|
||||
bones/11/rest = Transform3D(0.999927, -0.00347527, -0.0115401, 0.00624295, 0.968404, 0.249307, 0.0103091, -0.249361, 0.968356, 5.36442e-07, 0.236611, 0)
|
||||
bones/11/enabled = true
|
||||
bones/11/position = Vector3(5.36442e-07, 0.236611, 0)
|
||||
bones/11/rotation = Quaternion(-0.351479, -0.0591771, 0.0168826, 0.934171)
|
||||
bones/11/rotation = Quaternion(-0.125856, -0.00555071, 0.00246106, 0.99203)
|
||||
bones/11/scale = Vector3(1, 1, 1)
|
||||
bones/12/name = "Bone.012"
|
||||
bones/12/parent = 11
|
||||
bones/12/rest = Transform3D(0.997952, 0.0219232, -0.0600952, -0.0135761, 0.990624, 0.13594, 0.062512, -0.134846, 0.988893, 1.07288e-06, 0.172989, -1.19209e-07)
|
||||
bones/12/enabled = true
|
||||
bones/12/position = Vector3(1.07288e-06, 0.172989, -1.19209e-07)
|
||||
bones/12/rotation = Quaternion(-0.296299, -0.0872988, 0.00370382, 0.95109)
|
||||
bones/12/rotation = Quaternion(-0.0680791, -0.0307861, -0.00888968, 0.997165)
|
||||
bones/12/scale = Vector3(1, 1, 1)
|
||||
bones/13/name = "Bone.013"
|
||||
bones/13/parent = 1
|
||||
bones/13/rest = Transform3D(0.924677, -0.380197, -0.0205529, 0.380735, 0.922776, 0.0593796, -0.0036102, -0.0627321, 0.998024, -1.19209e-07, 0.416929, 0)
|
||||
bones/13/enabled = true
|
||||
bones/13/position = Vector3(-1.19209e-07, 0.416929, 0)
|
||||
bones/13/rotation = Quaternion(0.144524, 0.065323, 0.166822, 0.973148)
|
||||
bones/13/rotation = Quaternion(0.058868, 0.00703708, 0.0456108, 0.997198)
|
||||
bones/13/scale = Vector3(1, 1, 1)
|
||||
bones/14/name = "Bone.014"
|
||||
bones/14/parent = 13
|
||||
bones/14/rest = Transform3D(0.961502, 0.268958, 0.0563539, -0.274785, 0.938956, 0.207014, 0.00276425, -0.214529, 0.976714, -5.36442e-07, 0.369994, -4.76837e-07)
|
||||
bones/14/enabled = true
|
||||
bones/14/position = Vector3(-5.36442e-07, 0.369994, -4.76837e-07)
|
||||
bones/14/rotation = Quaternion(-0.214199, -0.0220554, -0.14695, 0.965421)
|
||||
bones/14/rotation = Quaternion(-0.856067, -0.000184571, 0.034124, 0.515738)
|
||||
bones/14/scale = Vector3(1, 1, 1)
|
||||
bones/15/name = "Bone.015"
|
||||
bones/15/parent = 14
|
||||
bones/15/rest = Transform3D(0.991898, -0.123693, -0.0289439, 0.12423, 0.896879, 0.424471, -0.026545, -0.424628, 0.904979, -1.63913e-07, 0.248163, 0)
|
||||
bones/15/enabled = true
|
||||
bones/15/position = Vector3(-1.63913e-07, 0.248163, 0)
|
||||
bones/15/rotation = Quaternion(-0.217968, -0.000615816, 0.0636434, 0.973878)
|
||||
bones/15/rotation = Quaternion(-0.816669, 0.067689, 0.0768337, 0.567949)
|
||||
bones/15/scale = Vector3(1, 1, 1)
|
||||
bones/16/name = "Bone.016"
|
||||
bones/16/parent = 15
|
||||
bones/16/rest = Transform3D(0.985406, 0.151262, 0.0780702, -0.133163, 0.97071, -0.199976, -0.106032, 0.186662, 0.976686, 3.20375e-07, 0.160424, -2.98023e-07)
|
||||
bones/16/enabled = true
|
||||
bones/16/position = Vector3(3.20375e-07, 0.160424, -2.98023e-07)
|
||||
bones/16/rotation = Quaternion(-0.172602, -0.0448319, -0.159063, 0.971029)
|
||||
bones/16/rotation = Quaternion(-0.395139, 0.0820319, -0.0537277, 0.913373)
|
||||
bones/16/scale = Vector3(1, 1, 1)
|
||||
bones/17/name = "Bone.017"
|
||||
bones/17/parent = 1
|
||||
bones/17/rest = Transform3D(0.731154, -0.681923, -0.0198731, 0.682037, 0.729994, 0.0439829, -0.0154858, -0.0457125, 0.998835, -1.19209e-07, 0.416929, 0)
|
||||
bones/17/enabled = true
|
||||
bones/17/position = Vector3(-1.19209e-07, 0.416929, 0)
|
||||
bones/17/rotation = Quaternion(-0.0814658, -0.0778514, 0.520065, 0.846661)
|
||||
bones/17/rotation = Quaternion(0.0651369, -0.000630724, 0.166016, 0.983969)
|
||||
bones/17/scale = Vector3(1, 1, 1)
|
||||
bones/18/name = "Bone.018"
|
||||
bones/18/parent = 17
|
||||
bones/18/rest = Transform3D(0.857942, 0.502854, 0.105234, -0.513704, 0.842316, 0.163131, -0.00660927, -0.194016, 0.980976, 4.17233e-07, 0.400229, -2.38419e-07)
|
||||
bones/18/enabled = true
|
||||
bones/18/position = Vector3(4.17233e-07, 0.400229, -2.38419e-07)
|
||||
bones/18/rotation = Quaternion(-0.0930721, 0.0291462, -0.264914, 0.959327)
|
||||
bones/18/rotation = Quaternion(-0.848862, 0.0085005, 0.0755041, 0.523126)
|
||||
bones/18/scale = Vector3(1, 1, 1)
|
||||
bones/19/name = "Bone.019"
|
||||
bones/19/parent = 18
|
||||
bones/19/rest = Transform3D(0.998612, 0.0399293, -0.034358, -0.038507, 0.998412, 0.0411089, 0.0359449, -0.0397288, 0.998564, 1.04308e-07, 0.196712, 4.76837e-07)
|
||||
bones/19/enabled = true
|
||||
bones/19/position = Vector3(1.04308e-07, 0.196712, 4.76837e-07)
|
||||
bones/19/rotation = Quaternion(-0.0202206, -0.0175854, -0.0196199, 0.999448)
|
||||
bones/19/rotation = Quaternion(-0.685061, 0.0717736, 0.0292193, 0.724352)
|
||||
bones/19/scale = Vector3(1, 1, 1)
|
||||
bones/20/name = "Bone.020"
|
||||
bones/20/parent = 19
|
||||
bones/20/rest = Transform3D(0.986969, -0.15974, -0.0193679, 0.158639, 0.945818, 0.283305, -0.0269366, -0.282686, 0.958834, -1.04308e-07, 0.127214, -1.19209e-07)
|
||||
bones/20/enabled = true
|
||||
bones/20/position = Vector3(-1.04308e-07, 0.127214, -1.19209e-07)
|
||||
bones/20/rotation = Quaternion(-0.143455, 0.0019183, 0.0806953, 0.98636)
|
||||
bones/20/rotation = Quaternion(-0.594904, 0.0842665, 0.117064, 0.790749)
|
||||
bones/20/scale = Vector3(1, 1, 1)
|
||||
bones/21/name = "Bone.021"
|
||||
bones/21/parent = -1
|
||||
bones/21/rest = Transform3D(0.638395, -0.466665, -0.612107, -0.416251, 0.459614, -0.784532, 0.647447, 0.755632, 0.0991655, 2.29161, -2.09633, -3.23813)
|
||||
bones/21/enabled = true
|
||||
bones/21/position = Vector3(2.1845, -0.249322, -2.77981)
|
||||
bones/21/rotation = Quaternion(0.725462, 0.0455603, 0.423981, 0.540249)
|
||||
bones/21/position = Vector3(2.042, -0.451989, -2.88672)
|
||||
bones/21/rotation = Quaternion(0.528824, 0.329629, 0.5801, 0.524571)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="CHEST_006" type="MeshInstance3D" parent="Pivot/ARM1/1_ R TELLERIC PROJECTILE ARM/Skeleton3D"]
|
||||
@@ -2126,7 +2133,7 @@ mesh = SubResource("ArrayMesh_5cjg8")
|
||||
skin = SubResource("Skin_my7ts")
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Pivot/ARM1/1_ R TELLERIC PROJECTILE ARM/Skeleton3D"]
|
||||
transform = Transform3D(-0.918527, 0.107575, 0.38044, 0.314263, -0.385204, 0.867673, 0.239887, 0.91654, 0.320013, 0.644265, -0.0976639, 1.01292)
|
||||
transform = Transform3D(-0.860738, -0.107977, -0.497465, 0.400607, -0.746631, -0.53109, -0.314077, -0.656418, 0.685909, 1.04365, -0.665394, 1.30351)
|
||||
bone_name = "Bone.019"
|
||||
bone_idx = 19
|
||||
|
||||
@@ -2214,6 +2221,7 @@ light_energy = 2.0
|
||||
omni_range = 2.781
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Pivot/ARM1"]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_utjtd")
|
||||
}
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
[gd_scene load_steps=27 format=4 uid="uid://ctlvo2kw5r0ey"]
|
||||
[gd_scene load_steps=29 format=4 uid="uid://ctlvo2kw5r0ey"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_jkuo4"]
|
||||
[ext_resource type="Texture2D" uid="uid://fjwfbrwtb7ps" path="res://src/enemy/enemy_types/16. demon wall/model/ARM2_AREA_2_MAIN_222STONE.png" id="2_hmqyn"]
|
||||
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_phvjc"]
|
||||
[ext_resource type="Texture2D" uid="uid://dkh83g7ce40i7" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_ao_1k.jpg" id="3_wpd4r"]
|
||||
[ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_phvjc"]
|
||||
[ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_ctuoa"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_phvjc"]
|
||||
script = ExtResource("2_phvjc")
|
||||
Damage = 10
|
||||
ElementType = 0
|
||||
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pchf4"]
|
||||
resource_name = "STONE"
|
||||
cull_mode = 2
|
||||
@@ -737,6 +744,7 @@ material = SubResource("ShaderMaterial_k4tl8")
|
||||
|
||||
[node name="Arm2" type="Node3D"]
|
||||
script = ExtResource("1_jkuo4")
|
||||
AttackData = SubResource("Resource_phvjc")
|
||||
|
||||
[node name="Pivot" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
@@ -753,155 +761,155 @@ bones/0/name = "Bone"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(0.0151222, 0.673616, -0.738927, -0.999829, 0.0180683, -0.00399019, 0.0106633, 0.738861, 0.673774, -1.71286, 0.00923252, -1.71285)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(-2.04279, 0.628214, -1.77738)
|
||||
bones/0/rotation = Quaternion(0.553646, -0.462054, -0.468912, 0.510004)
|
||||
bones/0/position = Vector3(-1.71026, 0.829431, -1.5194)
|
||||
bones/0/rotation = Quaternion(0.0740812, -0.451103, -0.66238, 0.593524)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "Bone.001"
|
||||
bones/1/parent = 0
|
||||
bones/1/rest = Transform3D(0.997342, 0.0728408, -0.00158073, -0.072718, 0.996536, 0.0403565, 0.00451486, -0.0401343, 0.999184, -4.4331e-07, 1.85949, -4.81494e-07)
|
||||
bones/1/enabled = true
|
||||
bones/1/position = Vector3(-4.4331e-07, 1.85949, -4.81494e-07)
|
||||
bones/1/rotation = Quaternion(0.00595559, -0.555987, 0.0306637, 0.830604)
|
||||
bones/1/rotation = Quaternion(0.22166, -0.196224, 0.0508024, 0.953825)
|
||||
bones/1/scale = Vector3(1, 1, 1)
|
||||
bones/2/name = "Bone.002"
|
||||
bones/2/parent = 1
|
||||
bones/2/rest = Transform3D(0.189846, -0.964577, -0.183168, 0.981103, 0.179283, 0.0727582, -0.037342, -0.19352, 0.980385, -9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/2/enabled = true
|
||||
bones/2/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/2/rotation = Quaternion(-0.413777, 0.0246759, 0.548295, 0.726328)
|
||||
bones/2/rotation = Quaternion(-0.242306, 0.269493, 0.756669, 0.544163)
|
||||
bones/2/scale = Vector3(1, 1, 1)
|
||||
bones/3/name = "Bone.003"
|
||||
bones/3/parent = 2
|
||||
bones/3/rest = Transform3D(0.810203, 0.578594, -0.0938093, -0.560363, 0.811523, 0.165602, 0.171945, -0.0816043, 0.981721, -4.76837e-07, 0.298125, -2.68221e-07)
|
||||
bones/3/enabled = true
|
||||
bones/3/position = Vector3(-4.76837e-07, 0.298125, -2.68221e-07)
|
||||
bones/3/rotation = Quaternion(-0.265917, -0.517647, -0.55651, 0.592981)
|
||||
bones/3/rotation = Quaternion(-0.0489528, -0.104295, -0.424289, 0.898167)
|
||||
bones/3/scale = Vector3(1, 1, 1)
|
||||
bones/4/name = "Bone.004"
|
||||
bones/4/parent = 3
|
||||
bones/4/rest = Transform3D(0.986624, 0.16227, 0.0155213, -0.161299, 0.98559, -0.050939, -0.0235636, 0.0477541, 0.998581, 2.38419e-07, 0.217614, 5.96046e-08)
|
||||
bones/4/enabled = true
|
||||
bones/4/position = Vector3(2.38419e-07, 0.217614, 5.96046e-08)
|
||||
bones/4/rotation = Quaternion(-0.235352, 0.28963, -0.380433, 0.846165)
|
||||
bones/4/rotation = Quaternion(0.0489722, -0.135712, -0.308985, 0.94006)
|
||||
bones/4/scale = Vector3(1, 1, 1)
|
||||
bones/5/name = "Bone.005"
|
||||
bones/5/parent = 1
|
||||
bones/5/rest = Transform3D(0.89182, -0.451516, 0.0281062, 0.446851, 0.888891, 0.100982, -0.0705786, -0.0774989, 0.994491, -9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/5/enabled = true
|
||||
bones/5/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/5/rotation = Quaternion(-0.0359133, 0.0244231, 0.2361, 0.970758)
|
||||
bones/5/rotation = Quaternion(0.249233, -0.00436698, 0.362533, 0.898017)
|
||||
bones/5/scale = Vector3(1, 1, 1)
|
||||
bones/6/name = "Bone.006"
|
||||
bones/6/parent = 5
|
||||
bones/6/rest = Transform3D(0.941856, 0.326827, -0.0780507, -0.307446, 0.931929, 0.192316, 0.135592, -0.157137, 0.978224, 0, 0.366571, -7.45058e-08)
|
||||
bones/6/enabled = true
|
||||
bones/6/position = Vector3(0, 0.366571, -7.45058e-08)
|
||||
bones/6/rotation = Quaternion(-0.0177034, -0.103473, -0.259263, 0.960085)
|
||||
bones/6/rotation = Quaternion(-0.452367, -0.0571315, -0.0285445, 0.889542)
|
||||
bones/6/scale = Vector3(1, 1, 1)
|
||||
bones/7/name = "Bone.007"
|
||||
bones/7/parent = 6
|
||||
bones/7/rest = Transform3D(0.999908, -0.0133759, -0.00243115, 0.0135617, 0.968863, 0.247224, -0.000951389, -0.247234, 0.968955, 8.75443e-08, 0.229155, 1.19209e-07)
|
||||
bones/7/enabled = true
|
||||
bones/7/position = Vector3(8.75443e-08, 0.229155, 1.19209e-07)
|
||||
bones/7/rotation = Quaternion(0.0450268, -0.0255307, -0.00750371, 0.998631)
|
||||
bones/7/rotation = Quaternion(-0.21602, -0.00775135, 0.0276496, 0.975967)
|
||||
bones/7/scale = Vector3(1, 1, 1)
|
||||
bones/8/name = "Bone.008"
|
||||
bones/8/parent = 7
|
||||
bones/8/rest = Transform3D(0.996542, 0.0206638, -0.0804854, -0.00720722, 0.986431, 0.164018, 0.0827825, -0.162871, 0.983168, -1.49012e-08, 0.142665, 6.85453e-07)
|
||||
bones/8/enabled = true
|
||||
bones/8/position = Vector3(-1.49012e-08, 0.142665, 6.85453e-07)
|
||||
bones/8/rotation = Quaternion(0.0903047, -0.0661763, -0.0523669, 0.992332)
|
||||
bones/8/rotation = Quaternion(-0.302908, -0.0680276, 0.0489726, 0.949327)
|
||||
bones/8/scale = Vector3(1, 1, 1)
|
||||
bones/9/name = "Bone.009"
|
||||
bones/9/parent = 1
|
||||
bones/9/rest = Transform3D(0.998879, -0.0472251, 0.00320398, 0.0469487, 0.997098, 0.0599298, -0.00602488, -0.0597122, 0.998197, -9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/9/enabled = true
|
||||
bones/9/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/9/rotation = Quaternion(-0.0232149, 0.00560281, 0.0260133, 0.999376)
|
||||
bones/9/rotation = Quaternion(0.167222, 0.0985437, 0.0946512, 0.976405)
|
||||
bones/9/scale = Vector3(1, 1, 1)
|
||||
bones/10/name = "Bone.010"
|
||||
bones/10/parent = 9
|
||||
bones/10/rest = Transform3D(0.999443, 0.0307123, -0.0130676, -0.0268696, 0.972617, 0.230853, 0.0197998, -0.230373, 0.972901, 1.21567e-07, 0.347822, -2.08616e-07)
|
||||
bones/10/enabled = true
|
||||
bones/10/position = Vector3(1.21567e-07, 0.347822, -2.08616e-07)
|
||||
bones/10/rotation = Quaternion(0.0167576, -0.0558181, -0.0061938, 0.998281)
|
||||
bones/10/rotation = Quaternion(-0.346872, -0.167372, 0.00737142, 0.922828)
|
||||
bones/10/scale = Vector3(1, 1, 1)
|
||||
bones/11/name = "Bone.011"
|
||||
bones/11/parent = 10
|
||||
bones/11/rest = Transform3D(0.999931, -0.0022571, -0.0115383, 0.00506303, 0.968404, 0.249333, 0.010611, -0.249375, 0.968349, 1.37836e-07, 0.236611, 3.53903e-07)
|
||||
bones/11/enabled = true
|
||||
bones/11/position = Vector3(1.37836e-07, 0.236611, 3.53903e-07)
|
||||
bones/11/rotation = Quaternion(0.0183635, -0.0218316, 0.013077, 0.999507)
|
||||
bones/11/rotation = Quaternion(-0.125676, -0.00558169, 0.0018447, 0.992054)
|
||||
bones/11/scale = Vector3(1, 1, 1)
|
||||
bones/12/name = "Bone.012"
|
||||
bones/12/parent = 11
|
||||
bones/12/rest = Transform3D(0.997806, -0.0280254, -0.0599811, 0.0357503, 0.990623, 0.131861, 0.0557232, -0.133716, 0.989452, 1.18278e-07, 0.172989, 2.01166e-07)
|
||||
bones/12/enabled = true
|
||||
bones/12/position = Vector3(1.18278e-07, 0.172989, 2.01166e-07)
|
||||
bones/12/rotation = Quaternion(0.0513961, -0.044052, -0.0331636, 0.997155)
|
||||
bones/12/rotation = Quaternion(-0.238476, 0.0272146, 0.0764061, 0.967756)
|
||||
bones/12/scale = Vector3(1, 1, 1)
|
||||
bones/13/name = "Bone.013"
|
||||
bones/13/parent = 1
|
||||
bones/13/rest = Transform3D(0.92488, 0.379995, -0.0141585, -0.377983, 0.922776, 0.0749236, 0.0415357, -0.0639437, 0.997089, -9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/13/enabled = true
|
||||
bones/13/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/13/rotation = Quaternion(-0.0420054, -0.00972719, -0.112364, 0.992731)
|
||||
bones/13/rotation = Quaternion(0.1788, 0.154566, -0.143507, 0.961013)
|
||||
bones/13/scale = Vector3(1, 1, 1)
|
||||
bones/14/name = "Bone.014"
|
||||
bones/14/parent = 13
|
||||
bones/14/rest = Transform3D(0.959373, -0.277519, 0.050852, 0.259649, 0.938956, 0.225709, -0.110386, -0.203336, 0.972867, 1.78814e-07, 0.369994, -3.53903e-07)
|
||||
bones/14/enabled = true
|
||||
bones/14/position = Vector3(1.78814e-07, 0.369994, -3.53903e-07)
|
||||
bones/14/rotation = Quaternion(-0.8809, -0.119386, 0.00312777, 0.457987)
|
||||
bones/14/rotation = Quaternion(-0.258946, -0.106873, 0.0272923, 0.959573)
|
||||
bones/14/scale = Vector3(1, 1, 1)
|
||||
bones/15/name = "Bone.015"
|
||||
bones/15/parent = 14
|
||||
bones/15/rest = Transform3D(0.987789, 0.153061, -0.029059, -0.126507, 0.896881, 0.423794, 0.0909288, -0.414943, 0.905292, -5.96046e-08, 0.248162, 5.96046e-08)
|
||||
bones/15/enabled = true
|
||||
bones/15/position = Vector3(-5.96046e-08, 0.248162, 5.96046e-08)
|
||||
bones/15/rotation = Quaternion(-0.783805, -0.0455323, -0.0450259, 0.617696)
|
||||
bones/15/rotation = Quaternion(-0.328658, -0.00201829, 0.090301, 0.94012)
|
||||
bones/15/scale = Vector3(1, 1, 1)
|
||||
bones/16/name = "Bone.016"
|
||||
bones/16/parent = 15
|
||||
bones/16/rest = Transform3D(0.985539, -0.152261, 0.0743639, 0.163269, 0.970709, -0.17626, -0.0453481, 0.185853, 0.98153, -1.78814e-07, 0.160425, -4.02331e-07)
|
||||
bones/16/enabled = true
|
||||
bones/16/position = Vector3(-1.78814e-07, 0.160425, -4.02331e-07)
|
||||
bones/16/rotation = Quaternion(-0.695006, -0.000138842, 0.0482284, 0.717385)
|
||||
bones/16/rotation = Quaternion(-0.12641, 0.0523709, 0.0656333, 0.988418)
|
||||
bones/16/scale = Vector3(1, 1, 1)
|
||||
bones/17/name = "Bone.017"
|
||||
bones/17/parent = 1
|
||||
bones/17/rest = Transform3D(0.731563, 0.681774, 8.39818e-05, -0.680319, 0.729994, 0.0653797, 0.0445129, -0.0478865, 0.99786, -9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/17/enabled = true
|
||||
bones/17/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/17/rotation = Quaternion(-0.0402354, -0.0157531, -0.236275, 0.970725)
|
||||
bones/17/rotation = Quaternion(0.182165, 0.0229952, -0.377521, 0.907615)
|
||||
bones/17/scale = Vector3(1, 1, 1)
|
||||
bones/18/name = "Bone.018"
|
||||
bones/18/parent = 17
|
||||
bones/18/rest = Transform3D(0.858902, -0.5087, 0.059257, 0.482273, 0.842315, 0.240663, -0.172338, -0.178128, 0.968798, 3.57628e-07, 0.400229, -2.95229e-07)
|
||||
bones/18/enabled = true
|
||||
bones/18/position = Vector3(3.57628e-07, 0.400229, -2.95229e-07)
|
||||
bones/18/rotation = Quaternion(-0.814831, 0.0346116, -0.200371, 0.542867)
|
||||
bones/18/rotation = Quaternion(-0.32315, -0.324887, 0.359481, 0.812894)
|
||||
bones/18/scale = Vector3(1, 1, 1)
|
||||
bones/19/name = "Bone.019"
|
||||
bones/19/parent = 18
|
||||
bones/19/rest = Transform3D(0.998851, -0.0332967, -0.0344649, 0.0348099, 0.998413, 0.0442783, 0.0329358, -0.0454271, 0.998425, 0, 0.196712, 3.57628e-07)
|
||||
bones/19/enabled = true
|
||||
bones/19/position = Vector3(0, 0.196712, 3.57628e-07)
|
||||
bones/19/rotation = Quaternion(-0.694139, -0.211747, -0.27267, 0.631653)
|
||||
bones/19/rotation = Quaternion(-0.0822222, -0.0122603, -0.00894785, 0.996499)
|
||||
bones/19/scale = Vector3(1, 1, 1)
|
||||
bones/20/name = "Bone.020"
|
||||
bones/20/parent = 19
|
||||
bones/20/rest = Transform3D(0.982791, 0.183548, -0.0207611, -0.170809, 0.945817, 0.276144, 0.0703217, -0.267845, 0.960892, 2.98023e-07, 0.127214, 5.96046e-08)
|
||||
bones/20/enabled = true
|
||||
bones/20/position = Vector3(2.98023e-07, 0.127214, 5.96046e-08)
|
||||
bones/20/rotation = Quaternion(-0.672507, 0.0739211, 0.0366838, 0.735476)
|
||||
bones/20/rotation = Quaternion(-0.251732, -0.0454352, 0.0174863, 0.966572)
|
||||
bones/20/scale = Vector3(1, 1, 1)
|
||||
bones/21/name = "Bone.021"
|
||||
bones/21/parent = -1
|
||||
bones/21/rest = Transform3D(0.769842, 0.636233, -0.0505042, -0.0970478, 0.0384815, -0.994536, -0.630813, 0.770536, 0.0913697, -3.03019, -0.0704439, -3.30826)
|
||||
bones/21/enabled = true
|
||||
bones/21/position = Vector3(-2.06607, 0.879806, -3.83246)
|
||||
bones/21/rotation = Quaternion(0.338171, -0.60599, -0.652831, 0.303692)
|
||||
bones/21/position = Vector3(-2.25449, 0.699812, -3.51348)
|
||||
bones/21/rotation = Quaternion(0.18431, -0.642888, -0.642625, 0.373842)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="CHEST_004" type="MeshInstance3D" parent="Pivot/ARM2/2_ R MAGIC ARM 4/Skeleton3D"]
|
||||
@@ -909,7 +917,7 @@ mesh = SubResource("ArrayMesh_ddgyy")
|
||||
skin = SubResource("Skin_lcoox")
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Pivot/ARM2/2_ R MAGIC ARM 4/Skeleton3D"]
|
||||
transform = Transform3D(-0.112841, 0.993339, 0.0233374, -0.616932, -0.0884549, 0.78203, 0.778885, 0.0738476, 0.622804, -2.11185, 0.533136, 0.495338)
|
||||
transform = Transform3D(0.942125, 0.259369, -0.212434, 0.0456806, 0.528416, 0.847756, 0.332135, -0.808396, 0.485986, -0.18816, 1.22954, 0.0758562)
|
||||
bone_name = "Bone.002"
|
||||
bone_idx = 2
|
||||
|
||||
|
||||
@@ -1,10 +1,17 @@
|
||||
[gd_scene load_steps=86 format=4 uid="uid://dxrgfh28wj5su"]
|
||||
[gd_scene load_steps=88 format=4 uid="uid://dxrgfh28wj5su"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_fhrhk"]
|
||||
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_4acx4"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnwnwfiellbi4" path="res://src/enemy/enemy_types/16. demon wall/model/ARM3_AREA_2_MAIN_222STONE.png" id="2_afuej"]
|
||||
[ext_resource type="Texture2D" uid="uid://bntxhgjbex8m1" path="res://src/enemy/enemy_types/16. demon wall/model/ARM3_concrete_0003_height_1k.png" id="3_gcbec"]
|
||||
[ext_resource type="Texture2D" uid="uid://blqlb7bc65cv1" path="res://src/vfx/Enemy/DEMONWALL_MOVE_VISUALCUE.png" id="4_gcbec"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_4acx4"]
|
||||
script = ExtResource("2_4acx4")
|
||||
Damage = 0
|
||||
ElementType = 0
|
||||
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_enor0"]
|
||||
resource_name = "STONE"
|
||||
cull_mode = 2
|
||||
@@ -974,6 +981,7 @@ _data = {
|
||||
|
||||
[node name="Arm3" type="Node3D"]
|
||||
script = ExtResource("1_fhrhk")
|
||||
AttackData = SubResource("Resource_4acx4")
|
||||
|
||||
[node name="ARM3" type="Node3D" parent="."]
|
||||
|
||||
@@ -985,64 +993,64 @@ bones/0/name = "Bone"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(-0.0590079, 0.671656, -0.73851, -0.998184, -0.0307104, 0.0518259, 0.0121292, 0.740227, 0.672248, -1.70411, 0.133377, -1.71641)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(-2.73775, 0.468596, -1.22531)
|
||||
bones/0/rotation = Quaternion(0.200842, -0.392181, -0.716197, 0.54122)
|
||||
bones/0/position = Vector3(-2.85148, 0.526529, -1.221)
|
||||
bones/0/rotation = Quaternion(0.176403, -0.406312, -0.74143, 0.504057)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "Bone.001"
|
||||
bones/1/parent = 0
|
||||
bones/1/rest = Transform3D(0.997342, 0.0728404, -0.00158077, -0.0727175, 0.996536, 0.0403564, 0.00451487, -0.0401342, 0.999184, 1.2666e-07, 1.85949, 0)
|
||||
bones/1/enabled = true
|
||||
bones/1/position = Vector3(1.2666e-07, 1.85949, 0)
|
||||
bones/1/rotation = Quaternion(-0.151259, -0.496705, 0.156024, 0.840275)
|
||||
bones/1/rotation = Quaternion(-0.129554, -0.450316, 0.190666, 0.862599)
|
||||
bones/1/scale = Vector3(1, 1, 1)
|
||||
bones/2/name = "Bone.002"
|
||||
bones/2/parent = 1
|
||||
bones/2/rest = Transform3D(0.189847, -0.964576, -0.183168, 0.981104, 0.179283, 0.0727586, -0.0373423, -0.19352, 0.980386, 8.9407e-08, 0.416929, -2.38419e-07)
|
||||
bones/2/enabled = true
|
||||
bones/2/position = Vector3(8.9407e-08, 0.416929, -2.38419e-07)
|
||||
bones/2/rotation = Quaternion(-0.338372, -0.0949748, 0.71327, 0.606408)
|
||||
bones/2/rotation = Quaternion(-0.339053, -0.0891983, 0.743566, 0.569383)
|
||||
bones/2/scale = Vector3(1, 1, 1)
|
||||
bones/3/name = "Bone.003"
|
||||
bones/3/parent = 2
|
||||
bones/3/rest = Transform3D(0.810203, 0.578594, -0.0938098, -0.560363, 0.811523, 0.165603, 0.171946, -0.0816042, 0.981721, -1.78814e-07, 0.298124, 5.96046e-08)
|
||||
bones/3/enabled = true
|
||||
bones/3/position = Vector3(-1.78814e-07, 0.298124, 5.96046e-08)
|
||||
bones/3/rotation = Quaternion(-0.156375, 0.032684, -0.354513, 0.921303)
|
||||
bones/3/rotation = Quaternion(-0.159636, 0.012243, -0.397507, 0.903524)
|
||||
bones/3/scale = Vector3(1, 1, 1)
|
||||
bones/4/name = "Bone.004"
|
||||
bones/4/parent = 3
|
||||
bones/4/rest = Transform3D(0.986624, 0.16227, 0.0155225, -0.161298, 0.98559, -0.0509395, -0.0235648, 0.0477544, 0.998581, -2.98023e-07, 0.217615, 2.83122e-07)
|
||||
bones/4/enabled = true
|
||||
bones/4/position = Vector3(-2.98023e-07, 0.217615, 2.83122e-07)
|
||||
bones/4/rotation = Quaternion(-0.102239, 0.10942, -0.539565, 0.828519)
|
||||
bones/4/rotation = Quaternion(-0.135926, 0.0631315, -0.45165, 0.879517)
|
||||
bones/4/scale = Vector3(1, 1, 1)
|
||||
bones/5/name = "Bone.005"
|
||||
bones/5/parent = 1
|
||||
bones/5/rest = Transform3D(0.89182, -0.451516, 0.0281058, 0.446851, 0.888891, 0.100983, -0.0705783, -0.0774992, 0.994491, 8.9407e-08, 0.416929, -2.38419e-07)
|
||||
bones/5/enabled = true
|
||||
bones/5/position = Vector3(8.9407e-08, 0.416929, -2.38419e-07)
|
||||
bones/5/rotation = Quaternion(-0.230047, 0.212539, 0.0541331, 0.948143)
|
||||
bones/5/rotation = Quaternion(-0.243063, 0.220045, 0.0517508, 0.943304)
|
||||
bones/5/scale = Vector3(1, 1, 1)
|
||||
bones/6/name = "Bone.006"
|
||||
bones/6/parent = 5
|
||||
bones/6/rest = Transform3D(0.941855, 0.326829, -0.0780507, -0.307447, 0.931929, 0.192315, 0.135592, -0.157136, 0.978224, 2.98023e-07, 0.36657, -5.96046e-08)
|
||||
bones/6/enabled = true
|
||||
bones/6/position = Vector3(2.98023e-07, 0.36657, -5.96046e-08)
|
||||
bones/6/rotation = Quaternion(-0.436074, 0.311569, -0.0925453, 0.839166)
|
||||
bones/6/rotation = Quaternion(-0.364424, 0.306274, -0.141446, 0.867977)
|
||||
bones/6/scale = Vector3(1, 1, 1)
|
||||
bones/7/name = "Bone.007"
|
||||
bones/7/parent = 6
|
||||
bones/7/rest = Transform3D(0.999908, -0.0133746, -0.00243148, 0.0135605, 0.968863, 0.247226, -0.000950764, -0.247236, 0.968955, -5.36442e-07, 0.229155, 3.57628e-07)
|
||||
bones/7/enabled = true
|
||||
bones/7/position = Vector3(-5.36442e-07, 0.229155, 3.57628e-07)
|
||||
bones/7/rotation = Quaternion(-0.621228, -0.0285121, -0.205159, 0.75576)
|
||||
bones/7/rotation = Quaternion(-0.548289, -0.0728312, -0.245804, 0.796025)
|
||||
bones/7/scale = Vector3(1, 1, 1)
|
||||
bones/8/name = "Bone.008"
|
||||
bones/8/parent = 7
|
||||
bones/8/rest = Transform3D(0.996542, 0.0206576, -0.0804851, -0.00720127, 0.986431, 0.164017, 0.0827812, -0.162871, 0.983169, -5.96046e-08, 0.142665, -3.12924e-07)
|
||||
bones/8/enabled = true
|
||||
bones/8/position = Vector3(-5.96046e-08, 0.142665, -3.12924e-07)
|
||||
bones/8/rotation = Quaternion(-0.14301, -0.0638604, 0.0436387, 0.986694)
|
||||
bones/8/rotation = Quaternion(-0.107425, -0.0505146, 0.01401, 0.99283)
|
||||
bones/8/scale = Vector3(1, 1, 1)
|
||||
bones/9/name = "Bone.009"
|
||||
bones/9/parent = 1
|
||||
@@ -1056,21 +1064,21 @@ bones/10/parent = 9
|
||||
bones/10/rest = Transform3D(0.999443, 0.0307126, -0.0130675, -0.0268698, 0.972617, 0.230855, 0.0197998, -0.230375, 0.9729, 4.787e-07, 0.347821, -1.78814e-07)
|
||||
bones/10/enabled = true
|
||||
bones/10/position = Vector3(4.787e-07, 0.347821, -1.78814e-07)
|
||||
bones/10/rotation = Quaternion(-0.462345, 0.302549, -0.00771726, 0.833452)
|
||||
bones/10/rotation = Quaternion(-0.437212, 0.282571, -0.0347845, 0.853106)
|
||||
bones/10/scale = Vector3(1, 1, 1)
|
||||
bones/11/name = "Bone.011"
|
||||
bones/11/parent = 10
|
||||
bones/11/rest = Transform3D(0.999931, -0.0022606, -0.0115383, 0.00506641, 0.968404, 0.249334, 0.0106101, -0.249375, 0.968349, 8.49366e-07, 0.236611, 4.17233e-07)
|
||||
bones/11/enabled = true
|
||||
bones/11/position = Vector3(8.49366e-07, 0.236611, 4.17233e-07)
|
||||
bones/11/rotation = Quaternion(-0.488899, -0.0893169, -0.291617, 0.817288)
|
||||
bones/11/rotation = Quaternion(-0.463791, -0.114711, -0.312175, 0.82115)
|
||||
bones/11/scale = Vector3(1, 1, 1)
|
||||
bones/12/name = "Bone.012"
|
||||
bones/12/parent = 11
|
||||
bones/12/rest = Transform3D(0.997806, -0.0280227, -0.0599811, 0.0357475, 0.990624, 0.13186, 0.0557236, -0.133715, 0.989452, -5.93718e-07, 0.172989, 1.78814e-07)
|
||||
bones/12/enabled = true
|
||||
bones/12/position = Vector3(-5.93718e-07, 0.172989, 1.78814e-07)
|
||||
bones/12/rotation = Quaternion(-0.22648, -0.00959885, 0.0367457, 0.973275)
|
||||
bones/12/rotation = Quaternion(-0.133166, -0.0210463, 0.0246556, 0.990563)
|
||||
bones/12/scale = Vector3(1, 1, 1)
|
||||
bones/13/name = "Bone.013"
|
||||
bones/13/parent = 1
|
||||
@@ -1084,14 +1092,14 @@ bones/14/parent = 13
|
||||
bones/14/rest = Transform3D(0.959373, -0.277519, 0.0508523, 0.259649, 0.938956, 0.225709, -0.110386, -0.203335, 0.972867, 1.19209e-07, 0.369994, -3.57628e-07)
|
||||
bones/14/enabled = true
|
||||
bones/14/position = Vector3(1.19209e-07, 0.369994, -3.57628e-07)
|
||||
bones/14/rotation = Quaternion(-0.543733, 0.198253, 0.102282, 0.809067)
|
||||
bones/14/rotation = Quaternion(-0.502782, 0.207311, 0.0747823, 0.835847)
|
||||
bones/14/scale = Vector3(1, 1, 1)
|
||||
bones/15/name = "Bone.015"
|
||||
bones/15/parent = 14
|
||||
bones/15/rest = Transform3D(0.987789, 0.153063, -0.029059, -0.126508, 0.89688, 0.423794, 0.0909294, -0.414943, 0.905292, -4.17233e-07, 0.248162, 1.19209e-07)
|
||||
bones/15/enabled = true
|
||||
bones/15/position = Vector3(-4.17233e-07, 0.248162, 1.19209e-07)
|
||||
bones/15/rotation = Quaternion(-0.47245, -0.175251, -0.367377, 0.781737)
|
||||
bones/15/rotation = Quaternion(-0.455944, -0.175773, -0.410721, 0.769758)
|
||||
bones/15/scale = Vector3(1, 1, 1)
|
||||
bones/16/name = "Bone.016"
|
||||
bones/16/parent = 15
|
||||
@@ -1112,14 +1120,14 @@ bones/18/parent = 17
|
||||
bones/18/rest = Transform3D(0.858902, -0.508701, 0.0592547, 0.482273, 0.842314, 0.240665, -0.172338, -0.178131, 0.968798, 4.17233e-07, 0.400229, 0)
|
||||
bones/18/enabled = true
|
||||
bones/18/position = Vector3(4.17233e-07, 0.400229, 0)
|
||||
bones/18/rotation = Quaternion(-0.572993, 0.0865172, 0.178951, 0.795092)
|
||||
bones/18/rotation = Quaternion(-0.530286, 0.117681, 0.154087, 0.825352)
|
||||
bones/18/scale = Vector3(1, 1, 1)
|
||||
bones/19/name = "Bone.019"
|
||||
bones/19/parent = 18
|
||||
bones/19/rest = Transform3D(0.998851, -0.0332957, -0.0344645, 0.0348088, 0.998413, 0.0442743, 0.0329356, -0.0454231, 0.998425, 4.17233e-07, 0.196711, -2.38419e-07)
|
||||
bones/19/enabled = true
|
||||
bones/19/position = Vector3(4.17233e-07, 0.196711, -2.38419e-07)
|
||||
bones/19/rotation = Quaternion(-0.277547, -0.232517, -0.262091, 0.894546)
|
||||
bones/19/rotation = Quaternion(-0.255985, -0.244795, -0.313937, 0.880903)
|
||||
bones/19/scale = Vector3(1, 1, 1)
|
||||
bones/20/name = "Bone.020"
|
||||
bones/20/parent = 19
|
||||
@@ -1132,8 +1140,8 @@ bones/21/name = "Bone.021"
|
||||
bones/21/parent = -1
|
||||
bones/21/rest = Transform3D(0.761771, 0.635827, -0.12422, -0.154809, -0.00753344, -0.987916, -0.629079, 0.771795, 0.0926928, -3.0206, 0.148975, -3.31442)
|
||||
bones/21/enabled = true
|
||||
bones/21/position = Vector3(-2.97609, 1.07319, -3.25623)
|
||||
bones/21/rotation = Quaternion(0.733612, -0.140555, -0.295156, 0.595769)
|
||||
bones/21/position = Vector3(-3.00563, 1.12785, -3.26054)
|
||||
bones/21/rotation = Quaternion(0.717367, -0.194, -0.335859, 0.578746)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="CHEST_005" type="MeshInstance3D" parent="ARM3/3_ R STATUS ARM/Skeleton3D"]
|
||||
@@ -1163,12 +1171,10 @@ disabled = true
|
||||
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
|
||||
transform = Transform3D(1.7, 0, 0, 0, 1.7, 0, 0, 0, 1.7, -9.64615, 6.37768, 10.09)
|
||||
sprite_frames = SubResource("SpriteFrames_kyvod")
|
||||
frame = 54
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_4acx4")
|
||||
}
|
||||
autoplay = "Wall Move VFX"
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
[gd_scene load_steps=31 format=4 uid="uid://cuupl4irduut4"]
|
||||
[gd_scene load_steps=33 format=4 uid="uid://cuupl4irduut4"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_nwywg"]
|
||||
[ext_resource type="Texture2D" uid="uid://d3xy7wplqk3gq" path="res://src/enemy/enemy_types/16. demon wall/model/ARM4_AREA_2_MAIN_222STONE.png" id="2_0pjjv"]
|
||||
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_wbqyb"]
|
||||
[ext_resource type="Texture2D" uid="uid://dkh83g7ce40i7" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_ao_1k.jpg" id="3_hehm5"]
|
||||
[ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_1em87"]
|
||||
[ext_resource type="Texture2D" uid="uid://b8ifdfxk0ebv5" path="res://src/enemy/enemy_types/16. demon wall/model/ARM4_concrete_0003_height_1k_2.png" id="4_hehm5"]
|
||||
@@ -10,6 +11,12 @@
|
||||
[ext_resource type="Texture2D" uid="uid://cm5di6dciqwa5" path="res://src/vfx/Enemy/processed lightning bolts/plightning3.png" id="8_wbqyb"]
|
||||
[ext_resource type="Texture2D" uid="uid://bcl1oo6yr37wl" path="res://src/vfx/Enemy/processed lightning bolts/plightning4.png" id="9_el805"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_wbqyb"]
|
||||
script = ExtResource("2_wbqyb")
|
||||
Damage = 10
|
||||
ElementType = 5
|
||||
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jeu65"]
|
||||
resource_name = "Material.002"
|
||||
cull_mode = 2
|
||||
@@ -769,6 +776,7 @@ albedo_texture = ExtResource("9_el805")
|
||||
|
||||
[node name="Arm4" type="Node3D"]
|
||||
script = ExtResource("1_nwywg")
|
||||
AttackData = SubResource("Resource_wbqyb")
|
||||
|
||||
[node name="ARM4" type="Node3D" parent="."]
|
||||
|
||||
@@ -780,8 +788,8 @@ bones/0/name = "Bone"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(0.0151219, 0.673616, -0.738927, -0.999828, 0.0180682, -0.00398999, 0.0106634, 0.738861, 0.673774, -1.71741, 0.00290632, -1.71742)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(-2.1996, -0.363059, -1.80911)
|
||||
bones/0/rotation = Quaternion(0.105613, -0.507544, -0.459568, 0.72114)
|
||||
bones/0/position = Vector3(-2.13039, -0.268787, -1.69886)
|
||||
bones/0/rotation = Quaternion(0.0923062, -0.514227, -0.439319, 0.730787)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "Bone.001"
|
||||
bones/1/parent = 0
|
||||
@@ -934,8 +942,8 @@ bones/22/name = "Bone.021"
|
||||
bones/22/parent = -1
|
||||
bones/22/rest = Transform3D(0.769842, 0.636233, -0.050504, -0.0970476, 0.0384815, -0.994536, -0.630813, 0.770536, 0.0913696, -3.03474, -0.0767703, -3.31282)
|
||||
bones/22/enabled = true
|
||||
bones/22/position = Vector3(-2.00846, 0.925536, -3.63189)
|
||||
bones/22/rotation = Quaternion(0.863091, -0.137402, -0.180787, 0.451121)
|
||||
bones/22/position = Vector3(-2.0261, 0.838448, -3.63792)
|
||||
bones/22/rotation = Quaternion(0.8414, -0.121862, -0.170241, 0.498211)
|
||||
bones/22/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="CHEST_003" type="MeshInstance3D" parent="ARM4/4_ R WEAPON ARM/Skeleton3D"]
|
||||
@@ -943,7 +951,7 @@ mesh = SubResource("ArrayMesh_k01v5")
|
||||
skin = SubResource("Skin_f7n3b")
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM4/4_ R WEAPON ARM/Skeleton3D"]
|
||||
transform = Transform3D(0.169695, -0.93473, 0.312225, -0.855071, -0.297164, -0.424909, 0.489957, -0.194869, -0.849687, -0.424691, 1.04398, -0.515404)
|
||||
transform = Transform3D(0.193298, -0.928984, 0.315633, -0.826446, -0.327548, -0.457929, 0.528794, -0.172337, -0.83107, -0.37909, 1.23909, -0.489325)
|
||||
bone_name = "Bone.008"
|
||||
bone_idx = 8
|
||||
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
[gd_scene load_steps=54 format=4 uid="uid://bh1pkdedeoj16"]
|
||||
[gd_scene load_steps=56 format=4 uid="uid://bh1pkdedeoj16"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_j3ruw"]
|
||||
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_flp87"]
|
||||
[ext_resource type="Texture2D" uid="uid://c0fcr0wngdp3k" path="res://src/enemy/enemy_types/16. demon wall/model/ARM5_AREA_2_MAIN_222STONE.png" id="2_l5gtd"]
|
||||
[ext_resource type="Texture2D" uid="uid://hhkrujf0lr46" path="res://src/enemy/enemy_types/16. demon wall/ROCK SMASH_AREA_2_MAIN_STON2E.png" id="2_mq4nh"]
|
||||
[ext_resource type="Texture2D" uid="uid://dkh83g7ce40i7" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_ao_1k.jpg" id="3_b7812"]
|
||||
[ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_mq4nh"]
|
||||
[ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_flp87"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_flp87"]
|
||||
script = ExtResource("2_flp87")
|
||||
Damage = 10
|
||||
ElementType = 2
|
||||
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||
|
||||
[sub_resource type="Animation" id="Animation_sn5j6"]
|
||||
resource_name = "Animation"
|
||||
length = 7.0137
|
||||
@@ -1389,6 +1396,7 @@ transitions = ["Start", "idle", SubResource("AnimationNodeStateMachineTransition
|
||||
|
||||
[node name="Arm5" type="Node3D"]
|
||||
script = ExtResource("1_j3ruw")
|
||||
AttackData = SubResource("Resource_flp87")
|
||||
|
||||
[node name="ROCK SMASH" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.59119, 7.25161, 10.1115)
|
||||
@@ -1405,7 +1413,7 @@ mesh = SubResource("ArrayMesh_mwsfi")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Cube_cell_026_cell" type="MeshInstance3D" parent="ROCK SMASH"]
|
||||
transform = Transform3D(0.869264, 0.0678596, 0.25252, -0.212709, 0.693359, 0.545894, -0.152073, -0.581928, 0.679872, -1.57176, -3.54047, 17.4467)
|
||||
transform = Transform3D(0.869264, 0.0678598, 0.25252, -0.212709, 0.693359, 0.545894, -0.152073, -0.581928, 0.679872, -1.57176, -3.54047, 17.4467)
|
||||
mesh = SubResource("ArrayMesh_yaf82")
|
||||
skeleton = NodePath("")
|
||||
|
||||
@@ -1415,12 +1423,12 @@ mesh = SubResource("ArrayMesh_mf0fv")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Cube_cell_005_cell_001" type="MeshInstance3D" parent="ROCK SMASH"]
|
||||
transform = Transform3D(-0.151836, -0.221721, 0.867051, -0.889419, 0.135014, -0.121228, -0.0993515, -0.869829, -0.23983, -0.447331, -3.51994, -9.17886)
|
||||
transform = Transform3D(-0.151836, -0.221721, 0.867051, -0.889419, 0.135014, -0.121228, -0.0993516, -0.869829, -0.23983, -0.447331, -3.51994, -9.17886)
|
||||
mesh = SubResource("ArrayMesh_ftrgi")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Cube_cell_cell" type="MeshInstance3D" parent="ROCK SMASH"]
|
||||
transform = Transform3D(0.634158, 0.294344, -0.323215, -0.605196, 0.353464, -0.00828147, 0.235741, 0.115613, 0.848207, -0.592601, -3.56393, 0.335403)
|
||||
transform = Transform3D(0.634158, 0.294344, -0.323215, -0.605196, 0.353464, -0.00828187, 0.235741, 0.115613, 0.848207, -0.592601, -3.56393, 0.335403)
|
||||
mesh = SubResource("ArrayMesh_puagn")
|
||||
skeleton = NodePath("")
|
||||
|
||||
@@ -1435,22 +1443,22 @@ mesh = SubResource("ArrayMesh_fugsc")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Cube_cell_cell_004_cell_007" type="MeshInstance3D" parent="ROCK SMASH"]
|
||||
transform = Transform3D(0.171285, 0.376762, -0.807901, -0.068169, 0.825807, 0.370659, 0.888823, -0.00926991, 0.184119, 2.93068, -3.53875, -3.42814)
|
||||
transform = Transform3D(0.171285, 0.376762, -0.807901, -0.0681688, 0.825807, 0.37066, 0.888823, -0.0092699, 0.184118, 2.93068, -3.53875, -3.42814)
|
||||
mesh = SubResource("ArrayMesh_8hrhs")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Cube_cell_005_cell_cell_006" type="MeshInstance3D" parent="ROCK SMASH"]
|
||||
transform = Transform3D(-0.404434, 0.615904, -0.530177, 0.0258777, -0.582143, -0.696012, -0.812253, -0.325215, 0.241809, -4.11829, -3.37613, -5.54113)
|
||||
transform = Transform3D(-0.404434, 0.615904, -0.530177, 0.0258777, -0.582143, -0.696012, -0.812253, -0.325215, 0.24181, -4.11829, -3.37613, -5.54113)
|
||||
mesh = SubResource("ArrayMesh_53pjh")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Cube_cell_012_cell_002_cell_003" type="MeshInstance3D" parent="ROCK SMASH"]
|
||||
transform = Transform3D(0.660286, -0.29837, 0.546799, 0.270466, 0.855124, 0.140012, -0.561126, 0.0610775, 0.710915, 4.69964, -3.45594, 2.13534)
|
||||
transform = Transform3D(0.660286, -0.29837, 0.5468, 0.270466, 0.855124, 0.140012, -0.561126, 0.0610777, 0.710914, 4.69964, -3.45594, 2.13534)
|
||||
mesh = SubResource("ArrayMesh_f8xj0")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Cube_cell_026_cell_006_cell_006" type="MeshInstance3D" parent="ROCK SMASH"]
|
||||
transform = Transform3D(0.765097, 0.459496, 0.16578, -0.482873, 0.66485, 0.385745, 0.0738424, -0.413315, 0.804804, -2.70943, -3.48923, 8.10288)
|
||||
transform = Transform3D(0.765097, 0.459495, 0.165779, -0.482873, 0.66485, 0.385745, 0.0738424, -0.413315, 0.804804, -2.70943, -3.48923, 8.10288)
|
||||
mesh = SubResource("ArrayMesh_xmko7")
|
||||
skeleton = NodePath("")
|
||||
|
||||
@@ -1479,29 +1487,29 @@ bones/0/name = "Bone"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(0.0151219, -0.673616, 0.738927, 0.999829, 0.0180681, -0.00399013, -0.0106631, 0.738861, 0.673774, 1.71286, 0.00923371, -1.71285)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(2.62569, -0.0349066, -1.21983)
|
||||
bones/0/rotation = Quaternion(0.288488, 0.553689, 0.652755, 0.429084)
|
||||
bones/0/position = Vector3(2.61091, -0.168294, -1.43586)
|
||||
bones/0/rotation = Quaternion(0.317499, 0.527284, 0.660757, 0.429611)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "Bone.001"
|
||||
bones/1/parent = 0
|
||||
bones/1/rest = Transform3D(0.997342, -0.0728417, -0.00159788, 0.0728471, 0.996536, 0.040124, -0.00133035, -0.0401337, 0.999193, -2.93367e-07, 1.85949, 2.16067e-07)
|
||||
bones/1/enabled = true
|
||||
bones/1/position = Vector3(-2.93367e-07, 1.85949, 2.16067e-07)
|
||||
bones/1/rotation = Quaternion(-0.191539, 0.13042, -0.0271536, 0.972402)
|
||||
bones/1/rotation = Quaternion(0.201428, 0.246076, -0.0338279, 0.947486)
|
||||
bones/1/scale = Vector3(1, 1, 1)
|
||||
bones/2/name = "Bone.002"
|
||||
bones/2/parent = 1
|
||||
bones/2/rest = Transform3D(0.175376, 0.963955, 0.200086, -0.983797, 0.179282, -0.00142622, -0.0372466, -0.196594, 0.979777, 5.40167e-08, 0.416929, 1.78814e-07)
|
||||
bones/2/enabled = true
|
||||
bones/2/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07)
|
||||
bones/2/rotation = Quaternion(-0.53644, -0.0319246, -0.417881, 0.732522)
|
||||
bones/2/rotation = Quaternion(-0.124536, 0.0489233, -0.685721, 0.715461)
|
||||
bones/2/scale = Vector3(1, 1, 1)
|
||||
bones/3/name = "Bone.003"
|
||||
bones/3/parent = 2
|
||||
bones/3/rest = Transform3D(0.795966, -0.570792, -0.201583, 0.584248, 0.811525, 0.00907693, 0.158408, -0.124999, 0.97943, -1.04308e-07, 0.298126, 2.5332e-07)
|
||||
bones/3/enabled = true
|
||||
bones/3/position = Vector3(-1.04308e-07, 0.298126, 2.5332e-07)
|
||||
bones/3/rotation = Quaternion(0.106525, -0.412173, 0.141205, 0.893771)
|
||||
bones/3/rotation = Quaternion(0.0949767, -0.578823, 0.256969, 0.768056)
|
||||
bones/3/scale = Vector3(1, 1, 1)
|
||||
bones/4/name = "Bone.004"
|
||||
bones/4/parent = 3
|
||||
@@ -1515,7 +1523,7 @@ bones/5/parent = 1
|
||||
bones/5/rest = Transform3D(0.891185, 0.451269, 0.046316, -0.453486, 0.88889, 0.0650086, -0.0118334, -0.0789384, 0.996809, 5.40167e-08, 0.416929, 1.78814e-07)
|
||||
bones/5/enabled = true
|
||||
bones/5/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07)
|
||||
bones/5/rotation = Quaternion(-0.270474, 0.176192, -0.185232, 0.928164)
|
||||
bones/5/rotation = Quaternion(0.0186613, 0.00228513, -0.25223, 0.967485)
|
||||
bones/5/scale = Vector3(1, 1, 1)
|
||||
bones/6/name = "Bone.006"
|
||||
bones/6/parent = 5
|
||||
@@ -1543,7 +1551,7 @@ bones/9/parent = 1
|
||||
bones/9/rest = Transform3D(0.998888, 0.0470357, 0.00321129, -0.0471435, 0.997098, 0.0597784, -0.000390256, -0.0598634, 0.998206, 5.40167e-08, 0.416929, 1.78814e-07)
|
||||
bones/9/enabled = true
|
||||
bones/9/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07)
|
||||
bones/9/rotation = Quaternion(-0.161916, 0.220053, 0.0688103, 0.959492)
|
||||
bones/9/rotation = Quaternion(0.0515522, -0.0270531, 0.0230489, 0.998038)
|
||||
bones/9/scale = Vector3(1, 1, 1)
|
||||
bones/10/name = "Bone.010"
|
||||
bones/10/parent = 9
|
||||
@@ -1571,7 +1579,7 @@ bones/13/parent = 1
|
||||
bones/13/rest = Transform3D(0.924678, -0.380194, -0.0205531, 0.380732, 0.922777, 0.0593806, -0.00361027, -0.0627332, 0.998024, 5.40167e-08, 0.416929, 1.78814e-07)
|
||||
bones/13/enabled = true
|
||||
bones/13/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07)
|
||||
bones/13/rotation = Quaternion(-0.0218501, 0.224031, 0.236137, 0.945289)
|
||||
bones/13/rotation = Quaternion(0.123381, -0.0834547, 0.214205, 0.965365)
|
||||
bones/13/scale = Vector3(1, 1, 1)
|
||||
bones/14/name = "Bone.014"
|
||||
bones/14/parent = 13
|
||||
@@ -1599,7 +1607,7 @@ bones/17/parent = 1
|
||||
bones/17/rest = Transform3D(0.731155, -0.681922, -0.0198745, 0.682036, 0.729995, 0.0439837, -0.0154852, -0.045714, 0.998834, 5.40167e-08, 0.416929, 1.78814e-07)
|
||||
bones/17/enabled = true
|
||||
bones/17/position = Vector3(5.40167e-08, 0.416929, 1.78814e-07)
|
||||
bones/17/rotation = Quaternion(0.094853, 0.140219, 0.344745, 0.923305)
|
||||
bones/17/rotation = Quaternion(0.20707, -0.188954, 0.3266, 0.902635)
|
||||
bones/17/scale = Vector3(1, 1, 0.999999)
|
||||
bones/18/name = "Bone.018"
|
||||
bones/18/parent = 17
|
||||
@@ -1626,8 +1634,8 @@ bones/21/name = "Bone.021"
|
||||
bones/21/parent = -1
|
||||
bones/21/rest = Transform3D(0.769842, -0.636234, 0.0505046, 0.0970479, 0.038481, -0.994536, 0.630814, 0.770536, 0.0913694, 3.03019, -0.0704418, -3.30826)
|
||||
bones/21/enabled = true
|
||||
bones/21/position = Vector3(2.37565, -0.461888, -3.45993)
|
||||
bones/21/rotation = Quaternion(0.541897, 0.478804, 0.337294, 0.602767)
|
||||
bones/21/position = Vector3(2.37198, -0.370113, -3.46949)
|
||||
bones/21/rotation = Quaternion(0.567172, 0.467662, 0.362014, 0.573196)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="CHEST_008" type="MeshInstance3D" parent="ARM5/5_ R MELEE ARM/Skeleton3D"]
|
||||
@@ -1635,7 +1643,7 @@ mesh = SubResource("ArrayMesh_mat8l")
|
||||
skin = SubResource("Skin_em6a3")
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM5/5_ R MELEE ARM/Skeleton3D"]
|
||||
transform = Transform3D(-0.97588, -0.17167, -0.134861, 0.0797697, -0.855447, 0.511709, -0.203211, 0.488609, 0.848508, 2.00074, -0.317732, 1.2842)
|
||||
transform = Transform3D(-0.707153, 0.127075, 0.695547, 0.657326, -0.244267, 0.712921, 0.260494, 0.961345, 0.0892054, 2.47652, -0.223076, 1.05386)
|
||||
bone_name = "Bone.018"
|
||||
bone_idx = 18
|
||||
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
[gd_scene load_steps=20 format=4 uid="uid://c61hpj1aackmn"]
|
||||
[gd_scene load_steps=22 format=4 uid="uid://c61hpj1aackmn"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_xefo1"]
|
||||
[ext_resource type="Texture2D" uid="uid://c4gfxyge646im" path="res://src/enemy/enemy_types/16. demon wall/model/ARM6_AREA_2_MAIN_222STONE.png" id="2_7j47h"]
|
||||
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_h1jik"]
|
||||
[ext_resource type="Texture2D" uid="uid://dkh83g7ce40i7" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_ao_1k.jpg" id="3_7qtol"]
|
||||
[ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_h1jik"]
|
||||
[ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_3jiko"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_h1jik"]
|
||||
script = ExtResource("2_h1jik")
|
||||
Damage = 10
|
||||
ElementType = 0
|
||||
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kv7mn"]
|
||||
resource_name = "STONE"
|
||||
cull_mode = 2
|
||||
@@ -501,7 +508,7 @@ transitions = ["attack", "idle", SubResource("AnimationNodeStateMachineTransitio
|
||||
|
||||
[node name="Arm6" type="Node3D"]
|
||||
script = ExtResource("1_xefo1")
|
||||
PrimaryAttackElementalType = 5
|
||||
AttackData = SubResource("Resource_h1jik")
|
||||
|
||||
[node name="ARM6" type="Node3D" parent="."]
|
||||
|
||||
@@ -513,29 +520,29 @@ bones/0/name = "Bone"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(0.351559, -0.633916, 0.68888, 0.936032, 0.250429, -0.247241, -0.0157858, 0.731734, 0.681407, 1.6292, -0.58344, -1.69503)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(2.47058, -0.783689, -2.01448)
|
||||
bones/0/rotation = Quaternion(0.213407, 0.661084, 0.344333, 0.631554)
|
||||
bones/0/position = Vector3(2.33541, -0.688565, -1.91412)
|
||||
bones/0/rotation = Quaternion(0.23455, 0.560847, 0.451655, 0.653027)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "Bone.001"
|
||||
bones/1/parent = 0
|
||||
bones/1/rest = Transform3D(0.997342, -0.0728406, -0.00159759, 0.072846, 0.996536, 0.0401254, -0.0013307, -0.0401352, 0.999193, -2.57045e-07, 1.85949, -1.63913e-07)
|
||||
bones/1/enabled = true
|
||||
bones/1/position = Vector3(-2.57045e-07, 1.85949, -1.63913e-07)
|
||||
bones/1/rotation = Quaternion(-0.0235021, 0.0497298, -0.0547961, 0.996981)
|
||||
bones/1/rotation = Quaternion(-0.0201357, 0.000686987, 0.0350889, 0.999181)
|
||||
bones/1/scale = Vector3(1, 1, 1)
|
||||
bones/2/name = "Bone.002"
|
||||
bones/2/parent = 1
|
||||
bones/2/rest = Transform3D(0.175377, 0.963955, 0.200084, -0.983797, 0.179282, -0.00142542, -0.0372455, -0.196592, 0.979778, -2.04891e-08, 0.416929, -1.19209e-07)
|
||||
bones/2/enabled = true
|
||||
bones/2/position = Vector3(-2.04891e-08, 0.416929, -1.19209e-07)
|
||||
bones/2/rotation = Quaternion(-0.494192, 0.207934, -0.555612, 0.635479)
|
||||
bones/2/rotation = Quaternion(-0.464806, 0.232241, -0.547331, 0.656086)
|
||||
bones/2/scale = Vector3(1, 1, 1)
|
||||
bones/3/name = "Bone.003"
|
||||
bones/3/parent = 2
|
||||
bones/3/rest = Transform3D(0.795964, -0.570795, -0.201579, 0.584251, 0.811522, 0.00907907, 0.158404, -0.125, 0.97943, -2.79397e-07, 0.298125, 7.07805e-08)
|
||||
bones/3/enabled = true
|
||||
bones/3/position = Vector3(-2.79397e-07, 0.298125, 7.07805e-08)
|
||||
bones/3/rotation = Quaternion(0.16642, -0.0119571, 0.538867, 0.825702)
|
||||
bones/3/rotation = Quaternion(0.14401, -0.0282497, 0.51576, 0.84407)
|
||||
bones/3/scale = Vector3(1, 1, 1)
|
||||
bones/4/name = "Bone.004"
|
||||
bones/4/parent = 3
|
||||
@@ -549,14 +556,14 @@ bones/5/parent = 1
|
||||
bones/5/rest = Transform3D(0.891186, 0.451268, 0.0463134, -0.453484, 0.888891, 0.0650076, -0.0118317, -0.0789362, 0.996809, -2.04891e-08, 0.416929, -1.19209e-07)
|
||||
bones/5/enabled = true
|
||||
bones/5/position = Vector3(-2.04891e-08, 0.416929, -1.19209e-07)
|
||||
bones/5/rotation = Quaternion(-0.099829, 0.0142057, -0.0748918, 0.99208)
|
||||
bones/5/rotation = Quaternion(-0.0557565, 0.0165769, -0.0757018, 0.995432)
|
||||
bones/5/scale = Vector3(1, 1, 1)
|
||||
bones/6/name = "Bone.006"
|
||||
bones/6/parent = 5
|
||||
bones/6/rest = Transform3D(0.94556, -0.31325, -0.0882615, 0.323948, 0.931928, 0.162993, 0.0311958, -0.182712, 0.982671, 0, 0.366571, 4.47035e-08)
|
||||
bones/6/enabled = true
|
||||
bones/6/position = Vector3(0, 0.366571, 4.47035e-08)
|
||||
bones/6/rotation = Quaternion(-0.710436, -0.2111, 0.0772733, 0.666894)
|
||||
bones/6/rotation = Quaternion(-0.655487, -0.210131, 0.0681422, 0.722176)
|
||||
bones/6/scale = Vector3(1, 1, 1)
|
||||
bones/7/name = "Bone.007"
|
||||
bones/7/parent = 6
|
||||
@@ -584,7 +591,7 @@ bones/10/parent = 9
|
||||
bones/10/rest = Transform3D(0.999465, -0.0299655, -0.0130879, 0.0321747, 0.972617, 0.230176, 0.00583219, -0.230474, 0.973061, -2.98023e-08, 0.347821, 2.23517e-07)
|
||||
bones/10/enabled = true
|
||||
bones/10/position = Vector3(-2.98023e-08, 0.347821, 2.23517e-07)
|
||||
bones/10/rotation = Quaternion(-0.761541, -0.0506147, -0.089266, 0.639942)
|
||||
bones/10/rotation = Quaternion(-0.676481, -0.0608641, -0.0961764, 0.727612)
|
||||
bones/10/scale = Vector3(1, 1, 1)
|
||||
bones/11/name = "Bone.011"
|
||||
bones/11/parent = 10
|
||||
@@ -612,7 +619,7 @@ bones/14/parent = 13
|
||||
bones/14/rest = Transform3D(0.961502, 0.268958, 0.056354, -0.274785, 0.938956, 0.207015, 0.00276436, -0.21453, 0.976713, 4.93601e-08, 0.369994, -2.08616e-07)
|
||||
bones/14/enabled = true
|
||||
bones/14/position = Vector3(4.93601e-08, 0.369994, -2.08616e-07)
|
||||
bones/14/rotation = Quaternion(-0.809646, 0.103837, -0.139815, 0.560485)
|
||||
bones/14/rotation = Quaternion(-0.733167, 0.0965788, -0.170543, 0.651194)
|
||||
bones/14/scale = Vector3(1, 1, 1)
|
||||
bones/15/name = "Bone.015"
|
||||
bones/15/parent = 14
|
||||
@@ -633,14 +640,14 @@ bones/17/parent = 1
|
||||
bones/17/rest = Transform3D(0.731154, -0.681923, -0.0198726, 0.682037, 0.729994, 0.0439829, -0.0154861, -0.0457121, 0.998834, -2.04891e-08, 0.416929, -1.19209e-07)
|
||||
bones/17/enabled = true
|
||||
bones/17/position = Vector3(-2.04891e-08, 0.416929, -1.19209e-07)
|
||||
bones/17/rotation = Quaternion(-0.0435475, 0.0160745, 0.335227, 0.940993)
|
||||
bones/17/rotation = Quaternion(-0.0204443, 0.00724419, 0.33475, 0.942057)
|
||||
bones/17/scale = Vector3(1, 1, 1)
|
||||
bones/18/name = "Bone.018"
|
||||
bones/18/parent = 17
|
||||
bones/18/rest = Transform3D(0.857941, 0.502855, 0.105234, -0.513706, 0.842315, 0.163132, -0.00660832, -0.194017, 0.980976, -1.56462e-07, 0.400229, 2.23517e-07)
|
||||
bones/18/enabled = true
|
||||
bones/18/position = Vector3(-1.56462e-07, 0.400229, 2.23517e-07)
|
||||
bones/18/rotation = Quaternion(-0.771895, 0.135055, -0.165312, 0.59884)
|
||||
bones/18/rotation = Quaternion(-0.696575, 0.105, -0.215223, 0.676341)
|
||||
bones/18/scale = Vector3(1, 1, 1)
|
||||
bones/19/name = "Bone.019"
|
||||
bones/19/parent = 18
|
||||
@@ -660,8 +667,8 @@ bones/21/name = "Bone.021"
|
||||
bones/21/parent = -1
|
||||
bones/21/rest = Transform3D(0.752405, -0.592093, -0.288639, -0.162915, 0.257308, -0.952497, 0.638236, 0.763687, 0.0971389, 2.85513, -1.1162, -3.27626)
|
||||
bones/21/enabled = true
|
||||
bones/21/position = Vector3(1.07427, -0.876382, -3.47631)
|
||||
bones/21/rotation = Quaternion(0.66934, 0.413585, -0.110013, 0.607313)
|
||||
bones/21/position = Vector3(1.20947, -0.971519, -3.57677)
|
||||
bones/21/rotation = Quaternion(0.642522, 0.332355, -0.0570724, 0.688076)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="CHEST_001" type="MeshInstance3D" parent="ARM6/6_ L WEAPON ARM/Skeleton3D"]
|
||||
@@ -669,7 +676,7 @@ mesh = SubResource("ArrayMesh_4ec00")
|
||||
skin = SubResource("Skin_37t5x")
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM6/6_ L WEAPON ARM/Skeleton3D"]
|
||||
transform = Transform3D(0.0652241, 0.924122, -0.37649, 0.727903, -0.302141, -0.615522, -0.682571, -0.233902, -0.692378, 1.86286, 0.679221, -0.161973)
|
||||
transform = Transform3D(0.215367, 0.850044, -0.480668, 0.904477, -0.359206, -0.229986, -0.368157, -0.385222, -0.846206, 1.25594, 0.234354, 0.127906)
|
||||
bone_name = "Bone.020"
|
||||
bone_idx = 20
|
||||
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
[gd_scene load_steps=26 format=4 uid="uid://big4eurgqyejq"]
|
||||
[gd_scene load_steps=28 format=4 uid="uid://big4eurgqyejq"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_enq7k"]
|
||||
[ext_resource type="Texture2D" uid="uid://dni8145sh8qu3" path="res://src/enemy/enemy_types/16. demon wall/model/ARM7_AREA_2_MAIN_222STONE.png" id="2_1gdpg"]
|
||||
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_v88k1"]
|
||||
[ext_resource type="Texture2D" uid="uid://dkh83g7ce40i7" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_ao_1k.jpg" id="3_11f7o"]
|
||||
[ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_xpy5w"]
|
||||
[ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_v88k1"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnnn1m1mcb6qc" path="res://src/vfx/Enemy/FLAME_SPRITE_SHEET_FIXED.png" id="6_xpy5w"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_v88k1"]
|
||||
script = ExtResource("2_v88k1")
|
||||
Damage = 10
|
||||
ElementType = 4
|
||||
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_o18ct"]
|
||||
resource_name = "STONE"
|
||||
cull_mode = 2
|
||||
@@ -588,7 +595,7 @@ transitions = ["idle", "attack", SubResource("AnimationNodeStateMachineTransitio
|
||||
|
||||
[node name="Arm7" type="Node3D"]
|
||||
script = ExtResource("1_enq7k")
|
||||
PrimaryAttackElementalType = 4
|
||||
AttackData = SubResource("Resource_v88k1")
|
||||
|
||||
[node name="Pivot" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
@@ -605,155 +612,155 @@ bones/0/name = "Bone"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(0.0151218, -0.673616, 0.738927, 0.999829, 0.0180678, -0.0039901, -0.010663, 0.738861, 0.673774, 1.71286, 0.009233, -1.71285)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(2.27844, -0.57056, -1.48374)
|
||||
bones/0/rotation = Quaternion(0.351014, 0.135407, 0.687436, 0.621197)
|
||||
bones/0/position = Vector3(2.26558, -0.584002, -1.49189)
|
||||
bones/0/rotation = Quaternion(0.291981, 0.220058, 0.656706, 0.65959)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "Bone.001"
|
||||
bones/1/parent = 0
|
||||
bones/1/rest = Transform3D(0.997342, -0.0728417, -0.00159799, 0.0728471, 0.996536, 0.0401243, -0.00133027, -0.0401341, 0.999193, 3.45986e-07, 1.85949, 1.30385e-07)
|
||||
bones/1/enabled = true
|
||||
bones/1/position = Vector3(3.45986e-07, 1.85949, 1.30385e-07)
|
||||
bones/1/rotation = Quaternion(0.193277, 0.620021, 0.0892583, 0.75515)
|
||||
bones/1/rotation = Quaternion(0.132934, 0.59865, 0.12757, 0.779534)
|
||||
bones/1/scale = Vector3(1, 1, 1)
|
||||
bones/2/name = "Bone.002"
|
||||
bones/2/parent = 1
|
||||
bones/2/rest = Transform3D(0.175376, 0.963955, 0.200084, -0.983797, 0.179281, -0.0014251, -0.0372451, -0.196592, 0.979778, 5.59958e-08, 0.416929, 4.28408e-08)
|
||||
bones/2/enabled = true
|
||||
bones/2/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08)
|
||||
bones/2/rotation = Quaternion(-0.0403907, 0.216605, -0.600669, 0.768536)
|
||||
bones/2/rotation = Quaternion(-0.0444342, 0.193358, -0.607799, 0.768907)
|
||||
bones/2/scale = Vector3(1, 1, 1)
|
||||
bones/3/name = "Bone.003"
|
||||
bones/3/parent = 2
|
||||
bones/3/rest = Transform3D(0.795965, -0.570793, -0.20158, 0.584249, 0.811523, 0.0090791, 0.158405, -0.125, 0.97943, -3.50177e-07, 0.298125, 3.20375e-07)
|
||||
bones/3/enabled = true
|
||||
bones/3/position = Vector3(-3.50177e-07, 0.298125, 3.20375e-07)
|
||||
bones/3/rotation = Quaternion(-0.061542, -0.104012, 0.308094, 0.943648)
|
||||
bones/3/rotation = Quaternion(-0.0957386, -0.115652, 0.311867, 0.938189)
|
||||
bones/3/scale = Vector3(1, 1, 1)
|
||||
bones/4/name = "Bone.004"
|
||||
bones/4/parent = 3
|
||||
bones/4/rest = Transform3D(0.989609, -0.143493, 0.00920777, 0.14374, 0.98559, -0.089171, 0.00372037, 0.0895679, 0.995974, 6.03497e-07, 0.217615, -2.83122e-07)
|
||||
bones/4/enabled = true
|
||||
bones/4/position = Vector3(6.03497e-07, 0.217615, -2.83122e-07)
|
||||
bones/4/rotation = Quaternion(0.0369, 0.00985486, 0.110808, 0.993108)
|
||||
bones/4/rotation = Quaternion(0.0263167, 0.0210218, 0.161668, 0.98627)
|
||||
bones/4/scale = Vector3(1, 1, 1)
|
||||
bones/5/name = "Bone.005"
|
||||
bones/5/parent = 1
|
||||
bones/5/rest = Transform3D(0.891185, 0.45127, 0.0463153, -0.453486, 0.888889, 0.0650082, -0.011833, -0.0789377, 0.996809, 5.59958e-08, 0.416929, 4.28408e-08)
|
||||
bones/5/enabled = true
|
||||
bones/5/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08)
|
||||
bones/5/rotation = Quaternion(-0.0326452, 0.0171704, -0.233478, 0.971662)
|
||||
bones/5/rotation = Quaternion(-0.0269362, 0.0200439, -0.234387, 0.971564)
|
||||
bones/5/scale = Vector3(1, 1, 1)
|
||||
bones/6/name = "Bone.006"
|
||||
bones/6/parent = 5
|
||||
bones/6/rest = Transform3D(0.94556, -0.313252, -0.0882626, 0.323951, 0.931928, 0.162992, 0.0311969, -0.182711, 0.982671, -1.56462e-07, 0.366571, -7.45058e-08)
|
||||
bones/6/enabled = true
|
||||
bones/6/position = Vector3(-1.56462e-07, 0.366571, -7.45058e-08)
|
||||
bones/6/rotation = Quaternion(-0.107487, -0.0310207, 0.169229, 0.979207)
|
||||
bones/6/rotation = Quaternion(-0.132919, -0.03181, 0.178355, 0.974428)
|
||||
bones/6/scale = Vector3(1, 1, 1)
|
||||
bones/7/name = "Bone.007"
|
||||
bones/7/parent = 6
|
||||
bones/7/rest = Transform3D(0.999951, -0.00959686, -0.00243394, 0.00990068, 0.968863, 0.247401, -1.61149e-05, -0.247413, 0.96891, 2.14204e-07, 0.229155, -1.71363e-07)
|
||||
bones/7/enabled = true
|
||||
bones/7/position = Vector3(2.14204e-07, 0.229155, -1.71363e-07)
|
||||
bones/7/rotation = Quaternion(-0.0960046, 0.0131847, 0.00771012, 0.995264)
|
||||
bones/7/rotation = Quaternion(-0.0582314, 0.0312637, 0.0113686, 0.997749)
|
||||
bones/7/scale = Vector3(1, 1, 1)
|
||||
bones/8/name = "Bone.008"
|
||||
bones/8/parent = 7
|
||||
bones/8/rest = Transform3D(0.996094, -0.0359841, -0.0806318, 0.0483356, 0.986431, 0.156898, 0.0738919, -0.160182, 0.984318, 1.47149e-07, 0.142665, 1.63913e-07)
|
||||
bones/8/enabled = true
|
||||
bones/8/position = Vector3(1.47149e-07, 0.142665, 1.63913e-07)
|
||||
bones/8/rotation = Quaternion(-0.109089, -0.0510713, 0.016739, 0.992578)
|
||||
bones/8/rotation = Quaternion(-0.147664, -0.0671252, 0.0108925, 0.986697)
|
||||
bones/8/scale = Vector3(1, 1, 1)
|
||||
bones/9/name = "Bone.009"
|
||||
bones/9/parent = 1
|
||||
bones/9/rest = Transform3D(0.998888, 0.0470356, 0.00321137, -0.0471435, 0.997098, 0.0597771, -0.000390392, -0.0598621, 0.998207, 5.59958e-08, 0.416929, 4.28408e-08)
|
||||
bones/9/enabled = true
|
||||
bones/9/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08)
|
||||
bones/9/rotation = Quaternion(-0.0279196, 0.00707433, -0.0210497, 0.999363)
|
||||
bones/9/rotation = Quaternion(-0.0253005, 0.0151036, -0.0177805, 0.999408)
|
||||
bones/9/scale = Vector3(1, 1, 1)
|
||||
bones/10/name = "Bone.010"
|
||||
bones/10/parent = 9
|
||||
bones/10/rest = Transform3D(0.999465, -0.0299664, -0.0130889, 0.0321758, 0.972617, 0.230175, 0.00583295, -0.230473, 0.973061, 2.34169e-07, 0.347821, 2.51457e-07)
|
||||
bones/10/enabled = true
|
||||
bones/10/position = Vector3(2.34169e-07, 0.347821, 2.51457e-07)
|
||||
bones/10/rotation = Quaternion(-0.10002, -0.00412201, 0.0106043, 0.99492)
|
||||
bones/10/rotation = Quaternion(-0.0791503, -0.0032824, 0.0040158, 0.996849)
|
||||
bones/10/scale = Vector3(1, 1, 1)
|
||||
bones/11/name = "Bone.011"
|
||||
bones/11/parent = 10
|
||||
bones/11/rest = Transform3D(0.999927, -0.00348307, -0.0115382, 0.00625005, 0.968404, 0.249308, 0.0103053, -0.249362, 0.968356, -4.47035e-07, 0.236611, -1.2666e-07)
|
||||
bones/11/enabled = true
|
||||
bones/11/position = Vector3(-4.47035e-07, 0.236611, -1.2666e-07)
|
||||
bones/11/rotation = Quaternion(-0.124472, -0.0019178, 0.00503538, 0.992208)
|
||||
bones/11/rotation = Quaternion(-0.122914, 0.00274944, 0.00839576, 0.992378)
|
||||
bones/11/scale = Vector3(1, 1, 1)
|
||||
bones/12/name = "Bone.012"
|
||||
bones/12/parent = 11
|
||||
bones/12/rest = Transform3D(0.997952, 0.0219325, -0.0600964, -0.0135852, 0.990624, 0.13594, 0.0625145, -0.134845, 0.988893, -2.6077e-08, 0.172989, -8.9407e-08)
|
||||
bones/12/enabled = true
|
||||
bones/12/position = Vector3(-2.6077e-08, 0.172989, -8.9407e-08)
|
||||
bones/12/rotation = Quaternion(-0.0796264, -0.0345836, -0.00823533, 0.996191)
|
||||
bones/12/rotation = Quaternion(-0.0949057, -0.0395853, -0.00736128, 0.994672)
|
||||
bones/12/scale = Vector3(1, 1, 1)
|
||||
bones/13/name = "Bone.013"
|
||||
bones/13/parent = 1
|
||||
bones/13/rest = Transform3D(0.924678, -0.380194, -0.020553, 0.380732, 0.922777, 0.0593802, -0.00361024, -0.0627328, 0.998024, 5.59958e-08, 0.416929, 4.28408e-08)
|
||||
bones/13/enabled = true
|
||||
bones/13/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08)
|
||||
bones/13/rotation = Quaternion(-0.116277, -0.0514328, 0.177919, 0.975797)
|
||||
bones/13/rotation = Quaternion(-0.101938, -0.0434897, 0.180767, 0.977262)
|
||||
bones/13/scale = Vector3(1, 1, 1)
|
||||
bones/14/name = "Bone.014"
|
||||
bones/14/parent = 13
|
||||
bones/14/rest = Transform3D(0.961502, 0.268956, 0.0563545, -0.274783, 0.938957, 0.207014, 0.00276324, -0.21453, 0.976713, -5.96046e-08, 0.369994, -1.19209e-07)
|
||||
bones/14/enabled = true
|
||||
bones/14/position = Vector3(-5.96046e-08, 0.369994, -1.19209e-07)
|
||||
bones/14/rotation = Quaternion(-0.0848285, 0.0323395, -0.145509, 0.985183)
|
||||
bones/14/rotation = Quaternion(-0.0555702, 0.0568686, -0.155068, 0.984699)
|
||||
bones/14/scale = Vector3(1, 1, 1)
|
||||
bones/15/name = "Bone.015"
|
||||
bones/15/parent = 14
|
||||
bones/15/rest = Transform3D(0.991898, -0.123696, -0.0289435, 0.124233, 0.89688, 0.424467, -0.0265461, -0.424624, 0.904981, 3.35276e-07, 0.248162, 2.98023e-08)
|
||||
bones/15/enabled = true
|
||||
bones/15/position = Vector3(3.35276e-07, 0.248162, 2.98023e-08)
|
||||
bones/15/rotation = Quaternion(-0.225803, -0.0229835, 0.0582279, 0.972159)
|
||||
bones/15/rotation = Quaternion(-0.235835, -0.0521692, 0.0511032, 0.969045)
|
||||
bones/15/scale = Vector3(1, 1, 1)
|
||||
bones/16/name = "Bone.016"
|
||||
bones/16/parent = 15
|
||||
bones/16/rest = Transform3D(0.985405, 0.151269, 0.0780704, -0.133169, 0.970709, -0.199973, -0.106033, 0.186658, 0.976686, 2.5332e-07, 0.160425, 2.38419e-07)
|
||||
bones/16/enabled = true
|
||||
bones/16/position = Vector3(2.5332e-07, 0.160425, 2.38419e-07)
|
||||
bones/16/rotation = Quaternion(0.052825, 0.0350712, -0.0718641, 0.995397)
|
||||
bones/16/rotation = Quaternion(-0.00650619, 0.0199245, -0.0718257, 0.997197)
|
||||
bones/16/scale = Vector3(1, 1, 1)
|
||||
bones/17/name = "Bone.017"
|
||||
bones/17/parent = 1
|
||||
bones/17/rest = Transform3D(0.731155, -0.681922, -0.0198728, 0.682036, 0.729995, 0.0439838, -0.0154864, -0.0457129, 0.998835, 5.59958e-08, 0.416929, 4.28408e-08)
|
||||
bones/17/enabled = true
|
||||
bones/17/position = Vector3(5.59958e-08, 0.416929, 4.28408e-08)
|
||||
bones/17/rotation = Quaternion(-0.0260753, -0.0222024, 0.365352, 0.930239)
|
||||
bones/17/rotation = Quaternion(-0.0286277, -0.0496881, 0.363426, 0.929857)
|
||||
bones/17/scale = Vector3(1, 1, 1)
|
||||
bones/18/name = "Bone.018"
|
||||
bones/18/parent = 17
|
||||
bones/18/rest = Transform3D(0.857941, 0.502855, 0.105234, -0.513706, 0.842315, 0.163131, -0.00660895, -0.194016, 0.980976, 3.20375e-07, 0.400228, 5.21541e-08)
|
||||
bones/18/enabled = true
|
||||
bones/18/position = Vector3(3.20375e-07, 0.400228, 5.21541e-08)
|
||||
bones/18/rotation = Quaternion(-0.0866441, 0.060767, -0.258998, 0.960063)
|
||||
bones/18/rotation = Quaternion(-0.078067, 0.102163, -0.25081, 0.95946)
|
||||
bones/18/scale = Vector3(1, 1, 1)
|
||||
bones/19/name = "Bone.019"
|
||||
bones/19/parent = 18
|
||||
bones/19/rest = Transform3D(0.998612, 0.039922, -0.0343595, -0.0384998, 0.998413, 0.041105, 0.035946, -0.0397251, 0.998564, -1.11759e-08, 0.196711, 2.08616e-07)
|
||||
bones/19/enabled = true
|
||||
bones/19/position = Vector3(-1.11759e-08, 0.196711, 2.08616e-07)
|
||||
bones/19/rotation = Quaternion(-0.0191526, -0.0295748, -0.02333, 0.999107)
|
||||
bones/19/rotation = Quaternion(-0.0177574, -0.0452057, -0.0281685, 0.998423)
|
||||
bones/19/scale = Vector3(1, 1, 1)
|
||||
bones/20/name = "Bone.020"
|
||||
bones/20/parent = 19
|
||||
bones/20/rest = Transform3D(0.986971, -0.159729, -0.0193674, 0.158629, 0.945818, 0.283312, -0.0269352, -0.282693, 0.958832, -2.01166e-07, 0.127215, 4.47035e-08)
|
||||
bones/20/enabled = true
|
||||
bones/20/position = Vector3(-2.01166e-07, 0.127215, 4.47035e-08)
|
||||
bones/20/rotation = Quaternion(-0.153167, -0.0075734, 0.0791432, 0.984997)
|
||||
bones/20/rotation = Quaternion(-0.165766, -0.01993, 0.0771067, 0.982944)
|
||||
bones/20/scale = Vector3(1, 1, 1)
|
||||
bones/21/name = "Bone.021"
|
||||
bones/21/parent = -1
|
||||
bones/21/rest = Transform3D(0.769842, -0.636234, 0.0505047, 0.097048, 0.038481, -0.994536, 0.630814, 0.770536, 0.0913695, 3.03019, -0.0704427, -3.30826)
|
||||
bones/21/enabled = true
|
||||
bones/21/position = Vector3(2.70805, 0.0321641, -3.41549)
|
||||
bones/21/rotation = Quaternion(0.751096, 0.0858709, 0.285687, 0.588951)
|
||||
bones/21/position = Vector3(2.72091, 0.045606, -3.40734)
|
||||
bones/21/rotation = Quaternion(0.754269, 0.0780863, 0.289028, 0.584331)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="CHEST_002" type="MeshInstance3D" parent="Pivot/ARM7/7_ L AGNI CONE ARM/Skeleton3D"]
|
||||
@@ -761,7 +768,7 @@ mesh = SubResource("ArrayMesh_x24rv")
|
||||
skin = SubResource("Skin_pqs8c")
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Pivot/ARM7/7_ L AGNI CONE ARM/Skeleton3D"]
|
||||
transform = Transform3D(-0.867307, -0.426281, 0.257027, 0.357948, -0.175284, 0.917142, -0.345908, 0.887446, 0.304611, 0.867071, -0.92676, -0.326641)
|
||||
transform = Transform3D(-0.860007, -0.446772, 0.246541, 0.32404, -0.104924, 0.940207, -0.39419, 0.888474, 0.235008, 0.893633, -0.645424, -0.238215)
|
||||
bone_name = "Bone.001"
|
||||
bone_idx = 1
|
||||
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
[gd_scene load_steps=20 format=4 uid="uid://25ignmox5j8o"]
|
||||
[gd_scene load_steps=22 format=4 uid="uid://25ignmox5j8o"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_5tnjc"]
|
||||
[ext_resource type="Texture2D" uid="uid://dsnuk0k83wrna" path="res://src/enemy/enemy_types/16. demon wall/model/ARM8_AREA_2_MAIN_222STONE.png" id="2_8jyke"]
|
||||
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_yary7"]
|
||||
[ext_resource type="Texture2D" uid="uid://dkh83g7ce40i7" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_ao_1k.jpg" id="3_udgo6"]
|
||||
[ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_yary7"]
|
||||
[ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_cglns"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_yary7"]
|
||||
script = ExtResource("2_yary7")
|
||||
Damage = 10
|
||||
ElementType = 0
|
||||
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_iye06"]
|
||||
resource_name = "STONE"
|
||||
cull_mode = 2
|
||||
@@ -515,6 +522,7 @@ transitions = ["attack", "idle", SubResource("AnimationNodeStateMachineTransitio
|
||||
|
||||
[node name="Arm8" type="Node3D"]
|
||||
script = ExtResource("1_5tnjc")
|
||||
AttackData = SubResource("Resource_yary7")
|
||||
|
||||
[node name="ARM8" type="Node3D" parent="."]
|
||||
|
||||
@@ -526,15 +534,15 @@ bones/0/name = "Bone"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(-0.0590079, 0.671656, -0.73851, -0.998184, -0.0307105, 0.0518258, 0.0121291, 0.740227, 0.672248, -1.70411, 0.133377, -1.7164)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(-2.78023, 0.452504, -1.20746)
|
||||
bones/0/rotation = Quaternion(0.0895743, -0.443005, -0.715414, 0.532828)
|
||||
bones/0/position = Vector3(-2.86512, 0.708377, -1.20181)
|
||||
bones/0/rotation = Quaternion(0.00582242, -0.587142, -0.714277, 0.38084)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "Bone.001"
|
||||
bones/1/parent = 0
|
||||
bones/1/rest = Transform3D(0.997342, 0.0728404, -0.00158078, -0.0727175, 0.996536, 0.0403564, 0.00451488, -0.0401342, 0.999184, -2.90573e-07, 1.85949, 2.08616e-07)
|
||||
bones/1/enabled = true
|
||||
bones/1/position = Vector3(-2.90573e-07, 1.85949, 2.08616e-07)
|
||||
bones/1/rotation = Quaternion(-0.211659, 0.0254751, 0.0858656, 0.973231)
|
||||
bones/1/rotation = Quaternion(-0.10035, 0.0153046, 0.19328, 0.975878)
|
||||
bones/1/scale = Vector3(1, 1, 1)
|
||||
bones/2/name = "Bone.002"
|
||||
bones/2/parent = 1
|
||||
@@ -673,8 +681,8 @@ bones/21/name = "Bone.021"
|
||||
bones/21/parent = -1
|
||||
bones/21/rest = Transform3D(0.761771, 0.635827, -0.12422, -0.154809, -0.00753331, -0.987916, -0.629079, 0.771795, 0.0926929, -3.0206, 0.148976, -3.31442)
|
||||
bones/21/enabled = true
|
||||
bones/21/position = Vector3(-3.0806, 0.733435, -3.27408)
|
||||
bones/21/rotation = Quaternion(0.627963, -0.256163, -0.403644, 0.614097)
|
||||
bones/21/position = Vector3(-2.9957, 0.477562, -3.27973)
|
||||
bones/21/rotation = Quaternion(0.525009, -0.401446, -0.408207, 0.629741)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="CHEST_007" type="MeshInstance3D" parent="ARM8/8_ L MELEE ARM/Skeleton3D"]
|
||||
@@ -682,7 +690,7 @@ mesh = SubResource("ArrayMesh_3e72b")
|
||||
skin = SubResource("Skin_v7bct")
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM8/8_ L MELEE ARM/Skeleton3D"]
|
||||
transform = Transform3D(-0.566511, -0.616385, 0.546932, -0.773979, 0.170159, -0.60992, 0.28288, -0.76884, -0.573466, -0.802242, 0.116063, -0.0862304)
|
||||
transform = Transform3D(-0.700552, -0.461924, 0.543924, -0.522774, -0.186616, -0.831794, 0.485731, -0.867064, -0.110747, -1.1713, 0.297161, 0.42271)
|
||||
bone_name = "Bone.012"
|
||||
bone_idx = 12
|
||||
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
[gd_scene load_steps=155 format=4 uid="uid://dppws3muepn0l"]
|
||||
[gd_scene load_steps=157 format=4 uid="uid://dppws3muepn0l"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_fjfqv"]
|
||||
[ext_resource type="Texture2D" uid="uid://c1jl757qlt28e" path="res://src/enemy/enemy_types/16. demon wall/model/ARM9_AREA_2_MAIN_222STONE.png" id="2_bbf6x"]
|
||||
[ext_resource type="Texture2D" uid="uid://b7kb4avagq566" path="res://src/vfx/Enemy/demon_wall_status_inflicter.png" id="2_fk886"]
|
||||
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_jltgb"]
|
||||
[ext_resource type="Texture2D" uid="uid://dkh83g7ce40i7" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_ao_1k.jpg" id="3_ydud8"]
|
||||
[ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_fk886"]
|
||||
[ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_jltgb"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_jltgb"]
|
||||
script = ExtResource("2_jltgb")
|
||||
Damage = 10
|
||||
ElementType = 0
|
||||
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jltgb"]
|
||||
atlas = ExtResource("2_fk886")
|
||||
region = Rect2(0, 0, 512, 512)
|
||||
@@ -1502,6 +1509,7 @@ transitions = ["Start", "idle", SubResource("AnimationNodeStateMachineTransition
|
||||
|
||||
[node name="Arm9" type="Node3D"]
|
||||
script = ExtResource("1_fjfqv")
|
||||
AttackData = SubResource("Resource_jltgb")
|
||||
|
||||
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.0684, 8.17799, 10.6701)
|
||||
@@ -1525,141 +1533,141 @@ bones/0/name = "Bone"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(0.664239, -0.5079, 0.548475, 0.747327, 0.467912, -0.471764, -0.0170288, 0.723254, 0.690372, 1.32537, -1.1447, -1.67359)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(1.44441, -1.07471, -1.44808)
|
||||
bones/0/rotation = Quaternion(0.0761007, 0.580784, 0.656085, 0.475868)
|
||||
bones/0/position = Vector3(1.44496, -1.07463, -1.44783)
|
||||
bones/0/rotation = Quaternion(0.0755964, 0.581819, 0.655697, 0.47522)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "Bone.001"
|
||||
bones/1/parent = 0
|
||||
bones/1/rest = Transform3D(0.997342, -0.0728411, -0.00159727, 0.0728464, 0.996536, 0.0401251, -0.00133102, -0.0401348, 0.999193, 4.76837e-07, 1.85949, -3.57628e-07)
|
||||
bones/1/enabled = true
|
||||
bones/1/position = Vector3(4.76837e-07, 1.85949, -3.57628e-07)
|
||||
bones/1/rotation = Quaternion(-0.0295522, -0.00909152, 0.0390719, 0.998758)
|
||||
bones/1/rotation = Quaternion(-0.030313, -0.0098167, 0.039282, 0.99872)
|
||||
bones/1/scale = Vector3(1, 1, 1)
|
||||
bones/2/name = "Bone.002"
|
||||
bones/2/parent = 1
|
||||
bones/2/rest = Transform3D(0.175377, 0.963955, 0.200084, -0.983796, 0.179283, -0.00142535, -0.0372456, -0.196592, 0.979778, 2.38419e-07, 0.416929, 0)
|
||||
bones/2/enabled = true
|
||||
bones/2/position = Vector3(2.38419e-07, 0.416929, 0)
|
||||
bones/2/rotation = Quaternion(-0.0719204, 0.0813511, -0.638381, 0.762023)
|
||||
bones/2/rotation = Quaternion(-0.0725664, 0.0816466, -0.638457, 0.761867)
|
||||
bones/2/scale = Vector3(1, 1, 1)
|
||||
bones/3/name = "Bone.003"
|
||||
bones/3/parent = 2
|
||||
bones/3/rest = Transform3D(0.795965, -0.570793, -0.20158, 0.584249, 0.811523, 0.00907775, 0.158406, -0.124999, 0.97943, -3.57628e-07, 0.298125, 2.98023e-07)
|
||||
bones/3/enabled = true
|
||||
bones/3/position = Vector3(-3.57628e-07, 0.298125, 2.98023e-07)
|
||||
bones/3/rotation = Quaternion(-0.0343943, -0.0947545, 0.308816, 0.945765)
|
||||
bones/3/rotation = Quaternion(-0.0343208, -0.0947338, 0.3091, 0.945677)
|
||||
bones/3/scale = Vector3(1, 1, 1)
|
||||
bones/4/name = "Bone.004"
|
||||
bones/4/parent = 3
|
||||
bones/4/rest = Transform3D(0.989609, -0.143491, 0.00920793, 0.143738, 0.98559, -0.0891698, 0.00371984, 0.0895667, 0.995974, -1.19209e-07, 0.217615, 0)
|
||||
bones/4/enabled = true
|
||||
bones/4/position = Vector3(-1.19209e-07, 0.217615, 0)
|
||||
bones/4/rotation = Quaternion(0.0492356, 0.00166527, 0.0777992, 0.995751)
|
||||
bones/4/rotation = Quaternion(0.0495876, 0.00168838, 0.0782588, 0.995698)
|
||||
bones/4/scale = Vector3(1, 1, 1)
|
||||
bones/5/name = "Bone.005"
|
||||
bones/5/parent = 1
|
||||
bones/5/rest = Transform3D(0.891187, 0.451267, 0.0463142, -0.453483, 0.888891, 0.0650071, -0.0118327, -0.0789361, 0.99681, 2.38419e-07, 0.416929, 0)
|
||||
bones/5/enabled = true
|
||||
bones/5/position = Vector3(2.38419e-07, 0.416929, 0)
|
||||
bones/5/rotation = Quaternion(-0.0403386, 0.0153167, -0.231738, 0.971821)
|
||||
bones/5/rotation = Quaternion(-0.0405886, 0.0153437, -0.231659, 0.971829)
|
||||
bones/5/scale = Vector3(1, 1, 1)
|
||||
bones/6/name = "Bone.006"
|
||||
bones/6/parent = 5
|
||||
bones/6/rest = Transform3D(0.945561, -0.313247, -0.0882632, 0.323946, 0.931929, 0.162995, 0.0311974, -0.182714, 0.982671, 2.38419e-07, 0.366571, 2.38419e-07)
|
||||
bones/6/enabled = true
|
||||
bones/6/position = Vector3(2.38419e-07, 0.366571, 2.38419e-07)
|
||||
bones/6/rotation = Quaternion(-0.0950728, -0.0313817, 0.162122, 0.981679)
|
||||
bones/6/rotation = Quaternion(-0.0956416, -0.0314602, 0.162119, 0.981621)
|
||||
bones/6/scale = Vector3(1, 1, 1)
|
||||
bones/7/name = "Bone.007"
|
||||
bones/7/parent = 6
|
||||
bones/7/rest = Transform3D(0.999951, -0.00959863, -0.00243464, 0.00990257, 0.968864, 0.247396, -1.58236e-05, -0.247408, 0.968911, -3.57628e-07, 0.229155, -4.76837e-07)
|
||||
bones/7/enabled = true
|
||||
bones/7/position = Vector3(-3.57628e-07, 0.229155, -4.76837e-07)
|
||||
bones/7/rotation = Quaternion(-0.132188, 0.000839738, 0.00616819, 0.991205)
|
||||
bones/7/rotation = Quaternion(-0.13279, 0.000955992, 0.0062688, 0.991124)
|
||||
bones/7/scale = Vector3(1, 1, 1)
|
||||
bones/8/name = "Bone.008"
|
||||
bones/8/parent = 7
|
||||
bones/8/rest = Transform3D(0.996094, -0.0359844, -0.080632, 0.0483362, 0.986431, 0.156901, 0.0738919, -0.160186, 0.984317, -1.19209e-07, 0.142665, 5.96046e-08)
|
||||
bones/8/enabled = true
|
||||
bones/8/position = Vector3(-1.19209e-07, 0.142665, 5.96046e-08)
|
||||
bones/8/rotation = Quaternion(-0.0890698, -0.0370641, 0.0234891, 0.995058)
|
||||
bones/8/rotation = Quaternion(-0.0898294, -0.0369252, 0.0236753, 0.994991)
|
||||
bones/8/scale = Vector3(1, 1, 1)
|
||||
bones/9/name = "Bone.009"
|
||||
bones/9/parent = 1
|
||||
bones/9/rest = Transform3D(0.998888, 0.0470345, 0.00320965, -0.0471423, 0.997098, 0.0597765, -0.000388783, -0.0598614, 0.998207, 2.38419e-07, 0.416929, 0)
|
||||
bones/9/enabled = true
|
||||
bones/9/position = Vector3(2.38419e-07, 0.416929, 0)
|
||||
bones/9/rotation = Quaternion(-0.0358375, 0.00272252, -0.0229573, 0.99909)
|
||||
bones/9/rotation = Quaternion(-0.0363111, 0.00286866, -0.0229088, 0.999074)
|
||||
bones/9/scale = Vector3(1, 1, 1)
|
||||
bones/10/name = "Bone.010"
|
||||
bones/10/parent = 9
|
||||
bones/10/rest = Transform3D(0.999465, -0.0299688, -0.013087, 0.0321776, 0.972617, 0.230175, 0.00583061, -0.230473, 0.973061, 1.19209e-07, 0.347821, -4.76837e-07)
|
||||
bones/10/enabled = true
|
||||
bones/10/position = Vector3(1.19209e-07, 0.347821, -4.76837e-07)
|
||||
bones/10/rotation = Quaternion(-0.122209, -0.00642284, 0.01608, 0.992353)
|
||||
bones/10/rotation = Quaternion(-0.12271, -0.006556, 0.016115, 0.99229)
|
||||
bones/10/scale = Vector3(1, 1, 1)
|
||||
bones/11/name = "Bone.011"
|
||||
bones/11/parent = 10
|
||||
bones/11/rest = Transform3D(0.999927, -0.00347542, -0.0115401, 0.00624306, 0.968405, 0.249306, 0.010309, -0.24936, 0.968356, -1.19209e-07, 0.23661, -3.57628e-07)
|
||||
bones/11/enabled = true
|
||||
bones/11/position = Vector3(-1.19209e-07, 0.23661, -3.57628e-07)
|
||||
bones/11/rotation = Quaternion(-0.132223, -0.00380595, 0.00393668, 0.991205)
|
||||
bones/11/rotation = Quaternion(-0.132749, -0.0036696, 0.00405599, 0.991135)
|
||||
bones/11/scale = Vector3(1, 1, 1)
|
||||
bones/12/name = "Bone.012"
|
||||
bones/12/parent = 11
|
||||
bones/12/rest = Transform3D(0.997952, 0.0219231, -0.0600952, -0.0135757, 0.990623, 0.135945, 0.062512, -0.13485, 0.988892, -7.15256e-07, 0.172989, -3.57628e-07)
|
||||
bones/12/enabled = true
|
||||
bones/12/position = Vector3(-7.15256e-07, 0.172989, -3.57628e-07)
|
||||
bones/12/rotation = Quaternion(-0.0737158, -0.0295527, -0.00709329, 0.996816)
|
||||
bones/12/rotation = Quaternion(-0.0741829, -0.0294577, -0.00694839, 0.996785)
|
||||
bones/12/scale = Vector3(1, 1, 1)
|
||||
bones/13/name = "Bone.013"
|
||||
bones/13/parent = 1
|
||||
bones/13/rest = Transform3D(0.924677, -0.380196, -0.0205531, 0.380734, 0.922776, 0.0593795, -0.00360998, -0.0627321, 0.998024, 2.38419e-07, 0.416929, 0)
|
||||
bones/13/enabled = true
|
||||
bones/13/position = Vector3(2.38419e-07, 0.416929, 0)
|
||||
bones/13/rotation = Quaternion(-0.0333686, -0.0036831, 0.194081, 0.980411)
|
||||
bones/13/rotation = Quaternion(-0.0335347, -0.00363574, 0.194085, 0.980405)
|
||||
bones/13/scale = Vector3(1, 1, 1)
|
||||
bones/14/name = "Bone.014"
|
||||
bones/14/parent = 13
|
||||
bones/14/rest = Transform3D(0.961502, 0.268959, 0.0563536, -0.274785, 0.938956, 0.207013, 0.00276419, -0.214528, 0.976714, -4.76837e-07, 0.369994, 1.19209e-07)
|
||||
bones/14/enabled = true
|
||||
bones/14/position = Vector3(-4.76837e-07, 0.369994, 1.19209e-07)
|
||||
bones/14/rotation = Quaternion(-0.109453, 0.0144274, -0.137861, 0.98428)
|
||||
bones/14/rotation = Quaternion(-0.109642, 0.0144914, -0.137844, 0.98426)
|
||||
bones/14/scale = Vector3(1, 1, 1)
|
||||
bones/15/name = "Bone.015"
|
||||
bones/15/parent = 14
|
||||
bones/15/rest = Transform3D(0.991898, -0.123694, -0.0289441, 0.12423, 0.896878, 0.424473, -0.0265452, -0.42463, 0.904978, 4.17233e-07, 0.248162, 0)
|
||||
bones/15/enabled = true
|
||||
bones/15/position = Vector3(4.17233e-07, 0.248162, 0)
|
||||
bones/15/rotation = Quaternion(-0.2229, 0.000510598, 0.064302, 0.972718)
|
||||
bones/15/rotation = Quaternion(-0.223261, 0.000593095, 0.0643502, 0.972632)
|
||||
bones/15/scale = Vector3(1, 1, 1)
|
||||
bones/16/name = "Bone.016"
|
||||
bones/16/parent = 15
|
||||
bones/16/rest = Transform3D(0.985406, 0.151262, 0.0780701, -0.133163, 0.970709, -0.199978, -0.106032, 0.186663, 0.976685, -8.9407e-08, 0.160424, -8.34465e-07)
|
||||
bones/16/enabled = true
|
||||
bones/16/position = Vector3(-8.9407e-08, 0.160424, -8.34465e-07)
|
||||
bones/16/rotation = Quaternion(0.0952832, 0.046847, -0.0714507, 0.991777)
|
||||
bones/16/rotation = Quaternion(0.0951067, 0.0468815, -0.0714298, 0.991794)
|
||||
bones/16/scale = Vector3(1, 1, 1)
|
||||
bones/17/name = "Bone.017"
|
||||
bones/17/parent = 1
|
||||
bones/17/rest = Transform3D(0.731154, -0.681923, -0.0198735, 0.682037, 0.729994, 0.0439834, -0.0154858, -0.0457131, 0.998835, 2.38419e-07, 0.416929, 0)
|
||||
bones/17/enabled = true
|
||||
bones/17/position = Vector3(2.38419e-07, 0.416929, 0)
|
||||
bones/17/rotation = Quaternion(-0.0273007, 0.000857824, 0.367859, 0.929481)
|
||||
bones/17/rotation = Quaternion(-0.0275485, 0.0010161, 0.367954, 0.929435)
|
||||
bones/17/scale = Vector3(1, 1, 1)
|
||||
bones/18/name = "Bone.018"
|
||||
bones/18/parent = 17
|
||||
bones/18/rest = Transform3D(0.857942, 0.502854, 0.105233, -0.513705, 0.842316, 0.163129, -0.00660948, -0.194014, 0.980976, -5.96046e-07, 0.400228, -7.15256e-07)
|
||||
bones/18/enabled = true
|
||||
bones/18/position = Vector3(-5.96046e-07, 0.400228, -7.15256e-07)
|
||||
bones/18/rotation = Quaternion(-0.0960279, 0.0306086, -0.264964, 0.958977)
|
||||
bones/18/rotation = Quaternion(-0.0963091, 0.0307478, -0.264968, 0.958943)
|
||||
bones/18/scale = Vector3(1, 1, 1)
|
||||
bones/19/name = "Bone.019"
|
||||
bones/19/parent = 18
|
||||
bones/19/rest = Transform3D(0.998612, 0.039929, -0.0343581, -0.0385066, 0.998412, 0.0411099, 0.035945, -0.0397298, 0.998564, 2.08616e-07, 0.196712, -2.38419e-07)
|
||||
bones/19/enabled = true
|
||||
bones/19/position = Vector3(2.08616e-07, 0.196712, -2.38419e-07)
|
||||
bones/19/rotation = Quaternion(-0.0243731, -0.0180625, -0.0204339, 0.999331)
|
||||
bones/19/rotation = Quaternion(-0.0246978, -0.0180998, -0.0204976, 0.999321)
|
||||
bones/19/scale = Vector3(1, 1, 1)
|
||||
bones/20/name = "Bone.020"
|
||||
bones/20/parent = 19
|
||||
@@ -1672,8 +1680,8 @@ bones/21/name = "Bone.021"
|
||||
bones/21/parent = -1
|
||||
bones/21/rest = Transform3D(0.638395, -0.466665, -0.612108, -0.416251, 0.459614, -0.784532, 0.647446, 0.755632, 0.0991659, 2.29161, -2.09633, -3.23813)
|
||||
bones/21/enabled = true
|
||||
bones/21/position = Vector3(2.51503, -1.40955, -3.18659)
|
||||
bones/21/rotation = Quaternion(0.497122, 0.108774, 0.414594, 0.75442)
|
||||
bones/21/position = Vector3(2.51448, -1.40963, -3.18684)
|
||||
bones/21/rotation = Quaternion(0.497287, 0.108962, 0.414333, 0.754428)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="CHEST" type="MeshInstance3D" parent="ARM9/9_ L MAGIC 3 ARM/Skeleton3D"]
|
||||
@@ -1681,7 +1689,7 @@ mesh = SubResource("ArrayMesh_auq5d")
|
||||
skin = SubResource("Skin_h0kek")
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM9/9_ L MAGIC 3 ARM/Skeleton3D"]
|
||||
transform = Transform3D(-0.700074, -0.690981, 0.180118, 0.68537, -0.579414, 0.441077, -0.200413, 0.432234, 0.879209, -0.0462436, -0.993866, 0.974356)
|
||||
transform = Transform3D(-0.70091, -0.6905, 0.178704, 0.684437, -0.580648, 0.440901, -0.200678, 0.431343, 0.879586, -0.0440634, -0.991943, 0.975215)
|
||||
bone_name = "Bone.015"
|
||||
bone_idx = 15
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ using Zennysoft.Ma.Adapter;
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
[Meta(typeof(IAutoNode))]
|
||||
public partial class DemonWallArm : Node3D
|
||||
public partial class DemonWallArm : EnemyModelView
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
@@ -19,27 +19,20 @@ public partial class DemonWallArm : Node3D
|
||||
|
||||
[Dependency] protected IPlayer _player => this.DependOn(() => GetParent().GetChildren().OfType<IPlayer>().Single());
|
||||
|
||||
[Node] public AnimationTree AnimationTree { get; set; } = default!;
|
||||
|
||||
[Node] public Area3D Hitbox { get; set; } = default!;
|
||||
|
||||
[Export] public double Damage { get; set; } = 15;
|
||||
|
||||
[Export] public ElementType PrimaryAttackElementalType { get; set; } = ElementType.None;
|
||||
|
||||
[Export] public double PrimaryAttackElementalDamageBonus { get; set; } = 1.0f;
|
||||
|
||||
public void PrimaryAttack() => AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(ATTACK);
|
||||
|
||||
public void OnReady()
|
||||
public new void OnReady()
|
||||
{
|
||||
Hitbox.AreaEntered += Hitbox_AreaEntered;
|
||||
base.OnReady();
|
||||
}
|
||||
|
||||
private void Hitbox_AreaEntered(Area3D area)
|
||||
{
|
||||
var target = area.GetOwner();
|
||||
if (target is IPlayer player)
|
||||
player.TakeDamage(new Damage((int)(Damage * PrimaryAttackElementalDamageBonus), PrimaryAttackElementalType, false, false, false));
|
||||
OnPlayerHit(new AttackEventArgs(new AttackData(AttackData.Damage, AttackData.ElementType)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,16 @@ public partial class DemonWallModelView : EnemyModelView3D, IEnemyModelView
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
private readonly string ATTACK1 = "ARM 1 PROJECTILE";
|
||||
private readonly string ATTACK2 = "ARM 2 LASER";
|
||||
private readonly string ATTACK3 = "ARM 3 WALL CALL";
|
||||
private readonly string ATTACK4 = "ARM 4 SHOCK";
|
||||
private readonly string ATTACK5 = "5_ _ R MELEE SLAM";
|
||||
private readonly string ATTACK6 = "ARM 6 SLASH";
|
||||
private readonly string ATTACK7 = "7_ AGNI CONE";
|
||||
private readonly string ATTACK8 = "ARM 8 MELEE";
|
||||
private readonly string ATTACK9 = "ARM 9 MAGIC SPELL";
|
||||
|
||||
[Dependency] protected IPlayer _player => this.DependOn(() => GetParent().GetChildren().OfType<IPlayer>().Single());
|
||||
|
||||
[Node] public Node3D LeftArms { get; set; } = default!;
|
||||
@@ -24,6 +34,14 @@ public partial class DemonWallModelView : EnemyModelView3D, IEnemyModelView
|
||||
|
||||
[Node] private AnimatableBody3D _opposingWall { get; set; } = default!;
|
||||
|
||||
[Node] public DemonWallArm Arm1 { get; set; } = default!;
|
||||
|
||||
[Node] public DemonWallArm Arm2 { get; set; } = default!;
|
||||
|
||||
[Node] public DemonWallArm Arm3 { get; set; } = default!;
|
||||
|
||||
[Node] public DemonWallArm Arm7 { get; set; } = default!;
|
||||
|
||||
public override void PlayActivateAnimation()
|
||||
{
|
||||
_opposingWall.Show();
|
||||
@@ -34,7 +52,6 @@ public partial class DemonWallModelView : EnemyModelView3D, IEnemyModelView
|
||||
|
||||
public void OnPhysicsProcess(double delta)
|
||||
{
|
||||
var direction = GlobalPosition.DirectionTo(_player.CurrentPosition).Normalized();
|
||||
var rotationAngle = GetRotationAngle(_rotation);
|
||||
RotateToPlayer(Eye, rotationAngle, 1f);
|
||||
}
|
||||
@@ -59,22 +76,30 @@ public partial class DemonWallModelView : EnemyModelView3D, IEnemyModelView
|
||||
leftArm.PrimaryAttack();
|
||||
rightArm.PrimaryAttack();
|
||||
|
||||
var arm1 = GetNode<DemonWallArm>("%Arm1");
|
||||
var arm2 = GetNode<DemonWallArm>("%Arm2");
|
||||
var arm7 = GetNode<DemonWallArm>("%Arm2");
|
||||
if (leftArm == Arm1)
|
||||
{
|
||||
var anim = Arm1.AnimationTree.GetAnimation(ATTACK1);
|
||||
await AimAtPlayer(Arm1, anim.Length);
|
||||
}
|
||||
if (leftArm == Arm2)
|
||||
{
|
||||
var anim = Arm2.AnimationTree.GetAnimation(ATTACK2);
|
||||
await AimAtPlayer(Arm2, anim.Length);
|
||||
}
|
||||
|
||||
if (leftArm == arm1)
|
||||
await AimAtPlayer(arm1, 2.1);
|
||||
if (leftArm == arm2)
|
||||
await AimAtPlayer(arm2, 1.5);
|
||||
if (leftArm == GetNode<DemonWallArm>("%Arm3") && _opposingWall.Position.Z > -maximumWallMoveAmount)
|
||||
if (leftArm == Arm3 && _opposingWall.Position.Z > -maximumWallMoveAmount)
|
||||
MoveWall();
|
||||
if (rightArm == arm7)
|
||||
await AimAtPlayer(arm7, 2.5);
|
||||
|
||||
if (rightArm == Arm7)
|
||||
{
|
||||
var anim = Arm7.AnimationTree.GetAnimation(ATTACK7);
|
||||
await AimAtPlayer(Arm7, anim.Length);
|
||||
}
|
||||
}
|
||||
|
||||
private async Task AimAtPlayer(DemonWallArm arm, double animationLengthInSeconds)
|
||||
{
|
||||
var anim = new Animation();
|
||||
var rotationAngle = GetRotationAngle(arm.GetNode<Node3D>("%Rotation"));
|
||||
RotateToPlayer(arm.GetNode<Node3D>("%Pivot"), rotationAngle, 0.3f);
|
||||
await ToSignal(GetTree().CreateTimer(animationLengthInSeconds), "timeout");
|
||||
@@ -95,11 +120,11 @@ public partial class DemonWallModelView : EnemyModelView3D, IEnemyModelView
|
||||
|
||||
private float GetRotationAngle(Node3D rotationNode)
|
||||
{
|
||||
var target = new Vector3(_player.CurrentPosition.X, Position.Y, _player.CurrentPosition.Z);
|
||||
var target = new Vector3(_player.GlobalPosition.X, Position.Y, _player.GlobalPosition.Z);
|
||||
rotationNode.LookAt(target, Vector3.Up, true);
|
||||
rotationNode.RotateY(Rotation.Y);
|
||||
return rotationNode.Rotation.Y;
|
||||
}
|
||||
|
||||
private void RotateTowardsPlayer(Node3D rotationNode, float angle) => rotationNode.Rotation = new Vector3(rotationNode.Rotation.X, angle, rotationNode.Rotation.Z);
|
||||
private static void RotateTowardsPlayer(Node3D rotationNode, float angle) => rotationNode.Rotation = new Vector3(rotationNode.Rotation.X, angle, rotationNode.Rotation.Z);
|
||||
}
|
||||
|
||||
@@ -343,33 +343,42 @@ unique_name_in_owner = true
|
||||
|
||||
[node name="Arm1" parent="LeftArms" instance=ExtResource("1_ell80")]
|
||||
unique_name_in_owner = true
|
||||
AttackData = null
|
||||
|
||||
[node name="Arm2" parent="LeftArms" instance=ExtResource("2_kblru")]
|
||||
unique_name_in_owner = true
|
||||
AttackData = null
|
||||
|
||||
[node name="Arm3" parent="LeftArms" instance=ExtResource("3_nqxqr")]
|
||||
unique_name_in_owner = true
|
||||
AttackData = null
|
||||
|
||||
[node name="Arm4" parent="LeftArms" instance=ExtResource("4_r5yku")]
|
||||
unique_name_in_owner = true
|
||||
AttackData = null
|
||||
|
||||
[node name="Arm5" parent="LeftArms" instance=ExtResource("5_5oa7x")]
|
||||
unique_name_in_owner = true
|
||||
AttackData = null
|
||||
|
||||
[node name="RightArms" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Arm6" parent="RightArms" instance=ExtResource("6_h1yna")]
|
||||
unique_name_in_owner = true
|
||||
AttackData = null
|
||||
|
||||
[node name="Arm7" parent="RightArms" instance=ExtResource("7_6s6sq")]
|
||||
unique_name_in_owner = true
|
||||
AttackData = null
|
||||
|
||||
[node name="Arm8" parent="RightArms" instance=ExtResource("8_e82oe")]
|
||||
unique_name_in_owner = true
|
||||
AttackData = null
|
||||
|
||||
[node name="Arm9" parent="RightArms" instance=ExtResource("9_c826n")]
|
||||
unique_name_in_owner = true
|
||||
AttackData = null
|
||||
|
||||
[node name="DEMON WALL BASE + PIPES" type="Node3D" parent="."]
|
||||
|
||||
|
||||
@@ -124,7 +124,7 @@ public class EffectService
|
||||
var currentEnemies = currentRoom.EnemiesInRoom;
|
||||
foreach (var enemy in currentEnemies)
|
||||
{
|
||||
var damageDealt = DamageCalculator.CalculateDamage(new Damage(20, elementType, false, false, false), 10, new ElementalResistanceSet(0, 0, 0, 0, 0));
|
||||
var damageDealt = DamageCalculator.CalculateDamage(new AttackData(20, elementType), 10, ElementalResistanceSet.None);
|
||||
enemy.HealthComponent.Damage(damageDealt);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ using Godot;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Zennysoft.Game.Abstractions;
|
||||
using Zennysoft.Game.Implementation;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
@@ -47,11 +46,11 @@ public partial class Inventory : Node, IInventory
|
||||
public void Remove(InventoryItem inventoryItem) => Items.Remove(inventoryItem);
|
||||
|
||||
|
||||
public void Sort()
|
||||
public void Sort(EquipableItem currentWeapon, EquipableItem currentArmor, EquipableItem currentAccessory)
|
||||
{
|
||||
var equippedWeapon = Items.OfType<Weapon>().Where(x => x.IsEquipped);
|
||||
var equippedArmor = Items.OfType<Armor>().Where(x => x.IsEquipped);
|
||||
var equippedAccessory = Items.OfType<Accessory>().Where(x => x.IsEquipped);
|
||||
var equippedWeapon = Items.OfType<Weapon>().Where(x => x == currentWeapon);
|
||||
var equippedArmor = Items.OfType<Armor>().Where(x => x == currentArmor);
|
||||
var equippedAccessory = Items.OfType<Accessory>().Where(x => x == currentAccessory);
|
||||
var equippedItems = new List<InventoryItem>();
|
||||
equippedItems.AddRange(equippedWeapon);
|
||||
equippedItems.AddRange(equippedArmor);
|
||||
@@ -80,10 +79,10 @@ public partial class Inventory : Node, IInventory
|
||||
{
|
||||
public int Compare(Weapon x, Weapon y)
|
||||
{
|
||||
if (x.Damage == y.Damage)
|
||||
if (x.BonusAttack == y.BonusAttack)
|
||||
return x.ItemName.CompareTo(y.ItemName);
|
||||
|
||||
return x.Damage < y.Damage ? 1 : -1;
|
||||
return x.BonusAttack < y.BonusAttack ? 1 : -1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,10 +90,10 @@ public partial class Inventory : Node, IInventory
|
||||
{
|
||||
public int Compare(Armor x, Armor y)
|
||||
{
|
||||
if (x.Defense == y.Defense)
|
||||
if (x.BonusDefense == y.BonusDefense)
|
||||
return x.ItemName.CompareTo(y.ItemName);
|
||||
|
||||
return x.Defense < y.Defense ? 1 : -1;
|
||||
return x.BonusDefense < y.BonusDefense ? 1 : -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,22 +10,34 @@ namespace Zennysoft.Game.Ma;
|
||||
public abstract partial class InventoryItemStats : Resource
|
||||
{
|
||||
[Export]
|
||||
public abstract string Name { get; set; }
|
||||
public string Name { get; set; }
|
||||
|
||||
[Export(PropertyHint.MultilineText)]
|
||||
public abstract string Description { get; set; }
|
||||
public string Description { get; set; }
|
||||
|
||||
[Export(PropertyHint.Range, "0, 1, 0.01")]
|
||||
public float SpawnRate { get; set; } = 0.5f;
|
||||
|
||||
[Export]
|
||||
[Save("weapon_damage")]
|
||||
public int BonusAttack { get; set; } = 0;
|
||||
|
||||
[Export]
|
||||
[Save("armor_defense")]
|
||||
public int Defense { get; set; } = 0;
|
||||
|
||||
[Export]
|
||||
[Save("weapon_luck")]
|
||||
public double Luck { get; set; } = 0.05;
|
||||
|
||||
[Export(PropertyHint.Range, "0, 25, 0.1")]
|
||||
public float ThrowSpeed { get; set; } = 12.0f;
|
||||
|
||||
[Export(PropertyHint.Range, "0, 999, 1")]
|
||||
public int HealHPAmount { get; set; }
|
||||
public int IncreaseMaxHPAmount { get; set; }
|
||||
|
||||
[Export(PropertyHint.Range, "0, 999, 1")]
|
||||
public int HealVTAmount { get; set; }
|
||||
public int IncreaseMaxVTAmount { get; set; }
|
||||
|
||||
[Export(PropertyHint.Range, "0, 999, 1")]
|
||||
public int ThrowDamage { get; set; } = 5;
|
||||
|
||||
@@ -27,16 +27,6 @@ public partial class Accessory : EquipableItem
|
||||
|
||||
public override float ThrowSpeed => Stats.ThrowSpeed;
|
||||
|
||||
public int MaxHPUp => Stats.MaxHPUp;
|
||||
|
||||
public int MaxVTUp => Stats.MaxVTUp;
|
||||
|
||||
public double LuckUp => Stats.LuckUp;
|
||||
|
||||
public int ATKUp => Stats.ATKUp;
|
||||
|
||||
public int DEFUp => Stats.DEFUp;
|
||||
|
||||
public AccessoryTag AccessoryTag => Stats.AccessoryTag;
|
||||
|
||||
public override ItemTag ItemTag => Stats.ItemTag;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Chickensoft.Introspection;
|
||||
using Chickensoft.Serialization;
|
||||
using Godot;
|
||||
using Zennysoft.Game.Implementation;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
@@ -10,34 +9,6 @@ namespace Zennysoft.Game.Ma;
|
||||
[Meta, Id("accessory_stat_type")]
|
||||
public partial class AccessoryStats : InventoryItemStats
|
||||
{
|
||||
[Export]
|
||||
[Save("accessory_name")]
|
||||
public override string Name { get; set; } = default!;
|
||||
|
||||
[Export(PropertyHint.MultilineText)]
|
||||
[Save("accessory_description")]
|
||||
public override string Description { get; set; } = default!;
|
||||
|
||||
[Export]
|
||||
[Save("accessory_atk_up")]
|
||||
public int ATKUp { get; set; } = 0;
|
||||
|
||||
[Export]
|
||||
[Save("accessory_def_up")]
|
||||
public int DEFUp { get; set; } = 0;
|
||||
|
||||
[Export]
|
||||
[Save("accessory_luck_up")]
|
||||
public double LuckUp { get; set; } = 0;
|
||||
|
||||
[Export]
|
||||
[Save("accessory_max_hp_up")]
|
||||
public int MaxHPUp { get; set; } = 0;
|
||||
|
||||
[Export]
|
||||
[Save("accessory_max_vt_up")]
|
||||
public int MaxVTUp { get; set; } = 0;
|
||||
|
||||
[Export]
|
||||
[Save("accessory_tag")]
|
||||
public AccessoryTag AccessoryTag { get; set; } = AccessoryTag.None;
|
||||
|
||||
@@ -28,9 +28,8 @@ public partial class Armor : EquipableItem
|
||||
|
||||
public override float ThrowSpeed => Stats.ThrowSpeed;
|
||||
|
||||
public int Defense => Stats.Defense + _bonusDefense;
|
||||
public override int BonusDefense => Stats.Defense + _bonusDefense;
|
||||
|
||||
[Save("armor_bonus_defense")]
|
||||
private int _bonusDefense { get; set; } = 0;
|
||||
|
||||
public void IncreaseArmorDefense(int bonus) => _bonusDefense += bonus;
|
||||
|
||||
@@ -9,18 +9,6 @@ namespace Zennysoft.Game.Ma;
|
||||
[Meta, Id("armor_stats")]
|
||||
public partial class ArmorStats : InventoryItemStats
|
||||
{
|
||||
[Export]
|
||||
[Save("armor_name")]
|
||||
public override string Name { get; set; } = default!;
|
||||
|
||||
[Export(PropertyHint.MultilineText)]
|
||||
[Save("armor_description")]
|
||||
public override string Description { get; set; } = default!;
|
||||
|
||||
[Export]
|
||||
[Save("armor_defense")]
|
||||
public int Defense { get; set; } = 0;
|
||||
|
||||
[Export]
|
||||
[Save("armor_telluric_resistance")]
|
||||
private double _telluricResistance { get; set; } = 0;
|
||||
|
||||
@@ -32,9 +32,9 @@ public partial class ConsumableItem : InventoryItem
|
||||
|
||||
public int HealVTAmount => Stats.HealVTAmount;
|
||||
|
||||
public int RaiseHPAmount => Stats.RaiseHPAmount;
|
||||
public int RaiseHPAmount => Stats.PermanentRaiseHPAmount;
|
||||
|
||||
public int RaiseVTAmount => Stats.RaiseVTAmount;
|
||||
public int RaiseVTAmount => Stats.PermanentRaiseVTAmount;
|
||||
|
||||
public override ItemTag ItemTag => Stats.ItemTag;
|
||||
|
||||
|
||||
@@ -8,19 +8,17 @@ namespace Zennysoft.Game.Ma;
|
||||
[Meta, Id("consumable_item_stats")]
|
||||
public partial class ConsumableItemStats : InventoryItemStats
|
||||
{
|
||||
[Export]
|
||||
[Save("consumable_item_name")]
|
||||
public override string Name { get; set; } = default!;
|
||||
[Export(PropertyHint.Range, "0, 999, 1")]
|
||||
public int HealHPAmount { get; set; }
|
||||
|
||||
[Export(PropertyHint.MultilineText)]
|
||||
[Save("consumable_item_description")]
|
||||
public override string Description { get; set; } = default!;
|
||||
[Export(PropertyHint.Range, "0, 999, 1")]
|
||||
public int HealVTAmount { get; set; }
|
||||
|
||||
[Export]
|
||||
[Save("consumable_item_raise_hp")]
|
||||
public int RaiseHPAmount { get; set; } = 0;
|
||||
public int PermanentRaiseHPAmount { get; set; } = 0;
|
||||
|
||||
[Export]
|
||||
[Save("consumable_item_raise_vt")]
|
||||
public int RaiseVTAmount { get; set; } = 0;
|
||||
public int PermanentRaiseVTAmount { get; set; } = 0;
|
||||
}
|
||||
|
||||
@@ -38,8 +38,8 @@ public partial class DroppedItem : RigidBody3D, IDroppedItem
|
||||
AddCollisionExceptionWith((Node)Player);
|
||||
Pickup.Monitorable = false;
|
||||
Pickup.Monitoring = false;
|
||||
GlobalPosition = Player.CurrentPosition + Vector3.Up;
|
||||
ApplyCentralImpulse(-Player.CurrentBasis.Z.Normalized() * 5.0f);
|
||||
GlobalPosition = Player.GlobalPosition + Vector3.Up;
|
||||
ApplyCentralImpulse(-Player.GlobalBasis.Z.Normalized() * 5.0f);
|
||||
await ToSignal(GetTree().CreateTimer(1), "timeout");
|
||||
RemoveCollisionExceptionWith((Node)Player);
|
||||
Pickup.Monitorable = true;
|
||||
|
||||
@@ -10,14 +10,6 @@ namespace Zennysoft.Game.Ma;
|
||||
[Meta, Id("effect_item_stats")]
|
||||
public partial class EffectItemStats : InventoryItemStats
|
||||
{
|
||||
[Export]
|
||||
[Save("effect_item_name")]
|
||||
public override string Name { get; set; } = default!;
|
||||
|
||||
[Export(PropertyHint.MultilineText)]
|
||||
[Save("effect_item_description")]
|
||||
public override string Description { get; set; } = default!;
|
||||
|
||||
[Export]
|
||||
[Save("effect_item_tag")]
|
||||
public UsableItemTag UsableItemTag { get; set; } = UsableItemTag.None;
|
||||
|
||||
@@ -3,7 +3,6 @@ using Chickensoft.Introspection;
|
||||
using Chickensoft.Serialization;
|
||||
using Godot;
|
||||
using Zennysoft.Game.Abstractions;
|
||||
using Zennysoft.Game.Implementation;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Chickensoft.Introspection;
|
||||
using Chickensoft.Serialization;
|
||||
using Godot;
|
||||
using Zennysoft.Game.Implementation;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
@@ -10,13 +9,11 @@ namespace Zennysoft.Game.Ma;
|
||||
[Meta, Id("throwable_item_stats")]
|
||||
public partial class ThrowableItemStats : InventoryItemStats
|
||||
{
|
||||
[Export]
|
||||
[Save("throwable_item_name")]
|
||||
public override string Name { get; set; } = default!;
|
||||
[Export(PropertyHint.Range, "0, 999, 1")]
|
||||
public int HealHPAmount { get; set; }
|
||||
|
||||
[Export(PropertyHint.MultilineText)]
|
||||
[Save("throwable_item_description")]
|
||||
public override string Description { get; set; } = default!;
|
||||
[Export(PropertyHint.Range, "0, 999, 1")]
|
||||
public int HealVTAmount { get; set; }
|
||||
|
||||
[Export]
|
||||
[Save("throwable_item_tag")]
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Chickensoft.AutoInject;
|
||||
using Chickensoft.Introspection;
|
||||
using Godot;
|
||||
using Zennysoft.Game.Implementation;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
using Zennysoft.Ma.Adapter.Entity;
|
||||
|
||||
@@ -28,7 +27,7 @@ public partial class ThrownItem : RigidBody3D
|
||||
{
|
||||
BodyEntered += ThrownItem_BodyEntered;
|
||||
Collision.AreaEntered += Collision_AreaEntered;
|
||||
GlobalPosition = Player.CurrentPosition;
|
||||
GlobalPosition = Player.GlobalPosition;
|
||||
Sprite.Texture = ItemThatIsThrown.GetTexture();
|
||||
AddCollisionExceptionWith((Node)Player);
|
||||
Collision.SetCollisionLayerValue(3, false);
|
||||
@@ -60,7 +59,7 @@ public partial class ThrownItem : RigidBody3D
|
||||
public void Throw(EffectService effectService)
|
||||
{
|
||||
_effectService = effectService;
|
||||
ApplyCentralImpulse(-Player.CurrentBasis.Z.Normalized() * ItemThatIsThrown.ThrowSpeed);
|
||||
ApplyCentralImpulse(-Player.GlobalBasis.Z.Normalized() * ItemThatIsThrown.ThrowSpeed);
|
||||
}
|
||||
|
||||
public void RescueItem()
|
||||
@@ -116,14 +115,14 @@ public partial class ThrownItem : RigidBody3D
|
||||
_effectService.TeleportToRandomRoom(enemy);
|
||||
break;
|
||||
default:
|
||||
var damageDealt = DamageCalculator.CalculateDamage(new Damage(throwableItem.ThrowDamage, throwableItem.ElementType, false, false, false), 10, new ElementalResistanceSet(0, 0, 0, 0, 0));
|
||||
var damageDealt = DamageCalculator.CalculateDamage(new AttackData(throwableItem.ThrowDamage, throwableItem.ElementType), 10, ElementalResistanceSet.None);
|
||||
enemy.HealthComponent.Damage(damageDealt);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var damageDealt = DamageCalculator.CalculateDamage(new Damage(ItemThatIsThrown.ThrowDamage, ElementType.None, false, false, false), 10, new ElementalResistanceSet(0, 0, 0, 0, 0));
|
||||
var damageDealt = DamageCalculator.CalculateDamage(new AttackData(ItemThatIsThrown.ThrowDamage, ElementType.None), 10, ElementalResistanceSet.None);
|
||||
enemy.HealthComponent.Damage(damageDealt);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,14 +38,11 @@ public partial class Weapon : EquipableItem
|
||||
|
||||
public ElementType WeaponElement => Stats.WeaponElement;
|
||||
|
||||
public double ElementalDamageBonus => Stats.ElementalDamageBonus;
|
||||
public void IncreaseWeaponAttack(int bonus) => _extraDamage += bonus;
|
||||
|
||||
public int Damage => Stats.Damage + _bonusDamage;
|
||||
public override int BonusAttack { get => Stats.BonusAttack + _extraDamage; }
|
||||
|
||||
public void IncreaseWeaponAttack(int bonus) => _bonusDamage += bonus;
|
||||
|
||||
[Save("weapon_bonus_damage")]
|
||||
private int _bonusDamage { get; set; } = 0;
|
||||
private int _extraDamage = 0;
|
||||
|
||||
[Export]
|
||||
[Save("weapon_stats")]
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Chickensoft.Introspection;
|
||||
using Chickensoft.Serialization;
|
||||
using Godot;
|
||||
using Zennysoft.Game.Implementation;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
@@ -10,22 +9,6 @@ namespace Zennysoft.Game.Ma;
|
||||
[Meta, Id("weapon_stat_type")]
|
||||
public partial class WeaponStats : InventoryItemStats
|
||||
{
|
||||
[Export]
|
||||
[Save("weapon_name")]
|
||||
public override string Name { get; set; } = default!;
|
||||
|
||||
[Export(PropertyHint.MultilineText)]
|
||||
[Save("weapon_description")]
|
||||
public override string Description { get; set; } = default!;
|
||||
|
||||
[Export]
|
||||
[Save("weapon_damage")]
|
||||
public int Damage { get; set; } = 0;
|
||||
|
||||
[Export]
|
||||
[Save("weapon_luck")]
|
||||
public double Luck { get; set; } = 0.05;
|
||||
|
||||
[Export]
|
||||
[Save("weapon_atk_speed")]
|
||||
public double AttackSpeed { get; set; } = 1;
|
||||
@@ -34,10 +17,6 @@ public partial class WeaponStats : InventoryItemStats
|
||||
[Save("weapon_element")]
|
||||
public ElementType WeaponElement { get; set; } = ElementType.None;
|
||||
|
||||
[Export]
|
||||
[Save("weapon_elemental_damage_bonus")]
|
||||
public double ElementalDamageBonus { get; set; } = 1.0;
|
||||
|
||||
[Export]
|
||||
[Save("weapon_tag")]
|
||||
public WeaponTag WeaponTag { get; set; } = WeaponTag.None;
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
[gd_resource type="Resource" load_steps=2 format=3 uid="uid://ww4vha51i82v"]
|
||||
[gd_resource type="Resource" script_class="WeaponStats" load_steps=2 format=3 uid="uid://ww4vha51i82v"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="1_d2lw0"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_d2lw0")
|
||||
AttackSpeed = 0.15
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
Name = "Atonement"
|
||||
Description = "\"Should I betray my mother, my father, my brother, my sister, my love, let me be pierced by a thousand knives.
|
||||
Should I betray the self, let me be struck by 10,000 lightning bolts.
|
||||
@@ -15,16 +18,13 @@ The Goddess of Destruction materialized it's sorrow into this form.
|
||||
A powerful weapon that has the ability to obliterate anything of the earth.
|
||||
|
||||
There is significance in your using it."
|
||||
Damage = 1000
|
||||
Luck = 0.05
|
||||
AttackSpeed = 0.15
|
||||
WeaponElement = 0
|
||||
ElementalDamageBonus = 1.0
|
||||
WeaponTag = 0
|
||||
SpawnRate = 0.0
|
||||
BonusAttack = 1000
|
||||
Defense = 0
|
||||
Luck = 0.05
|
||||
ThrowSpeed = 12.0
|
||||
HealHPAmount = 0
|
||||
HealVTAmount = 0
|
||||
IncreaseMaxHPAmount = 0
|
||||
IncreaseMaxVTAmount = 0
|
||||
ThrowDamage = 5
|
||||
ItemTag = 0
|
||||
metadata/_custom_type_script = "uid://cc7byqeolw5y4"
|
||||
|
||||
@@ -1,21 +1,23 @@
|
||||
[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://c1bg0o7nmu2xw"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cil3xe3jq82r6" path="res://src/items/weapons/textures/JIBLETT.PNG" id="1_ifm43"]
|
||||
[ext_resource type="Script" path="res://src/items/weapons/WeaponStats.cs" id="1_re512"]
|
||||
[ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="1_re512"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_re512")
|
||||
Damage = 3
|
||||
Luck = 0.05
|
||||
AttackSpeed = 1.0
|
||||
TelluricDamageBonus = 0.0
|
||||
AeolicDamageBonus = 0.0
|
||||
BaseHydricDamageBonus = 0.0
|
||||
IgneousDamageBonus = 0.0
|
||||
FerrumDamageBonus = 0.0
|
||||
WeaponTags = []
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
Name = "Jiblett"
|
||||
Description = "+3 ATK
|
||||
A halberd for the tasteful."
|
||||
Texture = ExtResource("1_ifm43")
|
||||
SpawnRate = 0.1
|
||||
BonusAttack = 3
|
||||
Defense = 0
|
||||
Luck = 0.05
|
||||
ThrowSpeed = 12.0
|
||||
IncreaseMaxHPAmount = 0
|
||||
IncreaseMaxVTAmount = 0
|
||||
ThrowDamage = 5
|
||||
ItemTag = 0
|
||||
Texture = ExtResource("1_ifm43")
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://c8bvtfcq772sv"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dsi0myqu80aq3" path="res://src/items/weapons/textures/katar.PNG" id="1_3waom"]
|
||||
[ext_resource type="Script" path="res://src/items/weapons/WeaponStats.cs" id="2_3gdyl"]
|
||||
[ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="2_3gdyl"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_3gdyl")
|
||||
Damage = 1
|
||||
Luck = 0.05
|
||||
AttackSpeed = 1.25
|
||||
TelluricDamageBonus = 0.0
|
||||
AeolicDamageBonus = 0.0
|
||||
BaseHydricDamageBonus = 0.0
|
||||
IgneousDamageBonus = 0.0
|
||||
FerrumDamageBonus = 0.0
|
||||
WeaponTags = []
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
Name = "Katara"
|
||||
Description = "+1 ATK, Fast"
|
||||
Texture = ExtResource("1_3waom")
|
||||
SpawnRate = 0.3
|
||||
BonusAttack = 1
|
||||
Defense = 0
|
||||
Luck = 0.05
|
||||
ThrowSpeed = 12.0
|
||||
IncreaseMaxHPAmount = 0
|
||||
IncreaseMaxVTAmount = 0
|
||||
ThrowDamage = 5
|
||||
ItemTag = 0
|
||||
Texture = ExtResource("1_3waom")
|
||||
|
||||
@@ -1,22 +1,24 @@
|
||||
[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://db075qhmlmrcu"]
|
||||
|
||||
[ext_resource type="Script" path="res://src/items/weapons/WeaponStats.cs" id="1_kbje7"]
|
||||
[ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="1_kbje7"]
|
||||
[ext_resource type="Texture2D" uid="uid://bkntmni5jxfpk" path="res://src/items/weapons/textures/KUBEL.PNG" id="1_kwtbu"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_kbje7")
|
||||
Damage = 9
|
||||
Luck = 0.05
|
||||
AttackSpeed = 1.0
|
||||
TelluricDamageBonus = 0.0
|
||||
AeolicDamageBonus = 0.0
|
||||
BaseHydricDamageBonus = 0.0
|
||||
IgneousDamageBonus = 0.0
|
||||
FerrumDamageBonus = 0.0
|
||||
WeaponTags = [0]
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
Name = "Kubel"
|
||||
Description = "+9 ATK
|
||||
A very powerful spear.
|
||||
For every hit, you lose 5 HP."
|
||||
Texture = ExtResource("1_kwtbu")
|
||||
SpawnRate = 0.01
|
||||
BonusAttack = 9
|
||||
Defense = 0
|
||||
Luck = 0.05
|
||||
ThrowSpeed = 12.0
|
||||
IncreaseMaxHPAmount = 0
|
||||
IncreaseMaxVTAmount = 0
|
||||
ThrowDamage = 5
|
||||
ItemTag = 0
|
||||
Texture = ExtResource("1_kwtbu")
|
||||
|
||||
@@ -1,21 +1,23 @@
|
||||
[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://cfr100khjkloh"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://blq3nnyostunl" path="res://src/items/weapons/textures/LOVE JUDGEMENT.PNG" id="1_ivlxj"]
|
||||
[ext_resource type="Script" path="res://src/items/weapons/WeaponStats.cs" id="1_vroib"]
|
||||
[ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="1_vroib"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_vroib")
|
||||
Damage = 12
|
||||
Luck = 0.05
|
||||
AttackSpeed = 1.0
|
||||
TelluricDamageBonus = 0.0
|
||||
AeolicDamageBonus = 25.0
|
||||
BaseHydricDamageBonus = 0.0
|
||||
IgneousDamageBonus = 0.0
|
||||
FerrumDamageBonus = 0.0
|
||||
WeaponTags = []
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
Name = "Love Judgement"
|
||||
Description = "+12 ATK
|
||||
A mace only wieldable by the strong of heart."
|
||||
Texture = ExtResource("1_ivlxj")
|
||||
SpawnRate = 0.01
|
||||
BonusAttack = 12
|
||||
Defense = 0
|
||||
Luck = 0.05
|
||||
ThrowSpeed = 12.0
|
||||
IncreaseMaxHPAmount = 0
|
||||
IncreaseMaxVTAmount = 0
|
||||
ThrowDamage = 5
|
||||
ItemTag = 0
|
||||
Texture = ExtResource("1_ivlxj")
|
||||
|
||||
@@ -1,22 +1,24 @@
|
||||
[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://ckj1m4iv4m02r"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://740syoj0w14p" path="res://src/items/weapons/textures/PALM OF HEAVEN.PNG" id="1_hi6xm"]
|
||||
[ext_resource type="Script" path="res://src/items/weapons/WeaponStats.cs" id="1_pwwg7"]
|
||||
[ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="1_pwwg7"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_pwwg7")
|
||||
Damage = 10
|
||||
Luck = 0.05
|
||||
AttackSpeed = 1.0
|
||||
TelluricDamageBonus = 0.0
|
||||
AeolicDamageBonus = 0.0
|
||||
BaseHydricDamageBonus = 0.0
|
||||
IgneousDamageBonus = 0.0
|
||||
FerrumDamageBonus = 0.0
|
||||
WeaponTags = [3]
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
Name = "Palm of Heaven"
|
||||
Description = "+10 ATK
|
||||
Very Powerful.
|
||||
Breaks upon leaving the floor."
|
||||
Texture = ExtResource("1_hi6xm")
|
||||
SpawnRate = 0.01
|
||||
BonusAttack = 10
|
||||
Defense = 0
|
||||
Luck = 0.05
|
||||
ThrowSpeed = 12.0
|
||||
IncreaseMaxHPAmount = 0
|
||||
IncreaseMaxVTAmount = 0
|
||||
ThrowDamage = 5
|
||||
ItemTag = 0
|
||||
Texture = ExtResource("1_hi6xm")
|
||||
|
||||
@@ -1,21 +1,23 @@
|
||||
[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://gebgo2x6nr3t"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b8c7kd436tg4" path="res://src/items/weapons/textures/RONDO.PNG" id="1_cvwbh"]
|
||||
[ext_resource type="Script" path="res://src/items/weapons/WeaponStats.cs" id="1_xfb0x"]
|
||||
[ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="1_xfb0x"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_xfb0x")
|
||||
Damage = 7
|
||||
Luck = 0.05
|
||||
AttackSpeed = 1.333
|
||||
TelluricDamageBonus = 0.0
|
||||
AeolicDamageBonus = 0.0
|
||||
BaseHydricDamageBonus = 0.0
|
||||
IgneousDamageBonus = 0.0
|
||||
FerrumDamageBonus = 0.0
|
||||
WeaponTags = [1]
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
Name = "Rondo"
|
||||
Description = "+7 ATK
|
||||
An eastern blade outside of time and reproach."
|
||||
Texture = ExtResource("1_cvwbh")
|
||||
SpawnRate = 0.01
|
||||
BonusAttack = 7
|
||||
Defense = 0
|
||||
Luck = 0.05
|
||||
ThrowSpeed = 12.0
|
||||
IncreaseMaxHPAmount = 0
|
||||
IncreaseMaxVTAmount = 0
|
||||
ThrowDamage = 5
|
||||
ItemTag = 0
|
||||
Texture = ExtResource("1_cvwbh")
|
||||
|
||||
@@ -1,26 +1,24 @@
|
||||
[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://b7xr0l4a8g1gk"]
|
||||
|
||||
[ext_resource type="Script" path="res://src/items/weapons/WeaponStats.cs" id="1_40b5j"]
|
||||
[ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="1_40b5j"]
|
||||
[ext_resource type="Texture2D" uid="uid://b1qbho30vnuxf" path="res://src/items/weapons/textures/sealing rod.PNG" id="1_wiylj"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_40b5j")
|
||||
Damage = 2
|
||||
Luck = 0.05
|
||||
AttackSpeed = 1.0
|
||||
TelluricDamageBonus = 0.0
|
||||
AeolicDamageBonus = 0.0
|
||||
BaseHydricDamageBonus = 0.0
|
||||
IgneousDamageBonus = 0.0
|
||||
FerrumDamageBonus = 0.0
|
||||
WeaponTags = []
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
Name = "Sealing Rod"
|
||||
Description = "+2 ATK
|
||||
A wand fitted with charms said to cleanse and purify that which belongs to other worlds.
|
||||
It's unaligned nature has the power to balance all that it comes into contact with, should the wielder have the will."
|
||||
Texture = ExtResource("1_wiylj")
|
||||
SpawnRate = 0.5
|
||||
BonusAttack = 2
|
||||
Defense = 0
|
||||
Luck = 0.05
|
||||
ThrowSpeed = 12.0
|
||||
HealHPAmount = 0
|
||||
HealVTAmount = 0
|
||||
IncreaseMaxHPAmount = 0
|
||||
IncreaseMaxVTAmount = 0
|
||||
ThrowDamage = 5
|
||||
ItemTag = 0
|
||||
Texture = ExtResource("1_wiylj")
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://dj6i0em2a3hj8"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cixq2naufiuhv" path="res://src/items/weapons/textures/spaded staff.PNG" id="1_6tifm"]
|
||||
[ext_resource type="Script" path="res://src/items/weapons/WeaponStats.cs" id="2_w4n0u"]
|
||||
[ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="2_w4n0u"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_w4n0u")
|
||||
Damage = 5
|
||||
Luck = 0.1
|
||||
AttackSpeed = 0.75
|
||||
TelluricDamageBonus = 0.0
|
||||
AeolicDamageBonus = 0.0
|
||||
BaseHydricDamageBonus = 0.0
|
||||
IgneousDamageBonus = 0.0
|
||||
FerrumDamageBonus = 0.0
|
||||
WeaponTags = []
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
Name = "Monk's Spade"
|
||||
Description = "+5 ATK, Slow"
|
||||
Texture = ExtResource("1_6tifm")
|
||||
SpawnRate = 0.3
|
||||
BonusAttack = 5
|
||||
Defense = 0
|
||||
Luck = 0.1
|
||||
ThrowSpeed = 12.0
|
||||
IncreaseMaxHPAmount = 0
|
||||
IncreaseMaxVTAmount = 0
|
||||
ThrowDamage = 5
|
||||
ItemTag = 0
|
||||
Texture = ExtResource("1_6tifm")
|
||||
|
||||
@@ -5,21 +5,21 @@
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_cik6n")
|
||||
Damage = 12
|
||||
Luck = 0.05
|
||||
AttackSpeed = 1.25
|
||||
WeaponElement = 0
|
||||
ElementalDamageBonus = 1.0
|
||||
WeaponTag = 0
|
||||
WeaponTag = 2
|
||||
Name = "Swan Sword Odette"
|
||||
Description = "+12 ATK
|
||||
Ignores Affinity.
|
||||
|
||||
The blade of a thousand faced heroine."
|
||||
Texture = ExtResource("1_qc4eu")
|
||||
SpawnRate = 0.01
|
||||
BonusAttack = 12
|
||||
Defense = 0
|
||||
Luck = 0.05
|
||||
ThrowSpeed = 12.0
|
||||
HealHPAmount = 0
|
||||
HealVTAmount = 0
|
||||
IncreaseMaxHPAmount = 0
|
||||
IncreaseMaxVTAmount = 0
|
||||
ThrowDamage = 5
|
||||
ItemTag = 0
|
||||
Texture = ExtResource("1_qc4eu")
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://bs01dnjkcmi7a"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://d02gqi3icdp8l" path="res://src/items/weapons/textures/talwar.PNG" id="1_8a832"]
|
||||
[ext_resource type="Script" path="res://src/items/weapons/WeaponStats.cs" id="2_a7ln4"]
|
||||
[ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="2_a7ln4"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_a7ln4")
|
||||
Damage = 3
|
||||
Luck = 0.07
|
||||
AttackSpeed = 1.0
|
||||
TelluricDamageBonus = 0.0
|
||||
AeolicDamageBonus = 0.0
|
||||
BaseHydricDamageBonus = 0.0
|
||||
IgneousDamageBonus = 0.0
|
||||
FerrumDamageBonus = 0.0
|
||||
WeaponTags = []
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
Name = "Talwar"
|
||||
Description = "+3 ATK"
|
||||
Texture = ExtResource("1_8a832")
|
||||
SpawnRate = 0.3
|
||||
BonusAttack = 3
|
||||
Defense = 0
|
||||
Luck = 0.07
|
||||
ThrowSpeed = 12.0
|
||||
IncreaseMaxHPAmount = 0
|
||||
IncreaseMaxVTAmount = 0
|
||||
ThrowDamage = 5
|
||||
ItemTag = 0
|
||||
Texture = ExtResource("1_8a832")
|
||||
|
||||
@@ -4,7 +4,6 @@ using Chickensoft.Introspection;
|
||||
using Chickensoft.SaveFileBuilder;
|
||||
using Godot;
|
||||
using SimpleInjector;
|
||||
using System;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
using Zennysoft.Ma.Adapter.Entity;
|
||||
|
||||
@@ -207,7 +206,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<ISaveChunk<Play
|
||||
Transform = newTransform;
|
||||
}
|
||||
|
||||
public void TakeDamage(Damage damage)
|
||||
public void TakeDamage(AttackData damage)
|
||||
{
|
||||
var damageReceived = DamageCalculator.CalculateDamage(damage, DefenseComponent.TotalDefense, ((Armor)EquipmentComponent.EquippedArmor.Value).Stats.ElementalResistanceSet);
|
||||
HealthComponent.Damage(damageReceived);
|
||||
@@ -263,47 +262,12 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<ISaveChunk<Play
|
||||
return;
|
||||
}
|
||||
|
||||
if (equipable is Weapon weapon)
|
||||
{
|
||||
Unequip(EquipmentComponent.EquippedWeapon.Value);
|
||||
weapon.IsEquipped = true;
|
||||
EquipmentComponent.Equip(weapon);
|
||||
}
|
||||
else if (equipable is Armor armor)
|
||||
{
|
||||
Unequip(EquipmentComponent.EquippedArmor.Value);
|
||||
armor.IsEquipped = true;
|
||||
EquipmentComponent.Equip(armor);
|
||||
}
|
||||
else if (equipable is Accessory accessory)
|
||||
{
|
||||
Unequip(EquipmentComponent.EquippedAccessory.Value);
|
||||
accessory.IsEquipped = true;
|
||||
EquipmentComponent.Equip(accessory);
|
||||
}
|
||||
else
|
||||
throw new NotImplementedException("Item type is not supported.");
|
||||
EquipmentComponent.Equip(equipable);
|
||||
}
|
||||
|
||||
public void Unequip(EquipableItem equipable)
|
||||
{
|
||||
if (equipable is Weapon weapon)
|
||||
{
|
||||
weapon.IsEquipped = false;
|
||||
EquipmentComponent.Unequip(weapon);
|
||||
}
|
||||
else if (equipable is Armor armor)
|
||||
{
|
||||
armor.IsEquipped = false;
|
||||
EquipmentComponent.Unequip(armor);
|
||||
}
|
||||
else if (equipable is Accessory accessory)
|
||||
{
|
||||
accessory.IsEquipped = false;
|
||||
EquipmentComponent.Unequip(accessory);
|
||||
}
|
||||
else
|
||||
throw new NotImplementedException("Item type is not supported.");
|
||||
EquipmentComponent.Unequip(equipable);
|
||||
}
|
||||
|
||||
private static Vector3 GlobalInputVector
|
||||
@@ -403,24 +367,23 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<ISaveChunk<Play
|
||||
|
||||
private void HitEnemy(IEnemy enemy)
|
||||
{
|
||||
var ignoreElementalResistance = ((Weapon)EquipmentComponent.EquippedWeapon.Value).WeaponTag == WeaponTag.IgnoreAffinity;
|
||||
var isCriticalHit = BattleExtensions.IsCriticalHit(LuckComponent.Luck.Value);
|
||||
var element = ((Weapon)EquipmentComponent.EquippedWeapon.Value).WeaponElement;
|
||||
var baseAttack = new Damage(
|
||||
(int)(AttackComponent.TotalAttack * ((Weapon)EquipmentComponent.EquippedWeapon.Value).ElementalDamageBonus),
|
||||
element,
|
||||
false,
|
||||
false,
|
||||
ignoreElementalResistance);
|
||||
var damageDealt = DamageCalculator.CalculateDamage(baseAttack, enemy.DefenseComponent.TotalDefense, new ElementalResistanceSet(0, 0, 0, 0, 0));
|
||||
var ignoreElementalResistance = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponTag == WeaponTag.IgnoreAffinity;
|
||||
var ignoreDefense = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponTag == WeaponTag.IgnoreDefense;
|
||||
var isCriticalHit = BattleExtensions.IsCriticalHit(LuckComponent.Luck.Value + EquipmentComponent.BonusLuck);
|
||||
var totalDamage = AttackComponent.TotalAttack + EquipmentComponent.BonusAttack;
|
||||
var element = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponElement;
|
||||
|
||||
if (isCriticalHit)
|
||||
totalDamage += (int)(totalDamage * 0.5f);
|
||||
|
||||
var baseAttack = new AttackData(totalDamage, element, ignoreDefense, ignoreElementalResistance);
|
||||
var damageDealt = DamageCalculator.CalculateDamage(baseAttack, enemy.DefenseComponent.TotalDefense, ElementalResistanceSet.None);
|
||||
enemy.HealthComponent.Damage(damageDealt);
|
||||
|
||||
if (((Weapon)EquipmentComponent.EquippedWeapon.Value).WeaponTag == WeaponTag.Knockback && enemy is IKnockbackable knockbackable)
|
||||
knockbackable.Knockback(0.3f, -CurrentBasis.Z.Normalized());
|
||||
if (((Weapon)EquipmentComponent.EquippedWeapon.Value).WeaponTag == WeaponTag.SelfDamage)
|
||||
TakeDamage(new Damage(5, ElementType.None, false, true, true));
|
||||
|
||||
_gameRepo.OnPlayerAttackedEnemy();
|
||||
HealthComponent.Damage(5);
|
||||
}
|
||||
|
||||
private void CollisionDetector_AreaEntered(Area3D area)
|
||||
|
||||
14
Zennysoft.Game.Ma/src/system/AttackDataResource.cs
Normal file
14
Zennysoft.Game.Ma/src/system/AttackDataResource.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using Godot;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
[GlobalClass]
|
||||
public partial class AttackDataResource : Resource
|
||||
{
|
||||
[Export]
|
||||
public int Damage { get; set; } = 10;
|
||||
|
||||
[Export]
|
||||
public ElementType ElementType { get; set; } = ElementType.None;
|
||||
}
|
||||
1
Zennysoft.Game.Ma/src/system/AttackDataResource.cs.uid
Normal file
1
Zennysoft.Game.Ma/src/system/AttackDataResource.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://ctshiyffvt4y5
|
||||
@@ -4,7 +4,6 @@ using Chickensoft.Introspection;
|
||||
using Godot;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Zennysoft.Game.Implementation;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
@@ -74,10 +73,11 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
||||
{
|
||||
Player.AttackComponent.CurrentAttack.Sync -= AttackSync;
|
||||
Player.AttackComponent.MaximumAttack.Sync -= AttackSync;
|
||||
Player.AttackComponent.BonusAttack.Sync -= BonusAttack_Sync;
|
||||
Player.EquipmentComponent.EquippedWeapon.Sync -= BonusSync;
|
||||
Player.EquipmentComponent.EquippedArmor.Sync -= BonusSync;
|
||||
Player.EquipmentComponent.EquippedAccessory.Sync -= BonusSync;
|
||||
Player.DefenseComponent.CurrentDefense.Sync -= DefenseSync;
|
||||
Player.DefenseComponent.MaximumDefense.Sync -= DefenseSync;
|
||||
Player.DefenseComponent.BonusDefense.Sync -= BonusDefense_Sync;
|
||||
}
|
||||
|
||||
public void OnResolved()
|
||||
@@ -85,10 +85,11 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
||||
SetProcessInput(false);
|
||||
Player.AttackComponent.CurrentAttack.Sync += AttackSync;
|
||||
Player.AttackComponent.MaximumAttack.Sync += AttackSync;
|
||||
Player.AttackComponent.BonusAttack.Sync += BonusAttack_Sync;
|
||||
Player.EquipmentComponent.EquippedWeapon.Sync += BonusSync;
|
||||
Player.EquipmentComponent.EquippedArmor.Sync += BonusSync;
|
||||
Player.EquipmentComponent.EquippedAccessory.Sync += BonusSync;
|
||||
Player.DefenseComponent.CurrentDefense.Sync += DefenseSync;
|
||||
Player.DefenseComponent.MaximumDefense.Sync += DefenseSync;
|
||||
Player.DefenseComponent.BonusDefense.Sync += BonusDefense_Sync;
|
||||
}
|
||||
|
||||
public async Task DisplayMessage(string message)
|
||||
@@ -104,13 +105,14 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
||||
|
||||
private void AttackSync(int obj) => ATKValue.Text = $"{Player.AttackComponent.CurrentAttack.Value}/{Player.AttackComponent.MaximumAttack.Value}";
|
||||
|
||||
private void BonusAttack_Sync(int bonus) => ATKBonusLabel.Text = $"{bonus:+0;-#;\\.\\.\\.}";
|
||||
private void BonusSync(EquipableItem equip)
|
||||
{
|
||||
ATKBonusLabel.Text = $"{Player.EquipmentComponent.BonusAttack:+0;-#;\\.\\.\\.}";
|
||||
DEFBonusLabel.Text = $"{Player.EquipmentComponent.BonusDefense:+0;-#;\\.\\.\\.}";
|
||||
}
|
||||
|
||||
private void DefenseSync(int obj) => DEFValue.Text = $"{Player.DefenseComponent.CurrentDefense.Value}/{Player.DefenseComponent.MaximumDefense.Value}";
|
||||
|
||||
private void BonusDefense_Sync(int bonus) => DEFBonusLabel.Text = $"{bonus:+0;-#;\\.\\.\\.}";
|
||||
|
||||
|
||||
public async Task RefreshInventoryScreen()
|
||||
{
|
||||
await ClearItems();
|
||||
@@ -184,7 +186,7 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
||||
|
||||
if (@event.IsActionPressed(GameInputs.InventorySort))
|
||||
{
|
||||
inventory.Sort();
|
||||
inventory.Sort(Player.EquipmentComponent.EquippedWeapon.Value, Player.EquipmentComponent.EquippedArmor.Value, Player.EquipmentComponent.EquippedAccessory.Value);
|
||||
if (_currentIndex > inventory.Items.Count - 1)
|
||||
_currentIndex = inventory.Items.Count - 1;
|
||||
RefreshInventoryScreen();
|
||||
@@ -239,11 +241,12 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
||||
|
||||
if (currentItem is EquipableItem equipable)
|
||||
{
|
||||
UseButton.Text = equipable.IsEquipped ? "Unequip" : "Equip";
|
||||
ThrowButton.Disabled = equipable.IsEquipped;
|
||||
ThrowButton.FocusMode = equipable.IsEquipped ? FocusModeEnum.None : FocusModeEnum.All;
|
||||
DropButton.Disabled = equipable.IsEquipped;
|
||||
DropButton.FocusMode = equipable.IsEquipped ? FocusModeEnum.None : FocusModeEnum.All;
|
||||
var isItemEquipped = Player.EquipmentComponent.IsItemEquipped(equipable);
|
||||
UseButton.Text = isItemEquipped ? "Unequip" : "Equip";
|
||||
ThrowButton.Disabled = isItemEquipped;
|
||||
ThrowButton.FocusMode = isItemEquipped ? FocusModeEnum.None : FocusModeEnum.All;
|
||||
DropButton.Disabled = isItemEquipped;
|
||||
DropButton.FocusMode = isItemEquipped ? FocusModeEnum.None : FocusModeEnum.All;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -309,14 +312,14 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
||||
itemSlot.Item = item;
|
||||
ItemsPage.AddChildEx(itemSlot);
|
||||
|
||||
if (itemSlot.Item is EquipableItem equipable && equipable.IsEquipped)
|
||||
if (Player.EquipmentComponent.IsItemEquipped(itemSlot.Item))
|
||||
itemSlot.SetEquippedItemStyle();
|
||||
}
|
||||
|
||||
if (ItemSlots.Length != 0)
|
||||
{
|
||||
ItemSlots.ElementAt(_currentIndex).SetSelectedItemStyle();
|
||||
if (ItemSlots.ElementAt(_currentIndex).Item is EquipableItem equipable && equipable.IsEquipped)
|
||||
if (Player.EquipmentComponent.IsItemEquipped(ItemSlots.ElementAt(_currentIndex).Item))
|
||||
ItemSlots.ElementAt(_currentIndex).SetEquippedSelectedItemStyle();
|
||||
}
|
||||
}
|
||||
@@ -325,7 +328,7 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
||||
{
|
||||
await ToSignal(GetTree().CreateTimer(0.1f), "timeout");
|
||||
itemSlot.SetItemStyle();
|
||||
if (itemSlot.Item is EquipableItem equipable && equipable.IsEquipped)
|
||||
if (Player.EquipmentComponent.IsItemEquipped(itemSlot.Item))
|
||||
itemSlot.SetEquippedItemStyle();
|
||||
}
|
||||
|
||||
@@ -340,25 +343,25 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
||||
private async Task EquipOrUnequipItem()
|
||||
{
|
||||
var itemSlot = ItemSlots[_currentIndex];
|
||||
if (itemSlot.Item is EquipableItem equipableItem)
|
||||
if (itemSlot.Item is not EquipableItem)
|
||||
return;
|
||||
var equippableItem = (EquipableItem)itemSlot.Item;
|
||||
if (Player.EquipmentComponent.IsItemEquipped(equippableItem))
|
||||
{
|
||||
if (equipableItem.IsEquipped)
|
||||
{
|
||||
ItemEffectLabel.Text = $"{itemSlot.Item.GetType()} unequipped.";
|
||||
Player.EquipmentComponent.Unequip(equipableItem);
|
||||
itemSlot.SetSelectedItemStyle();
|
||||
if (equipableItem.ItemTag == ItemTag.BreaksOnChange)
|
||||
Player.Inventory.Remove(equipableItem);
|
||||
}
|
||||
else
|
||||
{
|
||||
ItemEffectLabel.Text = $"{itemSlot.Item.GetType()} equipped.";
|
||||
Player.EquipmentComponent.Equip(equipableItem);
|
||||
itemSlot.SetEquippedSelectedItemStyle();
|
||||
}
|
||||
|
||||
RefreshUIAfterUserSelection();
|
||||
ItemEffectLabel.Text = $"{equippableItem.GetType().Name} unequipped.";
|
||||
Player.EquipmentComponent.Unequip(equippableItem);
|
||||
itemSlot.SetSelectedItemStyle();
|
||||
if (itemSlot.Item.ItemTag == ItemTag.BreaksOnChange)
|
||||
Player.Inventory.Remove(equippableItem);
|
||||
}
|
||||
else
|
||||
{
|
||||
ItemEffectLabel.Text = $"{equippableItem.GetType().Name} equipped.";
|
||||
Player.EquipmentComponent.Equip(equippableItem);
|
||||
itemSlot.SetEquippedSelectedItemStyle();
|
||||
}
|
||||
|
||||
RefreshUIAfterUserSelection();
|
||||
}
|
||||
|
||||
private async void UseButtonPressed()
|
||||
|
||||
@@ -61,14 +61,10 @@ public partial class ItemSlot : HBoxContainer, IItemSlot
|
||||
}
|
||||
public void SetSelectedItemStyle()
|
||||
{
|
||||
if (Item is EquipableItem equipableItem && equipableItem.IsEquipped)
|
||||
{
|
||||
if (Player.EquipmentComponent.IsItemEquipped(Item))
|
||||
ItemName.LabelSettings = SelectedEquippedItemFont;
|
||||
}
|
||||
else
|
||||
{
|
||||
ItemName.LabelSettings = SelectedItemFont;
|
||||
}
|
||||
}
|
||||
public void SetEquippedItemStyle()
|
||||
{
|
||||
|
||||
@@ -92,7 +92,7 @@ public partial class PauseDebugMenu : Control, IDebugMenu
|
||||
var enemyToSpawn = _spawnableEnemies.ElementAt((int)index);
|
||||
var loadedEnemy = GD.Load<PackedScene>(enemyToSpawn).Instantiate<Enemy>();
|
||||
AddChild(loadedEnemy);
|
||||
loadedEnemy.GlobalPosition = new Vector3(_player.CurrentPosition.X, _player.CurrentPosition.Y + 1, _player.CurrentPosition.Z) + (-_player.CurrentBasis.Z * 2);
|
||||
loadedEnemy.GlobalPosition = new Vector3(_player.GlobalPosition.X, _player.GlobalPosition.Y + 1, _player.GlobalPosition.Z) + (-_player.GlobalBasis.Z * 2);
|
||||
}
|
||||
|
||||
private void SpawnItemDropDown_ItemSelected(long index)
|
||||
@@ -100,7 +100,7 @@ public partial class PauseDebugMenu : Control, IDebugMenu
|
||||
var itemToSpawn = _spawnableItems.ElementAt((int)index);
|
||||
var duplicated = itemToSpawn.Duplicate((int)DuplicateFlags.UseInstantiation) as Node3D;
|
||||
AddChild(duplicated);
|
||||
duplicated.GlobalPosition = new Vector3(_player.CurrentPosition.X, _player.CurrentPosition.Y + 1, _player.CurrentPosition.Z) + (-_player.CurrentBasis.Z * 2);
|
||||
duplicated.GlobalPosition = new Vector3(_player.GlobalPosition.X, _player.GlobalPosition.Y + 1, _player.GlobalPosition.Z) + (-_player.GlobalBasis.Z * 2);
|
||||
}
|
||||
|
||||
private async void LoadNextFloorButton_Pressed()
|
||||
|
||||
Reference in New Issue
Block a user