Add more sigil component behavior
This commit is contained in:
@@ -219,7 +219,6 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
ExperiencePointsComponent.PlayerLevelUp += OnLevelUp;
|
||||
ExperiencePointsComponent.PlayerLevelDown += OnLevelDown;
|
||||
PlayerFXAnimations.AnimationFinished += PlayerFXAnimations_AnimationFinished;
|
||||
HealthTimer.WaitTime = _healthTimerWaitTime;
|
||||
HealthTimer.Timeout += OnHealthTimerTimeout;
|
||||
|
||||
_projectileCooldownTimer = new Timer();
|
||||
@@ -248,6 +247,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
{
|
||||
SetProcessInput(true);
|
||||
SetPhysicsProcess(true);
|
||||
HealthTimer.WaitTime = _healthTimerWaitTime * (1 + SigilComponent.Sigil.VTDrainSpeedModifier);
|
||||
SetHealthTimerStatus(HealthTimerIsActive);
|
||||
ShowCamera(true);
|
||||
Hitbox.SetDeferred(Area3D.PropertyName.Monitoring, true);
|
||||
@@ -276,7 +276,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
{
|
||||
HealthTimerSpeedModifier = newSpeed;
|
||||
HealthTimer.Stop();
|
||||
HealthTimer.WaitTime = _healthTimerWaitTime * newSpeed;
|
||||
HealthTimer.WaitTime = (_healthTimerWaitTime * newSpeed) * (1 + SigilComponent.Sigil.VTDrainSpeedModifier);
|
||||
HealthTimer.Start();
|
||||
}
|
||||
|
||||
@@ -304,7 +304,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
var defense = TotalDefense;
|
||||
var elementalResistance = EquipmentComponent.ElementalResistance + SigilComponent.Sigil.ElementalResistanceSet;
|
||||
var damageReceived = DamageCalculator.CalculateDamage(damage, defense, elementalResistance);
|
||||
damageReceived *= Mathf.RoundToInt(1 + SigilComponent.Sigil.DamageModifier);
|
||||
damageReceived = Mathf.RoundToInt(damageReceived * (1 - SigilComponent.Sigil.DefenseModifier));
|
||||
GD.Print($"Damage dealt: {damageReceived}");
|
||||
HealthComponent.Damage(damageReceived, damage.ElementType);
|
||||
SfxDatabase.Instance.Play(SoundEffect.TakeDamage);
|
||||
|
||||
Reference in New Issue
Block a user