Moderator: MacroQuest Developers

Code: Select all
|bash.mac -- 5.08.2004
|
|
|******************************************************************|
|******************************************************************|
|** When using the defaults, this will resort to kick if no **|
|** shield is equipped. However, equipping a shield does not **|
|** revert back to kick. **|
|** You will need to re-issue the /mac bash command again with **|
|** either no options, or the options that are listed below. **|
|** **|
|** If you are going to issue the command with args, you must **|
|** use either 0 or 1 as the first arg in the command or it **|
|** won't work correctly. **|
|** **|
|** I opted to turn off auto-face for the default parameter **|
|** for obvious reasons. **|
|******************************************************************|
|******************************************************************|
|
| For the <auto-face> parameter 0=off, 1=on (default is 0)
|
|/mac bash (taunt-on, bash-on, disarm-on, auto-face off.) -- default
|/mac bash 0/1 0 (taunt-on, bash-on, disarm-on, kick-off)
|/mac bash 0/1 1 (taunt-on, bash-off, disarm-off, kick-off)
|/mac bash 0/1 2 (taunt-off, bash-on, disarm-off, kick-off)
|/mac bash 0/1 3 (taunt-off, bash-off, disarm-on, kick-off)
|/mac bash 0/1 4 (taunt-off, bash-off, disarm-off, kick-on)
|/mac bash 0/1 5 (taunt-on, bash-on, disarm-off, kick-off)
|/mac bash 0/1 6 (taunt-on, bash-off, disarm-off, kick-on)
|/mac bash 0/1 7 (taunt-off, bash-on, disarm-on, kick-off)
|/mac bash 0/1 8 (taunt-off, bash-off, disarm-on, kick-on)
|/mac bash 0/1 9 (taunt-on, bash-off, disarm-on, kick-off)
|
|
|example: /mac bash 1 1 will auto-face target and only taunt
|
#event NoShield "You need to equip a shield in order to BASH"
Sub Main
/declare face int local
/echo ${Macro.Name} Started....
/varset face ${Param0}
/if (${Defined[Param1]}) {
/if (${Param1.Equal[0]}) {
/echo Taunt ON
/echo Bash ON
/echo Disarm ON
/echo Kick OFF
/goto :LoopTaunt_Bash_Disarm
}
/if (${Param1.Equal[1]}) {
/echo Taunt ON
/echo Bash OFF
/echo Disarm OFF
/echo Kick OFF
/goto :LoopTaunt
}
/if (${Param1.Equal[2]}) {
/echo Taunt OFF
/echo Bash ON
/echo Disarm OFF
/echo Kick OFF
/goto :LoopBash
}
/if (${Param1.Equal[3]}) {
/echo Taunt OFF
/echo Bash OFF
/echo Disarm ON
/echo Kick OFF
/goto :LoopDisarm
}
/if (${Param1.Equal[4]}) {
/echo Taunt OFF
/echo Bash OFF
/echo Disarm OFF
/echo Kick ON
/goto :LoopKick
}
/if (${Param1.Equal[5]}) {
/echo Taunt ON
/echo Bash ON
/echo Disarm OFF
/echo Kick OFF
/goto :LoopTaunt_Bash
}
/if (${Param1.Equal[6]}) {
/echo Taunt ON
/echo Bash OFF
/echo Disarm OFF
/echo Kick ON
/goto :LoopTaunt_Kick
}
/if (${Param1.Equal[7]}) {
/echo Taunt OFF
/echo Bash ON
/echo Disarm ON
/echo Kick OFF
/goto :LoopBash_Disarm
}
/if (${Param1.Equal[8]}) {
/echo Taunt OFF
/echo Bash OFF
/echo Disarm ON
/echo Kick ON
/goto :LoopDisarm_Kick
}
/if (${Param1.Equal[9]}) {
/echo Taunt ON
/echo Bash OFF
/echo Disarm ON
/echo Kick OFF
/goto :LoopTaunt_Disarm
}
} else {
/varset face 0
/echo Taunt ON
/echo Bash ON
/echo Disarm ON
/echo Kick OFF
/goto :LoopTaunt_Bash_Disarm
}
:LoopTaunt_Bash_Disarm
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopTaunt_Bash_Disarm
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Bash]}) /doability "Bash"
/if (${Target.Distance}<15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
}
}
/delay 5
/goto :LoopTaunt_Bash_Disarm
:LoopTaunt
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopTaunt
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
}
}
/delay 5
/goto :LoopTaunt
:LoopBash
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopBash
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Bash]}) /doability "Bash"
}
}
/delay 5
/goto :LoopBash
:LoopDisarm
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopDisarm
/if (${Target.Distance}<15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
}
}
/delay 5
/goto :LoopDisarm
:LoopKick
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopKick
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Kick]}) /doability "Kick"
}
}
/delay 5
/goto :LoopKick
:LoopTaunt_Bash
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopTaunt_Bash
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Bash]}) /doability "Bash"
}
}
/delay 5
/goto :LoopTaunt_Bash
:LoopTaunt_Kick
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopTaunt_Kick
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Kick]}) /doability "Kick"
}
}
/delay 5
/goto :LoopTaunt_Kick
:LoopBash_Disarm
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopBash_Disarm
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Bash]}) /doability "Bash"
/if (${Target.Distance}<15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
}
}
/delay 5
/goto :LoopBash_Disarm
:LoopDisarm_Kick
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopDisarm_Kick
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Kick]}) /doability "Kick"
/if (${Target.Distance}<15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
}
}
/delay 5
/goto :LoopDisarm_Kick
:LoopTaunt_Disarm
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopTaunt_Disarm
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
/if (${Target.Distance}<15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
}
}
/delay 5
/goto :LoopTaunt_Disarm
/return
Sub Event_NoShield
/echo You have no shield equipped. Resorting to Kicking
:LoopTaunt_Kick_Disarm
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopTaunt_Kick_Disarm
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Kick]}) /doability "Kick"
/if (${Target.Distance}<15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
}
}
/delay 5
/goto :LoopTaunt_Kick_Disarm
/returnCode: Select all
submain
:loop
/if (${Me.AbilityReady[Bash]}) /doability Bash
/delay 2s
/goto :loop
/return
Code: Select all
/if (${Me.Combat}) {
/if (!${Me.Casting.ID}) /if (${Target.ID}) /if (${Target.Distance}<15) /doability 6
}