Skip to content

Commit

Permalink
Merge pull request #481 from kaedys/feature/smn-primal-favor-feature
Browse files Browse the repository at this point in the history
[FEATURE] [SMN] Primal Favor feature
  • Loading branch information
MKhayle authored Dec 13, 2024
2 parents e3c762a + 825e551 commit 08c3d5f
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 3 deletions.
31 changes: 30 additions & 1 deletion XIVComboExpanded/Combos/SMN.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,8 @@ public const ushort
GarudasFavor = 2725,
TitansFavor = 2853,
RubysGlimmer = 3873,
LuxSolarisReady = 3874;
LuxSolarisReady = 3874,
CrimsonStrikeReady = 4403;
}

public static class Debuffs
Expand Down Expand Up @@ -324,3 +325,31 @@ protected override uint Invoke(uint actionID, uint lastComboMove, float comboTim
return actionID;
}
}

internal class SummonerPrimalSummons : CustomCombo
{
protected internal override CustomComboPreset Preset { get; } = CustomComboPreset.SummonerPrimalFavorFeature;

protected override uint Invoke(uint actionID, uint lastComboMove, float comboTime, byte level)
{
if (actionID == SMN.SummonRuby || actionID == SMN.SummonIfrit || actionID == SMN.SummonIfrit2)
{
if (HasEffect(SMN.Buffs.IfritsFavor) || HasEffect(SMN.Buffs.CrimsonStrikeReady))
return OriginalHook(SMN.AstralFlow);
}

if (actionID == SMN.SummonEmerald || actionID == SMN.SummonGaruda || actionID == SMN.SummonGaruda2)
{
if (HasEffect(SMN.Buffs.GarudasFavor))
return OriginalHook(SMN.AstralFlow);
}

if (actionID == SMN.SummonTopaz || actionID == SMN.SummonTitan || actionID == SMN.SummonTitan2)
{
if (HasEffect(SMN.Buffs.TitansFavor))
return OriginalHook(SMN.AstralFlow);
}

return actionID;
}
}
10 changes: 8 additions & 2 deletions XIVComboExpanded/CustomComboPreset.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2354,10 +2354,16 @@ public enum CustomComboPreset

[IconsCombo([SMN.SummonBahamut, SMN.SummonPhoenix, SMN.SummonSolarBahamut, UTL.ArrowLeft, SMN.SearingLight, UTL.Blank, SMN.Buffs.RubysGlimmer, UTL.Checkmark, UTL.Plus, SMN.SummonBahamut, SMN.SummonPhoenix, SMN.SummonSolarBahamut, UTL.Clock])]
[SectionCombo("Summons features")]
[SecretCustomCombo]
[CustomComboInfo("Searing Demi Flash Feature", "Replace Summon Bahamut, Summon Phoenix and Summon Solar Bahamut with Searing Light when Ruby's Glimmer is available, Searing Light is off cooldown, Summon Demi is on cooldown, and you are in combat.", SMN.JobID)]
[AccessibilityCustomCombo]
[CustomComboInfo("Searing Demi Flash Feature", "Replace Summon Bahamut, Summon Phoenix and Summon Solar Bahamut with Searing Light when Ruby's Glimmer is available or Searing Light is off cooldown, and Summon Demi is on cooldown and you are in combat.", SMN.JobID)]
SummonerSearingDemiFlashFeature = 2719,

[IconsCombo([SMN.SummonIfrit, SMN.SummonGaruda, SMN.SummonTitan, UTL.ArrowLeft, SMN.AstralFlow, UTL.Blank, SMN.Buffs.IfritsFavor, SMN.Buffs.GarudasFavor, SMN.Buffs.TitansFavor, UTL.Checkmark])]
[SectionCombo("Summons features")]
[ExpandedCustomCombo]
[CustomComboInfo("Primal Favor Feature", "Replace Summon Ifrit, Summon Garuda, and Summon Titan with their respective Astral Flow action when their respective Favor buff is active.", SMN.JobID)]
SummonerPrimalFavorFeature = 2720,

[IconsCombo([SMN.Gemshine, SMN.PreciousBrilliance, UTL.ArrowLeft, SMN.MountainBuster, UTL.Blank, SMN.Buffs.TitansFavor, UTL.Checkmark])]
[SectionCombo("Gems features")]
[ExpandedCustomCombo]
Expand Down

0 comments on commit 08c3d5f

Please sign in to comment.