Macro Builder - build or modify any macro

if it trying to cast a bunch of spells from the same gem at once, it could cause it to swap spells in and out.. but otherwise, no.. fastmem shouldnt be an issue. i suppose the delay could be increased to more than 3 seconds to wait for buffs gem to be ready before moving out of the sub, i kept it at that time so you dont get locked in a buff routine waiting 15 seconds for focus to refresh while your group dies. but you can modify that to whatever time you want if you crack open the incs. if that isnt it, it could be a specific inc is broken or you need to reboot. i made a bunch of typos that i think ive since corrected with the latest post, so there is a chance its that if you are getting an error message.
 
hmm.. ya i set one gem to all the long term buffs and another gem for short term buffs... I guess ill give another gem some of the action.

What were the lines i need to add so that it forces memorization. I have noticed my pet spell, heals, and dots only work if i have them memed...
 
Hey man you should include the mage one I put together in your zip file. I still run it everyday and I've sent it to a ton of people that love it.

Magician.mac
Code:
#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

YOURMAGE_Magician.ini
Code:
[Settings]
AssistSet=1
AssistPC=
AssistPC2=
AssistAt=80
UseMelee=FALSE
SetTargetMessage=
UseCamp=TRUE

[ImHit]
ImHitTotal=1
ImHitMyHPAt1=45
ImHitName1=Companion of Necessity
ImHitGem1=alt
ImHitTargetType1=all
ImHitAmITargetOfTarget1=TRUE

[Mana]
MedAt=15
MedToFull=TRUE
ManaBoostTotal=2
ManaBoostAtMyHP=75
ManaBoostAtMyMana=60

ManaBoostName1=Gather Capacity Rk. II
ManaBoostGem1=gem1
ManaBoostName2=Summoned: Large Modulation Shard
ManaBoostGem2=item

[Buffs]
InvisSpell=Group Perfect Invisibility
InvisSpellGem=alt
DoBuffs=TRUE
AutoBuff=TRUE
BuffTotal=5

Buff1=Circle of Dreamfire Rk. II
BuffIcon1=Circle of Dreamfire Rk. II
BuffIconAlt1=
BuffGem1=gem10
BuffClasses1=|WAR|SHD|PAL|RNG|MNK|ROG|BRD|BST|BER|SHM|CLR|DRU|WIZ|MAG|ENC|NEC|
BuffAliases1=|ds|damage shield|Dreamfire|

Buff2=Surge of Arcanum
BuffIcon2=Surge of Arcanum
BuffIconAlt2=
BuffGem2=gem9
BuffClasses2=|WAR|SHD|PAL|
BuffAliases2=|big ds|huge ds|big damage shield||big ds|Shadowflare|

Buff3=Famished Flames Rk. II
BuffIcon3=Famished Flames Rk. II
BuffIconAlt3=
BuffGem3=gem11
BuffClasses3=
BuffAliases3=|big ds2|huge ds2|big damge shield 2|big ds2|Flames|

Buff4=Molten Skin
BuffIcon4=Molten Skin
BuffIconAlt4=
BuffGem4=gem12
BuffClasses4=|WAR|PAL|
BuffAliases4=|veil|burning veil|veil me|

Buff5=Large Modulation Shard
BuffIcon5=
BuffIconAlt5=
BuffGem5=alt
BuffClasses5=
BuffAliases5=|rod|


[Nukes]
ForceMemNukes=TRUE
GoM=Gift of Dreamlike Exquisite Radiant Mana
GoMSpell=Spear of Molten Steel Rk. II
GoMSpellGem=gem3
NukeTotal=4
UseNuke1=TRUE
Nuke1=Ruthless Servant Rk. II
NukeGem1=gem6
Nuke1At=96
NukeRecastDelay1=19s
UseNuke2=TRUE
Nuke2=Spear of Molten Steel Rk. II
NukeGem2=gem3
Nuke2At=96
NukeRecastDelay2=9s
UseNuke3=TRUE
Nuke3=Bolt of Molten Steel Rk. III
NukeGem3=gem2
Nuke3At=96
NukeRecastDelay3=6s
UseNuke4=TRUE
Nuke4=Fickle Flames Rk. II
NukeGem4=gem4
Nuke4At=96
NukeRecastDelay4=5.25s


[SelfBuffs]
SelfBuffTotal=9
SelfBuff1=Cognitive Guardian Rk. II
SelfBuffSpell1=Cognitive Guardian Rk. II
SelfBuffGem1=gem10
SelfBuff2=Form of Endurance VIII
SelfBuffSpell2=Sork's Vibromesh Veil
SelfBuffGem2=item
SelfBuff3=Geomantra VI
SelfBuffSpell3=Warlord's Dragontooth Necklace
SelfBuffGem3=item
SelfBuff4=Myrmidon's Skill IV
SelfBuffSpell4=Scorned Epaulets of Diminutive Prestige
SelfBuffGem4=item
SelfBuff5=Expanding Mind III
SelfBuffSpell5=Elena's Gold Belt
SelfBuffGem5=item
SelfBuff6=Knowledge of the Past VII
SelfBuffSpell6=Glinting Incendiary Band
SelfBuffGem6=item
SelfBuff7=Prismatic Ward VII
SelfBuffSpell7=Crushbone-Patch Doll
SelfBuffGem7=item
SelfBuff8=Tellurian Bodyguard Rk. II
SelfBuffSpell8=Tellurian Bodyguard Rk. II
SelfBuffGem8=gem10
SelfBuff9=Spectral Symbiosis Recourse II
SelfBuffSpell9=Spectral Symbiosis Rk. II
SelfBuffGem9=gem10



[Auras]
UseAura1=TRUE
AuraSpell1=Arcane Distillect
Aura1=Arcane Distillect
AuraSongIcon1=
AuraGem1=gem10

[AA]
AATotal=9
AA1=Acute Focus of Arcanum
AAGem1=alt
UseAA1=TRUE
UseAA1At=95
StopAA1At=5
NamedOnlyUseAA1=TRUE
UseAA1IfNearby=npc
UseAA1IfNearbyAmt=1
UseAA1AtMyHPs=100
AAReuseTimer1=1s

AA2=Frenzied Burnout
AAGem2=alt
UseAA2=TRUE
UseAA2At=95
StopAA2At=5
NamedOnlyUseAA2=TRUE
UseAA2IfNearby=npc
UseAA2IfNearbyAmt=1
UseAA2AtMyHPs=100
AAReuseTimer2=1s

AA3=Fire Core
AAGem3=alt
UseAA3=TRUE
UseAA3At=95
StopAA3At=5
NamedOnlyUseAA3=TRUE
UseAA3IfNearby=npc
UseAA3IfNearbyAmt=1
UseAA3AtMyHPs=100
AAReuseTimer3=1s

AA4=Servant of Ro
AAGem4=alt
UseAA4=TRUE
UseAA4At=95
StopAA4At=5
NamedOnlyUseAA4=false
UseAA4IfNearby=npc
UseAA4IfNearbyAmt=1
UseAA4AtMyHPs=100
AAReuseTimer4=1s

AA5=Fundament: First Spire of the Elements
AAGem5=alt
UseAA5=TRUE
UseAA5At=95
StopAA5At=5
NamedOnlyUseAA5=TRUE
UseAA5IfNearby=npc
UseAA5IfNearbyAmt=1
UseAA5AtMyHPs=100
AAReuseTimer5=1s

AA6=Improved Twincast
AAGem6=alt
UseAA6=TRUE
UseAA6At=95
StopAA6At=5
NamedOnlyUseAA6=TRUE
UseAA6IfNearby=npc
UseAA6IfNearbyAmt=1
UseAA6AtMyHPs=100
AAReuseTimer6=1s

AA7=Twincast Rk. III
AAGem7=gem7
UseAA7=TRUE
UseAA7At=95
StopAA7At=5
NamedOnlyUseAA7=FALSE
UseAA7IfNearby=npc
UseAA7IfNearbyAmt=1
UseAA7AtMyHPs=100
AAReuseTimer7=1s

AA8=Silent Casting
AAGem8=alt
UseAA8=TRUE
UseAA8At=97
StopAA8At=5
NamedOnlyUseAA8=TRUE
UseAA8IfNearby=npc
UseAA8IfNearbyAmt=1
UseAA8AtMyHPs=100
AAReuseTimer8=1s

AA9=Arcane Whisper
AAGem9=alt
UseAA9=TRUE
UseAA9At=97
StopAA9At=5
NamedOnlyUseAA9=TRUE
UseAA9IfNearby=npc
UseAA9IfNearbyAmt=1
UseAA9AtMyHPs=100
AAReuseTimer9=1s

[ClickyNukes]
ClickyNukeTotal=2
ClickyNuke1=Lucid Conjuredflame Robe
ClickyNukeTimer1=10m
ClickyNuke1UseAt=95
ClickyNuke1StopAt=5
ClickyNuke1NamedOnly=TRUE

ClickyNuke2=Focus of Primal Elements
ClickyNukeTimer2=3m
ClickyNuke2UseAt=95
ClickyNuke2StopAt=5
ClickyNuke2NamedOnly=FALSE

ClickyNuke3=
ClickyNukeTimer3=
ClickyNuke3UseAt=
ClickyNuke3StopAt=
ClickyNuke3NamedOnly=

[Pet]
UsePet=TRUE
PetSpell=Facet of Water
PetReagent=Malachite
PetSpellGem=gem8
UsePetFocusAA=TRUE
PetAttackAt=97
ShrinkPet=TRUE
ShrinkPetSpell=Tiny Companion
ShrinkPetSpellGem=item
DoPetHeals=FALSE
PetHealAt=
PetHealSpell=
PetHealSpellGem=
UseAAPetHeal=TRUE
PetAAHealAt=5
DoPetBuffs=TRUE
PetBuffRecheck=10s
PetBuffTotal=3
PetBuffName1=Burnout X
PetBuffSpell1=Burnout X
PetBuffGem1=gem8
PetBuffName2=Iceflame Ward Rk. II
PetBuffSpell2=Iceflame Ward Rk. II
PetBuffGem2=gem8
PetBuffName3=Velocity
PetBuffSpell3=Velocity
PetBuffGem3=gem8
PetBuffName4=
PetBuffSpell4=
PetBuffGem4=
PetBuffName5=
PetBuffSpell5=
PetBuffGem5=
PetBuffName6=
PetBuffSpell6=
PetBuffGem6=

Should be good to go for 95 mage.