Skip to content

Commit

Permalink
Fixed CA warnings.
Browse files Browse the repository at this point in the history
  • Loading branch information
awgil committed Jul 6, 2024
1 parent 796a95e commit 1c7f22f
Show file tree
Hide file tree
Showing 16 changed files with 50 additions and 55 deletions.
17 changes: 6 additions & 11 deletions BossMod/Autorotation/Legacy/CommonState.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,29 +24,24 @@ public abstract class CommonState(RotationModule module)
public bool NextPositionalImminent; // true if next positional will happen on next gcd
public bool NextPositionalCorrect; // true if correctly positioned for next positional

// these simply point to client state
public Cooldown[] Cooldowns => Module.World.Client.Cooldowns;
public ActionID[] DutyActions => Module.World.Client.DutyActions;
public byte[] BozjaHolster => Module.World.Client.BozjaHolster;

// both 2.5 max (unless slowed), reduced by gear attributes and certain status effects
public float AttackGCDTime;
public float SpellGCDTime;

// find a slot containing specified duty action; returns -1 if not found
public int FindDutyActionSlot(ActionID action) => Array.IndexOf(DutyActions, action);
public int FindDutyActionSlot(ActionID action) => Array.IndexOf(Module.World.Client.DutyActions, action);
// find a slot containing specified duty action, if other duty action is the specified one; returns -1 if not found, or other action is different
public int FindDutyActionSlot(ActionID action, ActionID other)
{
var slot = FindDutyActionSlot(action);
return slot >= 0 && DutyActions[1 - slot] == other ? slot : -1;
return slot >= 0 && Module.World.Client.DutyActions[1 - slot] == other ? slot : -1;
}

public float GCD => Cooldowns[ActionDefinitions.GCDGroup].Remaining; // 2.5 max (decreased by SkS), 0 if not on gcd
public float PotionCD => Cooldowns[ActionDefinitions.PotionCDGroup].Remaining; // variable max
public float CD<AID>(AID aid) where AID : Enum => Cooldowns[ActionDefinitions.Instance.Spell(aid)!.MainCooldownGroup].Remaining;
public float GCD => Module.World.Client.Cooldowns[ActionDefinitions.GCDGroup].Remaining; // 2.5 max (decreased by SkS), 0 if not on gcd
public float PotionCD => Module.World.Client.Cooldowns[ActionDefinitions.PotionCDGroup].Remaining; // variable max
public float CD<AID>(AID aid) where AID : Enum => Module.World.Client.Cooldowns[ActionDefinitions.Instance.Spell(aid)!.MainCooldownGroup].Remaining;

public float DutyActionCD(int slot) => slot is >= 0 and < 2 ? Cooldowns[ActionDefinitions.DutyAction0CDGroup + slot].Remaining : float.MaxValue;
public float DutyActionCD(int slot) => slot is >= 0 and < 2 ? Module.World.Client.Cooldowns[ActionDefinitions.DutyAction0CDGroup + slot].Remaining : float.MaxValue;
public float DutyActionCD(ActionID action) => DutyActionCD(FindDutyActionSlot(action));

// check whether weaving typical ogcd off cooldown would end its animation lock by the specified deadline
Expand Down
48 changes: 24 additions & 24 deletions BossMod/Autorotation/Legacy/LegacyGNB.cs
Original file line number Diff line number Diff line change
Expand Up @@ -176,12 +176,12 @@ public override void Execute(StrategyValues strategy, Actor? primaryTarget)
private int NumTargetsHitByAOE() => Hints.NumPriorityTargetsInAOECircle(Player.Position, 5);

// old GNBRotation
private int GaugeGainedFromAction(GNB.AID action) => action switch
{
GNB.AID.SolidBarrel or GNB.AID.DemonSlaughter => 1,
GNB.AID.Bloodfest => _state.Unlocked(GNB.TraitID.CartridgeChargeII) ? 3 : 2,
_ => 0
};
//private int GaugeGainedFromAction(GNB.AID action) => action switch
//{
// GNB.AID.SolidBarrel or GNB.AID.DemonSlaughter => 1,
// GNB.AID.Bloodfest => _state.Unlocked(GNB.TraitID.CartridgeChargeII) ? 3 : 2,
// _ => 0
//};

private int GetSTComboLength(GNB.AID comboLastMove) => comboLastMove switch
{
Expand All @@ -192,12 +192,12 @@ public override void Execute(StrategyValues strategy, Actor? primaryTarget)

private int GetAOEComboLength(GNB.AID comboLastMove) => comboLastMove == GNB.AID.DemonSlice ? 1 : 2;

private GNB.AID GetNextSTComboAction(GNB.AID comboLastMove, GNB.AID finisher) => comboLastMove switch
{
GNB.AID.BrutalShell => finisher,
GNB.AID.KeenEdge => GNB.AID.BrutalShell,
_ => GNB.AID.KeenEdge
};
//private GNB.AID GetNextSTComboAction(GNB.AID comboLastMove, GNB.AID finisher) => comboLastMove switch
//{
// GNB.AID.BrutalShell => finisher,
// GNB.AID.KeenEdge => GNB.AID.BrutalShell,
// _ => GNB.AID.KeenEdge
//};

private GNB.AID GetNextBrutalShellComboAction(GNB.AID comboLastMove)
{
Expand Down Expand Up @@ -688,18 +688,18 @@ private GNB.AID GetNextAmmoAction(StrategyValues strategy, bool aoe)
return GetNextUnlockedComboAction(strategy, aoe);
}

private bool ShouldSpendGauge(StrategyValues strategy, bool aoe) => strategy.Option(Track.Gauge).As<GaugeStrategy>() switch
{
GaugeStrategy.Automatic or GaugeStrategy.LightningShotIfNotInMelee => (_state.RaidBuffsLeft > _state.GCD || _state.FightEndIn <= _state.RaidBuffsIn + 10),
GaugeStrategy.Spend => true,
GaugeStrategy.ForceST => true,
GaugeStrategy.ForceAOE => true,
GaugeStrategy.ForceGF => true,
GaugeStrategy.Hold => true,
GaugeStrategy.ComboFitBeforeDowntime => _state.FightEndIn <= _state.GCD + 2.5f * ((aoe ? GetAOEComboLength(_state.ComboLastMove) : GetSTComboLength(_state.ComboLastMove)) - 1),
GaugeStrategy.PenultimateComboThenSpend => _state.ComboLastMove is GNB.AID.BrutalShell or GNB.AID.DemonSlice,
_ => true
};
//private bool ShouldSpendGauge(StrategyValues strategy, bool aoe) => strategy.Option(Track.Gauge).As<GaugeStrategy>() switch
//{
// GaugeStrategy.Automatic or GaugeStrategy.LightningShotIfNotInMelee => (_state.RaidBuffsLeft > _state.GCD || _state.FightEndIn <= _state.RaidBuffsIn + 10),
// GaugeStrategy.Spend => true,
// GaugeStrategy.ForceST => true,
// GaugeStrategy.ForceAOE => true,
// GaugeStrategy.ForceGF => true,
// GaugeStrategy.Hold => true,
// GaugeStrategy.ComboFitBeforeDowntime => _state.FightEndIn <= _state.GCD + 2.5f * ((aoe ? GetAOEComboLength(_state.ComboLastMove) : GetSTComboLength(_state.ComboLastMove)) - 1),
// GaugeStrategy.PenultimateComboThenSpend => _state.ComboLastMove is GNB.AID.BrutalShell or GNB.AID.DemonSlice,
// _ => true
//};

private bool ShouldUsePotion(StrategyValues strategy) => strategy.Option(Track.Potion).As<PotionStrategy>() switch
{
Expand Down
2 changes: 1 addition & 1 deletion BossMod/Autorotation/Legacy/LegacyMNK.cs
Original file line number Diff line number Diff line change
Expand Up @@ -519,7 +519,7 @@ private ActionID GetNextBestOGCD(StrategyValues strategy, float deadline, float
var fop = BozjaActionID.GetNormal(BozjaHolsterID.LostFontOfPower);
var ex = BozjaActionID.GetNormal(BozjaHolsterID.LostExcellence);

var hsacInBag = _state.BozjaHolster[(int)BozjaHolsterID.BannerHonoredSacrifice] > 0;
var hsacInBag = _state.Module.World.Client.BozjaHolster[(int)BozjaHolsterID.BannerHonoredSacrifice] > 0;
var hsacSlot = _state.FindDutyActionSlot(hsac, fop);
var exSlot = _state.FindDutyActionSlot(ex, fop);

Expand Down
4 changes: 2 additions & 2 deletions BossMod/Autorotation/Strategy.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ public record struct StrategyValue()
public string Comment = ""; // user-editable comment string
}

public record struct StrategyValues(List<StrategyConfig> Configs)
public readonly record struct StrategyValues(List<StrategyConfig> Configs)
{
public StrategyValue[] Values = Utils.MakeArray(Configs.Count, new StrategyValue());
public readonly StrategyValue[] Values = Utils.MakeArray(Configs.Count, new StrategyValue());

// unfortunately, c# doesn't support partial type inference, and forcing user to spell out track enum twice is obnoxious, so here's the hopefully cheap solution
public readonly ref struct OptionRef(ref StrategyConfig config, ref StrategyValue value)
Expand Down
2 changes: 1 addition & 1 deletion BossMod/Autorotation/Utility/ClassBRDUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ public sealed class ClassBRDUtility(RotationModuleManager manager, Actor player)
{
public enum Track { WardensPaean = SharedTrack.Count, Troubadour, NaturesMinne }

public static ActionID IDLimitBreak3 = ActionID.MakeSpell(BRD.AID.SagittariusArrow);
public static readonly ActionID IDLimitBreak3 = ActionID.MakeSpell(BRD.AID.SagittariusArrow);

public static RotationModuleDefinition Definition()
{
Expand Down
2 changes: 1 addition & 1 deletion BossMod/Autorotation/Utility/ClassDNCUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ public sealed class ClassDNCUtility(RotationModuleManager manager, Actor player)
{
public enum Track { CuringWaltz = SharedTrack.Count, ShieldSamba, Improvisation }

public static ActionID IDLimitBreak3 = ActionID.MakeSpell(DNC.AID.CrimsonLotus);
public static readonly ActionID IDLimitBreak3 = ActionID.MakeSpell(DNC.AID.CrimsonLotus);

public static RotationModuleDefinition Definition()
{
Expand Down
2 changes: 1 addition & 1 deletion BossMod/Autorotation/Utility/ClassDRGUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ public sealed class ClassDRGUtility(RotationModuleManager manager, Actor player)
{
//public enum Track { ElusiveJump = SharedTrack.Count }

public static ActionID IDLimitBreak3 = ActionID.MakeSpell(DRG.AID.DragonsongDive);
public static readonly ActionID IDLimitBreak3 = ActionID.MakeSpell(DRG.AID.DragonsongDive);

public static RotationModuleDefinition Definition()
{
Expand Down
2 changes: 1 addition & 1 deletion BossMod/Autorotation/Utility/ClassGNBUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ public sealed class ClassGNBUtility(RotationModuleManager manager, Actor player)
public enum Track { Camouflage = SharedTrack.Count, Nebula, Aurora, Superbolide, HeartOfLight, HeartOfCorundum }
public enum HoCOption { None, HeartOfStone, HeartOfCorundum }

public static ActionID IDLimitBreak3 = ActionID.MakeSpell(GNB.AID.GunmetalSoul);
public static readonly ActionID IDLimitBreak3 = ActionID.MakeSpell(GNB.AID.GunmetalSoul);

public static RotationModuleDefinition Definition()
{
Expand Down
2 changes: 1 addition & 1 deletion BossMod/Autorotation/Utility/ClassMNKUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ public sealed class ClassMNKUtility(RotationModuleManager manager, Actor player)
{
public enum Track { Mantra = SharedTrack.Count, RiddleOfEarth }

public static ActionID IDLimitBreak3 = ActionID.MakeSpell(MNK.AID.FinalHeaven);
public static readonly ActionID IDLimitBreak3 = ActionID.MakeSpell(MNK.AID.FinalHeaven);

public static RotationModuleDefinition Definition()
{
Expand Down
2 changes: 1 addition & 1 deletion BossMod/Autorotation/Utility/ClassPLDUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ public sealed class ClassPLDUtility(RotationModuleManager manager, Actor player)
public enum Track { Sheltron = SharedTrack.Count, Sentinel, HallowedGround }
public enum BWOption { None, Bloodwhetting, RawIntuition, NascentFlash }

public static ActionID IDLimitBreak3 = ActionID.MakeSpell(PLD.AID.LastBastion);
public static readonly ActionID IDLimitBreak3 = ActionID.MakeSpell(PLD.AID.LastBastion);

public static RotationModuleDefinition Definition()
{
Expand Down
2 changes: 1 addition & 1 deletion BossMod/Autorotation/Utility/ClassRPRUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ public sealed class ClassRPRUtility(RotationModuleManager manager, Actor player)
{
public enum Track { ArcaneCrest = SharedTrack.Count }

public static ActionID IDLimitBreak3 = ActionID.MakeSpell(RPR.AID.TheEnd);
public static readonly ActionID IDLimitBreak3 = ActionID.MakeSpell(RPR.AID.TheEnd);

public static RotationModuleDefinition Definition()
{
Expand Down
2 changes: 1 addition & 1 deletion BossMod/Autorotation/Utility/ClassSAMUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ public sealed class ClassSAMUtility(RotationModuleManager manager, Actor player)
{
public enum Track { ThirdEye = SharedTrack.Count }

public static ActionID IDLimitBreak3 = ActionID.MakeSpell(SAM.AID.DoomOfTheLiving);
public static readonly ActionID IDLimitBreak3 = ActionID.MakeSpell(SAM.AID.DoomOfTheLiving);

public static RotationModuleDefinition Definition()
{
Expand Down
2 changes: 1 addition & 1 deletion BossMod/Autorotation/Utility/ClassWARUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ public sealed class ClassWARUtility(RotationModuleManager manager, Actor player)
public enum Track { Thrill = SharedTrack.Count, Vengeance, Holmgang, Bloodwhetting, Equilibrium, ShakeItOff }
public enum BWOption { None, Bloodwhetting, RawIntuition, NascentFlash }

public static ActionID IDLimitBreak3 = ActionID.MakeSpell(WAR.AID.LandWaker);
public static readonly ActionID IDLimitBreak3 = ActionID.MakeSpell(WAR.AID.LandWaker);

public static RotationModuleDefinition Definition()
{
Expand Down
12 changes: 6 additions & 6 deletions BossMod/Framework/IPCProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ private void Register<TRet, T1>(string name, Func<TRet, T1> func)
_disposeActions += p.UnregisterFunc;
}

private void Register(string name, Action func)
{
var p = Service.PluginInterface.GetIpcProvider<object>("BossMod." + name);
p.RegisterAction(func);
_disposeActions += p.UnregisterAction;
}
//private void Register(string name, Action func)
//{
// var p = Service.PluginInterface.GetIpcProvider<object>("BossMod." + name);
// p.RegisterAction(func);
// _disposeActions += p.UnregisterAction;
//}

//private void Register<T1>(string name, Action<T1> func)
//{
Expand Down
2 changes: 1 addition & 1 deletion BossMod/Replay/Analysis/ClassDefinitions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,7 @@ public void Group(string group, IEnumerable<ActionData> actions, bool allowClass
}

public string Comment(ActionData action, bool allowClasses)
=> $"{LevelString(action, allowClasses)}, {CastTimeString(action)}{CooldownString(action)}{ChargesString(action)}, range {ActionDefinitions.Instance.ActionRange(action.ID, action.IsPhysRanged)}, {DescribeShape(action.Row)}, targets={ActionDefinitions.Instance.ActionAllowedTargets(action.ID).ToString().Replace(", ", "/")}{AnimLockString(action)}";
=> $"{LevelString(action, allowClasses)}, {CastTimeString(action)}{CooldownString(action)}{ChargesString(action)}, range {ActionDefinitions.Instance.ActionRange(action.ID, action.IsPhysRanged)}, {DescribeShape(action.Row)}, targets={ActionDefinitions.Instance.ActionAllowedTargets(action.ID).ToString().Replace(", ", "/", StringComparison.InvariantCulture)}{AnimLockString(action)}";

private string LevelString(ActionData action, bool allowClasses)
{
Expand Down
2 changes: 1 addition & 1 deletion BossMod/Replay/Visualization/ReplayDetailsWindow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ private void DrawAI()
ResetPF();
}

private string FlagTransitionString((bool active, float transIn) arg) => $"{(arg.active ? "end" : "start")} in {arg.transIn:f2}s";
//private string FlagTransitionString((bool active, float transIn) arg) => $"{(arg.active ? "end" : "start")} in {arg.transIn:f2}s";

private void MoveTo(DateTime t)
{
Expand Down

0 comments on commit 1c7f22f

Please sign in to comment.