Remove ref passing, but keep devirtualizations

This commit is contained in:
Asriel Camora
2024-03-16 13:24:26 -07:00
parent 3223bdcbfb
commit ec77f1d021
48 changed files with 411 additions and 787 deletions
+8 -17
View File
@@ -1,26 +1,17 @@
namespace Craftimizer.Simulator.Actions;
internal sealed class HeartAndSoul : BaseBuffAction
internal sealed class HeartAndSoul() : BaseBuffAction(
ActionCategory.Other, 86, 100419,
EffectType.HeartAndSoul, duration: 1,
macroWaitTime: 3,
increasesStepCount: false
)
{
public HeartAndSoul()
{
Level = 86;
Effect = EffectType.HeartAndSoul;
MacroWaitTime = 3;
ActionId = 100419;
Category = ActionCategory.Other;
IncreasesStepCount = false;
}
public override void CPCost(Simulator s, ref int cost)
{
cost = 0;
}
public override bool IsPossible(Simulator s) =>
base.IsPossible(s) && s.Input.Stats.IsSpecialist && !s.ActionStates.UsedHeartAndSoul;
public override bool CouldUse(Simulator s, ref int cost) => !s.ActionStates.UsedHeartAndSoul;
public override bool CouldUse(Simulator s) =>
!s.ActionStates.UsedHeartAndSoul;
public override string GetTooltip(Simulator s, bool addUsability) =>
$"{GetBaseTooltip(s, addUsability)}Specialist Only\n";