|-----------------------------|
|-------Idea Cheater010-------|
|---Written by GummySquirrel--|
|-----------------------------|
#include spell_routines.inc
Sub Main
|-------------------------------|
|-- Edit These To Your Liking --|
|-------------------------------|
/declare SelfRune string outer Laminae of the Crystalwing Rk.II
/declare SelfHPBuff string outer Bulwark of the Crystalwing
/declare SmallNuke string outer Wildmagic Strike Rk.III
/declare BigNuke string outer Ethereal Conflagration Rk.III
/declare Concussion string outer Concussive Burst Rk.II
/declare Harvest string outer Tranquil Harvest Rk.III
/declare Flappy string outer Ro's Flaming Familiar
/declare NukeAt int outer 95
/declare ConcussionAfter int outer 6
/declare UseHarvestBelow int outer 30
/declare MedAt int outer 10
/declare ReAssist timer outer 10s
|--------------|
|-- END EDIT --|
|--------------|
/call Initialize
/echo Beginning Mindless Wizard Nuking...
:MainLoop
/call CheckBuffs
/call CheckTarget
/call Nuke
/call CheckHarvest
/call CheckMana
/doevents
/goto :MainLoop
/return
Sub Initialize
/if (!${Target.ID} || ${Target.Type.NotEqual[PC]} || ${Target.ID}==${Me.ID}) {
/echo Please target the main tank before running the macro
/end
}
/declare MainTank int outer ${Target.ID}
/declare SRG int outer ${Me.Gem[${SelfRune}]}
/declare SNG int outer ${Me.Gem[${SmallNuke}]}
/declare BNG int outer ${Me.Gem[${BigNuke}]}
/declare CBG int outer ${Me.Gem[${Concussion}]}
/declare CBC int outer 0
/declare TarID int outer
/declare SIM int outer 0
/if (!${SRG} || !${SNG} || !${BNG} || !${CBG} || !${SG}) /multiline ; /echo Missing A Spell! ; /end
/return
Sub CheckBuffs
/if (!${Me.Buff[${SelfRune}].ID} && ${Me.CurrentMana}>=${Spell[${SelfRune}].Mana} && ${Me.SpellReady[${SelfRune}]}) /call cast "${SelfRune}" gem${SRG}
/if (!${Me.Buff[${SelfHPBuff}].ID} && ${Me.CurrentMana}>=${Spell[${SelfHPBuff}].Mana} && ${Me.SpellReady[${SelfHPBuff}]}) /call cast "${SelfHPBuff}"
/if (!${Me.Buff[Pyromancy].ID} && ${Me.AltAbilityReady[Pyromancy]} && !${Me.Casting.ID}) /call cast "Pyromancy" alt
/if (!${Me.Buff[${Flappy}].ID} && ${Me.AltAbilityReady[${Flappy}]} && !${Me.Casting.ID}) /call cast "${Flappy}" alt
/if (${Me.Pet.ID}) /pet get lost
/return
Sub CheckTarget
/if ((!${Target.ID} || ${Target.Type.NotEqual[NPC]} || !${ReAssist}) && ${Spawn[id ${MainTank} radius 200].ID}) {
/assist ${Spawn[id ${MainTank}]}
/varset ReAssist ${ReAssist.OriginalValue}
}
/if (${Target.ID} && ${Target.Type.Equal[NPC]} && ${Target.ID}!=${TarID}) {
/varset TarID ${Target.ID}
/varset CBC 0
}
/return
Sub Nuke
/if (${Target.PctHPs}<=${NukeAt} && ${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${Me.Song[Gift of Radiant Mana].ID} && ${Me.CurrentMana}>=${Spell[${BigNuke}].Mana} && ${Me.SpellReady[${BigNuke}]} && ${Target.Distance}<=${Spell[${BigNuke}].Range} && ${Target.LineOfSight}) {
/call cast "${BigNuke}" gem${BNG}
/varcalc CBC ${CBC}+1
}
/if (${Me.CurrentMana}>=${Spell[${SmallNuke}].Mana} && ${Me.SpellReady[${SmallNuke}]} && ${Target.Distance}<=${Spell[${SmallNuke}].Range} && ${Target.LineOfSight} && ${CBC}<${ConcussionAfter}) {
/call cast "${SmallNuke}" gem${SNG}
/varcalc CBC ${CBC}+1
}
/if (${Me.CurrentMana}>=${Spell[${Concussion}].Mana} && ${Me.SpellReady[${Concussion}]} && ${Target.Distance}<=${Spell[${Concussion}].Range} && ${Target.LineOfSight} && ${CBC}>=${ConcussionAfter}) {
/call cast "${Concussion}" gem${CBG}
/varset CBC 0
}
}
/return
Sub CheckHarvest
/if (${Me.PctMana}<${UseHarvestBelow} && ${Me.AltAbilityReady[Harvest of Druzzil]} && ${Me.State.Equal[STAND]}) {
/call cast "Harvest of Druzzil" alt
}
/if (${Me.PctMana}<${UseHarvestBelow} && ${Me.SpellReady[${Harvest}]} && ${Me.State.Equal[STAND]}) {
/call cast "${Harvest}"
/if (${Harvest.Left[7].Equal[Patient]}) {
/delay 2s ${Me.Song[${Harvest}].ID}
/delay 1s
/delay 25s !${Me.Song[${Harvest}].ID}
} else {
/delay 10s
}
}
/return
Sub CheckMana
/if (${Me.Song[Gift of Radiant Mana].ID}) /return
/if (${Me.PctMana}<${MedAt}) {
/echo Mana is below ${MedAt}% .. medding up
:Cycle
/call CheckHarvest
/if (!${Me.Mount.ID} && ${Me.State.Equal[STAND]} && ${Me.CombatState.NotEqual[COMBAT]}) /sit
/if (${Me.PctMana}<100) /goto :Cycle
/echo Finished medding.
}
/return