Separate SMN a bit. Ready for 5.1 release.

This commit is contained in:
attick 2019-10-28 16:30:09 -04:00
parent 70ddb95f52
commit 2828d096a7
4 changed files with 46 additions and 35 deletions

View file

@ -68,7 +68,6 @@ namespace XIVLauncher.Dalamud
// NINJA
[CustomComboInfo("Armor Crush Combo", "Replace Armor Crush with its combo chain", 30)]
NinjaArmorCrushCombo = 1L << 17,
@ -92,7 +91,7 @@ namespace XIVLauncher.Dalamud
[CustomComboInfo("Heated Clan Shot Combo/Heat", "Replace Heated Clan Shot with its combo chain or with Heat Blast when overheated.", 31)]
MachinistHeatedClanShotFeature = 1L << 23,
[CustomComboInfo("Spread Shot Heat", "Replace Spread Shot with Heat Blast when overheated.", 31)]
[CustomComboInfo("Spread Shot Heat", "Replace Spread Shot with Auto Crossbow when overheated.", 31)]
MachinistSpreadShotFeature = 1L << 24,
// BLACK MAGE
@ -103,12 +102,12 @@ namespace XIVLauncher.Dalamud
BlackManaFeature = 1L << 26,
// ASTROLOGIAN
[CustomComboInfo("Cards on Draw", "Play your Astrologian Cards on Draw.", 33)]
[CustomComboInfo("Draw on Play", "Play turns into Draw when no card is drawn, as well as the usual Play behavior.", 33)]
AstrologianCardsOnDrawFeature = 1L << 27,
// SUMMONER
[CustomComboInfo("Dreadwyrm Combiner", "Now comes with Dreadwyrm Trance, Deathflare, Summon Bahamut, Enkindle Bahamut, FBT, and Enkindle Phoenix.", 27)]
SummonerDwtCombo = 1L << 28,
[CustomComboInfo("Demi-summon combiners", "Dreadwyrm Trance, Summon Bahamut, and Firebird Trance are now one button. Deathflare, Enkindle Bahamut, and Enkindle Phoenix are now one button.", 27)]
SummonerDemiCombo = 1L << 28,
[CustomComboInfo("Brand of Purgatory Combo", "Replaces Fountain of Fire with Brand of Purgatory when under the affect of Hellish Conduit.", 27)]
SummonerBoPCombo = 1L << 38,
@ -127,21 +126,12 @@ namespace XIVLauncher.Dalamud
ScholarEnergyDrainFeature = 1L << 37,
// DANCER
[CustomComboInfo("Standard Step Combo", "Standard Step on one button.", 38)]
DancerStandardStepCombo = 1L << 30,
[CustomComboInfo("Technical Step Combo", "Technical Step on one button.", 38)]
DancerTechnicalStepCombo = 1L << 31,
[CustomComboInfo("AoE GCD procs", "Replaces all AoE GCDs with their procced version when available.", 38)]
DancerAoeGcdFeature = 1L << 32,
[CustomComboInfo("Fan Dance Combos", "Change Fan Dance and Fan Dance 2 into Fan Dance 3 while flourishing.", 38)]
DancerFanDanceCombo = 1L << 33,
[CustomComboInfo("Fountain Combos", "Fountain changes into Fountain combo, prioritizing procs over combo, and Fountainfall over Reverse Cascade.", 38)]
DancerFountainCombo = 1L << 34,
// WHITE MAGE
[CustomComboInfo("Solace into Misery", "Replaces Afflatus Solace with Afflatus Misery when Misery is ready to be used.", 24)]
WhiteMageSolaceMiseryFeature = 1L << 35,
@ -157,22 +147,8 @@ namespace XIVLauncher.Dalamud
BardStraightShotUpgradeFeature = 1L << 42,
// MONK
[CustomComboInfo("Flank Positional Combo", "Replaces Snap Punch with flank positionals according to stance. When PB is active, prefer Snao (with non-max GL) > Twin (with no TS active) > Bootshine.", 20)]
MonkFlankCombo = 1L << 43,
[CustomComboInfo("Rear Positional Combo", "Replaces Demolish with rear positionals according to stance. When PB is active, prefer Demo (with non-max GL) > Bootshine.", 20)]
MonkRearCombo = 1L << 44,
[CustomComboInfo("Rockbreaker Combo", "Replaces Rockbreaker according to stance. When PB is active, prefer RB (with non-max GL) > Twin Snakes (with no TS active) > RB.", 20)]
MonkAoECombo = 1L << 16,
// RED MAGE
[CustomComboInfo("One-button White Magic", "Replaces Verstone with the following priority: Scorch > Verholy > Dual/Swiftcast Veraero > Verstone proc > Opener Veraero > Jolt.", 35)]
RedMageWhiteMagicFeature = 1L << 46,
[CustomComboInfo("One-button Black Magic", "Replaces Verfire with the following priority: Scorch > Verflare > Dual/Swiftcast Verthunder > Verfire proc > Opener Verthunder > Jolt.", 35)]
RedMageBlackMagicFeature = 1L << 47,
[CustomComboInfo("Red Mage AoE Combo", "Replaces Veraero/thunder 2 with Impact when Dualcast or Swiftcast are active.", 35)]
RedMageAoECombo = 1L << 48,

View file

@ -21,6 +21,7 @@ namespace Dalamud.Game.ClientState.Structs.JobGauge {
}
public enum SummonPet : byte {
NONE = 0,
IFRIT = 3,
TITAN,
GARUDA

View file

@ -12,8 +12,8 @@ namespace Dalamud.Game.ClientState.Structs.JobGauge {
//Unfinished
[FieldOffset(0)] public short TimerRemaining;
[FieldOffset(2)] public byte ReturnSummon;
[FieldOffset(3)] public byte ReturnSummonGlam;
[FieldOffset(2)] public SummonPet ReturnSummon;
[FieldOffset(3)] public PetGlam ReturnSummonGlam;
[FieldOffset(4)] public byte NumStacks;
public bool IsPhoenixReady() {

View file

@ -383,7 +383,9 @@ namespace Dalamud.Game.Internal.Gui {
// For some reason the shots use their unheated IDs as combo moves
if (this.dalamud.Configuration.ComboPresets.HasFlag(CustomComboPreset.MachinistHeatedClanShotFeature)) {
if (actionID == 7413) {
if (this.dalamud.ClientState.JobGauges.Get<MCHGauge>().IsOverheated() && level >= 35) return 7410;
MCHGauge gauge = this.dalamud.ClientState.JobGauges.Get<MCHGauge>();
// End overheat slightly early to prevent eager button mashing clipping your gcd with a fake 6th HB.
if (gauge.IsOverheated() && level >= 35 && gauge.OverheatTimeRemaining > 30) return 7410;
if (comboTime > 0) {
if (lastMove == 2866) {
if (level >= 60) return 7412;
@ -465,6 +467,7 @@ namespace Dalamud.Game.Internal.Gui {
// DWT changes.
// Now contains DWT, Deathflare, Summon Bahamut, Enkindle Bahamut, FBT, and Enkindle Phoenix.
// What a monster of a button.
/*
if (this.dalamud.Configuration.ComboPresets.HasFlag(CustomComboPreset.SummonerDwtCombo)) {
if (actionID == 3581) {
SMNGauge gauge = this.dalamud.ClientState.JobGauges.Get<SMNGauge>();
@ -482,6 +485,26 @@ namespace Dalamud.Game.Internal.Gui {
}
}
}
*/
if (this.dalamud.Configuration.ComboPresets.HasFlag(CustomComboPreset.SummonerDemiCombo)) {
// Replace Deathflare with demi enkindles
if (actionID == 3582) {
SMNGauge gauge = this.dalamud.ClientState.JobGauges.Get<SMNGauge>();
if (gauge.IsPhoenixReady()) return 16516;
if (gauge.TimerRemaining > 0 && gauge.ReturnSummon != SummonPet.NONE) return 7429;
return 3582;
}
//Replace DWT with demi summons
if (actionID == 3581) {
SMNGauge gauge = this.dalamud.ClientState.JobGauges.Get<SMNGauge>();
if (gauge.IsBahamutReady()) return 7427;
if (gauge.IsPhoenixReady() ||
(gauge.TimerRemaining > 0 && gauge.ReturnSummon != SummonPet.NONE)) return 16513;
return 3581;
}
}
// Ruin 1 now upgrades to Brand of Purgatory in addition to Ruin 3 and Fountain of Fire
if (this.dalamud.Configuration.ComboPresets.HasFlag(CustomComboPreset.SummonerBoPCombo)) {
@ -538,6 +561,8 @@ namespace Dalamud.Game.Internal.Gui {
// DANCER
/*
// Standard Step is one button.
if (this.dalamud.Configuration.ComboPresets.HasFlag(CustomComboPreset.DancerStandardStepCombo)) {
if (actionID == 15997) {
@ -586,6 +611,8 @@ namespace Dalamud.Game.Internal.Gui {
}
}
*/
// AoE GCDs are split into two buttons, because priority matters
// differently in different single-target moments. Thanks yoship.
// Replaces each GCD with its procced version.
@ -601,9 +628,8 @@ namespace Dalamud.Game.Internal.Gui {
}
}
// Fan Dance changes into Fan Dance 3 while flourishing.
if (this.dalamud.Configuration.ComboPresets.HasFlag(CustomComboPreset.DancerFanDanceCombo)) {
// Fan Dance changes into Fan Dance 3 while flourishing.
if (actionID == 16007) {
if (SearchBuffArray(1820)) return 16009;
@ -663,6 +689,8 @@ namespace Dalamud.Game.Internal.Gui {
// MONK
/*
// Replace Snap Punch with flank positional combo.
// During PB, Snap (with sub-max stacks) > Twin (with no active Twin) > DK
if (this.dalamud.Configuration.ComboPresets.HasFlag(CustomComboPreset.MonkFlankCombo)) {
@ -737,8 +765,12 @@ namespace Dalamud.Game.Internal.Gui {
}
}
*/
// RED MAGE
/*
// Replace Verstone with White Magic spells. Priority order:
// Scorch > Verholy > Verstone = Veraero (with Dualcast active) > opener Veraero > Jolt
// Impact is not the first available spell to allow for precast openers.
@ -770,7 +802,7 @@ namespace Dalamud.Game.Internal.Gui {
return 7503;
}
}
*/
// Replace Veraero/thunder 2 with Impact when Dualcast is active
if (this.dalamud.Configuration.ComboPresets.HasFlag(CustomComboPreset.RedMageAoECombo)) {
if (actionID == 16525) {
@ -784,6 +816,8 @@ namespace Dalamud.Game.Internal.Gui {
}
}
// Replace Redoublement with Redoublement combo, Enchanted if possible.
if (this.dalamud.Configuration.ComboPresets.HasFlag(CustomComboPreset.RedMageMeleeCombo)) {
if (actionID == 7516) {