| SUB: Assign single heals - seperate single heals from group heals
| ---------------------------------------------------------------------------
Sub FindSingleHeals
/if (${Debug}) /echo Enter FindSingleHeals \agLine#: ${Macro.CurLine}
/declare i int local
/declare j int local
/declare SHCount int 0
/declare HealHighPoint int local 0
/declare HealHighestPoint int local 0
/declare HealHighestPointMA int local 0
/declare HealPointTag string local 0
/declare HealSpell string local
/for i 1 to ${Heals.Size}
/varset HealSpell ${Heals[${i}].Arg[1,|]}
/varset HealPointTag ${Heals[${i}].Arg[3,|]}
/if (${HealPointTag.Equal[MA]}) {
/varset HealHighestPointMA ${Heals[${i}].Arg[2,|]}
} else {
/varset HealHighPoint ${Heals[${i}].Arg[2,|]}
}
/if (${Debug}) /echo ${i} ${HealSpell} ${Spell[${HealSpell}].TargetType} ${Select[${Spell[${HealSpell}].TargetType},SingleHeal,Self]} \agLine#: ${Macro.CurLine}
/if (${HealSpell.Find[Aegis of Superior Divinity]} || ${HealSpell.Find[Harmony of the Soul]} || ${HealSpell.Find[Burst of Life]} || ${HealSpell.Find[Focused Celestial Regeneration]}) {
/varcalc SHCount ${SHCount}+1
/varset SingleHeal[${SHCount}] ${Heals[${i}]}
/vardata SHCond[${SHCount}] HealsCond[${i}]
} else /if (${Select[${Me.Class.Name},Druid,Shaman]} && (${HealSpell.Find[Intervention]} || ${HealSpell.Find[Survival]})) {
/varcalc SHCount ${SHCount}+1
/varset SingleHeal[${SHCount}] ${Heals[${i}]}
/vardata SHCond[${SHCount}] HealsCond[${i}]
} else /if (${Select[${Spell[${HealSpell}].TargetType},Single,Self]} || ${Spell[${FindItem[=${HealSpell}].Spell}].TargetType.Find[self]} || ${Heals[${i}].Arg[3,|].Find[tap]} || ${Heals[${i}].Arg[3,|].Find[pet]} || ${Spell[${HealSpell}].TargetType.Find[Targeted AE]} && ${Select[${Heals[${i}].Arg[3,|]},MA,ME,pet]}) {
/varcalc SHCount ${SHCount}+1
/varset SingleHeal[${SHCount}] ${Heals[${i}]}
/vardata SHCond[${SHCount}] HealsCond[${i}]
} else /if (${Spell[${HealSpell}].TargetType.Equal[Free Target]}) {
/varcalc SHCount ${SHCount}+1
/varset SingleHeal[${SHCount}] ${Heals[${i}]}
/vardata SHCond[${SHCount}] HealsCond[${i}]
}
/if (${HealPointTag.NotEqual[MA]} && ${HealHighPoint}>${SingleHealPoint}) /varset SingleHealPoint ${HealHighPoint}
/if (${HealPointTag.Equal[MA]} && ${HealHighestPointMA}>${SingleHealPointMA}) /varset SingleHealPointMA ${HealHighestPointMA}
/if (${Debug}) /echo ${SingleHealPoint} \agLine#: ${Macro.CurLine}
/next i
/if (${SHCount}) /call SortArray SingleHeal SHCond 100|100 >
/if (!${SingleHealPoint}) /varset SingleHealPoint 99
/if (!${SingleHealPointMA}) /varset SingleHealPointMA ${SingleHealPoint}
/for j 1 to ${SingleHeal.Size}
/if (${Debug}) /echo ${j} ${SingleHeal[${j}]} ${Spell[${SingleHeal[${j}].Arg[1,|]}].CastTime.Float} ${Spell[${SingleHeal[${j}].Arg[1,|]}].Duration} \agLine#: ${Macro.CurLine}
/next j
/if (${Debug}) /echo Leave FindSingleHeals \agLine#: ${Macro.CurLine}
/return
| ----------------------------------------------------------------------------
| SUB: Assign Group heals
| ---------------------------------------------------------------------------
Sub FindGroupHeals
/if (!${Select[${Me.Class.ShortName},BST,CLR,SHM,DRU,PAL]}) /return
/if (${Debug}) /echo Enter FindGroupHeals \agLine#: ${Macro.CurLine}
/declare i int local
/declare j int local
/declare GHCount int 0
/declare HealSpell string local
/for i 1 to ${Heals.Size}
/varset HealSpell ${Heals[${i}].Arg[1,|]}
/if (${Debug}) /echo ${HealSpell} \agLine#: ${Macro.CurLine}
/if (!${HealSpell.Length} || ${HealSpell.Equal[null]} || ${Select[${Spell[${HealSpell}].TargetType},Single,Self]} || ${Spell[${FindItem[=${HealSpell}].Spell}].TargetType.Find[self]} || ${HealSpell.Find[Aegis of Superior Divinity]} || ${HealSpell.Find[Harmony of the Soul]}) /continue
/if (${HealSpell.Find[Burst of Life]} || ${HealSpell.Find[Focused Celestial Regeneration]}) /continue
/if (${Me.Class.Name.Equal[Shaman]} && ${Spell[${HealSpell}].Name.Find[Intervention]} || ${Me.Class.Name.Equal[Druid]} && ${Spell[${HealSpell}].Name.Find[Survival]}) /continue
/if (${Spell[${HealSpell}].TargetType.Find[group v]} || ${Spell[${FindItem[=${HealSpell}].Spell}].TargetType.Find[group v]} || ${Spell[${HealSpell}].TargetType.Find[Targeted AE]} && !${Select[${Heals[${i}].Arg[3,|]},MA,ME]}) {
/varcalc GHCount ${GHCount}+1
/varset GroupHeal[${GHCount}] ${Heals[${i}]}
/vardata GHCond[${GHCount}] HealsCond[${i}]
}
/next i
/if (${Debug}) /echo ${GHCount} \agLine#: ${Macro.CurLine}
/if (${GHCount}) {
/call SortArray GroupHeal GHCond 100|100 >
/for j 1 to ${GroupHeal.Size}
/if (${Debug}) /echo ${j} ${GroupHeal[${j}]} ${Spell[${GroupHeal[${j}].Arg[1,|]}].CastTime.Float} ${Spell[${GroupHeal[${j}].Arg[1,|]}].Duration} \agLine#: ${Macro.CurLine}
/next j
}
/if (${Debug}) /echo Leave FindGroupHeals \agLine#: ${Macro.CurLine}
/return
| ----------------------------------------------------------------------------
| SUB: Create Timers Heals
| ----------------------------------------------------------------------------
Sub CreateTimersHeals
| Declare timers for Heal duration spells
/declare j int local
/declare k int local
/declare q int local
/for j 1 to ${GroupHeal.Size}
| Group Heal duration timers
/declare SpellGH${j} timer outer 0
/next j
/for j 1 to ${SingleHeal.Size}
/for k 0 to 13
| Self and MA duration heal timers for out of group including Pets.
/declare Spell${j}GM${k} timer outer 0
/if (${Debug}) /echo \atDEBUG Group heal Timers Spell${j}GM${k} ${Spell${j}GM${k}} \agLine#: ${Macro.CurLine}
/next k
/next j
| Declare timers for Pet heals
/for q 1 to ${SingleHeal.Size}
/declare PetHealTimer${q} timer outer 0
/next q
/for j 1 to ${SingleHeal.Size}
/for k 0 to ${XSlotTotal}
| XTarget Timers.
/declare Spell${j}XT${k} timer outer 0
/if (${Debug}) /echo \atDEBUG XTarget heal Timers Spell${j}XT${k} ${Spell${j}XT${k}} \agLine#: ${Macro.CurLine}
/next k
/next j
/return
| ----------------------------------------------------------------------------
| SUB: Create Timers Rez
| ----------------------------------------------------------------------------
Sub CreateTimersRez
| Declare timers for Rez duration spells
/declare m int local
/for m 1 to 5
/declare BattleRezTimer${m} timer outer 0
/next m
/return
| ----------------------------------------------------------------------------
Not sure what I broke. I've deleted and redownloaded K11. I tried going back to 10.2.6. Ive deleted KA toon INI. It doesnt end the mac and it still heals okay, its clunky and wont battle rez or rez period though.