Spending/Upgrades/Targeter/RangeTargeterUpgrade.cs
namespace PlanetMeat;

[Title( "Targeter Upgrade - Range" )]
public sealed class RangeTargeterUpgrade : BaseComponentUpgrade<Targeter, int>
{
	protected override int EffectBase => (int)(TargetComponent?.GetRangeWithout( this ) ?? 0);
	protected override int GetEffectAt( int rank ) => EffectPerRank.MultiplyCapped( rank );

	protected override void OnRankChanged()
	{
		TargetComponent?.ContributeRange( this, CurrentEffect );
	}
}