Public Macros Very Basic Warrior Macro
Reply
Very Basic Warrior Macro
I started a Warrior for a group of 6 I'm running with a different toon as the one I'm actualy playing (Monk for pullin). After reviewing several macros and researching things I came up with this very basic macro. My War is brand new so there isn't alot of to it but so far it works really well. As my War gains levels I will prob be adding to it.

Macro
More +

#include Spell_routines.inc
#chat group
#chat tell
#turbo


| Events

#event attackthis "#1# tells the group, 'attack this'"
#event makecamp   "#1# tells the group, 'makecamp'"
#event stopattack "#1# tells the group, 'stop attack'"
#event Death      "You have been slain by#*#"

Sub Main



:mainloop
/if (!${MakeCamp.Returning[TRUE]}&& !${Melee.Status[ENGAGED|WAITING|MELEE|RANGE|ENRAGE|INFURIATE]}) {
/delay 1s
/if (!${MakeCamp.Returning[TRUE]} && ${Me.State.Equal[STAND]} && !${Melee.Status[ENGAGED|WAITING|MELEE|RANGE|ENRAGE|INFURIATE]}) /face Fluryfist
/if (${Me.State.Equal[STAND]}) /sit
}
/doevent
/goto :mainloop
/return



Sub Event_makecamp(Line)
/makecamp on
/return


Sub Event_attackthis(Line,Targ)
/target ${Targ.Right[-2].Left[-1]}
/face
/if (${Target.Type.Equal[PC]} &&  ${Target.Type.NotEqual[Corpse]}) /assist
/delay 1s
/stick 6
:livetarget
/if (${Target.Type.NotEqual[PC]} && ${Target.Type.NotEqual[Corpse]}) {
/if (${Target.Type.NotEqual[CORPSE]}) /attack on
/if (${Me.Combat} && ${Me.AbilityReady[Taunt]}) /doability Taunt
/delay 1s
/if (${Me.Combat} && ${Me.AbilityReady[Kick]}) /doability Kick
/if (${Target.Type.Equal[CORPSE]}) /attack off
/if (${Target.Type.NotEqual[Corpse]}) /goto :livetarget
}
/delay 1s
/makecamp return
/return


Sub Event_stopattack(Line)
/melee off
/delay 1s
/makecamp return
/return

Sub Event_Death(Line)
/endmacro


Have fun =)

Update...
Just as an idea... I was thinking since I'm pullin with a monk I was thinking about adding an event for tagging a mob. Something that when I say "Tag This" he uses a range weapon to tag a mob..simple enough
Wed Jun 06, 2012 4:53 am
Here is one that does a very small nearest target scan and will pick up the target for when you are the puller. MQ2melee would handle the rest of the warrior abilities.

Macro
More +
|------------------------------------------------------------|
|AutoPuller Mac
|------------------------------------------------------------|
|          Includes
|------------------------------------------------------------|
#Include spell_routines.inc

|------------------------------------------------------------|
|          Events
|------------------------------------------------------------|
|Edit the Radius in the declares
|------------------------------------------------------------|
#chat group
#chat tell
#chat chat
#chat say


Sub Main
|------------------------------------------------------------|
|          Main Loop (Start of Macro)
|------------------------------------------------------------|
/declare AggroRadius string outer 35


/echo
/echo Radius killer started!
/makecamp on
/makecamp radius 7
 
:MyMainLoop
/if (${Me.Casting.ID}) /goto :MyMainloop
/doevents
/delay 1s
/call GetTarget
/goto :MyMainLoop
/return


|------------------------------------------------------------|
|          End of Main Loop
|------------------------------------------------------------|
Sub GetTarget
        /declare s   int local 0
        /declare i   int local 1
        /declare n   int local 1
        /for n 1 to 4 {
        /squelch /target clear
        /if (${NearestSpawn[alert ${n}].ID}) {
            /for i 1 to 12 {
            /varset s ${NearestSpawn[${i}, alert ${n}].ID}
            /squelch /target id ${s}
            /delay 1s (${Target.ID})
            /if (${Target.Type.Equal[npc]} && ${Target.Distance} < ${AggroRadius}) {
            /call Attackloop
            /return
            }        
         }
         /next i
         }
        /next n
/return



Sub Attackloop
:stillalive
/if (${Target.Type.Equal[NPC]}) {
 /stick 10
 /face
 /attack on
 /killthis
 /goto :stillalive
}
/makecamp return
/echo returning to anchor
/return

/endmacro
Wed Jun 06, 2012 6:47 am
Listen to This Guy
You should look into plugins like MQ2Melee.

Macro
More +

| easier to read version
/pause 1, /bca //stick off
/pause 3, /bca //target id ${Target.ID}
/bca //killthis

or
Macro
More +

| causes fewer issues with EQBC server
/bca //multiline ; /stick off; /timed 1 /target id ${Target.ID}; /timed 4 /killthis


Replace /bca with /bct <character name> or /bct <eqbc channel name> to suit your own setup.

How it works:
Make this hotkey button on your puller. When you get a mob ready to kill, target the mob and press the button. MQ2Melee does all the rest.

You need to configure MQ2Melee, but it's sooooooooo worth it. It makes writing macros so much easier. All my characters (even nukers, healers, and crowd control) use MQ2Melee, if only for the super handy data it keeps track of (${Melee.Target}, ${Melee.Combat}, etc)

This works without any macro running. It kicks. It taunts. It faces the target. It moves back to camp (you still have to makecamp, but that is another hotkey or an alias). It deals with enrage, infuriate, etc. It can even tag a mob if you configure the archery sections.

You can change targets with a new press of the hotkey. You can't easily stop beating on a target without changing targets. In a pinch, you can tell your group to kill your puller (target self and press hotkey) but you will want to find a mob to kill or else your melee characters will be following you like a gaggle of geese.
Wed Jun 06, 2012 1:59 pm
Senior Project Member
Public Macros Very Basic Warrior Macro
Reply