Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
INI:|------------------------------| |---AUTO_WAR by Noobhaxor, ( @ )( @ ). |-----Version: 1.0.3 |-----Update: 1-4-2018 #Event Buff "Your #1# spell has worn off of #*#." #include auto_subs.inc Sub Main /doevents flush /call AutoVersionCheck 6 /call VarSetup /call ClassVarSetup /call AliasSetup /call SetupSpells /if (${Cursor.ID}) /autoinventory /rez spawn off :mainloop /if (${Me.Zoning}) /call Zoning /if (${changetoini}==1) /call INIChanges /if (${Cursor.ID}) /call BagModRods /doevents /call ClassMainLoop /if (${Me.Hovering}) /call DeathSub /if (${Spawn[${FollowToonName}].ID}&&!${MoveTo.Moving}) /call FollowToon /if (!${Me.XTarget[1].ID}) /call AutoCampCheck /goto :mainloop /return Sub ClassMainLoop /if (!${Me.Combat}&&${Me.XTarget[1].ID}) /call FindTarget /if ((${Target.ID}!=${autotargetid}||!${Target.ID}) &&${Me.XTarget[1].ID}) /call FindTarget /if (${Target.ID}&&${Me.XTarget[1].ID}&&${Target.Distance}<60&&!${Me.Combat}) /squelch /attack on /if (${Me.XTarget[1].ID}&&${Me.Combat}) /call EngageTarget /if (${Me.XTarget[1].ID}) /call CheckAggro /if (!${Me.Combat}&&!${Me.XTarget[1].ID}) /call DowntimeDiscs /call SitCheck /return Sub ClassVarSetup /declare meleemit string outer NULL /declare missall string outer NULL /declare absorball string outer NULL /declare parryall string outer NULL /declare shieldhit string outer NULL /declare groupac string outer NULL /declare groupdodge string outer NULL /declare defenseac string outer NULL /declare bmdisc string outer NULL /declare aeroar string outer NULL /declare aeselfbuff string outer NULL /declare aehealhate string outer NULL /declare aehitall string outer NULL /declare taunt1 string outer NULL /declare taunt2 string outer NULL /declare endregen string outer NULL /declare waraura string outer NULL |-Set WAR Variables /declare stayontarget int outer 0 /declare UseMelee int outer 1 |-Config Options /call LoadIni General FollowToonName string "NULL" /call LoadIni General UseFellowship int 0 /call LoadIni General InstantRelease int 0 /call LoadIni General ReturnToCamp int 0 /call LoadIni General AutoAssistAt int 100 /return |---------------------------------------------------------------------------- | SUB: CheckAggro |---------------------------------------------------------------------------- Sub CheckAggro /declare i int local 1 /declare j int local 1 /declare badaggro int local 0 /declare badaggroid int local 0 /declare namecheckid int local 0 /declare lowhptarget int local 100 /declare lowhpid int local 0 |--XTarget Checks /for i 1 to ${Me.XTarget} |--XTarget Aggro Check /if (${Me.XTarget[${i}].PctAggro}<100||${Me.XTarget[${i}].PctAggro}>100) { /varcalc badaggro ${badaggro}+1 /varset badaggroid ${Me.XTarget[${i}].ID} } |--XTarget Low HP Check /if (${Me.XTarget[${i}].PctHPs}<${lowhptarget}&&${Me.XTarget[${i}].Distance}<100) { /varset lowhptarget ${Me.XTarget[${i}].PctHPs} /varset lowhpid ${Me.XTarget[${i}].ID} } |--XTarget Named Check /if (${Me.XTarget[${i}].Named} && ${Me.XTarget[${i}].Type.Equal[NPC]}&&${Me.XTarget[${i}].Distance}<100) /varset namecheckid ${Me.XTarget[${i}].ID} /next i /if (${badaggro}>0&&${stayontarget}!=1) { /varset autotargetid ${badaggroid} /if (${Target.ID}!=${autotargetid} && ${Spawn[id ${autotargetid} npc radius 100].ID}) /target id ${autotargetid} /delay 5 ${Target.ID}==${autotargetid} } else /if (${badaggro}==0 && ${Spawn[id ${namecheckid} npc radius 100].ID} && ${namecheckid}!=${Target.ID} && !${Target.Named} && ${namecheckid}==${lowhpid}) { /varset autotargetid ${Spawn[id ${namecheckid} npc radius 100].ID} /if (${Target.ID}!=${autotargetid} && ${Spawn[id ${namecheckid} npc radius 100].ID}) /target id ${autotargetid} /delay 5 ${Target.ID}==${autotargetid} } else /if (${Target.ID}!=${Me.GroupAssistTarget.ID} && ${Spawn[id ${Me.GroupAssistTarget.ID} npc radius 100].ID}) { /varset autotargetid ${Me.GroupAssistTarget.ID} /if (${Target.ID}!=${autotargetid} && ${Spawn[id ${autotargetid} npc radius 100].ID}) /target id ${autotargetid} /delay 5 ${Target.ID}==${autotargetid} } else { /call FindTarget } |--Defensive setup /if ((${SpawnCount[NPC radius 60 zradius 50]}>2||${Target.Named}) && ${Me.CombatAbilityReady[${meleemit}]} && (${Me.ActiveDisc.Name.Find[Defense]}||!${Me.ActiveDisc.ID})) { /call DiscQueue "${meleemit}" } else /if (${Me.PctHPs}<30 && ${Me.CombatAbilityReady[${absorball}]}) { /call DiscNow "${absorball}" } else /if ((${SpawnCount[NPC radius 60 zradius 50]}>2||${Target.Named}) && ${Me.CombatAbilityReady[${parryall}]} && (${Me.ActiveDisc.Name.Find[Defense]}||!${Me.ActiveDisc.ID})) { /call DiscQueue "${parryall}" } else /if ((${SpawnCount[NPC radius 60 zradius 50]}>3||${Target.Named}) && ${Me.CombatAbilityReady[${missall}]} && (${Me.ActiveDisc.Name.Find[Defense]}||!${Me.ActiveDisc.ID})) { /call DiscQueue "${missall}" } else /if ((${SpawnCount[NPC radius 60 zradius 50]}>2||${Target.Named}) && ${Me.CombatAbilityReady[${bmdisc}]} && ${Me.PctEndurance}>20) { /docommand /disc 49000 /delay 8 !${Me.CombatAbilityReady[${bmdisc}]} /echo Casting ${bmdisc} } else /if ((${SpawnCount[NPC radius 60 zradius 50]}>2||${Target.Named}) && !${Me.Buff[Brace for Impact].ID} && ${Me.AltAbilityReady[Brace for Impact]}) { /call AANow 1686 } else /if ((${SpawnCount[NPC radius 60 zradius 50]}>2||${Target.Named}) && !${Me.Buff[Brace for Impact].ID} && ${Me.AltAbilityReady[Warlord's Tenacity]}) { /call AANow 300 } else /if ((${SpawnCount[NPC radius 60 zradius 50]}>1||${Target.Named}) && !${Me.Buff[Warlord's Tenacity].ID} && ${Me.AltAbilityReady[Imperator's Command]}) { /call AANow 2011 } else /if ((${SpawnCount[NPC radius 60 zradius 50]}>1||${Target.Named}) && ${Me.CombatAbilityReady[${aehealhate}]} && !${Me.Buff[${aehealhate}].ID} && !${Me.Buff[${aeselfbuff}].ID} && ${Me.PctEndurance}>10) { /call DiscNow "${aehealhate}" } else /if ((${SpawnCount[NPC radius 60 zradius 50]}>1||${Target.Named}) && ${Me.CombatAbilityReady[${aeselfbuff}]} && !${Me.Buff[${aehealhate}].ID} && !${Me.Buff[${aeselfbuff}].ID} && ${Me.PctEndurance}>10) { /call DiscNow "${aeselfbuff}" } else /if (!${Me.ActiveDisc.ID} && ${Me.CombatAbilityReady[${defenseac}]} && ${SpawnCount[NPC radius 60 zradius 50]}>=1) { /call DiscQueue "${defenseac}" } |--Aggro management /if (${SpawnCount[NPC radius 60 zradius 50]}>1&&${badaggro}>0&&${Me.CombatAbilityReady[${aeroar}]}) { /call DiscNow "${aeroar}" } else /if (${SpawnCount[NPC radius 60 zradius 50]}>1&&${badaggro}>0&&${Me.CombatAbilityReady[${aehitall}]}) { /call DiscNow "${aehitall}" } else /if (${SpawnCount[NPC radius 60 zradius 50]}>1&&${badaggro}>0&&${Me.AltAbilityReady[Area Taunt]}) { /call AANow 110 } else /if (${Me.AbilityReady[Taunt]}&&${badaggro}>0 && ${Target.Distance}<30) { /call AbilityNow "Taunt" } else /if (${Me.AltAbilityReady[Blast of Anger]} && ${Me.SecondaryPctAggro}>70 && ${Target.Distance}<80) { /call AANow 3646 } else /if (${Me.CombatAbilityReady[${taunt1}]} && ${Me.SecondaryPctAggro}>70 && ${Me.Endurance}>500 && ${Target.Distance}<${Spell[${taunt1}].Range}) { /call DiscNow "${taunt1}" } else /if (${Me.CombatAbilityReady[${taunt2}]} && ${Me.SecondaryPctAggro}>70 && ${Me.Endurance}>500 && ${Target.Distance}<${Spell[${taunt2}].Range}) { /call DiscNow "${taunt2}" } |--Reaction Discs /if (${Me.CombatAbilityReady[${shieldhit}]} && ${Me.PctHPs}<70 && ${Me.Endurance}>500) { /call DiscNow "${shieldhit}" } else /if (${Me.AltAbilityReady[Battle Leap]} && !${Me.Song[Battle Leap].ID} && ${Target.Distance}<50) { /call AANow 611 } /return |---------------------------------------------------------------------------- | SUB: DowntimeDiscs |---------------------------------------------------------------------------- Sub DowntimeDiscs |Out of Combat /if (${Me.PctEndurance}>20&&${Group}&&${Me.CombatAbilityReady[${groupac}]}&&!${Me.Invis}&& !${Me.Sitting}&&!${Me.Combat}&&${Me.XTarget}==0&&!${Me.Song[Paragon].ID}) { /call DiscNow "${groupac}" } else /if (${Me.PctEndurance}>20&&${Group}&&${Me.CombatAbilityReady[${groupdodge}]}&&!${Me.Invis}&& !${Me.Sitting}&&!${Me.Combat}&&${Me.XTarget}==0&&!${Me.Song[Commanding Voice].ID}) { /call DiscNow "${groupdodge}" } else /if (${Me.PctEndurance}<21 && ${Me.Endurance}>313 && ${Me.CombatAbilityReady[${endregen}]} && !${Me.CombatState.Equal[combat]} && !${Me.Invis}) { /call DiscQueue "${endregen}" } else /if (!${Spell[${Me.Aura[1]}].ID} && !${Me.Moving} && !${Me.Invis} && ${Me.State.NotEqual[FEIGN]} && ${Me.CombatAbility[${Spell[${waraura}].RankName}]}&& ${Me.PctEndurance}>10) { /call DiscNow "${waraura}" } /return |---------------------------------------------------------------------------- | SUB: SetupSpells |---------------------------------------------------------------------------- Sub SetupSpells |--One off discs /if (${Me.Level}>=106 && ${Me.CombatAbility[${Spell[Dissident Shield].RankName}]}) /varset bmdisc ${Spell[Dissident Shield].RankName} /if (${Me.Level}>=59 && ${Me.CombatAbility[${Spell[Fortitude Discipline].RankName}]}) /varset missall ${Spell[Fortitude Discipline].RankName} /if (${Me.Level}>=102 && ${Me.CombatAbility[${Spell[Pain Doesn't Hurt].RankName}]}) /varset absorball ${Spell[Pain Doesn't Hurt].RankName} /if (${Me.Level}>=87 && ${Me.CombatAbility[${Spell[Flash of Anger].RankName}]}) /varset parryall ${Spell[Flash of Anger].RankName} /if (${Me.Level}>=99 && ${Me.CombatAbility[${Spell[Wade in to Battle].RankName}]}) /varset aeselfbuff ${Spell[Wade in to Battle].RankName} /if (${Me.Level}>=107 && ${Me.CombatAbility[${Spell[Concordant Expanse].RankName}]}) /varset aehealhate ${Spell[Concordant Expanse].RankName} /if (${Me.Level}>=68 && ${Me.CombatAbility[${Spell[Commanding Voice].RankName}]}) /varset groupdodge ${Spell[Commanding Voice].RankName} |---Melee Mitigation Disc /if (${Me.Level}>=108 && ${Me.CombatAbility[${Spell[Culminating Stand Discipline].RankName}]}) { /varset meleemit ${Spell[Culminating Stand Discipline].RankName} } else /if (${Me.Level}>=98 && ${Me.CombatAbility[${Spell[Last Stand Discipline].RankName}]}) { /varset meleemit ${Spell[Last Stand Discipline].RankName} } else /if (${Me.Level}>=72 && ${Me.CombatAbility[${Spell[Final Stand Discipline].RankName}]}) { /varset meleemit ${Spell[Final Stand Discipline].RankName} } else /if (${Me.Level}>=65 && ${Me.CombatAbility[${Spell[Stonewall Discipline].RankName}]}) { /varset meleemit ${Spell[Stonewall Discipline].RankName} } else /if (${Me.Level}>=55 && ${Me.CombatAbility[${Spell[Defensive Discipline].RankName}]}) { /varset meleemit ${Spell[Defensive Discipline].RankName} } |---Defense AC Disc /if (${Me.Level}>=115 && ${Me.CombatAbility[${Spell[Courageous Defense].RankName}]}) { /varset defenseac ${Spell[Courageous Defense].RankName} } else /if (${Me.Level}>=110 && ${Me.CombatAbility[${Spell[Resolute Defense].RankName}]}) { /varset defenseac ${Spell[Resolute Defense].RankName} } else /if (${Me.Level}>=105 && ${Me.CombatAbility[${Spell[Stout Defense].RankName}]}) { /varset defenseac ${Spell[Stout Defense].RankName} } else /if (${Me.Level}>=100 && ${Me.CombatAbility[${Spell[Steadfast Defense].RankName}]}) { /varset defenseac ${Spell[Steadfast Defense].RankName} } else /if (${Me.Level}>=95 && ${Me.CombatAbility[${Spell[Stalwart Defense].RankName}]}) { /varset defenseac ${Spell[Stalwart Defense].RankName} } else /if (${Me.Level}>=90 && ${Me.CombatAbility[${Spell[Staunch Defense].RankName}]}) { /varset defenseac ${Spell[Staunch Defense].RankName} } else /if (${Me.Level}>=85 && ${Me.CombatAbility[${Spell[Bracing Defense].RankName}]}) { /varset defenseac ${Spell[Bracing Defense].RankName} } |---Group AC Disc /if (${Me.Level}>=115 && ${Me.CombatAbility[${Spell[Paragon Champion].RankName}]}) { /varset groupac ${Spell[Paragon Champion].RankName} } else /if (${Me.Level}>=110 && ${Me.CombatAbility[${Spell[Field Champion].RankName}]}) { /varset groupac ${Spell[Field Champion].RankName} } else /if (${Me.Level}>=105 && ${Me.CombatAbility[${Spell[Field Protector].RankName}]}) { /varset groupac ${Spell[Field Protector].RankName} } else /if (${Me.Level}>=100 && ${Me.CombatAbility[${Spell[Field Guardian].RankName}]}) { /varset groupac ${Spell[Field Guardian].RankName} } else /if (${Me.Level}>=95 && ${Me.CombatAbility[${Spell[Field Defender].RankName}]}) { /varset groupac ${Spell[Field Defender].RankName} } else /if (${Me.Level}>=90 && ${Me.CombatAbility[${Spell[Field Outfitter].RankName}]}) { /varset groupac ${Spell[Field Outfitter].RankName} } else /if (${Me.Level}>=85 && ${Me.CombatAbility[${Spell[Field Armorer].RankName}]}) { /varset groupac ${Spell[Field Armorer].RankName} } |---Taunt1 /if (${Me.Level}>=101 && ${Me.CombatAbility[${Spell[Cyclone Roar].RankName}]}) { /varset taunt1 ${Spell[Cyclone Roar].RankName} } else /if (${Me.Level}>=96 && ${Me.CombatAbility[${Spell[Krondal's Roar].RankName}]}) { /varset taunt1 ${Spell[Krondal's Roar].RankName} } else /if (${Me.Level}>=91 && ${Me.CombatAbility[${Spell[Grendlaen Roar].RankName}]}) { /varset taunt1 ${Spell[Grendlaen Roar].RankName} } else /if (${Me.Level}>=86 && ${Me.CombatAbility[${Spell[Bazu Roar].RankName}]}) { /varset taunt1 ${Spell[Bazu Roar].RankName} } else /if (${Me.Level}>=81 && ${Me.CombatAbility[${Spell[Bazu Bluster].RankName}]}) { /varset taunt1 ${Spell[Bazu Bluster].RankName} } else /if (${Me.Level}>=65 && ${Me.CombatAbility[${Spell[Ancient Chaos Cry].RankName}]}) { /varset taunt1 ${Spell[Ancient Chaos Cry].RankName} } else /if (${Me.Level}>=65 && ${Me.CombatAbility[${Spell[Bellow of the Mastruq].RankName}]}) { /varset taunt1 ${Spell[Bellow of the Mastruq].RankName} } else /if (${Me.Level}>=63 && ${Me.CombatAbility[${Spell[Incite].RankName}]}) { /varset taunt1 ${Spell[Incite].RankName} } else /if (${Me.Level}>=56 && ${Me.CombatAbility[${Spell[Berate].RankName}]}) { /varset taunt1 ${Spell[Berate].RankName} } else /if (${Me.Level}>=52 && ${Me.CombatAbility[${Spell[Bellow].RankName}]}) { /varset taunt1 ${Spell[Bellow].RankName} } else /if (${Me.Level}>=20 && ${Me.CombatAbility[${Spell[Provoke].RankName}]}) { /varset taunt1 ${Spell[Provoke].RankName} } |---AE Taunt /if (${Me.Level}>=93 && ${Me.CombatAbility[${Spell[Roar of Challenge].RankName}]}) { /varset aeroar ${Spell[Roar of Challenge].RankName} } else /if (${Me.Level}>=88 && ${Me.CombatAbility[${Spell[Rallying Roar].RankName}]}) { /varset aeroar ${Spell[Rallying Roar].RankName} } |---Taunt2 /if (${Me.Level}>=108 && ${Me.CombatAbility[${Spell[Burning Shout].RankName}]}) { /varset taunt2 ${Spell[Burning Shout].RankName} } else /if (${Me.Level}>=103 && ${Me.CombatAbility[${Spell[Tormenting Shout].RankName}]}) { /varset taunt2 ${Spell[Tormenting Shout].RankName} } else /if (${Me.Level}>=103 && ${Me.CombatAbility[${Spell[Tormenting Shout].RankName}]}) { /varset taunt2 ${Spell[Tormenting Shout].RankName} } else /if (${Me.Level}>=98 && ${Me.CombatAbility[${Spell[Harassing Shout].RankName}]}) { /varset taunt2 ${Spell[Harassing Shout].RankName} } |---AE Hit all /if (${Me.Level}>=114 && ${Me.CombatAbility[${Spell[Tempest Blades].RankName}]}) { } else /if (${Me.Level}>=109 && ${Me.CombatAbility[${Spell[Dragonstrike Blades].RankName}]}) { /varset aehitall ${Spell[Dragonstrike Blades].RankName} } else /if (${Me.Level}>=104 && ${Me.CombatAbility[${Spell[Stormstrike Blades].RankName}]}) { /varset aehitall ${Spell[Stormstrike Blades].RankName} } else /if (${Me.Level}>=99 && ${Me.CombatAbility[${Spell[Stormwheel Blades].RankName}]}) { /varset aehitall ${Spell[Stormwheel Blades].RankName} } else /if (${Me.Level}>=94 && ${Me.CombatAbility[${Spell[Cyclonic Blades].RankName}]}) { /varset aehitall ${Spell[Cyclonic Blades].RankName} } else /if (${Me.Level}>=89 && ${Me.CombatAbility[${Spell[Wheeling Blades].RankName}]}) { /varset aehitall ${Spell[Wheeling Blades].RankName} } else /if (${Me.Level}>=84 && ${Me.CombatAbility[${Spell[Maelstrom Blade].RankName}]}) { /varset aehitall ${Spell[Maelstrom Blade].RankName} } else /if (${Me.Level}>=79 && ${Me.CombatAbility[${Spell[Whorl Blade].RankName}]}) { /varset aehitall ${Spell[Whorl Blade].RankName} } else /if (${Me.Level}>=74 && ${Me.CombatAbility[${Spell[Vortex Blade].RankName}]}) { /varset aehitall ${Spell[Vortex Blade].RankName} } else /if (${Me.Level}>=69 && ${Me.CombatAbility[${Spell[Cyclone Blade].RankName}]}) { /varset aehitall ${Spell[Cyclone Blade].RankName} } else /if (${Me.Level}>=61 && ${Me.CombatAbility[${Spell[Whirlwind Blade].RankName}]}) { /varset aehitall ${Spell[Whirlwind Blade].RankName} } |--- Shield Hit and Block /if (${Me.Level}>=110 && ${Me.CombatAbility[${Spell[Shield Sunder].RankName}]}) { /varset shieldhit ${Spell[Shield Sunder].RankName} } else /if (${Me.Level}>=104 && ${Me.CombatAbility[${Spell[Shield Break].RankName}]}) { /varset shieldhit ${Spell[Shield Break].RankName} } else /if (${Me.Level}>=83 && ${Me.CombatAbility[${Spell[Shield Topple].RankName}]}) { /varset shieldhit ${Spell[Shield Topple].RankName} } |---Fast Endurance regen /if (${Me.Level}>=111 && ${Me.CombatAbility[${Spell[Relax].RankName}]}) { } else /if (${Me.Level}>=106 && ${Me.CombatAbility[${Spell[Hiatus].RankName}]}) { /varset endregen ${Spell[Hiatus].RankName} } else /if (${Me.Level}>=101 && ${Me.CombatAbility[${Spell[Breather].RankName}]}) { /varset endregen ${Spell[Breather].RankName} } else /if (${Me.Level}>=96 && ${Me.CombatAbility[${Spell[Rest].RankName}]}) { /varset endregen ${Spell[Rest].RankName} } else /if (${Me.Level}>=91 && ${Me.CombatAbility[${Spell[Reprieve].RankName}]}) { /varset endregen ${Spell[Reprieve].RankName} } else /if (${Me.Level}>=86 && ${Me.CombatAbility[${Spell[Respite].RankName}]}) { /varset endregen ${Spell[Respite].RankName} } else /if (${Me.Level}>=82 && ${Me.CombatAbility[${Spell[Fourth Wind].RankName}]}) { /varset endregen ${Spell[Fourth Wind].RankName} } else /if (${Me.Level}>=77 && ${Me.CombatAbility[${Spell[Third Wind].RankName}]}) { /varset endregen ${Spell[Third Wind].RankName} } else /if (${Me.Level}>=72 && ${Me.CombatAbility[${Spell[Second Wind].RankName}]}) { /varset endregen ${Spell[Second Wind].RankName} } |---Aura usage /if (${Me.Level}>=70 && ${Me.CombatAbility[${Spell[Champion's Aura].RankName}]}) { /varset waraura ${Spell[Champion's Aura].RankName} } else /if (${Me.Level}>=55 && ${Me.CombatAbility[${Spell[Myrmidon's Aura].RankName}]}) { /varset waraura ${Spell[Myrmidon's Aura].RankName} } /return |---------------------------------------------------------------------------- | SUB: INIChanges |---------------------------------------------------------------------------- Sub INIChanges /varset changetoini 0 /call SetIni General FollowToonName string "${FollowToonName}" /call SetIni General UseFellowship int ${UseFellowship} /call SetIni General InstantRelease int ${InstantRelease} /call SetIni General ReturnToCamp int ${ReturnToCamp} /return
Added 115 group ac buff, still learning. Hopefully fixed constant casting of lower level buff.