a) I'll only nuke or slow while in combat
b) while casting won't move even if my min/max distance is triggered.
Having no background in coding I was refering to his "Healthcheck" portion of the macro:
Code: Select all
Sub Healthcheck
/if (!${DoHeal}) /return
/if (${Me.Casting.ID}) /return
/if (${Me.Moving}) /return
/if (${Me.PctHPs}<=90) {
/if (${Me.Combat}) {
/if (!${Target.ID}) {
/delay 5s
/cast "${HealThing}"
}
}
}
/returnThis is the current macro.
Nuke:
Code: Select all
Sub Nuke
/if (${Me.PctMana} > ${Nuketill}) {
/Call Cast "Frost Spear" gem7
/delay 15
} else {
/return
}
/returnCode: Select all
:Slow_Loop
/if (${MobSlowed}== TRUE) /return
/if (${Target.PctHPs}<=${CombatAt}) {
/if (${Me.CurrentMana}<${Spell[${SpellSlow}].Mana}) {
/gsay Shid ! I don't have mana to Slow %T
} else {
/call Cast ${SpellSlow} gem1 6s
/if (${Macro.Return.Equal["CAST_INTERRUPTED"]}) /goto :Slow_Loop
/if (${Macro.Return.Equal["CAST_IMMUNE"]}) {
/gsay *** %T is IMMUNE to my slow !
/varset MobSlowed TRUE
}
/if (${Macro.Return.Equal["CAST_RESISTED"]}) {
/if (!${FastSlow}) {
/gsay *** %T RESISTED slow ! Trying again asap
/goto :Slow_Loop
}
/varset MobSlowed TRUE
}
/if (${Macro.Return.Equal["CAST_SUCCESS"]}) {
/gsay *** %T is SLOWED
/varset MobSlowed TRUE
}
}
}
/return