Post by Admin on May 16, 2016 14:36:45 GMT
(Gotta get caught first!)
This is the .mac file
This is healing.inc File must be named that or else main macro wont work..... can name main macro whatever you want tho
This is the .mac file
#turbo
#include healing.inc
Sub Main
/declare slowSpell string outer "Power Word: Lethargic III"
/declare mobTarget int outer
/declare slowTimer timer outer 0
/call Setup
:loop
/if (${Me.State.Equal[FEIGN]}) /stand
/doevents
/if (${Bool[${Spawn[${mobTarget}]}]} && ${slowTimer} == 0) {
/call SlowCast
}
/if (${Me.State.Equal[Stand]} || ${Me.State.Equal[Mount]}) /call TargetHeal ${TargetHeal1} ${PctHeal1} ${Range1} ${Cost1}
/if (${Me.State.Equal[Stand]} || ${Me.State.Equal[Mount]}) /call TargetHeal ${TargetHeal2} ${PctHeal2} ${Range2} ${Cost2}
/if (${Me.State.Equal[Stand]} || ${Me.State.Equal[Mount]}) /call TargetHeal ${TargetHeal3} ${PctHeal3} ${Range3} ${Cost3}
/goto :loop
/return
sub TargetHeal(string HealName, int PctHeal, int HRange, int ManaCost)
/declare x int local
|Size of group established
/declare size int local
/varset size ${Group.Members}
/for x 0 to ${size}
|Find Maintank first!
/if (${Group.Member[${x}].PctHPs}<${MTHealPCT} && ${Me.SpellReady[${HealName}]} && ${Group.Member[${x}].Distance}<${HRange} && ${Group.Member[${x}].PctHPs}!=0 && ${Group.Member[${x}].ID}==${Group.Member[${x}].ID} && ${Me.CurrentMana} >= ${ManaCost} && ${Group.Member[${x}].Name.Equal[${MainTank}]}) {
/target id ${Group.Member[${x}].ID}
/if (${Target.ID} && ${Stick.Status.Equal[ON]} && ${Target.Distance}<100) {
/stick off
}
/s !!Tank Heal -- ${HealName} --> ${Group.Member[${x}].Name} -- !!
/delay 1
/cast "${HealName}"
/delay 5
/return
}
/next x
| Heal Players
/for x 0 to ${size}
/if (${Group.Member[${x}].PctHPs}<${PctHeal} && ${Me.SpellReady[${HealName}]} && ${Group.Member[${x}].Distance}<${HRange} && ${Group.Member[${x}].PctHPs}!=0 && ${Group.Member[${x}].ID}==${Group.Member[${x}].ID} && ${Me.CurrentMana} >= ${ManaCost}) {
/target id ${Group.Member[${x}].ID}
/if (${Target.ID} && ${Stick.Status.Equal[ON]} && ${Target.Distance}<100) {
/stick off
}
/s !! -- ${HealName} --> ${Group.Member[${x}].Name} -- !!
/delay 1
/cast "${HealName}"
/delay 5
/return
}
/next x
| Heal Pets
/for x 0 to ${size}
/if (${Group.Member[${x}].Pet.PctHPs}<${PctHeal} && ${Me.SpellReady[${HealName}]} && ${Group.Member[${x}].Pet.Distance}<${HRange} && ${Group.Member[${x}].Pet.PctHPs}!=0 && ${Me.CurrentMana} >= ${ManaCost}) {
/target id ${Group.Member[${x}].Pet.ID}
/if (${Target.ID} && ${Stick.Status.Equal[ON]} && ${Target.Distance}<100) {
/stick off
}
/s !! -- ${HealName} --> ${Group.Member[${x}].Pet.CleanName} -- !!
/delay 1
/cast "${HealName}"
/delay 5
/return
}
/next x
/return
#event Slow "#*#slow on #1#"
Sub Event_slow(Line,ID)
/varset mobTarget ${ID}
/return
Sub SlowCast
/casting ${slowSpell} -targetid|${mobTarget}
/varset slowTimer 300
/delay 1s
/return
#event Zone "LOADING, PLEASE WAIT..."
Sub Event_Zone
/varset mobTarget 0
/return
This is healing.inc File must be named that or else main macro wont work..... can name main macro whatever you want tho
sub Setup
/declare MainTank string outer britank
/declare MTHealPCT int outer 80
| TARGETED HEALS
/declare TargetHeal1 string outer "Word of Vivification"
/declare PctHeal1 int outer 90
/declare Range1 int outer 100
/declare Cost1 int outer 2000
/declare TargetHeal2 string outer "Word of Vivification"
/declare PctHeal2 int outer 75
/declare Range2 int outer 100
/declare Cost2 int outer 2000
/declare TargetHeal3 string outer "Over Raided Healing"
/declare PctHeal3 int outer 55
/declare Range3 int outer 100
/declare Cost3 int outer 15000
/return