Optimizations (from @wolfcomp)

This commit is contained in:
Asriel Camora
2024-03-15 09:49:03 -07:00
parent ea963f9e1b
commit 3223bdcbfb
43 changed files with 691 additions and 354 deletions
+20 -11
View File
@@ -5,23 +5,32 @@ internal abstract class BaseComboAction<A, B> : BaseComboAction where A : BaseAc
protected static readonly A ActionA = new();
protected static readonly B ActionB = new();
public override int Level => ActionB.Level;
public override uint ActionId => ActionB.ActionId;
protected BaseComboAction()
{
Level = ActionB.Level;
ActionId = ActionB.ActionId;
IncreasesProgress = ActionA.IncreasesProgress || ActionB.IncreasesProgress;
IncreasesQuality = ActionA.IncreasesQuality || ActionB.IncreasesQuality;
}
public override bool IncreasesProgress => ActionA.IncreasesProgress || ActionB.IncreasesProgress;
public override bool IncreasesQuality => ActionA.IncreasesQuality || ActionB.IncreasesQuality;
public override int CPCost(Simulator s) => ActionA.CPCost(s) + ActionB.CPCost(s);
public override void CPCost(Simulator s, ref int cost)
{
var costTmp = 0;
ActionA.CPCost(s, ref costTmp);
cost += costTmp;
ActionB.CPCost(s, ref costTmp);
cost += costTmp;
}
public override bool IsPossible(Simulator s) => ActionA.IsPossible(s) && ActionB.IsPossible(s);
public override bool CouldUse(Simulator s) =>
BaseCouldUse(s) && VerifyDurability2(s, ActionA.DurabilityCost);
public override bool CouldUse(Simulator s, ref int cost) =>
BaseCouldUse(s, ref cost) && VerifyDurability2(s, ActionA.DurabilityCost);
public override void Use(Simulator s)
public override void Use(Simulator s, ref int cost, ref float success, ref int eff)
{
ActionA.Use(s);
ActionB.Use(s);
ActionA.Use(s, ref cost, ref success, ref eff);
ActionB.Use(s, ref cost, ref success, ref eff);
}
public override string GetTooltip(Simulator s, bool addUsability) =>