This is made again for my warrior, enchanter and cleric trio group.
Loc is around 1725 113.88 for you to setup camp. It isnt exactly too safe getting there, so fight you way over.
Plugins needed: MQ2Melee, MQ2Moveutils, MQ2Cast
Incs needed: Spell_Routines, Ninjaloot.inc
Spells/discs needed: check macros
Group setup: warrior needs to be #1 in the group, then the enchaner, then the cleric, so that the cler sees the war as #1 and ench as #2 for use so i dont have to click back and forth anymore - sorry for not mentioning this earlier.
I did this at level 59, ok gear.
Will be good for awhile considering they are 56 mobs.
Warrior Macro:
Code: Select all
#Event dead "#*#Returning to Bind Location#*#"
#Event arrive "#*#Arrived at MoveTo Location#*#"
#Event arrive2 "#*#Arrived at MoveTo Location#*#"
#event wait "#*#Med#*#"
#turbo
#include Spell_Routines.inc
#include ninjaloot.inc
Sub Main
/declare slow int outer 0
/declare wait int outer 1
/declare Ok int outer 0
/declare Ok2 int outer 0
/declare go int outer 0
/if (!${Me.Standing}) /stand up
/call NLPresetup
/delay 5
/moveto 3
/delay 2
/makecamp on 1732.75 118.77
/delay 5
/makecamp return
/delay 4s
/moveto 4
/makecamp leash 70
/makecamp radius 6
/makecamp unpause
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
:MainLoop
/call pull
/delay 6
/call mobcheck
/delay 6
/doevents
/delay 1
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/goto :MainLoop
Sub pull
/delay 1
/if (${Me.PctHPs} < 99) /return
/if (!${Me.Standing}) /stand up
/delay 3
/makecamp off
/delay 1
/face loc 1752, 222
/delay 2
/doevents
/delay 3
/moveto loc 1752 222
/varset Ok 0
/varset Ok2 1
/varset go 0
:arrivewait1
/doevents
/delay 2
/if (${go}) /goto :pastarrivewait1
/delay 2
/goto :arrivewait1
:pastarrivewait1
/varset go 0
/varset Ok 1
/varset Ok2 0
/tar npc radius 55
/delay 2
/if (!${Target.ID} || ${Target.Type.NotEqual[NPC]} ) {
/call makecamp
/call mobcheck
/delay 2
/call pull2
/return
}
/delay 1
/if (${Target.ID} && ${Target.Type.NotEqual[PC]} && ${Target.Type.NotEqual[Corpse]} ) {
/if (!${Me.Standing}) /stand up
/delay 1
/face
/delay 1
/doability "Berate"
/delay 1
/call makecamp
/delay 3
/call mobcheck
/delay 3
/return
}
/return
Sub pull2
/delay 1
/makecamp off
/delay 1
/face loc 1670, 151
/delay 2
/doevents
/delay 3
/moveto loc 1661.75 153.10
/varset Ok 0
/varset Ok2 1
/varset go 0
:arrivewait2
/doevents
/delay 2
/if (${go}) /goto :pastarrivewait2
/delay 2
/goto :arrivewait2
:pastarrivewait2
/varset go 0
/varset Ok 1
/varset Ok2 0
/tar npc radius 55
/delay 3
/if (!${Target.ID} || ${Target.Type.NotEqual[NPC]} ) {
/call makecamp
/call mobcheck
/delay 2
/call pull3
/return
}
/delay 1
/if (${Target.ID} && ${Target.Type.NotEqual[PC]} && ${Target.Type.NotEqual[Corpse]} ) {
/if (!${Me.Standing}) /stand up
/delay 1
/face
/delay 1
/doability "Berate"
/delay 1
/call makecamp
/delay 3
/call mobcheck
/delay 3
/return
}
/return
Sub pull3
/delay 1
/delay 1
/makecamp off
/delay 1
/face loc 1704.81, 62.26
/delay 2
/doevents
/delay 3
/moveto loc 1704.81 62.26
/varset Ok 0
/varset Ok2 1
/varset go 0
:arrivewait3
/doevents
/delay 2
/if (${go}) /goto :pastarrivewait3
/delay 2
/goto :arrivewait3
:pastarrivewait3
/varset go 0
/varset Ok 1
/varset Ok2 0
/delay 5s (${Target.ID}
/tar npc radius 95
/delay 1s
/if (!${Target.ID} || ${Target.Type.NotEqual[NPC]} ) {
/call pull4
/return
}
/delay 1
/if (${Target.ID} && ${Target.Type.NotEqual[PC]} && ${Target.Type.NotEqual[Corpse]} ) {
/if (!${Me.Standing}) /stand up
/delay 1
/face
/delay 1
/doability "Berate"
/delay 1
/call makecamp
/delay 3
/call mobcheck
/delay 3
/return
}
/return
Sub pull4
/delay 1
/delay 1
/makecamp off
/delay 1
/face loc 1680.36, 38.55
/delay 1
/doevents
/delay 1
/moveto loc 1680.36 38.55
/varset Ok 0
/varset Ok2 1
/varset go 0
:arrivewait4
/doevents
/delay 1
/if (${go}) /goto :pastarrivewait4
/delay 1
/goto :arrivewait4
:pastarrivewait4
/varset go 0
/varset Ok 1
/varset Ok2 0
/delay 1
/tar npc radius 85
/delay 1
/if (!${Target.ID} || ${Target.Type.NotEqual[NPC]} ) {
/call makecamp
/call mobcheck
/delay 1
/return
}
/delay 1
/if (${Target.ID} && ${Target.Type.NotEqual[PC]} && ${Target.Type.NotEqual[Corpse]} ) {
/delay 1
/face
/delay 1
/doability "Berate"
/delay 1
/call makecamp
/delay 3
/call mobcheck
/delay 3
/return
}
/return
Sub fight
:fightloop
/if (${Target.ID} && ${Target.Type.NotEqual[PC]} && ${Target.Type.NotEqual[Corpse]} ) {
/delay 2
/if (${Me.PctHPs} < 23) /doability "Mighty Strike Discipline"
/if (${Me.PctHPs} < 21) /doability "Furious Discipline"
/if (${Me.PctHPs} < 25) /doability "Fellstrike Discipline"
/goto :fightloop
}
/call loot
/delay 3
/call makecamp
/delay 1
/call mobcheck
/delay 1.5s
/varset wait 1
/return
Sub loot
/delay 1
/call NLAutoloot
/delay 2.5s
/return
Sub makecamp
/tar pc enchanter
/delay 1
/makecamp on 1732.75 118.77
/delay 1
/makecamp return
:waitlook
/if (${Target.Distance}<50) {
/delay 1s
/return
}
/delay 1
/goto :waitlook
/return
Sub mobcheck
:mobcheck
/if (${Target.ID}) /keypress esc
/delay 1
/target npc radius 25
/target npc radius 25
/delay 1
/if (${Target.ID} && ${Target.Type.NotEqual[PC]} && ${Target.Type.NotEqual[Corpse]} && ${Target.Type.NotEqual[Pet]} ) {
/delay 3
/attack on
/stick on 9.5
/call fight
/delay 4
/return
}
/delay 23
/if (${Target.ID}) /keypress esc
/target npc radius 45
/target npc radius 45
/if (${Target.ID} && ${Target.Type.NotEqual[PC]} && ${Target.Type.NotEqual[Corpse]} && ${Target.Type.NotEqual[Pet]} ) {
/delay 4
/attack on
/stick on 9.5
/call fight
/delay 4
/return
}
/return
Sub Event_dead
/exit
/endmacro
/delay 10s
/return
Sub Event_arrive
/if (${Ok}) {
/if (${Slow}) /call makecamp
/return
}
/return
Sub Event_arrive2
/if (${Ok2}) {
/varset go 1
/return
}
/return
Sub Event_wait
/if (${wait}) {
/varset wait 0
/gsay kk medding
/call makecamp
/call mobcheck
/delay 3s
/call mobcheck
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/delay 24s
/call mobcheck
/delay 25s
/call mobcheck
/delay 23s
}
/returnCode: Select all
#turbo
#Event dead "#*#Returning to Bind Location#*#"
#Event nomana "Insufficient Mana to cast this spell!"
#Event exp "You gain#*#"
#Event far "#*#Your Target is too far#*#"
#include Spell_Routines.inc
Sub Main
/declare Nuke string outer
/declare SpellToCast string outer
/varset Nuke "Reckoning"
/moveto 2
/makecamp on
/makecamp radius 3
/makecamp leash on
/makecamp leash 50
/delay 2
/echo started xp gobbies macro
:loop
/if ( ${Me.PctHPs}<=25 ) /call die
/call buff
/delay 5
/call assist
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/if ( ${Me.PctHPs}<=25 ) /call die
/delay 5
/doevents
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/goto :loop
Sub buff
/if ( ${Me.PctHPs}<=25 ) /call die
/varset SpellToCast Temperance
/if (${Me.PctMana} > 90 && ${Me.Book[${SpellToCast}]}&&${Me.Buff[${SpellToCast}].Duration}<10 && ${Spell[${SpellToCast}].Stacks}) /call buff2
/return
Sub buff2
/if ( ${Me.PctHPs}<=25 ) /call die
/tar pc cleric
/call cast "${SpellToCast}" gem5 15s
/tar pc enchanter
/call cast "${SpellToCast}" gem5 15s
/tar pc warrior
/call cast "${SpellToCast}" gem5 15s
/return
Sub assist
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/if ( ${Me.PctHPs}<=25 ) /call die
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/doevents
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/tar pc warrior
/delay 1
/if ( ${Target.PctHPs}<=97 ) {
/call fight
/return
}
/call healcheck2
/return
Sub fight
/if ( ${Me.PctHPs}<=25 ) /call die
/call healcheck
/doevents
/tar pc warrior
/delay 2
/assist
/delay 4
/call attack
:fightloop
/if (${Target.ID} && ${Target.Type.NotEqual[PC]} && ${Target.Type.NotEqual[Corpse]} && ${Target.Type.NotEqual[Pet]} ) {
/delay 1
/call healcheck
/delay 1
/doevents
/delay 1
/varset SpellToCast Yaulp V
/if (${Me.PctMana} > 30 && ${Me.Book[${SpellToCast}]}&&${Me.Buff[${SpellToCast}].Duration}<1 && ${Spell[${SpellToCast}].Stacks}) /call cast "${SpellToCast}" gem7 7s
/delay 1
/varset SpellToCast Reckoning
/if (${Me.PctMana} > 82 && ${Target.ID}) /call cast "${SpellToCast}" gem1 12s
/goto :fightloop
}
/makecamp return
/delay 3s
/return
Sub attack
/if (${Target.ID} && ${Target.Type.NotEqual[PC]} && ${Target.Type.NotEqual[Corpse]} && ${Target.Type.NotEqual[Pet]} ) {
/stick on 9
/delay 5
/attack on
/delay 4s ${Me.Combat}
/return
}
/tar pc warrior
/delay 2
/assist
/delay 4
/if (${Target.ID} && ${Target.Type.NotEqual[PC]} && ${Target.Type.NotEqual[Corpse]} && ${Target.Type.NotEqual[Pet]} ) {
/stick on 9
/delay 5
/attack on
/delay 2s ${Me.Combat}
/return
}
/return
Sub healcheck
/varset SpellToCast Ethereal Remedy
/if ( ${Me.PctHPs}<=25 ) /call die
/if ( ${Me.PctHPs}<=58 ) {
/if (${Me.Combat}) /moveto
/if (${Me.Combat}) /attack off
/delay 1
/tar myself
/call cast "${SpellToCast}" gem2 10s
}
/varset SpellToCast Complete Heal
/if (${Group.Member[1].PctHPs}<46) {
/if (${Me.Combat}) /moveto
/if (${Me.Combat}) /attack off
/delay 1
/tar ${Group.Member[1]}
/call cast "${SpellToCast}" gem3 20s
}
/varset SpellToCast Ethereal Remedy
/if (${Group.Member[2].PctHPs}<58) {
/if (${Me.Combat}) /moveto
/if (${Me.Combat}) /attack off
/delay 1
/tar ${Group.Member[2]}
/call cast "${SpellToCast}" gem2 10s
}
/delay 5
/if (${Me.Combat}) /return
/call attack
/return
Sub healcheck2
/varset SpellToCast Ethereal Remedy
/if ( ${Me.PctHPs}<=25 ) /call die
/if ( ${Me.PctHPs}<=58 ) {
/tar myself
/call cast "${SpellToCast}" gem2 10s
}
/varset SpellToCast Complete Heal
/if (${Group.Member[1].PctHPs}<46) {
/tar ${Group.Member[1]}
/call cast "${SpellToCast}" gem3 20s
}
/varset SpellToCast Ethereal Remedy
/if (${Group.Member[2].PctHPs}<58) {
/tar ${Group.Member[2]}
/call cast "${SpellToCast}" gem2 10s
}
/delay 5
/return
Sub Event_nomana
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/delay 10s
/return
Sub Event_dead
/exit
/endmacro
/delay 10s
/return
Sub Event_exp
/if (${Me.PctMana} < 60) {
/gsay ${Me.PctMana}% Mana --> Med
/return
}
/return
Sub die
/call cast "Divine Barrier" gem8 20s
/delay 2
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/delay 10s
/return
Sub Event_far
/stick on 9.5
/returnCode: Select all
#turbo
#Event dead "#*#Returning to Bind Location#*#"
#event nomana "Insufficient Mana to cast this spell!"
#Event slow "#*# slows down."
#include Spell_Routines.inc
Sub Main
/declare SpellToCast string outer
/declare slow int outer 1
/declare dot int outer 0
/moveto 2
/makecamp on
/makecamp radius 4
/makecamp leash on
/makecamp leash 7
/delay 2
/echo started xp gobbies macro
:loop
/doevents
/call buff
/call assist
/delay 4
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/goto :loop
Sub buff
/call pet
/varset SpellToCast Gift of Pure Thought
/if (${Me.Book[${SpellToCast}]}&&${Me.Buff[${SpellToCast}].Duration}<10 && ${Spell[${SpellToCast}].Stacks}) /call buff2
/varset SpellToCast Aanya's Quickening
/if (${Me.PctMana} > 80 && ${Me.Book[${SpellToCast}]}&&${Me.Buff[${SpellToCast}].Duration}<10 && ${Spell[${SpellToCast}].Stacks}) /call buff3
/varset SpellToCast Arch Shielding
/if (${Me.Book[${SpellToCast}]}&&${Me.Buff[${SpellToCast}].Duration}<10 && ${Spell[${SpellToCast}].Stacks}) /call cast "${SpellToCast}" gem8 15s
/return
Sub buff2
/tar pc enchanter
/call cast "${SpellToCast}" gem5 15s
/delay 1
/return
Sub buff3
/tar pc enchanter
/call cast "${SpellToCast}" gem6 15s
/tar pc warrior
/call cast "${SpellToCast}" gem6 15s
/tar pc cleric
/call cast "${SpellToCast}" gem6 15s
/delay 1
/return
Sub assist
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/doevents
/tar pc warrior
/delay 1
/if ( ${Target.PctHPs}<=98 ) {
/call fight
/delay 1
/return
}
/delay 1
/return
Sub fight
/tar pc warrior
/if ( ${Target.PctHPs}<=98 ) {
/delay 2
/assist
/delay 3
/if (${Target.ID} && ${Target.Type.NotEqual[PC]} && ${Target.Type.NotEqual[Corpse]} && ${Target.Type.NotEqual[Pet]} ) /goto :fightloop
/delay 1s
/return
}
/delay 1
/doevents
/tar pc warrior
/if ( ${Target.PctHPs}>=97 ) /return
/delay 1
/tar npc radius 60
/if ( ${Target.PctHPs}<=98 ) /goto :fightloop
/if ( ${Target.PctHPs}>=93 ) /return
/delay 1
/return
:fightloop
/delay 1.5s
/if (${Target.ID} && ${Target.Type.NotEqual[PC]} && ${Target.Type.NotEqual[Corpse]} && ${Target.Type.NotEqual[Pet]} ) {
/call cast "Tashanian" gem3 10s
/delay 5
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/delay 1s
/varset slow 1
/delay 4
:shiftless
/if (${slow}) /call cast "Forlorn Deeds" gem7 10s
/delay 1
/doevents
/delay 1.5s
/if (!${slow}) /goto :pastshiftless
/goto :shiftless
:pastshiftless
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/delay 2s
/call cast "Asphyxiate" gem2 10s
/delay 1.5s
/if (${Me.PctHPs} > 85 && ${Me.Standing} && !${Me.Mount.ID}) /sit
/varset dot 1
:fightloop2
/if (${Target.ID} && ${Target.Type.NotEqual[PC]} && ${Target.Type.NotEqual[Corpse]} && ${Target.Type.NotEqual[Pet]} ) {
/if (${dot} && ${Me.PctMana} > 25 && ${Target.ID} && ${Target.PctHPs}<=50 ) {
/varset dot 0
/call cast "Asphyxiate" gem2 10s
/goto :2
}
:2
/if (${Me.PctMana} > 45 && ${Me.PctHPs} >62 && ${Target.ID} && ${Target.PctHPs}<=60 ) /call cast "Dementia" gem1 10s
/doevents
/delay 7s
/if (${Me.PctHPs}>69 && ${Me.Standing} && !${Me.Mount.ID}) /sit
/delay 3s
/goto :fightloop2
/return
}
}
/return
Sub Event_nomana
/if (${Me.Standing} && !${Me.Mount.ID}) /sit
/delay 9s
/return
Sub Event_dead
/exit
/endmacro
/delay 10s
/return
Sub pet
/if (${Me.Pet.ID}) /return
/delay 2
/tar ${Me.Pet}
/delay 2
/if (${Target.ID} && ${Target.Type.NotEqual[Pet]}) {
/keypress esc
/tar ${Me.Pet}
/if (${Target.ID}) /return
/varset SpellToCast Zumaik's Animation
/delay 1
/call cast "${SpellToCast}" gem8 20s
/return
}
/tar ${Me.Pet}
/if (${Target.ID}) /return
/varset SpellToCast Zumaik's Animation
/delay 1
/call cast "${SpellToCast}" gem8 20s
/return
Sub Event_slow
/varset slow 0
/returngl
PS: drops fine loots too
havnt camped it too long, but its fine exp and loots for a standard macro, .6/.9/1.2% per - and i have some monk afking in my group..
n2b.

