Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rotation updates #408

Merged
merged 3 commits into from
Aug 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions BossMod/ActionQueue/Melee/DRG.cs
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ public enum SID : uint
Stun = 2, // applied by Leg Sweep to target
NastrondReady = 3844, // applied by Geirskogul to self
DragonsFlight = 3845, // applied by Dragonfire Dive to self
StarcrossReady = 3846, // applied by Stardiver to self
}

public sealed class Definitions : IDisposable
Expand Down
127 changes: 74 additions & 53 deletions BossMod/ActionQueue/Melee/RPR.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,50 +5,55 @@ public enum AID : uint
None = 0,
Sprint = ClassShared.AID.Sprint,

TheEnd = 24858, // LB3, 4.5s cast, range 8, single-target, targets=hostile, animLock=???, castAnimLock=3.700
Slice = 24373, // L1, instant, GCD, range 3, single-target, targets=hostile
WaxingSlice = 24374, // L5, instant, GCD, range 3, single-target, targets=hostile
ShadowofDeath = 24378, // L10, instant, GCD, range 3, single-target, targets=hostile
Harpe = 24386, // L15, 1.3s cast, GCD, range 25, single-target, targets=hostile
HellsIngress = 24401, // L20, instant, 20.0s CD (group 3), range 0, single-target, targets=self, animLock=0.800
HellsEgress = 24402, // L20, instant, 20.0s CD (group 3), range 0, single-target, targets=self, animLock=0.800
SpinningScythe = 24376, // L25, instant, GCD, range 0, AOE 5 circle, targets=self
InfernalSlice = 24375, // L30, instant, GCD, range 3, single-target, targets=hostile
WhorlofDeath = 24379, // L35, instant, GCD, range 0, AOE 5 circle, targets=self
ArcaneCrest = 24404, // L40, instant, 30.0s CD (group 5), range 0, single-target, targets=self
NightmareScythe = 24377, // L45, instant, GCD, range 0, AOE 5 circle, targets=self
BloodStalk = 24389, // L50, instant, 1.0s CD (group 0), range 3, single-target, targets=hostile
GrimSwathe = 24392, // L55, instant, 1.0s CD (group 0), range 8, AOE 8+R ?-degree cone, targets=hostile
SoulSlice = 24380, // L60, instant, 30.0s CD (group 4/57), range 3, single-target, targets=hostile
SoulScythe = 24381, // L65, instant, 30.0s CD (group 4/57), range 0, AOE 5 circle, targets=self
UnveiledGibbet = 24390, // L70, instant, 1.0s CD (group 0), range 3, single-target, targets=hostile
Gibbet = 24382, // L70, instant, GCD, range 3, single-target, targets=hostile
UnveiledGallows = 24391, // L70, instant, 1.0s CD (group 0), range 3, single-target, targets=hostile
Gallows = 24383, // L70, instant, GCD, range 3, single-target, targets=hostile
Guillotine = 24384, // L70, instant, GCD, range 8, AOE 8+R ?-degree cone, targets=hostile
ArcaneCircle = 24405, // L72, instant, 120.0s CD (group 14), range 0, AOE 30 circle, targets=self
Regress = 24403, // L74, instant, 10.0s CD (group 1), range 30, ???, targets=area, animLock=0.800
Gluttony = 24393, // L76, instant, 60.0s CD (group 9), range 25, AOE 5 circle, targets=hostile
Enshroud = 24394, // L80, instant, 15.0s CD (group 2), range 0, single-target, targets=self
VoidReaping = 24395, // L80, instant, GCD, range 3, single-target, targets=hostile
CrossReaping = 24396, // L80, instant, GCD, range 3, single-target, targets=hostile
GrimReaping = 24397, // L80, instant, GCD, range 8, AOE 8+R ?-degree cone, targets=hostile
HarvestMoon = 24388, // L82, instant, GCD, range 25, AOE 5 circle, targets=hostile
SoulSow = 24387, // L82, 5.0s cast, GCD, range 0, single-target, targets=self
LemuresSlice = 24399, // L86, instant, 1.0s CD (group 0), range 3, single-target, targets=hostile
LemuresScythe = 24400, // L86, instant, 1.0s CD (group 0), range 8, AOE 8+R ?-degree cone, targets=hostile
PlentifulHarvest = 24385, // L88, instant, GCD, range 15, AOE 15+R width 4 rect, targets=hostile
Communio = 24398, // L90, 1.3s cast, GCD, range 25, AOE 5 circle, targets=hostile, animLock=???
TheEnd = 24858, // LB3, 4.5s cast, range 8, single-target, targets=Hostile, animLock=3.700s?
Slice = 24373, // L1, instant, GCD, range 3, single-target, targets=Hostile
WaxingSlice = 24374, // L5, instant, GCD, range 3, single-target, targets=Hostile
ShadowofDeath = 24378, // L10, instant, GCD, range 3, single-target, targets=Hostile
Harpe = 24386, // L15, 1.3s cast, GCD, range 25, single-target, targets=Hostile
HellsEgress = 24402, // L20, instant, 20.0s CD (group 4), range 0, single-target, targets=Self, animLock=0.800s?
HellsIngress = 24401, // L20, instant, 20.0s CD (group 4), range 0, single-target, targets=Self, animLock=0.800s?
SpinningScythe = 24376, // L25, instant, GCD, range 0, AOE 5 circle, targets=Self
InfernalSlice = 24375, // L30, instant, GCD, range 3, single-target, targets=Hostile
WhorlofDeath = 24379, // L35, instant, GCD, range 0, AOE 5 circle, targets=Self
ArcaneCrest = 24404, // L40, instant, 30.0s CD (group 6), range 0, single-target, targets=Self
NightmareScythe = 24377, // L45, instant, GCD, range 0, AOE 5 circle, targets=Self
BloodStalk = 24389, // L50, instant, 1.0s CD (group 0), range 3, single-target, targets=Hostile
GrimSwathe = 24392, // L55, instant, 1.0s CD (group 0), range 8, AOE 8+R ?-degree cone, targets=Hostile
SoulSlice = 24380, // L60, instant, 30.0s CD (group 8/57) (1-2 charges), range 3, single-target, targets=Hostile
SoulScythe = 24381, // L65, instant, 30.0s CD (group 8/57) (1-2 charges), range 0, AOE 5 circle, targets=Self
UnveiledGibbet = 24390, // L70, instant, 1.0s CD (group 0), range 3, single-target, targets=Hostile
Guillotine = 24384, // L70, instant, GCD, range 8, AOE 8+R ?-degree cone, targets=Hostile
Gibbet = 24382, // L70, instant, GCD, range 3, single-target, targets=Hostile
Gallows = 24383, // L70, instant, GCD, range 3, single-target, targets=Hostile
UnveiledGallows = 24391, // L70, instant, 1.0s CD (group 0), range 3, single-target, targets=Hostile
ArcaneCircle = 24405, // L72, instant, 120.0s CD (group 21), range 0, AOE 30 circle, targets=Self
Regress = 24403, // L74, instant, 1.0s CD (group 1), range 30, ???, targets=Area, animLock=0.800s?
Gluttony = 24393, // L76, instant, 60.0s CD (group 12), range 25, AOE 5 circle, targets=Hostile
GrimReaping = 24397, // L80, instant, GCD, range 8, AOE 8+R ?-degree cone, targets=Hostile
CrossReaping = 24396, // L80, instant, GCD, range 3, single-target, targets=Hostile
VoidReaping = 24395, // L80, instant, GCD, range 3, single-target, targets=Hostile
Enshroud = 24394, // L80, instant, 15.0s CD (group 3), range 0, single-target, targets=Self
SoulSow = 24387, // L82, 5.0s cast, GCD, range 0, single-target, targets=Self
HarvestMoon = 24388, // L82, instant, GCD, range 25, AOE 5 circle, targets=Hostile
LemuresSlice = 24399, // L86, instant, 1.0s CD (group 0), range 3, single-target, targets=Hostile
LemuresScythe = 24400, // L86, instant, 1.0s CD (group 0), range 8, AOE 8+R ?-degree cone, targets=Hostile
PlentifulHarvest = 24385, // L88, instant, GCD, range 15, AOE 15+R width 4 rect, targets=Hostile
Communio = 24398, // L90, 1.3s cast, GCD, range 25, AOE 5 circle, targets=Hostile
Sacrificium = 36969, // L92, instant, 1.0s CD (group 2), range 25, AOE 5 circle, targets=Hostile, animLock=???
ExecutionersGibbet = 36970, // L96, instant, GCD, range 3, single-target, targets=Hostile, animLock=???
ExecutionersGallows = 36971, // L96, instant, GCD, range 3, single-target, targets=Hostile, animLock=???
ExecutionersGuillotine = 36972, // L96, instant, GCD, range 8, AOE 8+R ?-degree cone, targets=Hostile, animLock=???
Perfectio = 36973, // L100, instant, GCD, range 25, AOE 5 circle, targets=Hostile, animLock=???

// Shared
Braver = ClassShared.AID.Braver, // LB1, 2.0s cast, range 8, single-target, targets=hostile, castAnimLock=3.860
Bladedance = ClassShared.AID.Bladedance, // LB2, 3.0s cast, range 8, single-target, targets=hostile, castAnimLock=3.860
SecondWind = ClassShared.AID.SecondWind, // L8, instant, 120.0s CD (group 49), range 0, single-target, targets=self
LegSweep = ClassShared.AID.LegSweep, // L10, instant, 40.0s CD (group 41), range 3, single-target, targets=hostile
Bloodbath = ClassShared.AID.Bloodbath, // L12, instant, 90.0s CD (group 46), range 0, single-target, targets=self
Feint = ClassShared.AID.Feint, // L22, instant, 90.0s CD (group 47), range 10, single-target, targets=hostile
ArmsLength = ClassShared.AID.ArmsLength, // L32, instant, 120.0s CD (group 48), range 0, single-target, targets=self
TrueNorth = ClassShared.AID.TrueNorth, // L50, instant, 45.0s CD (group 45/50) (2 charges), range 0, single-target, targets=self
Braver = ClassShared.AID.Braver, // LB1, 2.0s cast, range 8, single-target, targets=Hostile, animLock=3.860s?
Bladedance = ClassShared.AID.Bladedance, // LB2, 3.0s cast, range 8, single-target, targets=Hostile, animLock=3.860s?
SecondWind = ClassShared.AID.SecondWind, // L8, instant, 120.0s CD (group 49), range 0, single-target, targets=Self
LegSweep = ClassShared.AID.LegSweep, // L10, instant, 40.0s CD (group 43), range 3, single-target, targets=Hostile
Bloodbath = ClassShared.AID.Bloodbath, // L12, instant, 90.0s CD (group 46), range 0, single-target, targets=Self
Feint = ClassShared.AID.Feint, // L22, instant, 90.0s CD (group 47), range 10, single-target, targets=Hostile
ArmsLength = ClassShared.AID.ArmsLength, // L32, instant, 120.0s CD (group 48), range 0, single-target, targets=Self
TrueNorth = ClassShared.AID.TrueNorth, // L50, instant, 45.0s CD (group 45/50) (2 charges), range 0, single-target, targets=Self
}

public enum TraitID : uint
Expand All @@ -64,6 +69,12 @@ public enum TraitID : uint
DeathScytheMastery2 = 523, // L84
EnhancedShroud = 386, // L86
EnhancedArcaneCircle = 387, // L88
EnhancedEnshroud = 594, // L92
EnhancedSecondWind = 642, // L94
MeleeMasteryIII = 657, // L94
EnhancedGluttony = 596, // L96
EnhancedFeint = 641, // L98
EnhancedPlentifulHarvest = 597, // L100
}

// TODO: regenerate
Expand All @@ -88,6 +99,11 @@ public enum SID : uint
Bloodbath = 84,
Feint = 1195,
Stun = 2,
IdealHost = 3905,
Oblatio = 3857,
Executioner = 3858,
PerfectioOcculta = 3859,
PerfectioParata = 3860
}

public sealed class Definitions : IDisposable
Expand All @@ -96,13 +112,13 @@ public sealed class Definitions : IDisposable

public Definitions(ActionDefinitions d)
{
d.RegisterSpell(AID.TheEnd, castAnimLock: 3.70f); // animLock=???, castAnimLock=3.700
d.RegisterSpell(AID.TheEnd, castAnimLock: 3.70f); // animLock=3.700s?
d.RegisterSpell(AID.Slice);
d.RegisterSpell(AID.WaxingSlice);
d.RegisterSpell(AID.ShadowofDeath);
d.RegisterSpell(AID.Harpe);
d.RegisterSpell(AID.HellsIngress, instantAnimLock: 0.80f); // animLock=0.800
d.RegisterSpell(AID.HellsEgress, instantAnimLock: 0.80f); // animLock=0.800
d.RegisterSpell(AID.HellsEgress, instantAnimLock: 0.80f); // animLock=0.800s?
d.RegisterSpell(AID.HellsIngress, instantAnimLock: 0.80f); // animLock=0.800s?
d.RegisterSpell(AID.SpinningScythe);
d.RegisterSpell(AID.InfernalSlice);
d.RegisterSpell(AID.WhorlofDeath);
Expand All @@ -113,23 +129,28 @@ public Definitions(ActionDefinitions d)
d.RegisterSpell(AID.SoulSlice);
d.RegisterSpell(AID.SoulScythe);
d.RegisterSpell(AID.UnveiledGibbet);
d.RegisterSpell(AID.Guillotine);
d.RegisterSpell(AID.Gibbet);
d.RegisterSpell(AID.UnveiledGallows);
d.RegisterSpell(AID.Gallows);
d.RegisterSpell(AID.Guillotine);
d.RegisterSpell(AID.UnveiledGallows);
d.RegisterSpell(AID.ArcaneCircle);
d.RegisterSpell(AID.Regress, instantAnimLock: 0.80f); // animLock=0.800
d.RegisterSpell(AID.Regress, instantAnimLock: 0.80f); // animLock=0.800s?
d.RegisterSpell(AID.Gluttony);
d.RegisterSpell(AID.Enshroud);
d.RegisterSpell(AID.VoidReaping);
d.RegisterSpell(AID.CrossReaping);
d.RegisterSpell(AID.GrimReaping);
d.RegisterSpell(AID.HarvestMoon);
d.RegisterSpell(AID.CrossReaping);
d.RegisterSpell(AID.VoidReaping);
d.RegisterSpell(AID.Enshroud);
d.RegisterSpell(AID.SoulSow);
d.RegisterSpell(AID.HarvestMoon);
d.RegisterSpell(AID.LemuresSlice);
d.RegisterSpell(AID.LemuresScythe);
d.RegisterSpell(AID.PlentifulHarvest);
d.RegisterSpell(AID.Communio); // animLock=???
d.RegisterSpell(AID.Communio);
d.RegisterSpell(AID.Sacrificium); // animLock=???
d.RegisterSpell(AID.ExecutionersGibbet); // animLock=???
d.RegisterSpell(AID.ExecutionersGallows); // animLock=???
d.RegisterSpell(AID.ExecutionersGuillotine); // animLock=???
d.RegisterSpell(AID.Perfectio); // animLock=???

Customize(d);
}
Expand Down
Loading
Loading