Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- | Enchanter Dead Hills Routine.
- | Version 1.04
- | Attempting to clean up some of the problems that people seem to be having. Also looking to
- | automate more of it instead of using /load etc. Make it a bit faster maybe.
- |
- |
- #include spell_routines.inc
- #event ToonReady "<#1> Ready"
- #event WarriorEnage "<#1#> Engaging #2#"
- #event LootingEvent "#*# has looted a #1#.-#*#"
- #event UpdateEvent "#*#Your task '#1#' has been updated."
- Sub Main
- | Variables to determine when to do certain things.
- | All settings for this macro can be found in the file set in IniSelfBuff
- | If you do not have this file, run the program for the first time and
- | it will create one for you. Then you must go through and edit all of the variables
- | to match your character.
- /declare IniSelfBuff string outer mystuff.ini
- /declare NukeAt int outer
- /declare NoNukeAt int outer
- /declare NoDebuffAt int outer
- /declare DoNuke1 int outer
- /declare DoNuke2 int outer
- /declare DoNuke3 int outer
- /declare TankName string outer
- /declare TankMacro string outer
- /declare LooterName string outer
- /declare LooterMacro string outer
- /declare Toon1 string outer
- /declare Macro1 string outer
- /declare Toon2 string outer
- /declare Macro2 string outer
- /declare Toon3 string outer
- /declare Macro3 string outer
- /declare SpellNuke1 outer
- /declare SpellNuke2 outer
- /declare SpellNuke3 outer
- /declare SpellMez outer
- /declare SpellAEMez outer
- /declare SpellRune outer
- /declare SpellRuneBuff outer
- /declare SpellDot outer
- /declare SpellStun outer
- /declare SpellTash outer
- /declare SpellCripple outer
- /declare SpellAura1 outer
- /declare SpellAura2 outer
- /declare SpellAura1Message outer
- /declare SpellAura2Message outer
- /declare CampX int outer
- /declare CampY int outer
- /declare Buff1 outer
- /declare Buff2 outer
- /declare Buff3 outer
- /declare IniPathFile string outer
- /declare Path[5,20,2] int outer
- /declare MaxPaths int outer
- /declare NumReady int outer 0
- /declare CampNum int outer 1
- /declare ReadysRequired int outer 0
- /declare BardSong int outer 0
- /declare MezMob int outer 0
- /declare MezCount int outer 0
- /declare MezTimer timer 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 NumMez int outer 0
- /declare MelodyTimer timer outer 0
- /declare EventStep int outer 0
- /declare MezTimerTwo timer outer 0
- /declare Restart int outer
- /declare kk int local 0
- /declare MezTargets int outer 0
- /declare CheckMez timer outer 0
- :StartAgain
- /varset NumReady 0
- /varset CampNum 1
- /varset ReadysRequired 0
- /varset BardSong 0
- /varset MezMob 0
- /varset MezCount 0
- /varset MezTimer 0
- /varset ClickName 0
- /varset ReturnGribble 0
- /varset zrange 100
- /varset BugTimer 20000
- /varset BugF 0
- /varset NumTargets 0
- /varset CurrentTarget 0
- /varset NumMez 0
- /varset MelodyTimer 0
- /varset EventStep 0
- /varset MezTimerTwo 0
- /varset Restart 0
- /doevents flush
- /if (${Me.Pet.ID}) /pet hold on
- | Here begins the actual bulk of the routines.
- /for kk 1 to ${Group}
- /if (${Group.Member[${kk}].Type.Equal[PC]}) {
- /varcalc ReadysRequired ${ReadysRequired}+1
- }
- /next kk
- /if (!${Zone.ShortName.Equal[deadhills_errand]}) /echo Readys Required: ${ReadysRequired}
- /if (${Zone.ShortName.Equal[deadhills_errand]}) {
- /call LoadIni
- /call SetUp
- /call MemSpells
- /goto :killmob
- }
- /call GetInstance
- :SkipZoneIn
- /call ZoneIn
- | Move Puller and Tank to the Camp
- /g follow
- /moveto loc ${CampX} ${CampY}
- /delay 5s
- /g halt
- /delay 3s
- :killmob
- /if (${Me.Buff[Slackening Wave Rk. II].ID}) {
- /bc Mezzed myself. Waiting.
- /delay 1s
- /goto :killmob
- }
- /if (${Me.CombatState.NotEqual[COMBAT]} && ${ReturnGribble}==1) {
- /call ReturnToGribble
- /goto :StartAgain
- }
- /if (${Me.CombatState.NotEqual[COMBAT]}) {
- /call PullMobA 1 6 160 0 4
- /if (${Restart}) /goto :StartAgain
- }
- /doevents
- | Ressurection routine should go here.
- /if (${Me.State.Equal[HOVER]}) {
- /varset CampNum 6
- /call Wait4Rez
- }
- /delay 2
- /doevents
- | No mobs? Go back to the top.
- /if (${Me.XTarget}==0) /goto :killmob
- | Ther eare mobs in the Xtarget Window, time to kill them/mez them etc.
- /if (!${Target.ID} || (${Target.ID} && !${Target.AggroHolder.ID})) {
- /if (${Me.XTarget}>0) {
- /if (${Me.XTarget}==1) {
- /xtar 1
- /delay 10
- } else {
- /xtar 2
- /delay 10
- }
- }
- }
- |/grouproles unset ${Me.Name} 3
- /if (${Target.ID}) /face fast
- /delay 1s
- | Make sure runes are up.
- /if (!${Me.Buff[${SpellRuneBuff}].ID}) {
- /bc Casting - ${SpellRune}
- /cast "${SpellRune}"
- }
- /if (${Me.Buff[${Spell[27616].Name}].ID}) {
- /alt act 791
- /bc Casting - Veil of Mindshadow
- }
- /if (!${Me.Buff[Eldritch Rune].ID}) {
- /alt act 173
- /bc Casting - Eldritch Rune
- }
- /if (${Target.Distance}<70) {
- /if (${Me.PctMana}<60 && !${FindItem[Latent Robe of Compulsion].Timer}) {
- /useitem 17
- /bc Robe Click for Mana
- }
- /if (${Me.PctMana}<70 && ${Me.AltAbilityReady[Fundament: Second Spire of Enchantment]}) {
- /alt act 1381
- /bc Second Spire AA for Mana.
- }
- /doevents
- /if (${Me.XTarget}==1 || (${MezTimerTwo.Value} && ${Me.XTarget}>1)&&!${Target.Dead}) {
- /xtar 1
- /if (!${Me.Buff[${SpellRuneBuff}].ID}) {
- /bc Casting ${SpellRune}...
- /call cast "${SpellRune}"
- }
- /delay 10
- /if (!(${Target.ID}==${Me.Pet.Target.ID}) && ${Me.Pet.ID}) /pet attack
- /if (!${Target.Buff[${SpellTash}].ID} && ${Int[${Target.PctHPs}]}>${NoDebuffAt}) {
- /bc Casting ${SpellTash}...
- /call cast "${SpellTash}"
- /goto :NextPass
- }
- /if (!${Target.Buff[${SpellCripple}].ID} && ${Int[${Target.PctHPs}]}>${NoDebuffAt}) {
- /bc Casting ${SpellCripple}
- /call cast "${SpellCripple}"
- /goto :NextPass
- }
- /if (!${Target.Buff[${Target.Slowed}].ID} && ${Int[${Target.PctHPs}]}>${NoDebuffAt}) {
- /bc Casting Dready Deeds AA
- /alt act 753
- /delay 4s
- /goto :NextPass
- }
- /if (!(${Me.Aura[1].Equal[${SpellAura1Message}]}) && !(${Me.Aura[2].Equal[${SpellAura1Message}]})) {
- /bc Casting ${SpellAura1}....
- /delay 1s
- /call cast "${SpellAura1}"
- /delay 3s
- }
- /if (!(${Me.Aura[1].Equal[${SpellAura2Message}]}) && !(${Me.Aura[2].Equal[${SpellAura2Message}]})) {
- /bc Casting ${SpellAura2}
- /delay 1s
- /call cast "${SpellAura2}"
- /delay 3s
- }
- /xtar 1
- /delay 10
- /if (${Int[${Target.PctHPs}]}<${NukeAt} && ${Int[${Target.PctHPs}]}>${NoNukeAt}) {
- | Nuke Routines.
- /if ((${Me.Gem[${SpellNuke1}]})&&(${Me.SpellReady[${SpellNuke1}]})&&(!${Me.Casting.ID})&& ${DoNuke1}) {
- /bc Casting ${SpellNuke1}....
- /call cast "${SpellNuke1}"
- }
- /if ((${Me.Gem[${SpellNuke2}]})&&(${Me.SpellReady[${SpellNuke2}]})&&(!${Me.Casting.ID})&& ${DoNuke2}) {
- /bc Casting ${SpellNuke2}...
- /call cast "${SpellNuke2}"
- }
- /if ((${Me.Gem[${SpellNuke3}]})&&(${Me.SpellReady[${SpellNuke3}]})&&(!${Me.Casting.ID})&& ${DoNuke3}) {
- /bc Casting ${SpellNuke3}...
- /call cast "${SpellNuke3}"
- }
- }
- /delay 10
- :NextPass
- /doevents
- }
- /if (${Me.XTarget}>1 && !${MezTimerTwo.Value}) {
- /xtar 2
- /delay 1s
- /if (${Me.XTarget}==2) {
- :ReMez
- /bc Casting ${SpellMez} on ${Target.Name}....
- /call cast "${SpellMez}"
- /if (!${Target.ID}) /goto :SkipMez
- /if (${Me.XTarget}<2) /goto :SkipMez
- /if (!${Macro.Return.Equal["CAST_SUCCESS"]}) /goto :ReMez
- } else {
- :ReAEMez
- /if (${Target.ID}) /face fast
- /if (!${Target.ID}) /goto :SkipMez
- /bc Casting Bite of Tashani AA
- /alt act 1125
- /delay 10
- /bc Casting ${SpellAEMez}....
- /call cast "${SpellAEMez}"
- /for MezCount 2 to ${Me.XTarget}
- /xtar ${MezCount}
- /delay 10
- /if (!${Target.Buff[${Target.Mezzed}].ID}) /goto :ReAEMez
- /if (${Me.XTarget}<3) /goto :SkipMez
- /next MezCount
- }
- /varset MezTimerTwo 360
- :SkipMez
- }
- }
- /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 ${TankName} //alert add 1 Gribble
- /bct ${TankName} //alert add 1 adventurer
- /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 ReturnToGribble
- /delay 90s ${Me.CombatState.NotEqual[COMBAT]}
- /delay 180s !${Me.XTarget}||${Me.XTarget[1].PctHPs}>99
- /delay 15s
- /beep
- /bca //end
- | My Tank automatically aggro's things with in range - just turning him off to make sure he doesn't do anything silly :)
- /bct ${TankName} //end
- /delay 2s
- /bca //moveto loc 436.9 -282.3
- /bca //tar Gribble
- /tar Gribble
- /delay 5s
- /delay 20s ${SpawnCount[PC]}==${SpawnCount[PC radius 40]}
- /keypress H
- /delay 5s
- /bca //say back
- /kickplayers task
- /delay 5s ${Window[ConfirmationDialogBox].Open}
- /nomodkey /notify ConfirmationDialogBox Yes_Button leftmouseup
- /delay 10s
- /say back
- /delay 120s ${Zone.ShortName.Equal[deadhills]}
- /delay 30s
- /varset CampNum 1
- /varset ReturnGribble 0
- /varset Restart 1
- /return
- Sub GetInstance
- /bc Getting instance, and zoning in.
- /tar Gribble
- /delay 10
- /if (${Target.Distance}<50) {
- /say willing
- /delay 2s
- /notify TaskSelectWnd TSEL_TaskList listselect 3
- /delay 2s
- /notify TaskSelectWnd TSEL_AcceptButton leftmouse 3
- } 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)
- /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
- /declare bufflist string local ${Ini[${IniSelfBuff}, MyBuffs]}
- /declare buffloop int local 0
- /declare lastbuff int local 0
- :shortloop
- /bca //tar Gribble
- |----------
- |
- |
- | Insert your /bct commands to role buffs for the characters. You can do it here (in deadhills) b4 you zone in.
- |
- |----------
- | /bct ${Toon1} //cast "Talisman of the Courageous Rk. II"
- | /bct ${Toon2} //cast "Unified Hand of Certitude"
- | /delay 10s
- | Group perfected Leviatation
- | /bct ${Toon1} //alt activate 1666
- | /delay 5
- | /bct ${Toon1} //cast "Talisman of Celerity"
- /delay 32s
- /bca //say leave
- /say leave
- /delay 120s ${Zone.ShortName.Equal[deadhills_errand]}
- /if (!${Zone.ShortName.Equal[deadhills_errand]}) /goto :shortloop
- /call LoadIni
- /call SetUp
- /keypress ESC
- /delay 10s
- /call SetupCamp
- /delay 8s
- |-------------------
- |
- | Or you can do it here, inside the zone
- |
- |-------------------
- /if (!${Me.Gem[${Buff1}]} ) {
- /memspell 12 "${Buff1}"
- /delay 5s
- }
- /call cast "${Buff1}"
- /delay 8s
- /if (!${Me.Gem[${Buff2}]} ) {
- /memspell 12 "${Buff2}"
- /delay 5s
- }
- /call cast "${Buff2}"
- /delay 8s
- /if (!${Me.Gem[${Buff3}]} ) {
- /memspell 12 "${Buff3}"
- /delay 5s
- }
- /call cast "${Buff3}"
- /delay 8s
- /call MemSpells
- /delay 8s
- | Load up some clickie buffs on toons.
- /bca //useitem 3
- /delay 6
- /bca //useitem 6
- /delay 6
- /bca //useitem 20
- /delay 6
- /bca //useitem 11
- /delay 6
- /bca //useitem 15
- /delay 2s
- | Custom self buffs from the ini file defined in IniSelfBuff at top.
- | File should look similar to the following
- |
- | [MyBuffs]
- | Item1name=casttime
- | Item2name=casttime
- | Item3name=casttime
- | etc
- |
- | I.E.
- | [MyBuffs]
- | Staff of Eternal Eloquence=30
- /varcalc lastbuff ${bufflist.Count[|]}-1
- /if (!${Ini[${IniSelfBuff}].Length}) {
- /echo You do not have a ${IniSelfBuff} file created. Skipping.
- /goto :SkipSelfBuff
- }
- /for buffloop 1 to ${lastbuff}
- /echo Attempting to use item: ${bufflist.Arg[${buffloop},|]}
- /useitem "${bufflist.Arg[${buffloop},|]}"
- /delay ${Ini[${IniSelfBuff},MyBuffs,${bufflist.Arg[${buffloop},|]}]}
- /next buffloop
- :SkipSelfBuff
- /return
- Sub FollowPath(PathNumber)
- /declare i int inner
- /varset i 1
- :movecamploop1
- /doevents
- /bc [+Y+]Path : [+y+]${PathNumber}[+Y+] Point : [+y+]${i} [+x+]
- /squelch /moveto loc ${Path[${PathNumber},${i},1]} ${Path[${PathNumber},${i},2]}
- /delay 60s ${MoveTo.Stopped}
- /varcalc i ${i}+1
- /if (${Bool[${Path[${PathNumber},${i},1]}]}) /goto :movecamploop1
- /return
- Sub SetupCamp
- |----------------
- |
- | 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.
- |
- |-----------------
- |/bct ${Toon2} //tar ${TankName}
- /bca //tar ${TankName}
- /delay 5s
- /bct ${TankName} //mac ${TankMacro}
- /bct ${Toon1} //mac ${Macro1}
- /bct ${Toon3} //mac ${Macro3}
- /bct ${Toon2} //mac ${Macro2}
- /bct ${LooterName} //hidecorpse looted
- /delay 5
- /bct ${LooterName} //mac ${LooterMacro}
- /delay 5s
- /return
- Sub PullMobA(PullType, MaxMobs, PullRange, MezRange, NumberMobsToCheck)
- | This macro no longer uses the PullType but I haven't removed it yet. (To avoid
- | issues with calls up top. Eventually I'll remove it and change all those calls.
- | For now I've removed all the bard fade checks and such, the chanter will not fade
- | with the current setup. My chanter has never needed to with 4 mobs.
- || PullType = 1 = Boastful Bellow, 2 = Sonic Displacement, 4 = Slumber, 8 = Double Pull... (bitwise operation)
- /declare i int inner
- /declare EndOfPath int inner 0
- /declare CheckMob int inner 1
- /declare PullList string inner
- /declare tt int inner 0
- /if (${Zone.ShortName.NotEqual[deadhills_errand]}) {
- /bc Not in the correct zone
- /bca //end
- /end
- }
- /if (!(${Me.Aura[1].Equal[${SpellAura1Message}]}) && !(${Me.Aura[2].Equal[${SpellAura1Message}]})) {
- /echo Twincast Down, casting.
- /delay 1s
- /call cast "${SpellAura1}"
- /delay 3s
- }
- /if (!(${Me.Aura[1].Equal[${SpellAura2Message}]}) && !(${Me.Aura[2].Equal[${SpellAura2Message}]})) {
- /echo Mana Reverb down, casting
- /delay 1s
- /call cast "${SpellAura2}"
- /delay 3s
- }
- /if (!${Me.Pet.Buff[${SpellStun}]} && ${Me.Pet.ID}) {
- /bc Buffing Pet with ${SpellStun}
- /call cast "${SpellStun}"
- /delay 3s
- }
- /varset EndOfPath 0
- /varset i 1
- /if (${Me.PctMana}<15) {
- /if (${Me.AltAbilityReady[Mana draw]}) {
- /bc Casting Mana Draw for some mana.
- /call Cast "Mana draw" alt 10s
- /goto :SkipMed
- }
- /sit
- /echo Medding for some Mana....
- :MedIt
- /if (${Me.PctMana}<99) /goto :MedIt
- :SkipMed
- }
- :moveloop
- /bc [+Y+]Path : [+y+]${CampNum}[+Y+] Point : [+y+]${i} [+x+]
- /squelch /moveto loc ${Path[${CampNum},${i},1]} ${Path[${CampNum},${i},2]}
- :MoveLoop1
- /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 || ${Me.CombatState.Equal[COMBAT]}) {
- /varcalc i ${i}-1
- /goto :ReturnPath
- }
- /tar id ${NearestSpawn[${tt}, NPC los radius ${PullRange} zradius ${zrange} noalert 1].ID}
- /delay 2s ${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 (${Zone.ShortName.NotEqual[deadhills_errand]}) {
- /bc Not in the correct zone
- /bca //end
- /end
- }
- /bc Ethereal Mainpulation [+t+]${Target.Name}
- /alt activate 2207
- /delay 1
- }
- /next tt
- }
- /delay 1
- /if (!${MoveTo.Stopped}) /goto :MoveLoop1
- | 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 || ${Me.CombatState.Equal[COMBAT]}) {
- /varcalc i ${i}-1
- /goto :ReturnPath
- }
- /tar id ${NearestSpawn[${tt}, NPC los radius ${PullRange} zradius ${zrange} noalert 1].ID}
- /delay 2s ${Target.ID}==${NearestSpawn[${tt}, NPC los radius ${PullRange} zradius ${zrange} noalert 1].ID}||${Me.CombatState.Equal[COMBAT]}
- /if (${Target.Type.Equal[NPC]} && ${Target.LineOfSight}) {
- /bc Ethereal Manipulation [+t+]${Target.Name}
- /if (${Zone.ShortName.NotEqual[deadhills_errand]}) {
- /bc Not in the correct zone
- /bca //end
- /end
- }
- /alt activate 2207
- /delay 4
- }
- /next tt
- }
- /varcalc i ${i}+1
- /if (${Bool[${Path[${CampNum},${i},1]}]}) /goto :moveloop
- /delay 1s
- /bc End of Path Encounted - No Aggro ${i}
- /varset EndOfPath 1
- /if (${CampNum}==3) {
- /tar Cogwitz
- /delay 2s ${Target.Name.Find[Cogwitz]}
- /keypress H
- /delay 5
- /keypress H
- }
- /varcalc i ${i}-2
- :ReturnPath
- /stopsong
- /if (${Me.XTarget} && ${i}<10 && ${CampNum}==3 && ${NearestSpawn[1,NPC noalert 1].Distance}>180) {
- /delay 3s ${NearestSpawn[1,NPC noalert 1].Distance}<160 || ${Me.PctHPs}<60
- }
- /if (${i}<1) {
- /stopsong
- /if (${EndOfPath}==1 && ${CampNum}<3) {
- /varcalc CampNum ${CampNum}+1
- /varset EndOfPath 0
- }
- /if (${EndOfPath}==1 && ${CampNum}==3) {
- /call ReturnToGribble
- }
- /return
- }
- /squelch /moveto loc ${Path[${CampNum},${i},1]} ${Path[${CampNum},${i},2]}
- :MoveLoop2
- /delay 1
- /doevents
- /if (!${MoveTo.Stopped}) /goto :MoveLoop2
- /varcalc i ${i}-1
- /goto :ReturnPath
- /return
- Sub Event_ToonReady(Line1,ToonName)
- /varcalc NumReady ${NumReady}+1
- /return
- Sub Event_LootingEvent(Line1, ItemName)
- /varset ItemName ${ItemName.Right[-57]}
- /varset ItemName ${ItemName.Left[-1]}
- /bc Item = ${ItemName}
- /if (${ItemName.Find[Excavation Tools]} || ${ItemName.Find[Dynamite]} || ${ItemName.Find[Xulous Spellbook]}) {
- /bc Click item found = ${ItemName}
- /delay 2s
- /delay 6s ${Me.CombatState.Equal[COMBAT]}
- /bct ${LooterName} //useitem "${ItemName}"
- /delay 6s ${Me.CombatState.Equal[COMBAT]}
- /bct ${LooterName} //useitem "${ItemName}"
- /varset OuterItem ${ItemName}
- /varset ReturnGribble 1
- }
- /return
- Sub Event_UpdateEvent(Line1, TaskName)
- /varcalc EventStep ${EventStep}+1
- /bc [+m+]${TaskName}[+w+] : finished STEP [+m+]${EventStep}
- /return
- Sub MemSpells
- /declare changed int inner 0
- :SpellChanged
- /varset changed 0
- /echo Memming spells. Hang on.
- /if (!${Me.Gem[${SpellNuke1}]} ) {
- /memspell 1 "${SpellNuke1}"
- /bc Memmeing ${SpellNuke1} - Slot 1
- /delay 20
- /varset changed 1
- }
- /if (!${Me.Gem[${SpellNuke2}]} ) {
- /memspell 2 "${SpellNuke2}"
- /bc Memming ${SpellNuke2} - Slot 2
- /delay 20
- /varset changed 1
- }
- /if (!${Me.Gem[${SpellNuke3}]} ) {
- /memspell 3 "${SpellNuke3}"
- /bc Memming ${SpellNuke3} - Slot 3
- /delay 20
- /varset changed 1
- }
- /if (!${Me.Gem[${SpellMez}]} ) {
- /memspell 4 "${SpellMez}"
- /bc Memming ${SpellMez} - Slot 4
- /delay 20
- /varset changed 1
- }
- /if (!${Me.Gem[${SpellAEMez}]} ) {
- /memspell 5 "${SpellAEMez}"
- /bc Memming ${SpellAEMez} - Slot 5
- /delay 20
- /varset changed 1
- }
- /if (!${Me.Gem[${SpellRune}]} ) {
- /memspell 6 "${SpellRune}"
- /bc Memming ${SpellRune} - Slot 6
- /delay 20
- /varset changed 1
- }
- /if (!${Me.Gem[${SpellCripple}]} ) {
- /memspell 7 "${SpellCripple}"
- /bc Memming ${SpellCripple} - Slot 7
- /delay 20
- /varset changed 1
- }
- /if (!${Me.Gem[${SpellDot}]} ) {
- /memspell 8 "${SpellDot}"
- /bc Memming ${SpellDot} - Slot 8
- /delay 20
- /varset changed 1
- }
- /if (!${Me.Gem[${SpellStun}]} ) {
- /memspell 9 "${SpellStun}"
- /bc Memming ${SpellStun} - Slot 9
- /delay 20
- /varset changed 1
- }
- /if (!${Me.Gem[${SpellTash}]} ) {
- /memspell 10 "${SpellTash}"
- /bc Memming ${SpellTash} - Slot 10
- /delay 20
- /varset changed 1
- }
- /if (!${Me.Gem[${SpellAura1}]} ) {
- /memspell 11 "${SpellAura1}"
- /bc Memming ${SpellAura1} - Slot 11
- /delay 20
- /varset changed 1
- }
- /if (!${Me.Gem[${SpellAura2}]} ) {
- /memspell 12 "${SpellAura2}"
- /bc Memming ${SpellAura2} - Slot 12
- /delay 20
- /varset changed 1
- }
- /if (${changed}) {
- /varset changed 0
- /bc test: spell changed so memming again.
- /goto :SpellChanged
- }
- /echo Spells are memmed.
- /return
- Sub LoadIni
- /if (!${Restart}) {
- /if (!${Ini[${IniSelfBuff}].Length}) {
- /echo Nosuch file ${IniSelfBuff}, creating file.
- /echo Please Edit ${IniSelfBuff} and set up your macro.
- /ini ${IniSelfBuff} "MySettings" "TankName" "TANKNAMEGOESHERE"
- /ini ${IniSelfBuff} "MySettings" "TankMacro" "TANKMACROGOESHERE"
- /ini ${IniSelfBuff} "MySettings" "LooterName" "LOOTERNAMEGOESHERE"
- /ini ${IniSelfBuff} "MySettings" "LooterMacro" "LOOTERMACROGOESHERE"
- /ini ${IniSelfBuff} "MySettings" "Toon1" "TOON1NAMEGOESHERE"
- /ini ${IniSelfBuff} "MySettings" "Macro1" "TOON1MACROGOESHERE"
- /ini ${IniSelfBuff} "MySettings" "Toon2" "TOON2NAMEGOESHERE"
- /ini ${IniSelfBuff} "MySettings" "Macro2" "TOON2MACROGOESHERE"
- /ini ${IniSelfBuff} "MySettings" "Toon3" "TOON3NAMEGOESHERE"
- /ini ${IniSelfBuff} "MySettings" "Macro3" "TOON3MACROGOESHERE"
- /ini ${IniSelfBuff} "MySettings" "NukeAt" "90"
- /ini ${IniSelfBuff} "MySettings" "NoNukeAt" "20"
- /ini ${IniSelfBuff} "MySettings" "NoDebuffAt" "65"
- /ini ${IniSelfBuff} "MySettings" "DoNuke1" "1"
- /ini ${IniSelfBuff} "MySettings" "DoNuke2" "1"
- /ini ${IniSelfBuff} "MySettings" "DoNuke3" "1"
- /ini ${IniSelfBuff} "MySettings" "SpellNuke1" "Mindcleave Rk. II"
- /ini ${IniSelfBuff} "MySettings" "SpellNuke2" "Phantasmal Assault Rk. II"
- /ini ${IniSelfBuff} "MySettings" "SpellNuke3" "Chromaclash Rk. II"
- /ini ${IniSelfBuff} "MySettings" "SpellMez" "Confound Rk. II"
- /ini ${IniSelfBuff} "MySettings" "SpellAEMez" "Slackening Wave Rk. II"
- /ini ${IniSelfBuff} "MySettings" "SpellRune=Phantasmal Unity Rk. II"
- /ini ${IniSelfBuff} "MySettings" "SpellRuneBuff" "Polyiridescent Rune Rk. II"
- /ini ${IniSelfBuff} "MySettings" "SpellDot" "Mind Squall Rk. II"
- /ini ${IniSelfBuff} "MySettings" "SpellStun" "Dizzying Squall Rk. II"
- /ini ${IniSelfBuff} "MySettings" "SpellTash" "Eunciation of Tashan Rk. II"
- /ini ${IniSelfBuff} "MySettings" "SpellCripple" "Demolished Consciousness Rk. II"
- /ini ${IniSelfBuff} "MySettings" "SpellAura1" "Twincast Aura"
- /ini ${IniSelfBuff} "MySettings" "SpellAura1Message" "Twincast Aura"
- /ini ${IniSelfBuff} "MySettings" "SpellAura2" "Mana Reverberation Aura Rk. II"
- /ini ${IniSelfBuff} "MySettings" "SpellAura2Message" "Mana Rev. Aura Rk. II"
- /ini ${IniSelfBuff} "MySettings" "Buff1" "Hastening of Sviir Rk. II"
- /ini ${IniSelfBuff} "MySettings" "Buff2" "Voice of Foresight Rk. II"
- /ini ${IniSelfBuff} "MySettings" "Buff3" "Shield of the Dauntless Rk. II"
- /ini ${IniSelfBuff} "MySettings" "deadhills_errandCampX" "480.4"
- /ini ${IniSelfBuff} "MySettings" "deadhills_errandCampY" "-251"
- /ini ${IniSelfBuff} "MySettings" "deadhills_errand" "hillsinto.ini"
- /ini ${IniSelfBuff} "MyBuffs" "clickitem1" "casttime"
- /ini ${IniSelfBuff} "MyBuffs" "clickitem2" "casttime"
- /ini ${IniSelfBuff} "MyBuffs" "clickitem3" "casttime"
- /ini ${IniSelfBuff} "MyBuffs" "Staff of Eternal Eloquence" "30"
- /endmac
- } else {
- /echo Loading INI settings from ${IniSelfBuff}
- /varset NukeAt ${Ini[${IniSelfBuff},MySettings,NukeAt]}
- /varset NoNukeAt ${Ini[${IniSelfBuff},MySettings,NoNukeAt]}
- /varset NoDebuffAt ${Ini[${IniSelfBuff},MySettings,NoDebuffAt]}
- /varset DoNuke1 ${Ini[${IniSelfBuff},MySettings,DoNuke1]}
- /varset DoNuke2 ${Ini[${IniSelfBuff},MySettings,DoNuke2]}
- /varset DoNuke3 ${Ini[${IniSelfBuff},MySettings,DoNuke3]}
- /varset TankName ${Ini[${IniSelfBuff},MySettings,TankName]}
- /varset TankMacro ${Ini[${IniSelfBuff},MySettings,TankMacro]}
- /varset LooterName ${Ini[${IniSelfBuff},MySettings,LooterName]}
- /varset LooterMacro ${Ini[${IniSelfBuff},MySettings,LooterMacro]}
- /varset Toon1 ${Ini[${IniSelfBuff},MySettings,Toon1]}
- /varset Macro1 ${Ini[${IniSelfBuff},MySettings,Macro1]}
- /varset Toon2 ${Ini[${IniSelfBuff},MySettings,Toon2]}
- /varset Macro2 ${Ini[${IniSelfBuff},MySettings,Macro2]}
- /varset Toon3 ${Ini[${IniSelfBuff},MySettings,Toon3]}
- /varset Macro3 ${Ini[${IniSelfBuff},MySettings,Macro3]}
- /varset SpellNuke1 ${Ini[${IniSelfBuff},MySettings,SpellNuke1]}
- /varset SpellNuke2 ${Ini[${IniSelfBuff},MySettings,SpellNuke2]}
- /varset SpellNuke3 ${Ini[${IniSelfBuff},MySettings,SpellNuke3]}
- /varset SpellMez ${Ini[${IniSelfBuff},MySettings,SpellMez]}
- /varset SpellAEMez ${Ini[${IniSelfBuff},MySettings,SpellAEMez]}
- /varset SpellRune ${Ini[${IniSelfBuff},MySettings,SpellRune]}
- /varset SpellRuneBuff ${Ini[${IniSelfBuff},MySettings,SpellRuneBuff]}
- /varset SpellDot ${Ini[${IniSelfBuff},MySettings,SpellDot]}
- /varset SpellStun ${Ini[${IniSelfBuff},MySettings,SpellStun]}
- /varset SpellTash ${Ini[${IniSelfBuff},MySettings,SpellTash]}
- /varset SpellCripple ${Ini[${IniSelfBuff},MySettings,SpellCripple]}
- /varset SpellAura1 ${Ini[${IniSelfBuff},MySettings,SpellAura1]}
- /varset SpellAura1Message ${Ini[${IniSelfBuff},MySettings,SpellAura1Message]}
- /varset SpellAura2 ${Ini[${IniSelfBuff},MySettings,SpellAura2]}
- /varset SpellAura2Message ${Ini[${IniSelfBuff},MySettings,SpellAura2Message]}
- /varset Buff1 ${Ini[${IniSelfBuff},MySettings,Buff1]}
- /varset Buff2 ${Ini[${IniSelfBuff},MySettings,Buff2]}
- /varset Buff3 ${Ini[${IniSelfBuff},MySettings,Buff3]}
- /varset CampX ${Ini[${IniSelfBuff},MySettings,${Zone.ShortName}CampX]}
- /varset CampY ${Ini[${IniSelfBuff},MySettings,${Zone.ShortName}CampY]}
- /varset IniPathFile ${Ini[${IniSelfBuff},MySettings,${Zone.ShortName}]}
- /echo IniPathFile set to ${IniPathFile}
- /echo INI settings complete.
- }
- }
- /return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement