You do not need the disc numbers to activate them. How ever you do need the right rank, it wont work to try activating the wrong rank.
You can use
${Spell[ ].RankName} to make sure you have the right rank of the combat ability. For exaple:
Code:
holyshit10=/if ((${Me.TargetOfTarget.ID}!=${Me.ID} || ${Me.SecondaryPctAggro}>80) && ${Group.MainTank.ID}==${Me.ID} && ${Me.CombatAbilityReady[${Spell[Unyielding Affirmation].RankName}]}) /disc ${Spell[Unyielding Affirmation].RankName}
This is basically saying:
Am I the target's target, or is someone else's aggro on the target getting over 80%?
Am I marked as the group's main tank?
Is Unyielding Affirmation disc ready? (don't really need the rank name here, since none of them will be available if any of the ranks are unabilable, I just tend to be over the top)
Then cast what ever rank of the disc I have.
-----------------------------------------------
Some time back I got curious and worked out a holyshit using the
$If[condition, true,false} TLO (Top Level Object) to help control my tank's discs. This is what I came up with, thought you might be interested. It is a little bit of a mind bender though.
Code:
holyshit1=/if (!${Me.ActiveDisc.ID} && ${Target.Distance}<75 && ${Me.PctEndurance}>5 && (${Target.Named} || ${Me.XTarget}>2 || ${Target.Level}>=${Math.Calc[${Me.Level}+3]} || ${Me.PctHPs}<75)) ${If[${Me.AltAbilityReady[Group Armor of the Inquisitor]},/casting "Group Armor of the Inquisitor" ALT,${If[${Me.CombatAbilityReady[${Spell[Blessed Guardian Discipline].RankName}]},/disc ${Spell[${Spell[Blessed Guardian Discipline].RankName}].ID},${If[${Me.CombatAbilityReady[${Spell[Restless Mantle].RankName}]},/disc ${Spell[${Spell[Restless Mantle].RankName}].ID},${If[${Me.CombatAbilityReady[${Spell[Armor of Sincerity].RankName}]},/disc ${Spell[${Spell[Armor of Sincerity].RankName}].ID},${If[${Me.CombatAbilityReady[${Spell[Reflexive Righteousness].RankName}]},/disc ${Spell[${Spell[Reflexive Righteousness].RankName}].ID},${If[${Me.AltAbilityReady[Fundament: First Spire of Holiness]},/casting "Fundament: First Spire of Holiness" ALT,]}]}]}]}]}]}
Let me break it down a little so it is easier to read and understand. First, the holyshit condition:
Code:
holyshit1=/if (!${Me.ActiveDisc.ID} && ${Target.Distance}<75 && ${Me.PctEndurance}>5 && (${Target.Named} || ${Me.XTarget}>2 || ${Target.Level}>=${Math.Calc[${Me.Level}+3]} || ${Me.PctHPs}<75))
If no disc is active and
If target distance is less than 75 and
If my endurance percentage is above 5% and
New group!
If target is named or
If I have more then 2 mobs on the extended target window or
If the target's level is 3 or more levels higher then mine or
If my health peercentage drops below 75%
Then activate some defense! This is where the
${If[condition, true, false]} TLO comes in. How it works is, if the condition is true, it does the true part. If it is false, it does the false part. So, lets space out that to make it easier to understand:
Code:
${If[${Me.AltAbilityReady[Group Armor of the Inquisitor]},/casting "Group Armor of the Inquisitor" ALT,
${If[${Me.CombatAbilityReady[${Spell[Blessed Guardian Discipline].RankName}]},/disc ${Spell[${Spell[Blessed Guardian Discipline].RankName}].ID},
${If[${Me.CombatAbilityReady[${Spell[Restless Mantle].RankName}]},/disc ${Spell[${Spell[Restless Mantle].RankName}].ID},
${If[${Me.CombatAbilityReady[${Spell[Armor of Sincerity].RankName}]},/disc ${Spell[${Spell[Armor of Sincerity].RankName}].ID},
${If[${Me.CombatAbilityReady[${Spell[Reflexive Righteousness].RankName}]},/disc ${Spell[${Spell[Reflexive Righteousness].RankName}].ID},
${If[${Me.AltAbilityReady[Fundament:Spire of Holiness]},/casting "Fundament: Spire of Holiness" ALT,]}]}]}]}]}]}
This is "If condition, TRUE statement, next If TLO in False statement. So...
If Group Armor of the Inquisitor is ready, cast it. If not...
If Blessed Guardian Discipline is ready cast it. If not...
ect...
Been a while sine I updated my pally discs to ToV so this is untested.