// This sillyness is for making sure we always use a skill, and is why generic code is a PITA
// when it can be configured like so.
if (aoe)
{
if (melee)
{
slot = EnsurceCast(ExampleRoutineSettings.Instance.AoeMeleeSlot);
if (slot == -1)
{
slot = EnsurceCast(ExampleRoutineSettings.Instance.SingleTargetMeleeSlot);
if (slot == -1)
{
melee = false;
slot = EnsurceCast(ExampleRoutineSettings.Instance.AoeRangedSlot);
if (slot == -1)
{
slot = EnsurceCast(ExampleRoutineSettings.Instance.SingleTargetRangedSlot);
}
}
}
}
else
{
slot = EnsurceCast(ExampleRoutineSettings.Instance.AoeRangedSlot);
if (slot == -1)
{
slot = EnsurceCast(ExampleRoutineSettings.Instance.SingleTargetRangedSlot);
if (slot == -1)
{
melee = true;
slot = EnsurceCast(ExampleRoutineSettings.Instance.AoeMeleeSlot);
if (slot == -1)
{
slot = EnsurceCast(ExampleRoutineSettings.Instance.SingleTargetMeleeSlot);
}
}
}
}
}
else
{
if (melee)
{
slot = EnsurceCast(ExampleRoutineSettings.Instance.SingleTargetMeleeSlot);
if (slot == -1)
{
slot = EnsurceCast(ExampleRoutineSettings.Instance.AoeMeleeSlot);
if (slot == -1)
{
melee = false;
slot = EnsurceCast(ExampleRoutineSettings.Instance.SingleTargetRangedSlot);
if (slot == -1)
{
slot = EnsurceCast(ExampleRoutineSettings.Instance.AoeRangedSlot);
}
}
}
}
else
{
slot = EnsurceCast(ExampleRoutineSettings.Instance.SingleTargetRangedSlot);
if (slot == -1)
{
slot = EnsurceCast(ExampleRoutineSettings.Instance.AoeRangedSlot);
if (slot == -1)
{
melee = true;
slot = EnsurceCast(ExampleRoutineSettings.Instance.SingleTargetMeleeSlot);
if (slot == -1)
{
slot = EnsurceCast(ExampleRoutineSettings.Instance.AoeMeleeSlot);
}
}
}
}
}