Spending/Upgrades/Targetable/HPTargetableUpgrade.cs
using System;
namespace PlanetMeat;
[Title( "Target Upgrade - Max HP" )]
public sealed class HPTargetableUpgrade : IntAggregateUpgrade<Targetable>
{
protected override ValueAggregator<int> FindAggregate => TargetComponent?.AggregateMaxHp;
protected override void OnRankChanged()
{
var frac = (float)TargetComponent.CurrentHp / TargetComponent.MaxHp;
base.OnRankChanged();
TargetComponent?.CurrentHp = (int)Math.Ceiling(frac * TargetComponent.MaxHp);
}
}