Add more boxes, implement weapon that gets stronger on lower HP

This commit is contained in:
2026-02-04 23:51:07 -08:00
parent d45bc67722
commit 8a99771491
11 changed files with 165 additions and 2 deletions

View File

@@ -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();