Skip to content

Commit

Permalink
Added Starry Sky combo and Holy Comet combo
Browse files Browse the repository at this point in the history
Not tested above Level 80, but logic should work
  • Loading branch information
FrigidWalrus committed Jul 16, 2024
1 parent 395a153 commit 246db3d
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 10 deletions.
53 changes: 43 additions & 10 deletions XIVComboVX/Combos/PCT.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using System.Text;
using System.Threading.Tasks;

using Dalamud.Game;
using Dalamud.Game.ClientState.JobGauge.Types;

namespace PrincessRTFM.XIVComboVX.Combos;
Expand All @@ -23,7 +24,7 @@ public const uint
ExtraBlizzardCyan = 34659,
ExtraEarthYellow = 34660,
ExtraThunderMagenta = 34661,
MiracleWhite = 34662,
HolyWhite = 34662,
CometBlack = 34663,
PomMotif = 34664,
WingMotif = 34665,
Expand All @@ -42,8 +43,7 @@ public const uint
HammerStamp = 34678,
HammerBrush = 34679,
PolishingHammer = 34680,
StarPrism1 = 34681,
StarPrism2 = 34682,
StarPrism = 34681,
SubtractivePalette = 34683,
Smudge = 34684,
TemperaCoat = 34685,
Expand Down Expand Up @@ -105,7 +105,7 @@ public const byte
ExtraThunderMagenta = 60,
StarrySkyMotif = 70,
LandscapeMotif = 70,
MiracleWhite = 80,
HolyWhite = 80,
HammerBrush = 86,
PolishingHammer = 86,
TemperaGrassa = 88,
Expand All @@ -117,8 +117,7 @@ public const byte
FangedMuse = 96,
StarryMuse = 70,
Retribution = 96,
StarPrism1 = 100,
StarPrism2 = 100;
StarPrism = 100;

}

Expand Down Expand Up @@ -163,17 +162,51 @@ internal class PictomancerHammerCombo: CustomCombo {
protected override uint Invoke(uint actionID, uint lastComboActionId, float comboTime, byte level) {

PCTGauge gauge = GetJobGauge<PCTGauge>();
if (IsEnabled(CustomComboPreset.PictomancerWeaponMotifCombo)) {
if (IsEnabled(CustomComboPreset.PictomancerHammerCombo) && SelfHasEffect(PCT.Buffs.HammerReady))
if (IsEnabled(CustomComboPreset.PictomancerWeaponMotifCombo)) {
if (IsEnabled(CustomComboPreset.PictomancerHammerCombo) && SelfHasEffect(PCT.Buffs.HammerReady))
return OriginalHook(PCT.HammerStamp);
if (gauge.WeaponMotifDrawn)
return OriginalHook(PCT.SteelMuse);

}

}
return OriginalHook(PCT.WeaponMotif);
}


internal class PictomancerScenicCombo: CustomCombo {
public override CustomComboPreset Preset { get; } = CustomComboPreset.PictomancerScenicCombo;
public override uint[] ActionIDs { get; } = [PCT.ScenicMuse];
protected override uint Invoke(uint actionID, uint lastComboActionId, float comboTime, byte level) {

PCTGauge gauge = GetJobGauge<PCTGauge>();
if (IsEnabled(CustomComboPreset.PictomancerScenicCombo)) {
if (IsEnabled(CustomComboPreset.PictomancerStarPrismCombo) && (SelfHasEffect(PCT.Buffs.StarPrismReady) && (level == 100)))
return PCT.StarPrism;
if (gauge.LandscapeMotifDrawn)
return PCT.ScenicMuse;
}
return PCT.StarrySkyMotif;
}
}
}

/*
internal class PictomancerCreatureCombo: CustomCombo {
public override CustomComboPreset Preset { get; } = CustomComboPreset.PictomancerAOEComboFeature
}
*/

internal class PictoimancerHolyCometCombo : CustomCombo {
public override CustomComboPreset Preset { get; } = CustomComboPreset.PictomancerHolyCometCombo;
public override uint[] ActionIDs { get; } = [PCT.HolyWhite];
protected override uint Invoke(uint actionID, uint lastComboActionId, float comboTime, byte level) {

PCTGauge gauge = GetJobGauge<PCTGauge>();
if (SelfHasEffect(PCT.Buffs.SubtractivePaletteStack) && level >= PCT.Levels.CometBlack && SelfHasEffect(PCT.Buffs.InvertedColors)) {
return PCT.CometBlack;
}
return actionID;
}
}
13 changes: 13 additions & 0 deletions XIVComboVX/CustomComboPreset.cs
Original file line number Diff line number Diff line change
Expand Up @@ -816,6 +816,19 @@ public enum CustomComboPreset {
[CustomComboInfo("Hammer Combo", "When under the effects of Hammer Ready, also replace Weapon Motif/Muse combo with the hammer combo", PCT.JobID )]
PictomancerHammerCombo = 4204,

[CustomComboInfo("Scenic Muse Combo", "Changes Scenic Muse into Scenic Motif when not drawn already.", PCT.JobID)]
PictomancerScenicCombo = 4205,

[ParentPreset(PictomancerScenicCombo)]
[CustomComboInfo("Star Prism Combo", "When Star Prism is ready, will replace Scenic Muse with Star Prism", PCT.JobID)]
PictomancerStarPrismCombo = 4206,

[CustomComboInfo("Holy Comet Combo", "When using Subtractive Palette at level 90+, turns Holy In White into Comet In Black", PCT.JobID)]
PictomancerHolyCometCombo = 4207,

//[CustomComboInfo("Creature Motif/Muse Combo", "Changes Living Muse into Creature Motif when nothing is currently drawn")]


#endregion
// ====================================================================================
#region RED MAGE (35xx)
Expand Down

0 comments on commit 246db3d

Please sign in to comment.