Add more boxes, implement weapon that gets stronger on lower HP
This commit is contained in:
@@ -169,6 +169,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
{
|
||||
Hitbox.AreaEntered += Hitbox_AreaEntered;
|
||||
CollisionDetector.AreaEntered += CollisionDetector_AreaEntered;
|
||||
HealthComponent.CurrentHP.Changed += InverseHPToAttackPowerSync;
|
||||
HealthComponent.HealthReachedZero += Die;
|
||||
PlayerFXAnimations.AnimationFinished += PlayerFXAnimations_AnimationFinished;
|
||||
HealthTimer.WaitTime = _healthTimerWaitTime;
|
||||
@@ -332,6 +333,17 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
PlayerDied?.Invoke();
|
||||
}
|
||||
|
||||
private void InverseHPToAttackPowerSync(int obj)
|
||||
{
|
||||
var weapon = (Weapon)EquipmentComponent.EquippedWeapon.Value;
|
||||
if (weapon.WeaponTag == WeaponTag.InverseHPAttackPower)
|
||||
{
|
||||
var healthPercentage = (HealthComponent.CurrentHP.Value * 10) / HealthComponent.MaximumHP.Value;
|
||||
weapon.SetWeaponAttack(10 - healthPercentage);
|
||||
EquipmentComponent.Equip(weapon);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnExitTree()
|
||||
{
|
||||
PlayerLogic.Stop();
|
||||
|
||||
Reference in New Issue
Block a user