Shaman buff macro

Status
Not open for further replies.

jaguar4301

New member
Joined
May 21, 2005
Messages
117
Reaction score
0
Points
0
Looking for a simple simple macro for shaman

Keep leopard/panther on beastlord and beastlord pet
keep champion on group
keep wunshi on group
keep fortitude on group
keep sense on group
keep haste on beastlord
malo mob that beast is attacking
if under 70mana chain cast pained memory and aa cannibilization
keeping himself healed with spiritual serenity

that about all =)
 
Whipped this up pretty fast. Try it out and post any issues you have.

Code:
|Auto shaman buffing and malos.
|by Z166204 for MMOBugs.com

#include spell_routines.inc

sub main
|--------------------------------------------------------------|
|Set mainassist to who we are assisting and casting panther on.|
|--------------------------------------------------------------|
/declare mainassist 		string 	outer uberBeastLord
/declare autopanther 		int 	outer 1
/declare pantherspell 		string 	outer Spirit of the Panther
/declare panthergem 		string 	outer gem1

|-------------------------------|
|Enable/Disable Auto Cannibilize|
|-------------------------------|
/declare autocanni 		int 	outer 1
/declare cannispell 		string 	outer Pained Memory
/declare cannigem 		string 	outer gem9
/declare canniaa 		string 	outer Cannibalization

|--------------|
|Auto Debuffing|
|--------------|
/declare automalos 		int 	outer 1
/declare malospell 		string 	outer Malos
/declare malogem 		string 	outer gem7

|-------------------------------|
|Enable/Disable Auto Group Buffs|
|-------------------------------|
/declare autobuff 		int	outer 1
|----------------|
|Auto Group Buffs|
|----------------|
/declare autochampion 		int 	outer 1
/declare autowunshi 		int 	outer 1
/declare autofortitude 		int 	outer 1
/declare autosense 		int 	outer 1
/declare autohaste 		int 	outer 1

|------------------------------|
|Set spellnames and gems below.|
|------------------------------|
/declare championspell 		string 	outer Champion
/declare championgem 		string 	outer gem2
/declare wunshispell 		string 	outer Talisman of Wunshi
/declare wunshigem 		string 	outer gem3
/declare fortitudespell 	string 	outer Talisman of Fortitude
/declare fortitudegem 		string 	outer gem4
/declare sensespell 		string 	outer Talisman of Sense
/declare sensegem 		string 	outer gem5
/declare hastespell 		string 	outer Talisman of Celerity
/declare hastegem 		string 	outer gem6
/declare dothealspell 		string 	outer Spiritual Serenity
/declare dothealgem 		string 	outer gem8

|------------------------------|
|System Vars. Dont touch/Modify|
|------------------------------|

:mainloop
	/delay 1
	/if (!${InvSlot[chest].Item.ID} || ${Me.Casting.ID} || ${Me.Speed} || ${Me.AFK} || ${Me.State.NotEqual[Stand]} || ${Me.Invis}) /goto :mainloop
	/if (${autobuff}) /call checkbuffs
	/if (${autopanther}) /call checkpanther
	/if (${autodebuff}) /call dodebuff
	/if (${autocanni}) /call docanni
	/if (${Me.PctHPs}<80 && ${Me.Buff[${dothealspell}].Duration}<1) {
		/target ID ${Me.ID}
		/delay 5
		/call Cast "${dothealspell}" ${dothealgem}
		}
/goto :mainloop
/end

sub docanni
	/if (${Me.PctMana}>90) /return
	/if (${Me.SpellReady[${cannispell}]} && ${Me.CurrentHPs}>668) {
		/call Cast "${cannispell}" ${cannigem}
		/return
		}
	/if (${Me.AltAbilityReady[${canniaa}]} && ${Me.CurrentHPs}>1924) {
		/call Cast "${canniaa}" alt
		/return
		}
/return

sub checkpanther
	/if (!${SpawnCount[${mainassist}]}) /return
	/varset didbuff 0
	/declare temp int local
	/if (!${panther${Spawn[pc ${mainassist}].ID}}) {
		/target ID ${Spawn[pc ${mainassist}].ID}
		/call Cast "${pantherspell}" ${panthergem}
		/if (!${Defined[panther${Spawn[pc ${mainassist}].ID}]}) /define panther${Spawn[pc ${mainassist}].ID} timer outer
		/varset panther${Spawn[pc ${mainassist}].ID} 60s
		/return
		}
	/if (!${panther${Spawn[pc ${mainassist}].Pet.ID}}) {
		/target ID ${Spawn[pc ${mainassist}].Pet.ID}
		/call Cast "${pantherspell}" ${panthergem}
		/if (!${Defined[panther${Spawn[pc ${mainassist}].Pet.ID}]}) /define panther${Spawn[pc ${mainassist}].Pet.ID} timer outer
		/varset panther${Spawn[pc ${mainassist}].Pet.ID} 60s
		/return
		}
/return

sub dodebuff
	/target clear
	/assist ${mainassist}
	/delay 5 ${Target.ID}
	/if (${Target.ID} && ${Target.Type.Equal[NPC]} && ${Target.PctHPs}<100) {
		/if (${malo${Target.ID}}) {
			/target clear
			/return
			}
		/if (!${Defined[malo${Target.ID}]}) /declare malo${Target.ID} timer outer 1
		/call Cast "${malospell}" ${malogem}
		/if (${Macro.Return.Equal[CAST_SUCCESS]}) /varset malo${Target.ID} 14m
		}
	/target clear
/return

Sub checkbuffs
	/if (${Me.Buff[${wunshispell}].Duration}<10) {
		/target ID ${Me.ID}
		/call Cast "${wunshispell}" ${wunshigem}
		}
	/if (${Me.Buff[${fortitudespell}].Duration}<10) {
		/target ID ${Me.ID}
		/call Cast "${fortitudespell}" ${fortitudegem}
		}
	/if (${Me.Buff[${sensespell}].Duration}<10) {
		/target ID ${Me.ID}
		/call Cast "${sensespell}" ${sensegem}
		}
	/if (${Me.Buff[${hastespell}].Duration}<10) {
		/target ID ${Me.ID}
		/call Cast "${hastespell}" ${hastegem}
		}
	/if (${Me.Buff[${championspell}].Duration}<10) {
		/target ID ${Me.ID}
		/call Cast "${championspell}" ${championgem}
		}
/return
 
Last edited:
Have you tried teh shambot macro?

[ame="http://www.mmobugs.com/forums/showthread.php?t=2402"]http://www.mmobugs.com/forums/showthread.php?t=2402[/ame]

Not sure if you want all the things that come with that macro, but it does a hell of a lot, takes a little bit to set it up, but for most part it gets the job done.

I started writing a simpler version, but nm now Z beat me to it :)
Oh and I like the way you did up the malo variable
 
Ya thats how I like to work with any timed situation. Slow, Malos, some expiring buffs like panther, etc. It can keep a seperate timer for each spawnid. I use to do the same to panther each and every dps class/pet in a raid before they hosed panther to make it group only :(
 
Status
Not open for further replies.