#region FrostPvERotation
private static Composite FrostPvERotation()
{
return new PrioritySelector(
new Action(delegate
{
WeaponCheck();
return RunStatus.Failure;
}),
//MovementMoveBehind(ret => Me.CurrentTarget),
StrafeStop(ret => Me.CurrentTarget, 5),
MovementMoveStop(ret => Me.CurrentTarget, 3),
MovementMoveToMelee(ret => Me.CurrentTarget),
StrafeRight(ret => Me.CurrentTarget, 5),
StrafeLeft(ret => Me.CurrentTarget, 5),
AutoTarget(),
ClassInterrupt(),
UseHealthstone(),
UseBattleStandard(),
//Bonus
IceboundFortitude(),
LichborneHeal(),
AntiMagicShell(),
AntiMagicShellLichborne(),
AntiMagicShellEnemy(),
AntiMagicShellDebuff(),
AntiMagicShellCaster(),
AntiMagicZone(),
AntiMagicZoneDebuff(),
AntiMagicZoneCaster(),
DeathGrip(),
DarkSimulacrum(),
DarkSimulacrumUse(),
DeathsAdvance(),
DeathGripAsphyxiateHelpFriend(),
DeathGripRemorselessWinter(),
RaiseAlly(),
//DPS Rotation
//2H Rotation
new Decorator(
ret =>
!UseDWRotation,
Frost2HHigh()
),
new Decorator(
ret =>
!UseDWRotation
&& THSettings.Instance.AutoAoE
&& CountEnemyNear(Me, 10) >= 3,
Frost2HAoE()
),
new Decorator(
ret =>
!UseDWRotation
&& (!THSettings.Instance.AutoAoE
|| CountEnemyNear(Me, 10) < 3),
Frost2HSingle()
),
//1H Rotation
new Decorator(
ret =>
UseDWRotation,
Frost1HHigh()
),
new Decorator(
ret =>
UseDWRotation
&& THSettings.Instance.AutoAoE
&& CountEnemyNear(Me, 10) >= 3,
Frost1HAoE()
),
new Decorator(
ret =>
UseDWRotation
&& (!THSettings.Instance.AutoAoE
|| CountEnemyNear(Me, 10) < 3),
Frost1HSingle()
)
);
}
#endregion
#region Frost2HHigh
private static Composite Frost2HHigh()
{
return new PrioritySelector(
PillarofFrost2HHigh(),
BloodFuryBerserkingArcaneTorrent(),
RaiseDeadFrost2HHigh(),
Presence(),
HornofWinterBuff()
);
}
#endregion
#region Frost2HAoEPvE
private static Composite Frost2HAoE()
{
return new PrioritySelector(
UnholyBlightFrost2HAoE1(),
PestilenceFrost2HAoE(),
HowlingBlast2HAoE1(),
BloodTapFrost2HAoE1(),
FrostStrike2HAoE1(),
DeathandDecayFrost2HAoE1(),
PlagueStrikeFrost2HAoE1(),
BloodTapFrost2HAoE2(),
FrostStrike2HAoE2(),
HornofWinterPower(),
PlagueLeechFrost2HAoE1(),
PlagueStrikeFrost2HAoE2(),
EmpowerRuneWeaponPvE()
);
}
#endregion
#region Frost2HSingle
private static Composite Frost2HSingle()
{
return new PrioritySelector(
PlagueLeechFrost2HSingle1(),
OutbreakFrost2HSingle1(),
UnholyBlightFrost2HSingle1(),
SoulReaper(),
BloodTapFrost2HSingle1(),
HowlingBlast2HSingle1(),
PlagueStrikeFrost2HSingle1(),
HowlingBlast2HSingle2(),
ObliterateFrost2HSingle1(),
BloodTapFrost2HSingle2(),
BloodTapFrost2HSingle3(),
FrostStrike2HSingle1(),
ObliterateFrost2HSingle2(),
PlagueLeechFrost2HSingle2(),
OutbreakFrost2HSingle2(),
UnholyBlightFrost2HSingle2(),
FrostStrike2HSingle2(),
FrostStrike2HSingle3(),
HornofWinterPower(),
ObliterateFrost2HSingle3(),
BloodTapFrost2HSingle4(),
FrostStrike2HSingle4(),
PlagueLeechFrost2HSingle3(),
EmpowerRuneWeaponPvE()
);
}
#endregion
#region Frost1HHighPvE (DW)
private static Composite Frost1HHigh()
{
return new PrioritySelector(
PillarofFrost1HHigh(),
EmpowerRuneWeaponPvE(),
BloodFuryBerserkingArcaneTorrent(),
RaiseDeadFrost1HHigh(),
Presence(),
HornofWinterBuff()
);
}
#endregion
#region Frost1HAoEPvE (DW)
private static Composite Frost1HAoE()
{
return new PrioritySelector(
UnholyBlightFrost1HAoE1(),
PestilenceFrost1HAoE(),
HowlingBlast1HAoE1(),
BloodTapFrost1HAoE1(),
FrostStrike1HAoE1(),
DeathandDecayFrost1HAoE1(),
PlagueStrikeFrost1HAoE1(),
BloodTapFrost1HAoE2(),
FrostStrike1HAoE2(),
HornofWinterPower(),
PlagueLeechFrost1HAoE1(),
PlagueStrikeFrost1HAoE2(),
EmpowerRuneWeaponPvE()
);
}
#endregion
#region Frost1HSinglePvE (DW)
private static Composite Frost1HSingle()
{
return new PrioritySelector(
BloodTapFrost1HSingle1(),
FrostStrike1HSingle1(),
HowlingBlast1HSingle1(),
UnholyBlightFrost1HSingle1(),
SoulReaper(),
BloodTapFrost1HSingle2(),
HowlingBlast1HSingle2(),
PlagueStrikeFrost1HSingle1(),
HowlingBlast1HSingle3(),
FrostStrike1HSingle2(),
Obliterate1HSingle1(),
HowlingBlast1HSingle4(),
FrostStrike1HSingle3(),
BloodTapFrost1HSingle3(),
FrostStrike1HSingle4(),
HornofWinterPower(),
BloodTapFrost1HSingle4(),
PlagueLeechFrost1HSingle1(),
EmpowerRuneWeaponPvE()
);
}
#endregion