Started implementing SFX
Fixed Shield animation jumps and secondary attack Fixed demon wall stone behavior Made overworld ambient sounds unpausable
This commit is contained in:
@@ -74,8 +74,6 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
#region Node Dependencies
|
||||
[Node] private IAnimationPlayer AnimationPlayer { get; set; } = default!;
|
||||
|
||||
[Node] private IAnimationPlayer PlayerFXAnimations { get; set; } = default!;
|
||||
|
||||
[Node] private Area3D Hitbox { get; set; } = default!;
|
||||
|
||||
[Node] private Area3D CollisionDetector { get; set; } = default!;
|
||||
@@ -193,6 +191,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
{
|
||||
var damageReceived = DamageCalculator.CalculateDamage(damage, DefenseComponent.CurrentDefense.Value + EquipmentComponent.BonusDefense, EquipmentComponent.ElementalResistance);
|
||||
HealthComponent.Damage(damageReceived);
|
||||
SfxDatabase.Instance.Play(SoundEffect.TakeDamage);
|
||||
}
|
||||
|
||||
public void Knockback(float impulse)
|
||||
@@ -208,6 +207,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
var hpIncrease = rng.RandiRange(3, 6);
|
||||
HealthComponent.RaiseMaximumHP(hpIncrease);
|
||||
ExperiencePointsComponent.LevelUp();
|
||||
SfxDatabase.Instance.Play(SoundEffect.LevelUp);
|
||||
}
|
||||
|
||||
public void Die()
|
||||
@@ -279,13 +279,9 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
private void Attack()
|
||||
{
|
||||
if (PlayerIsHittingGeometry())
|
||||
{
|
||||
AnimationPlayer.Play("hit_wall");
|
||||
}
|
||||
else
|
||||
{
|
||||
else if (!AnimationPlayer.IsPlaying())
|
||||
PlayAttackAnimation();
|
||||
}
|
||||
}
|
||||
|
||||
private void ThrowItem()
|
||||
@@ -299,6 +295,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
|
||||
private void PlayAttackAnimation()
|
||||
{
|
||||
SfxDatabase.Instance.Play(((Weapon)EquipmentComponent.EquippedWeapon.Value).SoundEffect);
|
||||
var attackSpeed = ((Weapon)EquipmentComponent.EquippedWeapon.Value).AttackSpeed;
|
||||
AnimationPlayer.SetSpeedScale((float)attackSpeed);
|
||||
AnimationPlayer.Play("attack");
|
||||
@@ -364,7 +361,10 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
var element = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponElement;
|
||||
|
||||
if (isCriticalHit)
|
||||
{
|
||||
totalDamage += (int)(totalDamage * 0.5f);
|
||||
SfxDatabase.Instance.Play(SoundEffect.Crit);
|
||||
}
|
||||
|
||||
var baseAttack = new AttackData(totalDamage, element, ignoreDefense, ignoreElementalResistance);
|
||||
var damageDealt = DamageCalculator.CalculateDamage(baseAttack, enemy.DefenseComponent.CurrentDefense.Value, ElementalResistanceSet.None);
|
||||
@@ -398,7 +398,6 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
}
|
||||
if (area.GetParent() is Restorative restorative)
|
||||
{
|
||||
//_gameRepo.OnRestorativePickedUp(restorative);
|
||||
restorative.QueueFree();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user