• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

CotF HA - Into the Hills v3 (Full Auto)

Shazbork did you download the mesh for deadhills?

Yeah, I use MQ2nav religiously. I have all the meshes. Then again, should I be using one specifically rendered out for this macro? I pulled all the ones from the mesh thread, which has been super helpful.

- - - Updated - - -

http://www.redguides.com/community/search.php?searchid=719606

Search function sucks so much that I found exactly what you're looking for on the very first page of the search.

I click that link and the result I get is literally Sorry - no matches. Please try some different terms. It's VBulletin man, that's the way it is. This is more of a "Please cite your work, documentation matters" issue. It's helpful to be able to easily identify where this stuff is coming from.
 
Thank you

EDIT: I used the path INI from the original post and it works fine. That revised one fucks my shit all up. Spams me with errors.
 
Last edited:
All toons are Ready
//target Tank
(msg)my guy] //target Tank
[(msg)NULL] //target tank
thats just a rough idea but i have gone in the ini and add my toons name 1 for looter and the 1 and 2 spot but only my looter /kissassist the tank the other 2 are NULL idk why. annd

Docommand-couldn't parse 'doleashtoon 1'
/varset failed, variable 'LootOn' not found
/varset failed, variable 'DoLoot' not found.
how do i make these work is there a file i need to dl and put in macros folder?
 
Do you have EQBC loaded?

- - - Updated - - -

It'll help if you post up your config file too.
 
You really need to sanitize the toon names out of those. The best way is to copy the contents of each ini file and post them in between code tags. Click the # in the icon bar and paste them between the code commands.
 
Rich (BB code):
[General]
KissAssistVer=8.4.2
Role=Assist
CampRadius=30
CampRadiusExceed=400
ReturnToCamp=1
ChaseAssist=0
ChaseDistance=25
MedOn=1
MedStart=20
LootOn=0
RezAcceptOn=1
TwistOn=1
TwistMed=4
TwistWhat=4
MedCombat=0
AcceptInvitesOn=1
EQBCOn=1
GroupWatchOn=1
MiscGem=12
HoTTOn=1
IRCOn=0
CampfireOn=0
[Melee]
AssistAt=95
MeleeOn=1
MeleeDistance=75
StickHow=behindonce
MeleeTwistOn=1
MeleeTwistWhat= 1 2 3 4
FaceMobOn=1
AutoFireOn=0
[Buffs]
BuffsOn=1
Buffs1=Aura of the Poet|Aura
Buffs2=NULL
Buffs3=NULL
Buffs4=NULL
Buffs5=NULL
Buffs6=NULL
Buffs7=NULL
Buffs8=NULL
Buffs9=NULL
Buffs10=NULL
Buffs11=Selo's Sonata
Buffs12=NULL
Buffs13=NULL
Buffs14=NULL
Buffs15=NULL
Buffs16=NULL
Buffs17=NULL
Buffs18=NULL
Buffs19=NULL
Buffs20=NULL
RebuffOn=1
ChecKBuffsTimer=20
[DPS]
DPSOn=1
DPSSkip=20
DPSInterval=5
DPS1=Lyrical Prankster|96
DPS2=Boastful Bellow|94
DPS3=Selo's Kick|90
DPS4=Bladed Song|85
DPS5=NULL
DPS6=NULL
DPS7=NULL
DPS8=NULL
DPS9=NULL
DPS10=NULL
DPS11=NULL
DPS12=NULL
DPS13=NULL
DPS14=NULL
DPS15=NULL
[Heals]
Help=Format Spell|% to heal at i.e. Devout Light Rk. II|50
HealsOn=0
Heals1=NULL
Heals2=NULL
Heals3=NULL
Heals4=NULL
Heals5=NULL
XTarHeal=0
[Mez]
MezOn=1
MezRadius=40
MezMinLevel=60
MezMaxLevel=93
MezStopHPs=85
MezSpell=Slumber of Sionachie
MezAESpell=NULL
[Pull]
PullWith=Requiem of Time
MaxRadius=2000
MaxZRange=50
PullWait=0
BuffWait=30
PullTwistOn=1
PullRoleToggle=0
ChainPull=0
ChainPullHP=50
ChainPullPause=30|2
[Merc]
Help=To use: Turn off Auto Assist in Manage Mercenary Window
MercOn=1
MercAssistAt=97
[AFKTools]
AFKToolsOn=1
AFKGMAction=1
AFKPCRadius=75
AFKHelp=AFKGMAction=0 Off, 1 Pause Macro, 2 End Macro, 3 Unload MQ2, 4 Quit Game
CampOnDeath=0
ClickBacktoCamp=0
[Burn]
BurnText=Decepticons Attack
Burn1=Funeral Dirge
Burn2=Song of Stone
Burn3=Fundament: Second Spire of the Minstrel
Burn4=Cacophony
Burn5=Quick Time
Burn6=Fierce Eye
BurnAllNamed=1
Burn7=NULL
Burn8=NULL
Burn9=NULL
Burn10=NULL
Burn11=NULL
Burn12=NULL
Burn13=NULL
Burn14=NULL
Burn15=NULL
[AE]
AEOn=0
AERadius=50
AE1=NULL
AE2=NULL
AE3=NULL
AE4=NULL
AE5=NULL
[Aggro]
AggroOn=0
Aggro1=NULL
Aggro2=NULL
Aggro3=NULL
[Cures]
CuresOn=0
Cures1=NULL
Cures2=NULL
Cures3=NULL
Cures4=NULL
Cures5=NULL
[SpellSet]
LoadSpellSet=0
SpellSetName=KissAssist

- - - Updated - - -

Rich (BB code):
[General]
KissAssistVer=8.4.2
Role=Tank
CampRadius=25
CampRadiusExceed=150
ReturnToCamp=1
ChaseAssist=0
ChaseDistance=25
MedOn=1
MedStart=20
MedCombat=0
LootOn=1
RezAcceptOn=1
AcceptInvitesOn=1
EQBCOn=1
GroupWatchOn=1
IRCOn=0
MiscGem=8
HoTTOn=0
CampfireOn=0
[Melee]
AssistAt=100
MeleeOn=1
FaceMobOn=1
MeleeDistance=50
StickHow=front
AutoFireOn=0
[Buffs]
BuffsOn=1
Buffs1=Champion's Aura|Aura|Champion's Aura Effect
Buffs2=NULL
Buffs3=NULL
Buffs4=NULL
Buffs5=NULL
Buffs6=NULL
Buffs7=NULL
Buffs8=NULL
Buffs9=NULL
Buffs10=Familiar of the Jungle
Buffs11=NULL
Buffs12=NULL
Buffs13=NULL
Buffs14=NULL
Buffs15=NULL
Buffs16=NULL
Buffs17=NULL
Buffs18=NULL
Buffs19=NULL
Buffs20=NULL
RebuffOn=1
CheckBuffsTimer=20
[DPS]
DPSOn=1
DPSSkip=0
DPSInterval=2
DPS1=Jeer|99
DPS2=Bracing Defense|95
DPS3=Knuckle Crush|90
DPS4=Disarm|85
DPS5=Field Armorer|80
DPS6=Shield Topple|75
DPS7=Bazu Bluster|50
DPS8=Opportunistic Strike|19
DPS9=NULL
DPS10=NULL
DPS11=NULL
DPS12=NULL
DPS13=NULL
DPS14=NULL
DPS15=NULL
[Heals]
Help=Format Spell|% to heal at i.e. Devout Light Rk. II|50
HealsOn=1
Heals1=Furious Discipline|30|Me
Heals2=NULL
Heals3=NULL
Heals4=NULL
Heals5=NULL
Heals6=NULL
Heals7=NULL
Heals8=NULL
AutoRezOn=0
AutoRezWith=Your Rez Item/AA/Spell
XTarHeal=0
[Merc]
Help=To use: Turn off Auto Assist in Manage Mercenary Window
MercOn=1
MercAssistAt=96
[Pull]
PullWith=Bazu Roar
MaxRadius=375
MaxZRange=150
LoSFailOn=0
PullWait=5
PullRoleToggle=0
ChainPull=0
ChainPullHP=90
ChainPullPause=30|2
[AFKTools]
AFKToolsOn=1
AFKGMAction=/quit
AFKPCRadius=150
AFKHelp=AFKGMAction=0 Off, 1 Pause Macro, 2 End Macro, 3 Unload MQ2, 4 Quit Game
CampOnDeath=0
ClickBacktoCamp=0
[Burn]
BurnText=Decepticons Attack
Burn1=Heroic Ironhand Breastplate
Burn2=Fourth Wind
Burn3=Stonewall Discipline
Burn4=Armor of Timeworn Runes
Burn5=Brutal Onslaught Discipline
Burn6=Punch Through
BurnAllNamed=1
Burn7=NULL
Burn8=NULL
Burn9=NULL
Burn10=NULL
Burn11=NULL
Burn12=NULL
Burn13=NULL
Burn14=NULL
Burn15=NULL
[SpellSet]
LoadSpellSet=0
SpellSetName=KissAssist
[AE]
AEOn=0
AERadius=50
AE1=NULL
AE2=NULL
AE3=NULL
AE4=NULL
AE5=NULL
[Aggro]
AggroOn=0
Aggro1=NULL
Aggro2=NULL
Aggro3=NULL
[Cures]
CuresOn=0
Cures1=NULL
Cures2=NULL
Cures3=NULL
Cures4=NULL
Cures5=NULL

- - - Updated - - -

Rich (BB code):
[General]
KissAssistVer=8.4.2
Role=Assist
CampRadius=30
CampRadiusExceed=400
ReturnToCamp=1
ChaseAssist=0
ChaseDistance=25
MedOn=1
MedStart=40
MedCombat=0
LootOn=0
RezAcceptOn=1
AcceptInvitesOn=1
GroupWatchOn=0
EQBCOn=1
IRCOn=0
MiscGem=8
HoTTOn=0
CampfireOn=0
[Buffs]
BuffsOn=1
Buffs1=NULL
Buffs2=NULL
Buffs3=NULL
Buffs4=NULL
Buffs5=NULL
Buffs6=NULL
Buffs7=NULL
Buffs8=NULL
Buffs9=NULL
Buffs10=NULL
Buffs11=NULL
Buffs12=Fourth Wind|End|60
Buffs13=NULL
Buffs14=NULL
Buffs15=NULL
Buffs16=NULL
Buffs17=NULL
Buffs18=NULL
Buffs19=NULL
Buffs20=NULL
RebuffOn=1
ChecKBuffsTimer=20
[Melee]
AssistAt=98
MeleeOn=1
FaceMobOn=1
MeleeDistance=75
StickHow=snaproll
AutoFireOn=0
[AE]
AEOn=0
AERadius=50
AE1=NULL
AE2=NULL
AE3=NULL
AE4=NULL
AE5=NULL
[DPS]
DPSOn=1
DPSSkip=20
DPSInterval=2
DPS1=Frenzy|98
DPS2=Overpowering Frenzy|98
DPS3=Eradicator's Volley|98
DPS4=Vigorous Axe Throw|98
DPS5=Axe of Rallos|98
DPS6=NULL
DPS7=NULL
DPS8=NULL
DPS9=NULL
DPS10=NULL
DPS11=NULL
DPS12=NULL
DPS13=NULL
DPS14=NULL
DPS15=NULL
[Aggro]
AggroOn=0
Aggro1=NULL
Aggro2=NULL
Aggro3=NULL
[Heals]
Help=Format Spell|% to heal at i.e. Devout Light Rk. II|50
HealsOn=0
Heals1=NULL
Heals2=NULL
Heals3=NULL
Heals4=NULL
Heals5=NULL
XTarHeal=0
[Cures]
CuresOn=0
Cures1=NULL
Cures2=NULL
Cures3=NULL
Cures4=NULL
Cures5=NULL
[Burn]
BurnText=Decepticons Attack
BurnAllNamed=1
Burn1=Savage Spirit
Burn2=Reckless Abandon
Burn3=Fundament: Third Spire of Savagery
Burn4=NULL
Burn5=NULL
Burn6=NULL
Burn7=NULL
Burn8=NULL
Burn9=NULL
Burn10=NULL
Burn11=NULL
Burn12=NULL
Burn13=NULL
Burn14=NULL
Burn15=NULL
[Pull]
PullWith=Melee
MaxRadius=350
MaxZRange=50
PullWait=0
PullRoleToggle=0
ChainPull=0
ChainPullHP=90
ChainPullPause=30|2
[AFKTools]
AFKHelp=AFKGMAction=0 Off, 1 Pause Macro, 2 End Macro, 3 Unload MQ2, 4 Quit Game
AFKToolsOn=0
AFKGMAction=1
AFKPCRadius=150
CampOnDeath=0
ClickBacktoCamp=0
[Merc]
Help=To use: Turn off Auto Assist in Manage Mercenary Window
MercOn=0
MercAssistAt=92
[SpellSet]
LoadSpellSet=0
SpellSetName=KissAssist

- - - Updated - - -

Rich (BB code):
[General]
KissAssistVer=8.4.2
Role=Assist
CampRadius=30
CampRadiusExceed=100
ReturnToCamp=1
ChaseAssist=1
ChaseDistance=25
MedOn=1
MedStart=25
MedCombat=0
LootOn=1
RezAcceptOn=1
AcceptInvitesOn=1
GroupWatchOn=0
EQBCOn=1
IRCOn=0
MiscGem=8
HoTTOn=1
CampfireOn=0
[Buffs]
BuffsOn=1
RebuffOn=1
Buffs1=NULL
Buffs2=NULL
Buffs3=NULL
Buffs4=NULL
Buffs5=NULL
Buffs6=NULL
Buffs7=NULL
Buffs8=NULL
Buffs9=NULL
Buffs10=Master's Aura|Once
Buffs11=Moment of Placidity|Ener|50
Buffs12=Fourth Wind|Ener|10
Buffs13=NULL
Buffs14=NULL
Buffs15=NULL
Buffs16=NULL
Buffs17=NULL
Buffs18=NULL
Buffs19=NULL
Buffs20=NULL
ChecKBuffsTimer=20
[Melee]
AssistAt=98
MeleeOn=1
FaceMobOn=1
MeleeDistance=75
StickHow=snaproll
AutoFireOn=0
[AE]
AEOn=0
AERadius=50
AE1=NULL
AE2=NULL
AE3=NULL
AE4=NULL
AE5=NULL
[DPS]
DPSOn=1
DPSSkip=20
DPSInterval=2
DPS1=Fists of Wu|100
DPS2=Flinch|100
DPS3=Whorl of Fists|99
DPS4=Drunken Monkey Style|98
DPS5=Fists of Wu|97
DPS6=Flying Kick|96
DPS7=Tiger Claw|95
DPS8=Drunken Monkey Style|90
DPS9=Whorl of Fists|80
DPS10=Calanin's Synergy|75
DPS11=NULL
DPS12=NULL
DPS13=NULL
DPS14=NULL
DPS15=NULL
[Aggro]
AggroOn=0
Aggro1=NULL
Aggro2=NULL
Aggro3=NULL
[Heals]
Help=Format Spell|% to heal at i.e. Devout Light Rk. II|50
HealsOn=1
Heals1=Mend|60|Me
Heals2=Defer Death|40
Heals3=Feign Death|30|Feign
Heals4=Imitate Death|15
Heals5=NULL
XTarHeal=0
[Cures]
CuresOn=1
Cures1=Purify Body
Cures2=NULL
Cures3=NULL
Cures4=NULL
Cures5=NULL
[Burn]
BurnText=Decepticons Attack
Burn1=Heroic Forcestruck Chestwraps
Burn2=Fundament:Second Spire of the Sensei
Burn3=Infusion of Thunder
Burn4=Zan Fi's Whistle
Burn5=Eye Gouge
Burn6=Five Point Palm
BurnAllNamed=0
Burn7=NULL
Burn8=NULL
Burn9=NULL
Burn10=NULL
Burn11=NULL
Burn12=NULL
Burn13=NULL
Burn14=NULL
Burn15=NULL
[Pull]
PullWith=Vigorous Shuriken
MaxRadius=350
MaxZRange=50
PullWait=0
PullRoleToggle=0
ChainPull=0
ChainPullHP=90
ChainPullPause=30|2
[AFKTools]
AFKHelp=AFKGMAction=0 Off, 1 Pause Macro, 2 End Macro, 3 Unload MQ2, 4 Quit Game
AFKToolsOn=1
AFKGMAction=4
AFKPCRadius=150
CampOnDeath=0
ClickBacktoCamp=0
[Merc]
Help=To use: Turn off Auto Assist in Manage Mercenary Window
MercOn=0
MercAssistAt=92
[SpellSet]
LoadSpellSet=0
SpellSetName=KissAssist

- - - Updated - - -

Rich (BB code):
|Into the Hills All Tanks v3.0

#turbo 40
#include spell_routines.inc
#include wait4rez.inc

#event ToonReady "<#1> Ready"
#event UpdateEvent "#*#Your task '#1#' has been updated."

| Run /mac dead2all on your Tank.
| This macro is untested with mercs, but it should still work with them.
| There is a 100s delay at the start of every heroic for rebuffs defined in your ini.  I use 10 and still have 40s left after.
| If you usecampfire make sure you have 3 people in your FS in the group otherwise you will get spammed trying to create a campfire.
| You do not need autofollow on your other macros but it helps

Sub Main
  /declare DummyVariable int 1
  /declare iii int inner
  /echo Into the Hills Started
  /call GeneralDeclares


  /if (${Defined[Param0]}) /varset CampNum ${Param0}
  /call SetUp
  /if (${Zone.ShortName.Equal[deadhills_errand]}) /goto :mainloop
  /delay 10
  /call GetInstance
 :SkipZoneIn
  /call ZoneIn
  /if (${UseCampfire})  /call createcampfire
  /call SetupCamp
  /popup Into the Hills v3.0
  /moveto loc 555.7 -271
  /delay 3s
  /moveto loc 451.14 -249.5
  /delay 6s
  /bcg //chase 1
  /bcg //doleashtoon 1
  /bcg //varset LootOn 1
  /bcg //varset DoLoot 1

  /delay 1s
/if (${Me.Class.ShortName.Equal[WAR]} && ${FindItem[${SummonItem}].ID}) {
/if (${FindItemCount[${Ammo}]} < 100) {
/useitem "${SummonItem}"
/delay 3s
/autoinv
 }
}
/if (${Me.XTarget}==0) {
/varset bufftimer2 75s
/bcg //sit
}
:mainloop
/if (${bufftimer2}) /call Checkselfbuff
/if (${bufftimer2}) /goto :mainloop
:killmob
  /for iii 1 to 5
  /if (${Me.CombatState.NotEqual[COMBAT]} && ${ReturnGribble}==1) /call ReturnToGribble

  /if  (${Group.Member[${iii}].Type.NotEqual[corpse]} && ${CampNum}==1) {
     /if (${Me.CombatState.NotEqual[COMBAT]}) {
       /call PullMobA 1 8 240 0 5
    }
  }
  /next iii
  /doevents
  /if (${Me.State.Equal[HOVER]}) {
    /varset CampNum 6
  }
  /delay 2
  /doevents
  /if (${Me.XTarget}==0) /goto :killmob
  /if (${Me.XTarget}>=1) {
/call dpsmode
 }
  /if (${Target.ID}) /face fast
 /delay 2	
 /goto :killmob
}
/return

Sub SetUp
/declare kk int inner
/declare i int inner
/declare k int inner
  /alert clear 1
  /alert add 1 Gribble
  /alert add 1 adventurer
  /alert add 1 Cogwitz
  /hidecorpse looted
  /bct ${MainAssist} //alert add 1 Gribble
  /bct ${MainAssist} //alert add 1 adventurer
  /for kk 1 to ${Group}
    /if (${Group.Member[${kk}].Type.Equal[PC]}) /varcalc ReadysRequired ${ReadysRequired}+1
  /next kk
|  /echo ${ReadysRequired}

  /varset i 1

|  Loads the Path file
  :iloop1
    /varset k 1
    /if (!${Bool[${Ini[${IniPathFile},"Path${i}","PointX${k}"]}]}) {
      /varcalc MaxPaths ${i}-1 
      /echo Number of paths ${MaxPaths}    
      /return
    }
    :kloop1
      /if (!${Bool[${Ini[${IniPathFile},"Path${i}","PointX${k}"]}]}) {
        /varset Path[${i},${k},1] 0
        /varset Path[${i},${k},2] 0
        /varcalc i ${i}+1
        /goto :iloop1
      } else {
    |    /echo ${i} ${k} ${Ini[${IniPathFile},"Path${i}","PointX${k}"]}
        /varset Path[${i},${k},1] ${Ini[${IniPathFile},"Path${i}","PointX${k}"]}
        /varset Path[${i},${k},2] ${Ini[${IniPathFile},"Path${i}","PointY${k}"]}
        /echo ${Path[${i},${k},1]}
        /varcalc k ${k}+1
        
      }
    
  /goto :kloop1

/return

Sub createcampfire
        /windowstate FellowshipWnd open
        /delay 5
        /nomodkey /notify FellowshipWnd FP_Subwindows tabselect 2
            /nomodkey /notify FellowshipWnd FP_DestroyCampsite leftmouseup
            /delay 5s ${Window[ConfirmationDialogBox].Open}
            /if (${Window[ConfirmationDialogBox].Open}) {
                /nomodkey /notify ConfirmationDialogBox Yes_Button leftmouseup
            }
        /delay 1s
        }
        /delay 1s
        /nomodkey /notify FellowshipWnd FP_RefreshList leftmouseup
        /delay 1s        
        /nomodkey /notify FellowshipWnd FP_CampsiteKitList listselect 1
        /delay 1s
        /nomodkey /notify FellowshipWnd FP_CreateCampsite leftmouseup
        /delay 5s
        /windowstate FellowshipWnd close
/return

Sub ReturnToGribble
  /delay 90s ${Me.CombatState.NotEqual[COMBAT]}
  /delay 180s !${Me.XTarget}||${Me.XTarget[1].PctHPs}>99 
  /delay 15s
  /beep
  /bcg //end
  /delay 2s
  /bcg //moveto loc 436.9 -282.3
  /delay 1s
  /bcga //tar Gribble
  /delay 2s
  /delay 20s ${SpawnCount[PC]}==${SpawnCount[PC radius 40]}
  /keypress H
  /delay 2s
  /keypress H
  /delay 2s
  /bcga //taskquit
  /delay 5s
  /bcga //say back
  /delay 5s
  /delay 120s ${Zone.ShortName.Equal[deadhills]}
  /delay 30s
  /varset CampNum 1
  /varset ReturnGribble 0
  /moveto loc -1120 -720
  /mac scoutingahead
/return 

Sub GetInstance
  /bcga //plugin mq2navigation
  /delay 10s
  /bcga //tar Gribble
  /delay 1
  /bcga //navigate target
  /delay 10s
  /bcga //sit
  /delay 10
  /if (${Target.Distance}<50) {
    /say willing
    /delay 4s
    /notify TaskSelectWnd TSEL_TaskList listselect ${Window[TaskSelectWnd].Child[TSEL_TaskList].List[=Into the hills]}
    /delay 4s
    /notify TaskSelectWnd TSEL_AcceptButton leftmouse 2
  } else {
   /bc Gribble is OOR
   /endm
  }
/return

Sub Wait4Ready(int MaxReady)
|  This is a routine I call which waits for every toon to say they are ready to proceed.  I normally use this for zoning and moving between camps (I've used the slacker /afol method tho in this macro)
 | /echo ${MaxReady} ${NumReady}
  /doevents flush
  :loop
   /doevents
   /delay 1
  /if (${NumReady}<${MaxReady}) /goto :loop
  /bc All toons are [+g+]Ready
  /varset NumReady 0
/return

Sub ZoneIn
/declare kk int inner
 :shortloop
  /tar Gribble
|----------
|
|
|  Insert your /bct commands to role buffs for the characters.  You can do it here (in deadhills) b4 you zone in.
|
|----------
  /delay 32s
  /say leave
  /delay 120s ${Zone.ShortName.Equal[deadhills_errand]}
  /if (!${Zone.ShortName.Equal[deadhills_errand]}) /goto :shortloop
  /keypress ESC
  /delay 10s
  /for kk 1 to ${Group}
      /delay ${Math.Rand[9]}s
      /bct ${Group.Member[${kk}].Name} //mac deadzone.mac
  /next kk
  /echo waiting for readys.
  /call Wait4Ready ${ReadysRequired}


| Load up some clickie buffs on toons.

  /delay 6
  /return
}

Sub SetupCamp
 /varset Macro1 ${${Group.Member[1].Class.ShortName}}
 /varset Macro2 ${${Group.Member[2].Class.ShortName}}
 /varset Macro3 ${${Group.Member[3].Class.ShortName}}
 /varset Macro4 ${${Group.Member[4].Class.ShortName}}
 /varset Macro5 ${${Group.Member[5].Class.ShortName}}
|----------------
|
|  This area is where you send out /bct's to your other toons to set up.  i.e The tank sets up ready to receive mobs, you healers set up.
|
|-----------------
  /delay 5s
  /bcg //target ${MainAssist}
  /delay 2s
  /bct ${Earldibbles} //mac ${Macro1}
  /bct ${Smokenfist} //mac ${Macro2}
  /bct ${Toon3} //mac ${Macro3}
  /bct ${Toon4} //mac ${Macro4}
  /bct ${Mossaxe} //mac ${Macro5}
  /delay 5s
/return

Sub PullMobA(PullType, MaxMobs, PullRange, MezRange, NumberMobsToCheck)
|| PullType = 1 = Mindless Hatred  2 = Helix of the Undying, 4 = Ageless Enmity, 8 = Double Pull...  (bitwise operation)
/declare i int inner
/declare iiii int inner 0
/declare EndOfPath int inner 0
/declare CheckMob int inner 1
/declare PullList string inner
/declare tt int inner 0
  /varset EndOfPath 0
  /varset i 1
   :moveloop
		/if (${Me.XTarget}) {
		/goto :Movepause
		}
     /bc [+Y+]Path : [+y+]${CampNum}[+Y+]  Point : [+y+]${i}  [+x+]
    /squelch /moveto loc ${Path[${CampNum},${i},1]} ${Path[${CampNum},${i},2]}
    /delay 1s 
    /if (${SpawnCount[PC]}>${SpawnCount[PC radius 40]}) /call AnyoneLost 
     :MoveLoop1
 /for iiii 1 to ${Group}
/if (${Group.Member[${iiii}].Class.ShortName.Equal[BRD]}) {
/varset bd 1
/varset bdname ${Group.Member[${iiii}].CleanName}
}
/if (${Group.Member[${iiii}].Class.ShortName.Equal[SHM]}) {
/varset sh 1
/varset shname ${Group.Member[${iiii}].CleanName}
}
/next iiii
|  This is here incase it tries to pull another mob when it already pulled one.
		/if (${Me.XTarget}) {
		/goto :Movepause
		}
       /doevents

|  This is the grunt of the pulling routine
|  This bit is checking for targets while moving....
       /varset CheckMob ${SpawnCount[NPC radius ${PullRange} zradius ${zrange} los noalert 1]}
       /if (${CheckMob}>${NumberMobsToCheck}) /varset CheckMob ${NumberMobsToCheck}
       /if (${CheckMob}) {
         /for tt 1 to ${CheckMob} 
           /doevents  
           /if (${ReturnGribble}==1) {
              /varcalc i ${i}-1
              /goto :ReturnPath
           }
           /tar id ${NearestSpawn[${tt}, NPC los radius ${PullRange} zradius ${zrange} noalert 1].ID}
           /delay 1s ${Target.ID}==${NearestSpawn[${tt}, NPC los radius ${PullRange} zradius ${zrange} noalert 1].ID}||${Me.CombatState.Equal[COMBAT]}
           /if (${Target.Type.Equal[NPC]} && ${Target.LineOfSight}) {
             /if (${Target.LineOfSight} && ${Target.Distance}<230) {
		/face fast
		/delay 5
		/if (${Me.XTarget}) /goto :Movepause
/if (${Me.Class.ShortName.Equal[SHD]} && !${Me.SpellReady[${PullSpell1}]} && !${Me.SpellReady[${PullSpell2}]} && ${Me.SpellReady[${PullSpell3}]}) {
               /bc Casting ${PullSpell3} [+t+]${Target.Name}
	       /cast "${PullSpell3}"
}
/if (${Me.Class.ShortName.Equal[SHD]} && !${Me.SpellReady[${PullSpell1}]} && ${Me.SpellReady[${PullSpell2}]}) {
               /bc Casting ${PullSpell2} [+t+]${Target.Name}
	       /cast "${PullSpell2}"
}
/if (${Me.Class.ShortName.Equal[SHD]} && ${Me.SpellReady[${PullSpell1}]}) {
               /bc Casting ${PullSpell1} [+t+]${Target.Name}
	       /cast "${PullSpell1}"
}
/if (!${Me.Moving} && ${Me.Class.ShortName.Equal[PAL]} && !${Me.SpellReady[${PullSpell1}]} && !${Me.SpellReady[${PullSpell2}]} && ${Me.SpellReady[${PullSpell3}]}) {
               /bc Casting ${PullSpell3} [+t+]${Target.Name}
	       /cast "${PullSpell3}"
}
/if (!${Me.Moving} && ${Me.Class.ShortName.Equal[PAL]} && !${Me.SpellReady[${PullSpell1}]} && ${Me.SpellReady[${PullSpell2}]}) {
               /bc Casting ${PullSpell2} [+t+]${Target.Name}
	       /cast "${PullSpell2}"
}
/if (!${Me.Moving} && ${Me.Class.ShortName.Equal[PAL]} && ${Me.SpellReady[${PullSpell1}]}) {
               /bc Casting ${PullSpell1} [+t+]${Target.Name}
	       /cast "${PullSpell1}"
}
/if (${Me.Class.ShortName.Equal[WAR]} && !${Me.XTarget}) {
    	        /bc Shooting an arrow at [+t+]${Target.Name}
                /ranged
/delay 2s
}
/delay 2s
             }
             /delay 4
           } 
|  This is here incase it tries to pull another mob when it already pulled one.
		/if (${Me.XTarget}) {
		/goto :Movepause
		}
           /if (${Target.Type.Equal[NPC]} && ${Target.Distance}<150 && ${Target.LineOfSight}  && ${Me.XTarget}<2) {
            /delay 2s ${Me.CombatState.Equal[COMBAT]}
          }
          /next tt
          }
         }
     /delay 1
    
     /if (!${MoveTo.Stopped} && !${Me.XTarget}) /goto :MoveLoop1

| This is here so you use rest while pulling it helps a ton.
/if (!${Melee.DiscID} && ${Me.PctEndurance}<=18 && ${Me.CombatAbilityReady[${RespiteDisc}]}) /disc ${RespiteDisc}

|  This is here incase it tries to pull another mob when it already pulled one.
		/if (${Me.XTarget}) /goto :Movepause
|  This bit is checking for mobs to pull at the way point.
      /varset CheckMob ${SpawnCount[NPC radius ${PullRange} zradius ${zrange} los noalert 1]}
       /if (${CheckMob}>${NumberMobsToCheck}) /varset CheckMob ${NumberMobsToCheck}
       /if (${CheckMob}) {
         /for tt 1 to ${CheckMob} 
           /doevents
           /if (${ReturnGribble}==1) {
              /varcalc i ${i}-1
              /goto :ReturnPath
           }
           /tar id ${NearestSpawn[${tt}, NPC los radius ${PullRange} zradius ${zrange} noalert 1].ID}
           /delay 1s ${Target.ID}==${NearestSpawn[${tt}, NPC los radius ${PullRange} zradius ${zrange} noalert 1].ID}||${Me.CombatState.Equal[COMBAT]}
           /if (${Target.Type.Equal[NPC]} && ${Target.LineOfSight}) {
             /if (!${Me.Moving} && ${Target.LineOfSight} && ${Target.Distance}<230) {
		/face fast
		/delay 5
		/if (${Me.XTarget}) {
		/goto :Movepause
		}
/if (${Me.Class.ShortName.Equal[SHD]} && !${Me.SpellReady[${PullSpell1}]} && !${Me.SpellReady[${PullSpell2}]} && ${Me.SpellReady[${PullSpell3}]}) {
               /bc Casting ${PullSpell3} [+t+]${Target.Name}
	       /cast "${PullSpell3}"
}
/if (${Me.Class.ShortName.Equal[SHD]} && !${Me.SpellReady[${PullSpell1}]} && ${Me.SpellReady[${PullSpell2}]}) {
               /bc Casting ${PullSpell2} [+t+]${Target.Name}
	       /cast "${PullSpell2}"
}
/if (${Me.Class.ShortName.Equal[SHD]} && ${Me.SpellReady[${PullSpell1}]}) {
               /bc Casting ${PullSpell1} [+t+]${Target.Name}
	       /cast "${PullSpell1}"
}
/if (${Me.Class.ShortName.Equal[PAL]} && !${Me.SpellReady[${PullSpell1}]} && !${Me.SpellReady[${PullSpell2}]} && ${Me.SpellReady[${PullSpell3}]}) {
               /bc Casting ${PullSpell3} [+t+]${Target.Name}
	       /cast "${PullSpell3}"
}
/if (${Me.Class.ShortName.Equal[PAL]} && !${Me.SpellReady[${PullSpell1}]} && ${Me.SpellReady[${PullSpell2}]}) {
               /bc Casting ${PullSpell2} [+t+]${Target.Name}
	       /cast "${PullSpell2}"
}
/if (${Me.Class.ShortName.Equal[PAL]} && ${Me.SpellReady[${PullSpell1}]}) {
               /bc Casting ${PullSpell1} [+t+]${Target.Name}
	       /cast "${PullSpell1}"
}
/if (${Me.Class.ShortName.Equal[WAR]} && !${Me.XTarget}) {
    	        /bc Shooting an arrow at [+t+]${Target.Name}
                /ranged
/delay 2s
}
/delay 2s
             }
             /delay 4
           }
           /if (${Target.Type.Equal[NPC]} && ${Target.Distance}<150 && ${Target.LineOfSight}) {  
            /delay 2s ${Me.CombatState.Equal[COMBAT]}
          }
|  This is here incase it tries to pull another mob when it already pulled one.
		/if (${Me.XTarget}) {
		/goto :Movepause
		}
          /next tt
          }
  /varcalc i ${i}+1
  /if (${Bool[${Path[${CampNum},${i},1]}]}) /goto :MoveLoop
  /delay 1s

| This makes sure you hail the npc at the end of path 1
  /bc End of Path Encounted - No Aggro ${i}
  /varset EndOfPath 1
  /if (${CampNum}==1) {
    /tar Cogwitz
    /delay 2s ${Target.Name.Find[Cogwitz]}
    /keypress H
    /delay 5
    /keypress H
    /delay 1s
    /bcg //end
    /delay 2s
/if (${bd}) /bct ${bdname} //casting "Selo's Sonata"
/if (${sh}) /bct ${shname} //casting "Communion of the Cheetah"
    /bcga //hidecorpse all
    /delay 5
    /bcga //hidecorpse looted
    /bcg //stopcast
    /delay 5
    /bcg //target ${MainAssist}
    /delay 2s
    /bcg //stick 15
    /delay 1s
    /bcg //stopcast
    /bcg //twist off
    /delay 3s
    /keypress esc
  }
  /varcalc i ${i}-2
  :ReturnPath
   /if (${i}<1) { 
     /if (${EndOfPath}==1 && ${CampNum}==1) {   
       /call ReturnToGribble
     }
     /return
   }
   /bc [+Y+]Path : [+y+]${CampNum}[+Y+]  Point : [+y+]${i}  [+x+]
      /squelch /moveto loc ${Path[${CampNum},${i},1]} ${Path[${CampNum},${i},2]}
     :MoveLoop2
       /delay 1
       /doevents
      /varset PullList ${Me.XTarget[1].Name}${Me.XTarget[2].Name}${Me.XTarget[3].Name}
     /doevents
     /if (!${MoveTo.Stopped}) /goto :MoveLoop2
     /varcalc i ${i}-1
     /goto :ReturnPath
| This pauses moveto and calls dps mode and repeats the loop until nothing is on xtarget.
:Movepause
/moveto pause
:dps
/call dpsmode
/delay 1s
/if (${Me.XTarget}==0) {
/call DoIMed
/delay 4s
/goto :moveloop
}
/goto :dps
/return
:med
/if 

Sub Event_ToonReady(Line1,ToonName)
  /varcalc NumReady ${NumReady}+1
/return


Sub Event_UpdateEvent(Line1, TaskName)
  /varcalc EventStep ${EventStep}+1
  /bc [+m+]${TaskName}[+w+] : finished STEP [+m+]${EventStep}
/return

Sub GetTarget
/declare asd int inner
/declare tempID int local ${Target.ID}
/if (${Me.Moving}) /return
/for asd 1 to 10
/if (!${validTarget} && ${Target.ID}==${Me.XTarget[${asd}].ID}) {
      /varset validTarget 1
      /varset CurrentTarget ${Target.ID}
/next asd    
} else {
/xtar 1
      /varset validTarget 1
      /varset CurrentTarget ${Target.ID}
}


/if (!${validTarget} && ${Me.XTarget}>=1) /xtar 1
/if (!${Target.ID} && ${Me.XTarget}>=1) /xtar 1
/if (${Target.Type.Equal["Corpse"]}) /target clear
/if (${Target.Name.Equal[${MainAssist}]}) /target clear
/return

Sub DpsMode
/doevents
/call GetTarget
/if (${Target.CleanName.Equal[Gribble Grobblenobber]}) {
/keypress esc
/call GetTarget
}
/varset TempStickSetting ${StickSetting}
/if (${validTarget} && ${Target.PctHPs}<=${AssistAt} && ${Target.Type.Equal[NPC]} && ${Target.Distance} < ${AssistDistance} && ${Target.ID}) /call KillTarget
/if (${Me.PctAggro}==0 && ${Me.XTarget}>=1 && ${Target.Distance}<=200 && ${Me.SpellReady[${HateSpell3}]} && ${Melee.AggroMode}) /call once ${HateSpell3}
/return

Sub KillTarget
/doevents
/face fast
/call Attack
/if (${SpawnCount[npc radius 75 zradius 100]}>=3) /call Defensive
/if (${Target.Named}) /call Defensive
/if (!${validTarget} || ${ExcludeList.Find[${Target.DisplayName}]}) /multiline ; /squelch /target clear; /attack off; /return
/if (${Target.Type.Equal["Corpse"]} || !${Target.ID}) /multiline ; /squelch /target clear; /varset validTarget 0; /attack off; /return
/return

Sub Attack
/if (${Me.Sitting}) /squelch /stand
/if (!${Me.Combat} && ${Target.Distance} <= 35) /attack on
/call CheckHealth
/if (${Me.Class.ShortName.Equal[WAR]}) /call Aggro_WAR
/if (${Me.Class.ShortName.Equal[SHD]}) /call Aggro_SK
/if (${Me.Class.ShortName.Equal[PAL]}) /call Aggro_PAL
/if (${SpawnCount[npc radius 75 zradius 100]}>=3) /call Defensive
/if (${Target.Named}) /call Defensive
/if (!${Stick.Active}) /stick ${StickSetting}
/return

Sub Nuke
/if (${Me.Class.ShortName.Equal[WAR]}) /return
/if (${Me.Dead}) /Return
/if (${Me.SpellReady[${NukeSpell1}]} && ${Target.ID} && !${Target.Type.Equal["corpse"]} && !${Target.Type.Equal[PC]} && ${Target.Distance} <=50) {
	/cast "${NukeSpell1}"
	/return
}
/if (${Me.SpellReady[${NukeSpell2}]} && ${Target.ID} && !${Target.Type.Equal["corpse"]} && !${Target.Type.Equal[PC]} && ${Target.Distance} <=50) {
	/cast "${NukeSpell2}"
	/return
}
/if (${Me.AltAbilityReady[Ragged Bite of Agony]} && !${Me.Moving} && !${Target.Type.Equal["corpse"]}) /casting "Ragged Bite of Agony"
/if (${Me.AltAbilityReady[Vicious Bite of Chaos]} && !${Me.Moving} && !${Target.Type.Equal["corpse"]}) /casting "Vicious Bite of Chaos"
/return


Sub CheckHealth
/declare ia int inner
/varset GroupHealth 0
/if (${Me.Class.ShortName.Equal[WAR]}) /return
/if (${Me.Dead}) /return
/if (${Me.Class.ShortName.Equal[SHD]}) {
/if (${Me.PctHPs}<=50 && ${Me.SpellReady[${DireImplication}]} && !${Target.Type.Equal["corpse"]} && ${Target.ID} && !${Target.Type.Equal[PC]}) /cast "${DireImplication}"
/if (${Me.PctHPs}<75 && ${Me.SpellReady[${LifeTapSpell1}]} && !${Target.Type.Equal["corpse"]} && ${Target.ID} && !${Target.Type.Equal[PC]}) /cast "${LifeTapSpell1}"
/if (${Me.PctHPs}<75 && ${Me.SpellReady[${LifeTapSpell2}]} && !${Target.Type.Equal["corpse"]} && ${Target.ID} && !${Target.Type.Equal[PC]}) /cast "${LifeTapSpell2}"
/if (${Me.PctHPs}<20 && ${Me.AltAbilityReady[leech touch]} && !${Target.Type.Equal["corpse"]} && ${Target.ID} && !${Target.Type.Equal[PC]}) /casting "Leech Touch"
/if (${Me.PctMana}<60 && ${Me.AltAbilityReady[Thought Leech]} && !${Target.Type.Equal["corpse"]} && ${Target.ID} && !${Target.Type.Equal[PC]}) /casting "Thought Leech"
}
/if (${Me.Class.ShortName.Equal[PAL]}) {
/if (${Me.PctMana}<80 && ${Me.AltAbilityReady[Marr's Gift]}) /casting "Marr's Gift"
/if (${Me.PctHPs}<75 && ${Me.PctMana}>25 && ${Me.SpellReady[${HateSpell1}]} && ${Target.ID}) /cast "${HateSpell1}"
/if (${Me.PctHPs}<70 && ${Me.PctMana}>25 && ${Me.SpellReady[${HealSpell1}]} && ${Target.ID}) /cast "${HealSpell1}"
/if (${Me.PctHPs}<50 && ${Me.PctMana}>25 && !${Me.SpellReady[${HealSpell1}]} && ${Me.SpellReady[${HealSpell2}]} && ${Target.ID}) /cast "${HealSpell2}"
/for ia 0 to ${Group.Members}
/if (${Group.Member[${ia}].PctHPs} < 65 && ${Me.SpellReady[${HealSpell3}]}) {
/target ${Group.Member[${ia}].PctHPs}
/delay 5
/cast "${HealSpell3}"
 }
/if (${Group.Member[${ia}].ID}) {
              /varcalc GroupHealth ${GroupHealth}+${Group.Member[${ia}].PctHPs}
         } else {
              /varcalc GroupHealth ${GroupHealth} + 100
         }
        /next ia
           /if (${Me.SpellReady[${HealSpell2}]} && ${Math.Calc[${GroupHealth}/${Group.GroupSize}+1]}<${GHealGroupHealth}) {
		/cast "${HealSpell2}"
 }
}
/return

Sub Aggro_SK
/declare MobID int local
/declare i int local
/declare mobcount int local
/declare Mobs int local
/if (${Me.Dead}) /return
/if (${SpawnCount[npc radius 75 zradius 100]}>=3) /call Defensive
/if (${Target.Named}) /call Defensive
/if (!${Me.Combat} && ${Target.Distance} <= 35) /attack on
/if (${Target.Distance}<35 && ${Me.Casting.Name.Equal[NULL]} && ${Me.AbilityReady[Taunt]}) /doability Taunt
/if (${Target.Distance}<35 && ${Me.Casting.Name.Equal[NULL]} && ${Me.AbilityReady[Bash]}) /doability Bash
/if (${Me.XTarget}<2 && ${Target.Distance}<75 && ${Target.PctHPs}<98 && ${Me.SpellReady[${HateSpell1}]} && ${Melee.AggroMode} && ${Me.PctAggro}<100) /call once ${HateSpell1}
/if (${Me.XTarget}<2 && ${Me.SpellReady[${ChallengeSpell}]}) /call once ChallengeSpell
/if (${Me.XTarget}>=2 && ${Me.AltAbilityReady[Improved Explosion of spite]}) /casting  "Improved Explosion of spite"
/if (${Me.Combat} && ${Me.AltAbilityReady[Mindless Hatred]} && ${Melee.AggroMode} && ${Me.PctAggro}<100) /casting "Mindless Hatred"
/if (${Me.Combat} && ${Me.AltAbilityReady[Ageless Enmity]} && !${Me.AltAbilityReady[Mindless Hatred]}  && ${Melee.AggroMode} && ${Me.PctAggro}<100) /casting "Ageless Enmity"
/if (${Me.Combat} && ${Me.SpellReady[${HateSpell1}]} && !${Me.AltAbilityReady[Ageless Enmity]} && !${Me.AltAbilityReady[Mindless Hatred]} && ${Melee.AggroMode} && ${Me.PctAggro}<100) /cast "${HateSpell1}"
/if (${Me.Combat} && ${Me.SpellReady[${HateSpell2}]} && !${Me.SpellReady[${HateSpell1}]} && !${Me.AltAbilityReady[Ageless Enmity]} && !${Me.AltAbilityReady[Mindless Hatred]} && ${Melee.AggroMode} && ${Me.PctAggro}<100) /cast "${HateSpell2}"
/if (${Me.Combat} && ${Me.SpellReady[${HateSpell3}]} && !${Me.SpellReady[${HateSpell2}]} && !${Me.SpellReady[${HateSpell1}]} && !${Me.AltAbilityReady[Ageless Enmity]} && !${Me.AltAbilityReady[Mindless Hatred]} && ${Melee.AggroMode} && ${Me.PctAggro}<100) /cast "${HateSpell3}"

/if (${Me.XTarget}>=2 && ${Me.AltAbilityReady[Improved Explosion of spite]}) /casting  "Improved Explosion of spite"
/if (${Me.XTarget}>=3 && ${Me.AltAbilityReady[Improved Explosion of hatred]}) /casting "Improved Explosion of hatred"
/if (${Me.XTarget}>=3 && ${Me.SpellReady[${AeHateSpell1}]}) /cast "${AeHateSpell1}"
/if (${Me.XTarget}>=4 && ${Me.SpellReady[${AeHateSpell2}]}) /cast "${AeHateSpell2}"
/if (${Me.XTarget}>=6 && ${Me.SpellReady[${AeHateSpell3}]}) /cast "${AeHateSpell3}"
/call CheckHealth
/call Offensive
/call Nuke
/return

Sub Aggro_PAL
/declare MobID int local
/declare i int local
/declare mobcount int local
/declare Mobs int local
/if (${Me.Dead}) /return
/if (${SpawnCount[npc radius 75 zradius 100]}>=3) /call Defensive
/if (${Target.Named}) /call Defensive
/if (!${Me.Combat} && ${Target.Distance} <= 35) /attack on
/if (${Target.Distance}<35 && ${Me.Casting.Name.Equal[NULL]} && ${Me.AbilityReady[Taunt]}) /doability Taunt
/if (${Target.Distance}<35 && ${Me.Casting.Name.Equal[NULL]} && ${Me.AbilityReady[Bash]}) /doability Bash
/if (${Target.PctHPs}<98 && ${Me.AltAbilityReady[Divine Stun]} && ${Melee.AggroMode}) /casting "Divine Stun"
/if (${Target.PctHPs}<98 && ${Me.SpellReady[${StunSpell1}]} && ${Melee.AggroMode}) /cast "${StunSpell1}"
/if (${Me.XTarget}<2 && ${Me.SpellReady[${ChallengeSpell}]}) /call once ChallengeSpell
/if (${Me.Combat} && ${Me.SpellReady[${HateSpell1}]} && ${Melee.AggroMode} && ${Me.PctAggro}<100) /cast "${HateSpell1}"
/if (${Me.XTarget}>=3 && ${Me.SpellReady[${HealSpell2}]} && !${Me.AltAbilityReady[Beacon of the Righteous]}) /call Once "${HealSpell2}"
/if (${Me.XTarget}>=3 && ${Me.AltAbilityReady[Beacon of the Righteous]}) /casting  "Beacon of the Righteous"
/call CheckHealth
/call Offensive
/call Nuke
/return

Sub Aggro_WAR
/declare MobID int local
/declare i int local
/declare mobcount int local
/declare Mobs int local
/if (${Me.Dead}) /return
/call Defensive
/if (!${Me.Combat} && ${Target.Distance} <= 35) /attack on
/if (${Me.Combat} && ${Target.PctHPs}<98 && !${Me.Buff[Sneering Grin].ID} && ${Me.AltAbilityReady[Sneering Grin]} && ${Melee.AggroMode}) /casting "Sneering Grin"
/if (${Me.Combat} && ${Me.CombatAbilityReady[${StormwheelBlades}]} && ${Melee.AggroMode} && ${Me.XTarget}>=2) /disc ${StormwheelBlades}
/if (${Target.Distance}<35 && ${Me.Casting.Name.Equal[NULL]} && ${Me.PctAggro} < 100 && ${Me.AbilityReady[Taunt]}) /doability Taunt
/if (${Me.Combat} && ${Target.PctHPs}<=99 && ${Me.PctEndurance}>1 && ${Me.CombatAbilityReady[${Ridicule}]} && ${Melee.AggroMode} && ${Me.PctAggro}<100) /disc ${Ridicule}
/if (${Me.Combat} && ${Target.PctHPs}<=99 && ${Me.AltAbilityReady[Blast of Anger]} && !${Me.CombatAbilityReady[${KrondalRoar}]} && ${Melee.AggroMode} && ${Me.PctAggro}<100) /casting "Blast of Anger"
/if (${Me.Combat} && ${Target.PctHPs}<=99 && !${Me.AltAbilityReady[Blast of Anger]} && ${Me.AltAbilityReady[Rage of the Forsaken]} && !${Me.CombatAbilityReady[${KrondalRoar}]} && ${Melee.AggroMode} && ${Me.PctAggro}<100) /casting "Rage of the Forsaken"
/if (${Me.Combat} && ${Target.PctHPs}<=99 && ${Me.CombatAbilityReady[${HarassingShout}]} && !${Me.AltAbilityReady[Blast of Anger]} && ${Me.AltAbilityReady[Rage of the Forsaken]} && !${Me.CombatAbilityReady[Krondal's Roar]} && ${Melee.AggroMode} && ${Me.PctAggro}<100) /disc ${HarassingShout}
/if (${Me.Combat} && ${Target.PctHPs}<=99 && ${Me.CombatAbilityReady[${PhantomAggressor}]} && !${Me.CombatAbilityReady[${HarassingShout}]} && !${Me.AltAbilityReady[Blast of Anger]} && ${Me.AltAbilityReady[Rage of the Forsaken]} && !${Me.CombatAbilityReady[${KrondalRoar}]} && ${Melee.AggroMode} && ${Me.PctAggro}<100) /disc ${PhantomAggressor}
/if (${Me.Combat} && ${Me.AltAbilityReady[Area Taunt]} && ${Melee.AggroMode} && ${Me.XTarget}>=4) /casting "Area Taunt"
/if (${Me.Combat} && !${Me.CombatAbilityReady[${StormwheelBlades}]} && ${Target.PctHPs}<=99 && ${Me.PctEndurance}>1 && ${Me.CombatAbilityReady[${RoarofChallenge}]} && ${Melee.AggroMode} && ${Me.XTarget}>=3) /disc ${RoarofChallenge}
/if (${Me.Combat} && ${Me.AltAbilityReady[Warlord's Tenacity]} && ${Target.PctHPs}<=99 && ${Melee.AggroMode} && ${Me.XTarget}>=4) /casting "Warlord's Tenacity"
/if (${Me.Combat} && ${Me.AltAbilityReady[Warlord's Tenacity]} && ${Target.PctHPs}<=99 && ${Melee.AggroMode} && ${Target.Named}) /casting "Warlord's Tenacity"

/if (${Me.Combat} && !${Me.Song[Imperator's Command].ID} && ${Me.AltAbilityReady[Imperator's Command]} && ${Target.PctHPs}<=99 && ${Melee.AggroMode} && ${Me.XTarget}>=3) /casting "Imperator's Command"
/if (${Me.Combat} && !${Me.Song[Imperator's Command].ID} && ${Me.AltAbilityReady[Imperator's Command]} && ${Target.PctHPs}<=99 && ${Melee.AggroMode} && ${Target.Named}) /casting "Imperator's Command"
/return

Sub Once(subname,int force)
/if (${Last${subname}}==${Target.ID}) /return
/varset CurrentSub ${subname}
/if (!${Defined[${subname}]}) /return
/if (${${subname}Conditions}||!${Defined[${subname}Conditions]}) {
	/if (${FindItem[${${subname}}].InvSlot} && !${FindItem[${${subname}}].Timer}) /call Cast "${${subname}}" item ${If[${Defined[${CurrentSub}Color]},${${CurrentSub}Color},Orange]}
	/if (${Me.AltAbilityReady[${${subname}}]}) /call Cast "${${subname}}" alt ${If[${Defined[${CurrentSub}Color]},${${CurrentSub}Color},Orange]}
	/if (${Me.SpellReady[${${subname}}]}||${Me.Book[${${subname}${loop}}]} && ${force} && !${Me.AltAbility[${${subname}${loop}}]}) /call Cast "${${subname}}" ${DefaultGem} ${If[${Defined[${CurrentSub}Color]},${${CurrentSub}Color},Orange]}
	/if (${Macro.Return.Equal[CAST_SUCCESS]}||${Macro.Return.Equal[CAST_NOTHOLD]}) /varset Last${CurrentSub} ${Target.ID}
	}
/return

Sub Defensive
/if (${Me.Class.ShortName.Equal[WAR]} && ${Me.Combat} && ${Me.CombatAbilityReady[Fortitude Discipline]} && ${Melee.AggroMode} && ${Me.XTarget}>=5) {
/stopdisc
/delay 4
/disc Fortitude Discipline
}
/if (${Me.Class.ShortName.Equal[SHD]} && ${Me.Combat} && ${Me.CombatAbilityReady[Deflection Discipline]} && ${Melee.AggroMode} && ${Me.XTarget}>=5) {
/stopdisc
/delay 4
/disc Deflection Discipline
}
/if (${Me.Class.ShortName.Equal[PAL]} && ${Me.Combat} && ${Me.CombatAbilityReady[Deflection Discipline]} && ${Melee.AggroMode} && ${Me.XTarget}>=5) {
/stopdisc
/delay 4
/disc Deflection Discipline
}
/if (${Me.Class.ShortName.Equal[WAR]} && ${Me.Combat} && !${Me.CombatAbilityReady[${Defensive2}]} && !${Me.CombatAbilityReady[${Defensive1}]} && ${Target.PctHPs}<98 && !${Me.Buff[Brace for Impact].ID} && ${Me.AltAbilityReady[Brace for Impact]} && ${Melee.AggroMode} && ${Me.XTarget}>=3) /casting "Brace for Impact"
/if (${SpawnCount[npc radius 75 zradius 100]}>3 && !${Melee.DiscID} && ${Me.CombatAbilityReady[${Defensive1}]} && ${Me.Combat} && ${Me.XTarget}>=3) /disc ${Defensive1}
/if (!${Melee.DiscID} && ${Me.CombatAbilityReady[${Defensive1}]} && ${Me.Combat} && ${Target.Named}) /disc ${Defensive1}
/if (${SpawnCount[npc radius 75 zradius 100]}>3 && !${Melee.DiscID} && ${Me.CombatAbilityReady[${Defensive2}]} && !${Me.CombatAbilityReady[${Defensive1}]} && ${Me.Combat} && ${Me.XTarget}>=3) /disc ${Defensive2}
/if (!${Melee.DiscID} && ${Me.CombatAbilityReady[${Defensive2}]} && !${Me.CombatAbilityReady[${Defensive1}]} && ${Me.Combat} && ${Target.Named}) /disc ${Defensive2}
/if (${SpawnCount[npc radius 75 zradius 100]}>3 && !${Melee.DiscID} && ${Me.CombatAbilityReady[${Defensive3}]} && !${Me.CombatAbilityReady[${Defensive2}]} && !${Me.CombatAbilityReady[${Defensive1}]} && ${Me.Combat} && ${Me.XTarget}>=3) /disc ${Defensive3}
/if (!${Melee.DiscID} && ${Me.CombatAbilityReady[${Defensive3}]} && !${Me.CombatAbilityReady[${Defensive2}]} && !${Me.CombatAbilityReady[${Defensive1}]} && ${Me.Combat} && ${Target.Named}) /disc ${Defensive3}
/return

Sub Offensive
/if (${Me.Class.ShortName.Equal[WAR]}) /return
/if (${Me.Class.ShortName.Equal[PAL]}) /return
/if (${Me.AltAbilityReady[Harm Touch]} && ${Target.Named} && !${Target.Type.Equal["corpse"]}) /casting "Harm Touch"
/if (${Me.AltAbilityReady[Visage of Death]} && ${Target.Named} && !${Target.Type.Equal["corpse"]}) /casting "Visage of Death"
/if (${Me.CombatAbilityReady[${ScarletBlade}]} && ${Target.Named} && !${Target.Type.Equal["corpse"]}) /disc ${ScarletBlade}
/if (${Me.AltAbilityReady[Visage of Death]} && ${Me.XTarget}>=4 && !${Target.Type.Equal["corpse"]}) /casting "Visage of Death"
/if (${Me.CombatAbilityReady[${ScarletBlade}]} && ${Me.XTarget}>=4 && !${Target.Type.Equal["corpse"]}) /disc ${ScarletBlade}
/return

Sub GeneralDeclares
/if (${Me.Class.ShortName.Equal[SHD]}) /declare iniName string outer DH_SK_${Me.Name}.ini
/if (${Me.Class.ShortName.Equal[WAR]}) /declare iniName string outer DH_WAR_${Me.Name}.ini
/if (${Me.Class.ShortName.Equal[PAL]}) /declare iniName string outer DH_PAL_${Me.Name}.ini
  /declare IniPathFile string outer hillsinto.ini
  /declare Path[5,29,2] int outer
  /declare MaxPaths int outer
  /declare NumReady int outer 0
  /declare CampNum int outer 1
  /declare ReadysRequired int outer 0
  /declare ClickName string outer 0
  /declare OuterItem string outer
  /declare ReturnGribble int outer 0
  /declare zrange int outer 100
  /declare BugTimer timer outer 20000
  /declare BugF int outer 0
  /declare NumTargets int outer 0
  /declare CurrentTarget int outer 0
  /declare EventStep int outer 0
  /declare validTarget int outer 0
  /declare TempStickSetting int outer front
  /declare TempIgnoreTimer timer outer
  /declare TempAggroTimer timer outer
  /declare p int local
  /declare CurrentSub       string outer
  /declare LastChallengeSpell    string outer
  /declare LastHateSpell1    string outer
  /declare LastHealSpell2    string outer
  /declare bufftimer timer outer 0
  /declare bufftimer2 timer outer 0
  /declare MemSpellTimer  timer  outer 0
  /declare medding int outer 0
  /declare CantHit int outer
  /declare bdname string outer	
  /declare bd int outer 0
  /declare shname string outer	
  /declare sh int outer 0
  /declare CombatList string outer ${HateSpell1},${HateSpell2},${HateSpell3},${AeHateSpell1},${AeHateSpell2},${AeHateSpell3},${AeHateSpell4},${NukeSpell1},${NukeSpell2},${ChallengeSpell}|
  /declare AeList string outer ${AeHateSpell1},${AeHateSpell2},${AeHateSpell3},${AeHateSpell4}
 /declare Toon1 string outer ${Group.Member[1].Name}
 /declare Toon2 string outer ${Group.Member[2].Name}
 /declare Toon3 string outer ${Group.Member[3].Name}
 /declare Toon4 string outer ${Group.Member[4].Name}
 /declare LooterName string outer ${Group.Member[5].Name}
 /declare MainAssist string outer ${Me.Name}
 /declare GHealGroupHealth int outer 65
 /declare GroupHealth int outer 0
 /call DeclareIniVar BRD string Class kissassist
 /call DeclareIniVar BST string Class kissassist
 /call DeclareIniVar BER string Class kissassist
 /call DeclareIniVar CLR string Class kissassist
 /call DeclareIniVar DRU string Class kissassist
 /call DeclareIniVar ENC string Class kissassist
 /call DeclareIniVar MAG string Class kissassist
 /call DeclareIniVar MNK string Class kissassist
 /call DeclareIniVar NEC string Class kissassist
 /call DeclareIniVar PAL string Class kissassist
 /call DeclareIniVar RNG string Class kissassist
 /call DeclareIniVar ROG string Class kissassist
 /call DeclareIniVar SHD string Class kissassist
 /call DeclareIniVar SHM string Class kissassist
 /call DeclareIniVar WAR string Class kissassist
 /call DeclareIniVar WIZ string Class afnuke
 /call DeclareIniVar Aggro int Settings 0 /doaggro
 /call DeclareIniVar UseCampfire int Settings 0
/if (${Me.Class.ShortName.Equal[WAR]}) {
 /call DeclareIniVar SummonItem string Settings "Huntsman's Ethereal Quiver"
 /call DeclareIniVar Ammo string Settings "Ethereal Arrow"
 /call DeclareIniVar Defensive1 string Disc "Last Stand Discipline Rk. II"
 /call DeclareIniVar Defensive2 string Disc "No Time to Bleed"
 /call DeclareIniVar Defensive3 string Disc "Steadfast Defense"
 /call DeclareIniVar PullSpell1 string Disc "Krondal's Roar"
 /call DeclareIniVar PullSpell2 string Disc "Ridicule"
 /call DeclareIniVar PullSpell3 string Disc "Ridicule"
 /call DeclareIniVar HarassingShout string Aggro "Harassing Shout"
 /call DeclareIniVar PhantomAggressor string Aggro "Phantom Aggressor"
 /call DeclareIniVar StormwheelBlades string Aggro "Stormwheel Blades"
 /call DeclareIniVar Ridicule string Aggro "Ridicule"
 /call DeclareIniVar KrondalRoar string Aggro "Krondal's Roar"
 /call DeclareIniVar RoarofChallenge string Aggro "Roar of Challenge"
 /call DeclareIniVar BuffGem string Spells "12"
}
/if (${Me.Class.ShortName.Equal[PAL]}) {
 /call DeclareIniVar Defensive1 string Disc "Reverent Penitence"
 /call DeclareIniVar Defensive2 string Disc "Brightwing Mantle"
 /call DeclareIniVar Defensive3 string Disc "Holy Guardian Discipline"
 /call DeclareIniVar HateSpell1 string Spells "Valiant Deflection"
 /call DeclareIniVar PullSpell1 string Spells "Demand for Honor"
 /call DeclareIniVar PullSpell2 string Spells "Force of Reverence"
 /call DeclareIniVar PullSpell3 string Spells "Force of the Iceclad"
 /call DeclareIniVar StunSpell1 string Spells "Force of Reverence"
 /call DeclareIniVar StunSpell2 string Spells "Force of the Iceclad"
 /call DeclareIniVar StunSpell3 string Spells "Reverent Force"
 /call DeclareIniVar StunSpell4 string Spells "Lesson of Sorrow"
 /call DeclareIniVar ChallengeSpell string Spells "Demand for Honor"
 /call DeclareIniVar HealSpell1 string Spells "Sorrow"
 /call DeclareIniVar HealSpell2 string Spells "Aurora of Sunrise"
 /call DeclareIniVar HealSpell3 string Spells "Burst of Sunrise"
 /call DeclareIniVar GHealSpell1 string Spells "Wave of Sorrow"
 /call DeclareIniVar BuffGem string Spells "12"
}
 /call DeclareIniVar RespiteDisc string Spells "Rest"
 /call DeclareIniVar StickSetting string Settings 35 
 /call DeclareIniVar AssistDistance int Settings 100
 /call DeclareIniVar AssistAt int Settings 100 /assistat
 /call DeclareIniVar DoDot int Settings 0 /Dot
 /call DeclareIniVar NumOfDots string Settings 1
/if (${Me.Class.ShortName.Equal[SHD]}) {
 /call DeclareIniVar Defensive1 string Disc "Grelleth's Carapace Rk. II"
 /call DeclareIniVar Defensive2 string Disc "Bonebrood Mantle Rk. II"
 /call DeclareIniVar Defensive3 string Disc "Unholy Guardian Discipline"
 /call DeclareIniVar ScarletBlade string Disc "Scarlet Blade"
 /call DeclareIniVar PullSpell1 string Spells "Terror of Vergalid"
 /call DeclareIniVar PullSpell2 string Spells "Terror of Vergalid"
 /call DeclareIniVar PullSpell3 string Spells "Terror of Vergalid"
 /call DeclareIniVar HateSpell1 string Spells "Terror of Jelvalak"
 /call DeclareIniVar HateSpell2 string Spells "Terror of the Soulbleeder "
 /call DeclareIniVar HateSpell3 string Spells "Terror of Vergalid"
 /call DeclareIniVar AeHateSpell1 string Spells "Burst of Spite"
 /call DeclareIniVar AeHateSpell2 string Spells "Revile"
 /call DeclareIniVar AeHateSpell3 string Spells "Vilify"
 /call DeclareIniVar ChallengeSpell string Spells "Demand for Power Rk. II"
 /call DeclareIniVar NukeSpell1 string Spells "Malarian Spear"
 /call DeclareIniVar NukeSpell2 string Spells "Rotmarrow Spear"
 /call DeclareIniVar LifeTapSpell1 string Spells "Touch of Tharoff"
 /call DeclareIniVar LifeTapSpell2 string Spells "Touch of Kildrukaun"
 /call DeclareIniVar LifeTapSpell3 string Spells "Touch of Severan"
 /call DeclareIniVar DireImplication string Spells "Dire Implication"
 /for p 1 to ${NumOfDots}
	/call DeclareIniVar Dot${p} string Spells Changeme
 /next p
 /call DeclareIniVar BuffGem string Spells "12"
}
 /call DeclareIniVar NumSelfBuff string SelfBuffs 5
 /if (${NumSelfBuff}) {
	/for p 1 to ${NumSelfBuff}
	/call DeclareIniVar selfBuff${p} string SelfBuffs ChangeMe
	/if (${Me.Class.Name.Equal[cleric]} || ${Me.Class.Name.Equal[Shaman]}) {
		/call DeclareIniVar selfBuffToCheck${p} string SelfBuffs ${selfBuff${p}}
		} else  {
		/declare selfBuffToCheck${p}  string outer ${selfBuff${p}}
		}
	/call DeclareIniVar SelfType${p} string SelfBuffs ChangeMe
  /next p
 }
 /declare Macro1 string outer ${${Group.Member[1].Class.ShortName}}
 /declare Macro2 string outer ${${Group.Member[2].Class.ShortName}}
 /declare Macro3 string outer ${${Group.Member[3].Class.ShortName}}
 /declare Macro4 string outer ${${Group.Member[4].Class.ShortName}}
 /declare Macro5 string outer ${${Group.Member[5].Class.ShortName}}
/return

Sub DeclareIniVar(string name,string varType,string section,string value,string alias)
/if ( !${Defined[${name}]} ) /declare ${name} ${varType} outer
/varset ${name} ${Ini[${iniName},${section},${name.Left[1].Upper}${name.Right[-1]},"${value}"]}
/ini "${iniName}" "${section}" "${name.Left[1].Upper}${name.Right[-1]}" "${${name}}"
/if ( ${Defined[alias]} ) /squelch /alias ${alias} /echo set: ${name}
/if (${Me.Book[${Me.Book[${${name}} rk. iii]}].ID}) /varset ${name} ${Me.Book[${Me.Book[${${name}} rk. iii]}].Name} 
/if (${Me.Book[${Me.Book[${${name}} rk. ii]}].ID}) /varset ${name} ${Me.Book[${Me.Book[${${name}} rk. ii]}].Name}
/if (${Me.CombatAbility[${${name}} rk. iii]}) /varset ${name} ${${name}} rk. iii
/if (${Me.CombatAbility[${${name}} rk. ii]}) /varset ${name} ${${name}} rk. ii
/return



Sub CastItemClicky(string sItemClicky)
/if (!${FindItem[=${sItemClicky}].ID}) {
	/if (!${ItemTimer}) {
		/call CreateTImer ItemTimer
		/echo You don't seem to have ${sItemClicky} in your Inventory. Check inventory and Ini Spelling.
		/varset ItemTimer 60s
		}
	/return
	}
/declare OldItem string local
|/echo Need to cast ${sItemClicky} and its Worn ${FindItem[${sItemClicky}].EffectType.Equal[Click Worn]} and itemSlot ${FindItem["${sItemClicky}"].InvSlot}
/if (${FindItem[${sItemClicky}].EffectType.Equal[Click Worn]} && ${FindItem[${sItemClicky}].InvSlot} || !${Me.HaveExpansion[Veil of Alaris]}) {
	/varset OldItem ${Me.Inventory[${FindItem[${sItemClicky}].WornSlot[1].ID}].Name}
    /exchange "${sItemClicky}" ${FindItem[${sItemClicky}].WornSlot[1].ID}
	/Echo Using ${sItemClicky} Clicky
    /nomodkey /itemnotify ${FindItem["${sItemClicky}"].InvSlot} rightmouseup
    /delay ${Math.Calc[${FindItem[${sItemClicky}].CastTime}+1]}s
    /timed 10 /exchange "${OldItem}" ${FindItem[${OldItem}].WornSlot[1].ID}
    /delay 5s ${Me.Inventory[${FindItem[${OldItem}].WornSlot[1].ID}].Name.Equal[${OldItem}]}
  } else {
    /Echo Using ${sItemClicky} Clicky
    /if (!${me.Casting.ID}) /nomodkey /itemnotify ${FindItem["${sItemClicky}"].InvSlot} rightmouseup
    /delay ${Math.Calc[${FindItem[${sItemClicky}].CastTime}+1]}s
  }
/return

Sub CheckBuffies(string MySub)
/declare a int local
/for a 1 to ${NumSelfBuff}
    /if ( ${selfBuff${a}.NotEqual[NULL]} && ${SelfType${a}.Equal[item]} && ${FindItem[=${selfBuff${a}}].ID} && ${Me.Buff[${FindItem[=${selfBuff${a}}].Spell.Name}].Duration}<4 && !${FindItem[=${selfBuff${a}}].Timer}) {
       /if (!${Spell[${FindItem[=${selfBuff${a}}].Spell.Name}].Stacks[2]}) /goto :SkipBuff
		/call CastItemClicky "${selfBuff${a}}"
    } else /if ( ${Me.Book[${selfBuff${a}}]} && ${SelfType${a}.Find[gem]} && ${selfBuff${a}.NotEqual[NULL]} && ${Spell[${selfBuff${a}}].Mana} < ${Me.CurrentMana} && !${Me.Class.Name.Equal[bard]} ) {
      /if ( !${Me.Buff[${selfBuffToCheck${a}}].ID} || ${Me.Buff[${selfBuffToCheck${a}}].Duration} < 4 ) {
         /if (!${Spell[${selfBuff${a}}].Stacks[2]}) /goto :SkipBuff
		 /if (!${Me.Gem[${selfBuff${a}}]})  /call MemSpell "${selfBuff${a}}" ${SelfType${a}}     
		 /if (${Me.SpellReady[${selfBuff${a}}]}) {
			/if (${Spell[${selfBuff${a}}].TargetType.Find[Single]}) /target myself
			/if (${Bool[${MySub}]}) /call Cast "${selfBuff${a}}" "${SelfType${a}}" 0 ${MySub}
			/if (!${Bool[${MySub}]}) /call Cast "${selfBuff${a}}" "${SelfType${a}}" 0 
      /return
      }
    }
	}
    :SkipBuff
  /next a
/return

Sub Checkselfbuff
/if (${Me.Class.ShortName.Equal[SHD]} && ${Me.AltAbilityReady[Voice of Thule]}) {
/target ${MainAssist}
/delay 5
/alt act 7000
}
/call CheckBuffies
/varset bufftimer 10s
/return

Sub MemSpell(SpellName,SpellGem)
/varset bufftimer 0
/if (${MemSpellTimer} || !${Me.Book[${SpellName}]}) {
	/if (!${Me.Book[${SpellName}]} && !${SpellTimer}) {
	/call CreateTimer SpellTimer
	/Echo You don't have ${SpellName} in your Spell book. Check your ini for correct spelling.
	/varset SpellTimer 5s
	}
	/return
}
/if (${SpellGem.Length}==1)	/memspell ${SpellGem.Right[1]} "${SpellName}"
/if (${SpellGem.Length}==2)	/memspell ${SpellGem.Right[2]} "${SpellName}"
/if (${SpellGem.Length}==4)	/memspell ${SpellGem.Right[1]} "${SpellName}"
/if (${SpellGem.Length}==5)	/memspell ${SpellGem.Right[2]} "${SpellName}"
/delay 5s ${Me.Gem[${SpellName}]}
/varset  MemSpellTimer ${Math.Calc[${Spell[${SpellName}].RecastTime}+15]}S
/call Checkselfbuff
/return

Sub DoIMed
/if (${Me.PctEndurance}<=21) {
/sit
}
:keepmedding
/if (${Me.XTarget}<1 && ${Me.Sitting} && ${Me.PctEndurance}<=90) /goto :keepmedding
/return

|In case toons got stuck somewhere
Sub AnyoneLost
/bcg //multiline ; /target ${MainAssist} ;/navigate target
/delay 3s
/return

- - - Updated - - -

and idk how to get doleashtoon 1 to work or LootOn DoLoot
 
and that one spot in the dead2all ini were you put names thats the only spot that you edit in the dead2all ini right?
 
That I am not sure of, I've never run any of the Into the Hills macroes. All of my toons are level 90, but I've never tried them.
 
Can anyone give me a line of code that I can put into this macro to make it Ignore Bloodsucker the named mob near the end of this instance? At level 85 with non-VoA T1 gear my group just cant handle it and I would just rather ignore him then for my group to wipe there over and over?
 
Yeah, I use MQ2nav religiously. I have all the meshes. Then again, should I be using one specifically rendered out for this macro? I pulled all the ones from the mesh thread, which has been super helpful.


ALL the meshes, so you have a working one for Morell's Castle? cause I was under the impression that one was impossible to mesh.... If ya got it please post it....

- - - Updated - - -

Can anyone give me a line of code that I can put into this macro to make it Ignore Bloodsucker the named mob near the end of this instance? At level 85 with non-VoA T1 gear my group just cant handle it and I would just rather ignore him then for my group to wipe there over and over?

ok make an in game macro/social and name it ignore or whatever you like
in line 1 of 5 put this:
Rich (BB code):
/addignore ${Target.CleanName}
Now next time you see any mob you do not want your guys to attack target the mob and hit that hotkey, it will add that mod to the global do not pull list!
 
ALL the meshes, so you have a working one for Morell's Castle? cause I was under the impression that one was impossible to mesh.... If ya got it please post it....
I didnt say Ive used them all. Just that ive downloaded them all. I never do MC so I have no idea how well that mesh functions. I was just referencing them as I figured those are what everyone else is using that has this thing working.
 
there are a lot of the mesh files in the download that were created, uploaded but never tested, hence why I hate relying on mesh files
 
Razkle I made the macro just as you said and when I click it it says "This is not a valid command. Please use /help."

Is there anything else I can try?
 
I need to look at the TLO again, this has worked for a long time and now it is broken! grrrr
 
/echo ${Target.CleanName} works.
/addignore is what's not working i guess :)
 
Just trying to Bump this to keep it on the radar. I still haven't been able to find a solution to ignoring Bloodsucker while running this macro. Any help would be greatly appreciated.
 
I think the path waypoints dont cut the corner close enough to avoid the named even if you don't pull him, have you tried to manually add him to ignore in the ini file.,
 
Yes that was the first thing I tried. But I think the part of the script that is scanning for mobs to pull while moving is the part that's getting the named. It's coded to pull anything with a clear line of sight while on the move.
 
Into the HIlls runs great. Tank will grab scouting ahead afterwards, zone in, and wait for readys. Seems to be using the same path from into the hills however and just runs into the corner. Do i need to use a different path list than the one from the beginning of this thread?
 
Running this is great but I am having problems with it not saving a lot of the skills I set in the ini. When I load it just resets them to NULL and runs through without using them, which leads to some rough spots. I also tried editing the Mac for it and If swap the actual skills out for the variables and they work just fine but I have only gotten a few to work and this takes away from the ease of the macro. Not to mention having to editing the other HA macros as well.

I'm just using the mac from the main post and running with a SK tank level 77.

Has anyone else had this problem or know of a way to fix it?
 
Getting error on V2 and V3
DoCommand Couldn´t parse '/echo Into the Hills Started

and later
DoCommand Couldn´t parse '/echo ${Parth[${i},${k},1]}
....
 
Getting error on V2 and V3
DoCommand Couldn´t parse '/echo Into the Hills Started

and later
DoCommand Couldn´t parse '/echo ${Parth[${i},${k},1]}
....
Check your aliases. /Alias list

If you have an erroneous alias for echo, delete it.
 
CotF HA - Into the Hills v3 (Full Auto)

Users who are viewing this thread

Back
Top
Cart