My wizard mac, runs on command only

Baked

New member
Joined
Feb 12, 2008
Messages
223
Reaction score
0
Points
0
My wizard mac, runs on command only *SIMPLE*

Hey gang time to start sharing my macros.
All of these started as some broken mag mac some one gave me.
Credit goes mostly to the original creator and some of the folks here who have helped me get it working.

If anyone wants to clean it up more feel free, this mac works by command only and none of my mac buff, or mem spells for you, I do all that manually /shrug

This mac, when sent a tell from the "mastersname" will nuke, or evac, or cast (for me) groupinvse, and autofollow the toon you choose. It will also sit/stand on command.
The nuking runs untill the mob is below 5% I think, so it will run oom if you let it.

Enjoy

Code:
 |mage.mac  this is quite a simple macro without all the functionality of the genbot for those who don't 
|desire everything that is in genbot.  i wrote this because, while genbot is great, it has too much stuff 
|in it, too much functionality i have absolutely no need of. one bonus of this is that it allows the 
|master to change targets and have the bot nuking a different target, which is very good for me. 
|this could easily be converted to work for any caster of any type. 
|start this by /mac wizcast2 mastername 

|  I added the spell_routines to help with casting. If you fizzle a spell you will now recast it until it works
|  you have to use /call cast   instead of just cast now though to take advantage.
|

#Include spell_routines.inc

#chat tell
#Event xp "#*#You gain #*#"
#Event xpraid "#*#You gain #*#"
#Event fight "#*#fight#*#"
|#Event MobDied "#*# has been slain by #*#"



Sub Main 
/declare MastersName string outer
/varset MastersName ${Param0} 


:MainLoop 
  /doevents 
  /goto :MainLoop 
/return 

Sub Event_chat
  /if (${Param1.NotEqual[${MastersName}]}) /return
  /if (${Param2.Equal[follow]}) /call follow
  /if (${Param2.Equal[fight]}) /call fight
  /if (${Param2.Equal[invse]}) /call invse
  /if (${Param2.Equal[evac]}) /call evac
  /if (${Param2.Equal[sit]}) /call sit
  /if (${Param2.Equal[stand]}) /call stand
  /if (${Param2.Equal[dsh]}) /call dsh
  /return 

	

Sub follow
	/tar insert-toon-name-here
	/delay 1s
	/stick
/return

Sub invse
	/doevents
	/delay 5s ${Me.SpellReady[${Me.Gem[10]}]}
	/if (${Me.CurrentMana}>=${Spell[${Me.Gem[10]}].Mana}) /call cast "${Me.Gem[10]}" gem10 10s
/return 

Sub Event_MobDied
/return

Sub sit
	/sit
/return

Sub stand
	/stand
/return

Sub evac
	/doevents
	/delay 5s ${Me.SpellReady[${Me.Gem[9]}]}
	/if (${Me.CurrentMana}>=${Spell[${Me.Gem[9]}].Mana}) /call cast "${Me.Gem[9]}" gem9 10s

	|  Would be best if you put the spell name in QUOTES instead of the number
	|  aka /call cast "Succor"   ect.
/return

|  ----------------------------------------------------------------------------------------------
|  IT now checks to make sure target is alive before every cast. and if it is still alive after
|  a full line set of casting it will go back to the top and start casting all over again
|  ----------------------------------------------------------------------------------------------

Sub fight
	/assist ${MastersName}
	/delay 4s ${Target.Type.Equal[NPC]}
	:fighting
	/doevents
	/delay 5s ${Me.SpellReady[${Me.Gem[1]}]}
	/if (${Target.PctHPs}>5  && ${Me.CurrentMana}>=${Spell[${Me.Gem[1]}].Mana}) /call cast "${Me.Gem[1]}" gem1 10s
	/doevents
	/delay 8s ${Me.SpellReady[${Me.Gem[2]}]}
	/if (${Target.PctHPs}>5 && ${Me.CurrentMana}>=${Spell[${Me.Gem[2]}].Mana}) /call cast "${Me.Gem[2]}" gem2 10s
	/doevents
	/delay 8s ${Me.SpellReady[${Me.Gem[3]}]}
	/if (${Target.PctHPs}>5 && ${Me.CurrentMana}>=${Spell[${Me.Gem[3]}].Mana}) /call cast "${Me.Gem[3]}" gem3 10s
	/doevents
	/delay 8s ${Me.SpellReady[${Me.Gem[4]}]}
	/if (${Target.PctHPs}>5 && ${Me.CurrentMana}>=${Spell[${Me.Gem[4]}].Mana}) /call cast "${Me.Gem[4]}" gem4 10s
	/doevents
	/delay 8s ${Me.SpellReady[${Me.Gem[5]}]}
	/if (${Target.PctHPs}>5 && ${Me.CurrentMana}>=${Spell[${Me.Gem[5]}].Mana}) /call cast "${Me.Gem[5]}" gem5 10s
	/doevents
	/delay 8s ${Me.SpellReady[${Me.Gem[6]}]}
	/if (${Target.PctHPs}>5 && ${Me.CurrentMana}>=${Spell[${Me.Gem[6]}].Mana}) /call cast "${Me.Gem[6]}" gem6 10s
	/if (${Target.PctHPs}>5) /goto :fighting
	/squelch /target clear
/return



Sub Event_xpraid
	/hidecorpse all
/return