#turbo 80
|** For ease of use, I suggest making an includes folder inside your macro folder.
\macros\includes\
To assist your group tank when mob is at 95% hp without using your default values:
/mac WaalseBot2 group 95
[Memmed Spells]
Spell1=Gather Potential Rk. II
Spell2=Bolt of Rhyolite Rk. III
Spell3=Spear of Magma Rk. II
Spell4=Fickle Flare Rk. II
Spell5=Malosene Rk. II
Spell6=Ruinous Servant Rk. II
Spell7=Twincast Rk. III
Spell8=Pet/Pet buffs
Spell9=Surge of Shadowflares Rk. II
Spell10=Buffs/ Self Buffs
Spell11=Voracious Flames Rk. II
Spell12=Burning Veil Rk. II
**|
#include \includes\PluginCheck.inc
#include \includes\SelfBuffs.inc
#include \includes\AAs.inc
#include \includes\ClickyNukes.inc
#include \includes\CheckMana.inc
#include \includes\Buffs.inc
#include \includes\Aura.inc
#include \includes\Nukes.inc
#include \includes\CheckTarget.inc
#include \includes\ImHit.inc
#include \includes\Pet.inc
#include spell_routines.inc
#event EndMacro "It will take about 5 more seconds to prepare your camp."
Sub Main
/call PluginCheck
|####################################################|
|# Start Load declares - Mandatory to build ini
/declare LoadStuff string outer ${Param0}
/declare NeedLoad bool outer FALSE
/if (${LoadStuff.Equal[load]}) {
/varset NeedLoad TRUE
/echo Building an ini
}
|# End Load declares
|####################################################|
|#########################################################################|
|# Start CheckTarget.inc declares - Mandatory for CheckTarget.inc
/if (${Param0.Length}) /declare AssistPC string outer ${Param0}
/if (${Param1.Length}) /declare AssistAt int outer ${Param1}
/if (${Param2.Length}) /declare AssistPC2 string outer ${Param2}
|# End CheckTarget.inc declares
|#########################################################################|
|##########################################################################|
|# Announce: Mandatory if you want to announce spells/skills/discs/etc
/declare EchoAnnounce bool outer TRUE
|###########################################################################|
|#################|
|# Load settings #|
/call Load
|#################|
:mainloop
/doevents
/if (${Me.Hovering}||${Window[tradewnd].Open}||${Window[lootwnd].Open}||${Me.State.Equal[BIND]}||${Me.Invis}||${Zone.ID}==344) /goto :mainloop
/call Always
/if (${Target.Type.Equal[NPC]} && ${Target.PctHPs}<97 && ${Me.PctMana}>20||${Me.XTarget}>0 && ${Me.PctMana}>20) /call Combat
/if (${Me.XTarget}==0) /call Rest
/doevents
/if (!${NeedLoad}) /goto :mainloop
:onExit
/echo Ending ${Macro.Name}
/return
Sub Always
/if (${Me.Standing} && !${Me.Moving} && !${Me.Casting.ID}) /sit
/call Buffwatch
/call CheckTarget1
/call CheckMana
/if (${Cursor.ID}) /autoinventory
/return
Sub Combat
/call CheckTarget1
/call AAs
/call CheckMana
/call AAs
/call PetAttack
/call ClickyNukes
/call Twincast
/call FoP
/call Nuke
/return
Sub Rest
/if (${Me.Standing} && !${Me.Moving} && !${Me.Casting.ID}) /sit
/call Rod
/call Aura
/call CheckMana
/call SelfBuffs
/call PetBuffs
/call Buffs
/return
Sub Load
/call NukeLoad
/call SelfBuffsLoad
/call AAsLoad
/call ClickyNukesLoad
/call AuraLoad
/call CheckManaLoad
/call CheckTargetLoad
/call BuffsLoad
/call ImHitLoad
/call PetLoad
/return
Sub Rod
/if (!${FindItem[Summoned: Large Modulation Shard].ID}) /alt act 598
/return
Sub Twincast
/if (${Me.Buff[Twincast RK. III].ID}||${Me.Buff[Twincast].ID}) {
/if (${Cast.Ready[Spear of Molten Steel Rk. II]} && ${Target.PctHPs}<98) /call cast "Spear of Molten Steel Rk. II" gem12
/if (!${Cast.Ready[Spear of Molten Steel Rk. II]} && ${Cast.Ready[Spear of Magma Rk. III]} && ${Target.PctHPs}<98) /call cast "Spear of Magma Rk. III" gem11
}
/return
Sub FoP
/if (${Me.Song[Flames of Power].ID}) {
/if (${Cast.Ready[Spear of Magma Rk. II]} && ${Target.PctHPs}<98) /call cast "Spear of Magma Rk. II" gem3
/if (!${Cast.Ready[Spear of Magma Rk. II]} && ${Cast.Ready[Bolt of Rhyolite Rk. III]} && ${Target.PctHPs}<98) /call cast "Bolt of Rhyolite Rk. II" gem2
}
/return
Sub Malo
/if (${Cast.Ready[Maloseneta Rk. III]} && !${Target.Buff[Maloseneta Rk. III].ID} && !${Target.Buff[Malosene Rk. III].ID} && !${Target.Buff[Malosene Rk. II].ID} && !${Target.Buff[Malosene].ID} && !${Me.Invis} && ${Target.PctHPs}<98) /call cast "Maloseneta Rk. III" gem5 0 ChkMalo
/return
Sub ChkMalo
/if (${Target.Buff[Maloseneta Rk. III].ID}||${Target.Buff[Malosene Rk. III].ID}||${Target.Buff[Malosene Rk. II].ID}||${Target.Buff[Malosene].ID}) /call Interrupt
/return
Sub Event_EndMacro
/echo Ending macro so you don't crash at character select!
/end
/return
/return