Skip to content

Commit 00f6caf

Browse files
committed
PLD Base2.0 update, should resolve issues with using mits
1 parent d56a175 commit 00f6caf

File tree

1 file changed

+186
-60
lines changed

1 file changed

+186
-60
lines changed

RotationSolver.Basic/Rotations/Basic/PaladinRotation.cs

Lines changed: 186 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -27,41 +27,54 @@ partial class PaladinRotation
2727

2828
#region Job Gauge
2929
/// <summary>
30-
///
30+
/// Gets the current level of the Oath gauge.
3131
/// </summary>
3232
public static byte OathGauge => JobGauge.OathGauge;
3333
#endregion
3434

35-
static partial void ModifyAtonementPvE(ref ActionSetting setting)
35+
private protected sealed override IBaseAction TankStance => IronWillPvE;
36+
37+
static partial void ModifyFastBladePvE(ref ActionSetting setting)
3638
{
37-
setting.StatusNeed = [StatusID.AtonementReady];
38-
setting.StatusProvide = [StatusID.SupplicationReady];
39+
3940
}
4041

41-
static partial void ModifySupplicationPvE(ref ActionSetting setting)
42+
static partial void ModifyFightOrFlightPvE(ref ActionSetting setting)
4243
{
43-
setting.StatusNeed = [StatusID.SupplicationReady];
44-
setting.StatusProvide = [StatusID.SepulchreReady];
44+
setting.StatusProvide = [StatusID.GoringBladeReady];
45+
setting.CreateConfig = () => new()
46+
{
47+
TimeToKill = 0,
48+
};
4549
}
4650

47-
static partial void ModifySepulchrePvE(ref ActionSetting setting)
51+
static partial void ModifyRiotBladePvE(ref ActionSetting setting)
4852
{
49-
setting.StatusNeed = [StatusID.SepulchreReady];
53+
setting.ComboIds = [ActionID.FastBladePvE];
5054
}
5155

52-
static partial void ModifyShieldBashPvE(ref ActionSetting setting)
56+
static partial void ModifyTotalEclipsePvE(ref ActionSetting setting)
5357
{
54-
setting.CanTarget = o =>
58+
setting.CreateConfig = () => new()
5559
{
56-
if (o is not IBattleChara b) return false;
57-
58-
if (b.IsBossFromIcon() || IsMoving || b.CastActionId == 0) return false;
59-
60-
if (!b.IsCastInterruptible || ActionID.InterjectPvE.IsCoolingDown()) return true;
61-
return false;
60+
AoeCount = 2,
6261
};
62+
}
63+
64+
static partial void ModifyShieldBashPvE(ref ActionSetting setting)
65+
{
6366
setting.ActionCheck = () => ActionID.LowBlowPvE.IsCoolingDown();
64-
setting.StatusProvide = [StatusID.Stun];
67+
setting.TargetStatusProvide = [StatusID.Stun];
68+
setting.TargetType = TargetType.Interrupt;
69+
//setting.CanTarget = o =>
70+
//{
71+
// if (o is not IBattleChara b) return false;
72+
73+
// if (b.IsBossFromIcon() || IsMoving || b.CastActionId == 0) return false;
74+
75+
// if (!b.IsCastInterruptible || ActionID.InterjectPvE.IsCoolingDown()) return true;
76+
// return false;
77+
//};
6578
}
6679

6780
static partial void ModifyShieldLobPvE(ref ActionSetting setting)
@@ -70,113 +83,226 @@ static partial void ModifyShieldLobPvE(ref ActionSetting setting)
7083
setting.UnlockedByQuestID = 65798;
7184
}
7285

86+
static partial void ModifyRageOfHalonePvE(ref ActionSetting setting)
87+
{
88+
setting.ComboIds = [ActionID.RiotBladePvE];
89+
}
90+
91+
static partial void ModifySpiritsWithinPvE(ref ActionSetting setting)
92+
{
93+
setting.UnlockedByQuestID = 66591;
94+
}
95+
7396
static partial void ModifySheltronPvE(ref ActionSetting setting)
7497
{
98+
setting.ActionCheck = () => OathGauge >= 50;
99+
setting.StatusProvide = [StatusID.Sheltron];
75100
setting.UnlockedByQuestID = 66592;
101+
setting.TargetType = TargetType.Self;
76102
}
77103

78-
private protected sealed override IBaseAction TankStance => IronWillPvE;
104+
static partial void ModifySentinelPvE(ref ActionSetting setting)
105+
{
106+
setting.StatusProvide = StatusHelper.RampartStatus;
107+
setting.TargetType = TargetType.Self;
108+
}
79109

80-
static partial void ModifyRequiescatPvE(ref ActionSetting setting)
110+
static partial void ModifyProminencePvE(ref ActionSetting setting)
81111
{
112+
setting.StatusProvide = [StatusID.DivineMight];
113+
setting.ComboIds = [ActionID.TotalEclipsePvE];
114+
setting.UnlockedByQuestID = 66593;
82115
setting.CreateConfig = () => new()
83116
{
84-
TimeToKill = 0,
117+
AoeCount = 2,
85118
};
86119
}
87120

88-
static partial void ModifyConfiteorPvE(ref ActionSetting setting)
121+
static partial void ModifyCoverPvE(ref ActionSetting setting)
89122
{
90-
setting.StatusNeed = [StatusID.ConfiteorReady];
123+
setting.StatusProvide = [StatusID.Cover];
124+
setting.TargetStatusProvide = [StatusID.Covered];
125+
setting.ActionCheck = () => OathGauge >= 50;
126+
setting.UnlockedByQuestID = 66595;
127+
setting.TargetType = TargetType.BeAttacked;
91128
}
92129

93-
static partial void ModifyBladeOfHonorPvE(ref ActionSetting setting)
130+
static partial void ModifyCircleOfScornPvE(ref ActionSetting setting)
94131
{
95-
setting.StatusNeed = [StatusID.BladeOfHonorReady];
132+
setting.TargetStatusProvide = [StatusID.CircleOfScorn];
133+
setting.CreateConfig = () => new()
134+
{
135+
AoeCount = 2,
136+
};
96137
}
97138

139+
static partial void ModifyHallowedGroundPvE(ref ActionSetting setting)
140+
{
141+
setting.StatusProvide = [StatusID.HallowedGround];
142+
setting.UnlockedByQuestID = 66596;
143+
}
98144

99-
static partial void ModifyFightOrFlightPvE(ref ActionSetting setting)
145+
static partial void ModifyBulwarkPvE(ref ActionSetting setting)
146+
{
147+
setting.StatusProvide = [StatusID.Bulwark];
148+
setting.UnlockedByQuestID = 66596;
149+
}
150+
151+
static partial void ModifyGoringBladePvE(ref ActionSetting setting)
152+
{
153+
setting.UnlockedByQuestID = 67570;
154+
setting.StatusNeed = [StatusID.GoringBladeReady];
155+
}
156+
157+
static partial void ModifyDivineVeilPvE(ref ActionSetting setting)
158+
{
159+
setting.UnlockedByQuestID = 67571;
160+
setting.StatusProvide = [StatusID.DivineVeil_1362];
161+
}
162+
163+
static partial void ModifyClemencyPvE(ref ActionSetting setting)
164+
{
165+
setting.UnlockedByQuestID = 67572;
166+
}
167+
168+
static partial void ModifyRoyalAuthorityPvE(ref ActionSetting setting)
169+
{
170+
setting.StatusProvide = [StatusID.DivineMight, StatusID.AtonementReady];
171+
setting.ComboIds = [ActionID.RiotBladePvE];
172+
setting.UnlockedByQuestID = 67573;
173+
}
174+
175+
static partial void ModifyInterventionPvE(ref ActionSetting setting)
100176
{
177+
setting.ActionCheck = () => OathGauge >= 50;
178+
setting.TargetStatusProvide = [StatusID.KnightsResolve, StatusID.KnightsBenediction, StatusID.Intervention];
179+
}
180+
181+
static partial void ModifyHolySpiritPvE(ref ActionSetting setting)
182+
{
183+
184+
}
185+
186+
static partial void ModifyRequiescatPvE(ref ActionSetting setting)
187+
{
188+
setting.StatusProvide = [StatusID.ConfiteorReady];
101189
setting.CreateConfig = () => new()
102190
{
103191
TimeToKill = 0,
104192
};
105-
setting.StatusProvide = [StatusID.GoringBladeReady];
106193
}
107194

108-
static partial void ModifySentinelPvE(ref ActionSetting setting)
195+
static partial void ModifyPassageOfArmsPvE(ref ActionSetting setting)
109196
{
110-
setting.StatusProvide = StatusHelper.RampartStatus;
111-
setting.ActionCheck = Player.IsTargetOnSelf;
197+
setting.StatusProvide = [StatusID.PassageOfArms];
198+
setting.UnlockedByQuestID = 68111;
112199
}
113200

114-
static partial void ModifyBulwarkPvE(ref ActionSetting setting)
201+
static partial void ModifyHolyCirclePvE(ref ActionSetting setting)
115202
{
116-
setting.StatusProvide = StatusHelper.RampartStatus;
117-
setting.ActionCheck = Player.IsTargetOnSelf;
203+
setting.CreateConfig = () => new()
204+
{
205+
AoeCount = 2,
206+
};
118207
}
119208

120-
static partial void ModifyCoverPvE(ref ActionSetting setting)
209+
static partial void ModifyIntervenePvE(ref ActionSetting setting)
121210
{
122-
setting.ActionCheck = () => OathGauge >= 50;
123-
setting.UnlockedByQuestID = 66595;
211+
setting.SpecialType = SpecialActionType.MovingForward;
124212
}
125213

126-
static partial void ModifyIntervenePvE(ref ActionSetting setting)
214+
static partial void ModifyAtonementPvE(ref ActionSetting setting)
127215
{
128-
setting.ActionCheck = () => OathGauge >= 50;
216+
setting.StatusNeed = [StatusID.AtonementReady];
217+
setting.StatusProvide = [StatusID.SupplicationReady];
129218
}
130219

131-
static partial void ModifyHolySheltronPvE(ref ActionSetting setting)
220+
static partial void ModifySupplicationPvE(ref ActionSetting setting)
132221
{
133-
setting.ActionCheck = () => OathGauge >= 50 && Player.IsTargetOnSelf();
222+
setting.StatusNeed = [StatusID.SupplicationReady];
223+
setting.StatusProvide = [StatusID.SepulchreReady];
134224
}
135225

136-
static partial void ModifySpiritsWithinPvE(ref ActionSetting setting)
226+
static partial void ModifySepulchrePvE(ref ActionSetting setting)
137227
{
138-
setting.UnlockedByQuestID = 66591;
228+
setting.StatusNeed = [StatusID.SepulchreReady];
139229
}
140230

141-
static partial void ModifyProminencePvE(ref ActionSetting setting)
231+
static partial void ModifyConfiteorPvE(ref ActionSetting setting)
142232
{
143-
setting.UnlockedByQuestID = 66593;
144-
setting.StatusProvide = [StatusID.DivineMight];
233+
setting.StatusNeed = [StatusID.ConfiteorReady];
234+
setting.CreateConfig = () => new()
235+
{
236+
AoeCount = 1,
237+
};
145238
}
146239

147-
static partial void ModifyHallowedGroundPvE(ref ActionSetting setting)
240+
static partial void ModifyHolySheltronPvE(ref ActionSetting setting)
148241
{
149-
setting.UnlockedByQuestID = 66596;
242+
setting.ActionCheck = () => OathGauge >= 50;
243+
setting.StatusProvide = [StatusID.HolySheltron];
244+
setting.UnlockedByQuestID = 66592;
245+
setting.TargetType = TargetType.Self;
150246
}
151247

152-
static partial void ModifyGoringBladePvE(ref ActionSetting setting)
248+
static partial void ModifyExpiacionPvE(ref ActionSetting setting)
153249
{
154-
setting.UnlockedByQuestID = 67570;
155-
setting.StatusNeed = [StatusID.GoringBladeReady];
250+
setting.CreateConfig = () => new()
251+
{
252+
AoeCount = 1,
253+
};
156254
}
157255

158-
static partial void ModifyDivineVeilPvE(ref ActionSetting setting)
256+
static partial void ModifyBladeOfFaithPvE(ref ActionSetting setting)
159257
{
160-
setting.UnlockedByQuestID = 67571;
258+
setting.ComboIds = [ActionID.ConfiteorPvE];
259+
setting.CreateConfig = () => new()
260+
{
261+
AoeCount = 1,
262+
};
161263
}
162264

163-
static partial void ModifyClemencyPvE(ref ActionSetting setting)
265+
static partial void ModifyBladeOfTruthPvE(ref ActionSetting setting)
164266
{
165-
setting.UnlockedByQuestID = 67572;
267+
setting.ComboIds = [ActionID.BladeOfFaithPvE];
268+
setting.CreateConfig = () => new()
269+
{
270+
AoeCount = 1,
271+
};
166272
}
167273

168-
static partial void ModifyRoyalAuthorityPvE(ref ActionSetting setting)
274+
static partial void ModifyBladeOfValorPvE(ref ActionSetting setting)
169275
{
170-
setting.UnlockedByQuestID = 67573;
171-
setting.StatusProvide = [StatusID.DivineMight];
172-
setting.StatusProvide = [StatusID.AtonementReady];
276+
setting.ComboIds = [ActionID.BladeOfTruthPvE];
277+
setting.CreateConfig = () => new()
278+
{
279+
AoeCount = 1,
280+
};
173281
}
174282

175-
static partial void ModifyPassageOfArmsPvE(ref ActionSetting setting)
283+
static partial void ModifyGuardianPvE(ref ActionSetting setting)
176284
{
177-
setting.UnlockedByQuestID = 68111;
285+
setting.StatusProvide = StatusHelper.RampartStatus;
286+
}
287+
288+
static partial void ModifyImperatorPvE(ref ActionSetting setting)
289+
{
290+
setting.StatusProvide = [StatusID.ConfiteorReady, StatusID.Requiescat];
291+
setting.CreateConfig = () => new()
292+
{
293+
AoeCount = 1,
294+
};
295+
}
296+
static partial void ModifyBladeOfHonorPvE(ref ActionSetting setting)
297+
{
298+
setting.StatusNeed = [StatusID.BladeOfHonorReady];
299+
setting.CreateConfig = () => new()
300+
{
301+
AoeCount = 1,
302+
};
178303
}
179304

305+
// PvP
180306
static partial void ModifyIntervenePvP(ref ActionSetting setting)
181307
{
182308
setting.SpecialType = SpecialActionType.MovingForward;

0 commit comments

Comments
 (0)