#turbo 40
| #include spell_routines.inc
#define MyIni ${Me.CleanName}_${Me.Class.ShortName}.ini
#event Anchor "#*#AnchorMe#*#"
#event IgnoreMob "#*# ignoremob #1#"
#event StunImmuneMob "#*# stunimmunemob #1#"
#event SnareImmuneMob "#*# snareimmunemob #1#"
#event SlowImmuneMob "#*# slowimmunemob #1#"
#event CharmImmuneMob "#*# charmimmunemob #1#"
#event MezImmuneMob "#*# mezimmunemob #1#"
#event FireImmuneMob "#*# fireimmunemob #1#"
#event ColdImmuneMob "#*# coldimmunemob #1#"
#event MagicImmuneMob "#*# magicimmunemob #1#"
#event PoisonImmuneMob "#*# poisonimmunemob #1#"
#event DiseaseImmuneMob "#*# diseaseimmunemob #1#"
#event SlowImmune "Your target is immune to changes in its attack speed#*#"
#event SnareImmune "Your target is immune to changes in its run speed#*#"
#event MezImmune "Your target cannot be mesmerized#*#"
#event MezOn "#*#falls unconscious#*#"
#event MezOff "Your |${MezSong}| spell has worn off#*#"
#event MezResist "Your target resisted the |${MezSong|#*#"
#event Gate "|${Target.DisplayName}| begins to cast the gate spell#*#"
#event Gate "|${Target.DisplayName}| begins to cast a spell. <complete heal="">#*#"
#event EQBC "<#1#> #2#"
#event EQBC "[#1#(msg)] #2#"
#event Hit "#*# YOU for #*#"
#event Hit "#*# YOU, but #*#"
#event InDoors "#*#You can only cast this spell in the outdoors#*#"
#event InDoors "#*#This spell does not work here#*#"
#event InDoors "#*#You are already on a mount#*#"
#event InDoors "#*#You can not summon a mount here#*#"
#event SongCheck "#*#${SongCheck}#*#"
#event SongChange "#*#${SongChange}#1# #2#"
#event RageOff "#*#is no longer enraged#*#"
#event RageOn "#*#has become ENRAGED#*#"
#event Zoned "You have entered#*#"
#event Zoned "LOADING, PLEASE WAIT..."
#event BurnOnTrigger "#*# |${BurnOnTrigger}|#*#"
#event BurnOffTrigger "#*# |${BurnOffTrigger}|#*#"
Sub Main
/squelch /alert add 6 Arcane Distillect
/squelch /alert add 6 SKUPortalGunInvisMan
/squelch /alert add 6 Echo of
/squelch /alert add 6 Guild Banner
/squelch /twist off
/call Initialize
/call PluginCheck
/call Gem
/if (${UseMez}) /echo Mez Spell: ${MezSong}
/if (${UseAEMez}) /echo AE Mez Spell: ${AEMezSong}
/echo Rest Songs: ${PlayList${RestSongList}}
/echo Combat Songs: ${PlayList${CombatSongList}}
:MainLoop
/doevents
/if (${Me.Hovering}||${Window[tradewnd].Open}||${Window[lootwnd].Open}||${Me.State.Equal[BIND]}||${Me.Invis}||${Me.Feigning}) /goto :MainLoop
/if (${UseSelos} && !${Me.Buff[Selo's Sonata].ID} && !${Me.Invis}) /aa act "Selo's Sonata"
/if (!${Me.Invis} && ${Me.PctHPs}<${FadeAt}) /call Fade
/if (${Me.XTarget[3].ID} && ${UseAEMez}) /call AEMez
/if (${Me.XTarget[2].ID} && ${UseMez}) /call Mez
| /if (${Me.XTarget[1].ID} && ${UseCharm}) /call Charm
/if (!${Me.XTarget}) /call Rest
/if (${Spawn[${Me.XTarget[1].ID}].Type.Equal[npc]} && ${Spawn[${Me.XTarget[1].ID}].PctHPs}<100 && ${Me.XTarget[1].ID} && (${Me.XTarget}==1||!${UseMez})) /call Combat
/doevents
/goto :MainLoop
/return
Sub Combat
/if (!${Me.XTarget[1].ID} ) /return
/call AAs
/call ClickyNuke
/call Aura
/if (${UseSlow}) /call Slow
| /call DPS
/if (${Attacking} && ${Target.ID}==${Me.XTarget[1].ID}) /return
/if (!${Me.XTarget[1].ID}||!${Target.ID}) /call ClearTarget
/if ((${Twist.List.NotEqual[${PlayList${CombatSongList}} ]}||!${Twist}) && !${Burning}) /call CombatSongs
/if (${Spawn[${Me.XTarget[1].ID}].ID}) /tar ${Spawn[${Me.XTarget[1].ID}]} npc noalert 6
/if (!${Me.CombatState.Equal[COMBAT]} && ${Spawn[${Me.XTarget[1].ID}].PctHPs}<${MeleeAt} && ${Target.ID}==${Me.XTarget[1].ID}) /attack on
/if (${Spawn[${Me.XTarget[1].ID}].Distance}<100 && ${Spawn[${Me.XTarget[1].ID}].PctHPs}<${MeleeAt} && ${Spawn[${Me.XTarget[1].ID}].Type.Equal[npc]} && ${UseMelee}) {
/varset AttackCheck 1s
/face fast nolook
/attack on
/pet Attack
/varset PetAttacking TRUE
/varset Attacking TRUE
}
/if (!${FindItem[Orb of Tishan].Timer} && ${FindItem[Orb of Tishan].InvSlot} && ${UseTashOrb} && ${Debuffed}==FALSE && ${Target.Buff[Howl of Tashan].ID}==NULL && ${Attacking} && !${Spawn[group enc].ID}) {
/squelch /twist 0
/casting "Orb of Tishan" item
/delay 35
/echo Tash: ${Target.Name}
/if (${Macro.Return.Equal[CAST_SUCCESS||CAST_NOTHOLD]}) {
/varset Debuffed TRUE
}
/delay 5
/squelch /twist ${PlayList${CombatSongList}}
}
/return
Sub Rest
/if (${Twist.List.NotEqual[${PlayList${RestSongList}} ]} || !${Twist}) /call RestSongs
/call ClearTarget
/call Aura
/call CheckBuffs
/return
Sub AAs
| /attack on
/if (${Target.ID}!=${Me.XTarget[1].ID}||${IgnoreList.Find[${Spawn[${Me.XTarget[1]}]}]}||${IgnoreList.Find[${Target.CleanName}]}||!${Target.ID}) /return
/declare a int local
/for a 1 to ${AATotal} {
/if (${Target.PctHPs}<${StopAA${a}At}) /return
/if ((${Me.AltAbility[${AA${a}}].ID} && ${Me.AltAbilityReady[${AA${a}}]}||${Cast.Ready[${AA${a}}]}) && ${UseAA${a}} && ${Target.ID}==${Me.XTarget[1].ID} && ${Target.PctHPs}<${UseAA${a}At} && (${Target.Named}||${Target.Name.Find[#]}||!${NamedOnlyUseAA${a}}) && ${SpawnCount[${UseAA${a}IfNearby} radius 70 zradius 15]}>=${UseAA${a}IfNearbyAmt} && ${Me.PctHPs}<=${UseAA${a}AtMyHPs}) {
/casting "${AA${a}}" ${AAGem${a}}
/if (${Me.AltAbilityReady[${AA${a}}]}) /aa act "${AA${a}}"
/delay 3
/if (!${Me.AltAbilityReady[${AA${a}}]}) {
/if (${UseColorEcho} && ${EchoAnnounce}) /cecho \apAA: ${AA${a}}
/if (!${UseColorEcho} && ${EchoAnnounce}) /echo AA: ${AA${a}}
}
}
}
/next a
/return
Sub Aura
/if (${Me.Invis} ||${Me.Feigning}||${Me.CombatState.Equal[COMBAT]}) /return
/if (!${Me.Aura[${AuraName1}].ID} && !${Me.Song[${AuraName1}].ID} && ${UseAura1}) {
/squelch /twist 0
/delay 5s ${Me.SpellReady[${AuraSong1}]}
/squelch /twist once ${AuraGem1}
/echo Aura: ${AuraSong1}
/delay 35
/if (${Twist.Current}==${AuraGem1}) /squelch /twist
}
/if (!${Me.Aura[${AuraName2}].ID} && !${Me.Song[${AuraName2}].ID} && ${UseAura2}) {
/squelch /twist 0
/delay 5s ${Me.SpellReady[${AuraSong1}]}
/squelch /twist once ${AuraGem2}
/echo Aura: ${AuraSong2}
/delay 35
/if (${Twist.Current}==${AuraGem2}) /squelch /twist
}
/return
Sub CheckBuffs
/if (${Me.Invis} ||${Me.Feigning}|| ${Me.CombatState.Equal[COMBAT]}||${BuffWait}) /return
/if (${SelfBuffTotal}) {
/declare sb int local
/for sb 1 to ${SelfBuffTotal} {
/if (${Spell[${SelfBuff${sb}}].Stacks} && !${Me.Buff[${SelfBuff${sb}}].ID}) {
/stopcast
/if (${Twist}) /squelch /twist off
/casting "${SelfBuffSpell${sb}}" ${SelfBuffGem${sb}}
/if (${UseColorEcho} && ${EchoAnnounce}) /cecho \awBuff: ${SelfBuff${sb}}
/if (!${UseColorEcho} && ${EchoAnnounce}) /echo Buff: ${SelfBuff${sb}}
/delay 33
}
}
/next sb
}
/return
Sub ClearTarget
/varset Slowed FALSE
/varset Debuffed FALSE
/varset Attacking FALSE
/varset PetAttacking FALSE
/varset Raged FALSE
/varset FightStartTime 0
/return
Sub ClickyNuke
/if (${IgnoreList.Find[${Spawn[${Target.CleanName}]}]}) /return
/declare i int local
/for i 1 to ${ClickyNukeTotal} {
/if (${Target.PctHPs}<=${UseClickyNuke${i}At} && ${Target.PctHPs}>=${StopClickyNuke${i}At} && ${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if ((!${NamedOnlyClickyNuke${i}}||${Target.Named}||${Target.Name.Find[#]}) && !${FindItem[${ClickyNuke${i}}].Timer} && !${ClickyNukeTimer${i}}) {
/if (${FindItem[${ClickyNuke${i}}].InvSlot}) {
/squelch /twist 0
/casting "${ClickyNuke${i}}" item
/if (${UseColorEcho} && ${EchoAnnounce}) /cecho \atClicky: ${ClickyNuke${i}}
/if (!${UseColorEcho} && ${EchoAnnounce}) /echo Clicky: ${ClickyNuke${i}}
/delay 3s !${Me.Casting.ID}
/varset ClickyNukeTimer${i} ${ClickyNukeTimer${i}.OriginalValue}
/squelch /twist ${PlayList${CombatSongList}}
}
}
}
}
/next i
/return
Sub CombatSongs
/if (${UseMez} && ${Me.XTarget}>1||!${Me.XTarget} ) /return
/if (${Twist.List.NotEqual[${PlayList${CombatSongList}}]} && ${Me.XTarget}==1) {
/squelch /twist ${PlayList${CombatSongList}}
/echo Combat Songs: ${PlayList${CombatSongList}}
/delay 1s
}
/return
Sub DPS
/if (${Me.XTarget[1].ID}!=${Target.ID}||!${UseSmartDPS}||${Target.PctHPs}>99) /return
/if (!${FightStartTime}) /varset FightStartTime ${MacroQuest.Running}
/varcalc FightTotalTime (${MacroQuest.Running}-${FightStartTime})/1000
/varcalc FightRemainingTime (100/((100-${Target.PctHPs})/(${FightTotalTime}+.0001))-${FightTotalTime})
/if (${AnnounceTimeRemaining} && !${AnnouncedTimer} && ${FightRemainingTime}>1) {
/echo ~ ${Math.Calc(${FightTotalTime}/1000)} Seconds so far
/echo ~ ${FightRemainingTime} Seconds remaining
/varset AnnouncedTimer ${AnnouncedTimer.OriginalValue}
}
/return
Sub Fade
/if (${Me.PctHPs}<${FadeAt} && !${Me.Invis} && ${Me.CurrentMana}>900) {
/squelch /attack off
/squelch /twist off
/alt activate 212
/echo Faded!
/varset FadedTimer ${FadedTimer.OriginalValue}
}
/return
Sub Grubers
/if (!${UseGrubers} ||${Me.Invis}||${Me.Buff[${GrubersRecourseName}].ID}||${Me.PctMana}<${GrubersMyMana}) /return
/declare i int local
/for i 0 to ${Group} {
/if (${Group.Member[${i}].PctHPs}<${GrubersHPAt} && ${Group.Member[${i}].ID}||${Group.Member[${i}].PctMana}<${GrubersManaAt} && ${Group.Member[${i}].Class.ShortName.NotEqual[MNK||ROG||WAR||BER||BRD]}&& ${Group.Member[${i}].Type.Equal[PC]} && ${Group.Member[${i}].ID}) {
/if (!${Me.Buff[${GrubersRecourseName}].ID} && ${Me.SpellReady[${GrubersName}]}) {
/stopcast
/squelch /twist once ${GrubersGem}
/echo Crescendo: ${GrubersName}
}
}
}
/next i
/return
Sub HitObstacle
/echo Obstacle hit, moving around it...
/keypress forward
/keypress back hold
/delay 3
/keypress back
/if (${Math.Rand[2]}) {
/keypress strafe_right hold
} else {
/keypress strafe_left hold
}
/delay 5
/keypress strafe_right
/keypress strafe_left
/keypress forward hold
/return
Sub MoveToLoc(MoveToY, MoveToX)
/declare running int local
/declare distanceNow float local
/declare distanceBefore float local
/declare distanceModifier int local
/declare distanceTimer timer 15
/varset running 0
/varset distanceBefore ${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}
/if (${distanceBefore}<30||${distanceBefore}>150) /return
/varset distanceModifier 1
/echo Moving to Location: ${MoveToY}, ${MoveToX}.
/echo Distance: ${distanceBefore}
:moveToLocation
/face fast nolook loc ${MoveToY},${MoveToX}
/if (${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}<10) {
/keypress forward
/face fast heading ${MyHeading}
/return
}
/if (${distanceTimer}==0) {
/if (${Me.Sneaking}) {
/varset distanceModifier 2
} else {
/varset distanceModifier 1
}
/varset distanceNow ${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}
/if (${Math.Calc[${distanceBefore}-${distanceNow}]}<${Math.Calc[10/${distanceModifier}]}) {
/call HitObstacle
}
/varset distanceBefore ${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}
/varset distanceTimer 15
}
/if (${running}==0) {
/keypress forward
/if (${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}>10) {
/varset running 1
/keypress forward hold
}
} else {
/if (${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}<11) {
/varset running 0
/keypress forward
}
}
/goto :moveToLocation
/return
Sub RestSongs
/if (${Me.Invis}||${Me.PctHPs}<${FadeAt}||${Me.XTarget[2].ID} || ${Spawn[${Me.XTarget[1].ID}].Type.Equal[npc]} || ${Twist.List.Equal[${PlayList${RestSongList}} ]} && ${Twist}) /return
/if (${Twist.List.NotEqual[${PlayList${RestSongList}} ]} && !${Me.XTarget}||${Twist.List.Equal[${PlayList${RestSongList}} ]} && !${Twist}) {
/squelch /twist 0
/delay 1s
/squelch /twist ${PlayList${RestSongList}}
/echo Rest Songs: ${PlayList${RestSongList}}
/delay 1s
/call MoveToLoc ${YLOC} ${XLOC}
}
/return
Sub Slow
/if (!${UseSlow}||${SlowTimer}||${SlowImmuneList.Find[${Target.CleanName}]}||${Target.Buff[Turger's Swarm].ID}||${Target.Buff[${SlowSong}].ID}||${Target.Buff[Desolate Deeds].ID}||${Target.Buff[Dreary Deeds].ID}||${Target.Buff[Counterbias Slow Rk. II].ID}||${Target.Buff[Curtailing Helix Rk. II].ID}) /return
/if (${Slowed}==FALSE && ${Attacking}) {
/squelch /twist 0
/squelch /twist once ${SlowGem}
/if (${UseColorEcho} && ${EchoAnnounce}) /cecho \arSlow: ${SlowSong}
/if (!${UseColorEcho} && ${EchoAnnounce}) /echo Slow: ${SlowSong}
/delay 35
/varset SlowTimer ${SlowTimer.OriginalValue}
/if (${Target.Buff[${SlowSong}].ID}) /varset Slowed TRUE
/delay 5
/squelch /twist ${PlayList${CombatSongList}}
}
/return
Sub Gem
/declare g int local
/declare cs int local
/declare rs int local
/for g 1 to 12 {
|/if (${Me.Gem[${g}].ID}==${Spell[${AEMezSong}].ID}) /varset AEMezGem ${g}
/if (${Me.Gem[${g}].ID}==${Spell[${MezSong}].ID}) /varset MezGem ${g}
/if (${Me.Gem[${g}].ID}==${Spell[${AuraSong1}].ID} && ${UseAura1}) /varset AuraGem1 ${g}
/if (${Me.Gem[${g}].ID}==${Spell[${AuraSong2}].ID} && ${UseAura2}) /varset AuraGem2 ${g}
/if (${Me.Gem[${g}].ID}==${Spell[${CharmSong}].ID} && ${UseCharm}) /varset CharmGem ${g}
/if (${Me.Gem[${g}].ID}==${Spell[${GrubersName}].ID} && ${UseGrubers}) /varset GrubersGem ${g}
/if (${Me.Gem[${g}].ID}==${Spell[${SlowSong}].ID} && ${UseSlow}) /varset SlowGem ${g}
}
/next g
/return
Sub AEMez
/if (${Me.XTarget}<2||${AEMezzed}||${Me.CurrentMana}<500) /return
/varset aemezcount 0
/declare a int local
/for a 1 to 5
/if (${Spawn[${Me.XTarget[${a}].ID}].LineOfSight} && ${Spawn[${Me.XTarget[${a}].ID}].Distance}<${AEMezRange}) /varcalc aemezcount ${aemezcount}+1
/next a
/if (${Me.XTarget}>2 && ${UseAEMez} && ${aemezcount}>=3) {
/squelch /twist off
/delay 3
/squelch /twist ${AEMezGem}
/if (${UseColorEcho} && ${EchoAnnounce}) /cecho \amAE Mez: ${AEMezSong}
/if (!${UseColorEcho} && ${EchoAnnounce}) /echo AE Mez: ${AEMezSong}
/delay 35
/if (${Target.Buff[${AEMezSong}].ID}) /varset AEMezzed ${AEMezzed.OriginalValue}
}
/return
Sub Mez
/if (!${UseMez}||!${Me.XTarget}||${Me.XTarget}<1) /return
/if (${Me.XTarget[3].ID} && ${UseAEMez} && !${AEMezzed}) /call AEMez
/declare i int local
:MezLoop
/for i 2 to 7 {
/if (${Target.ID}==${Me.XTarget[1].ID}||${Me.XTarget[${i}].ID}==${Me.ID}||${Me.XTarget[${i}].Type.NotEqual[Auto Hater]}) /next i
/if (!${Defined[MezTimer${Me.XTarget[${i}].ID}]}) {
/declare MezTimer${Me.XTarget[${i}].ID} timer outer 0
}
/if (${MezTimer${Me.XTarget[${i}].ID}} && ${i}<8||${MezImmuneList.Find[${Me.XTarget[${i}]}]}) /next i
/if (!${MezTimer${Me.XTarget[${i}].ID}} && ${Spawn[${Me.XTarget[${i}].ID}].LineOfSight} && ${Spawn[${Me.XTarget[${i}].ID}].Distance}<${MezRange} && ${Spawn[${Me.XTarget[${i}].ID}].Level}<=${MaxMezLevel} && ${Spawn[${Me.XTarget[${i}].ID}].PctHPs}>80) {
/squelch /twist off
/tar ${Spawn[${Me.XTarget[${i}].ID}]} noalert 6
/delay 4
/stopcast
| /bc Mezzing ${Target.CleanName}
/squelch /twist off
/squelch /twist once ${MezGem}
/if (${UseColorEcho} && ${EchoAnnounce}) /cecho \a-mMez: ${MezSong}
/if (!${UseColorEcho} && ${EchoAnnounce}) /echo Mez: ${MezSong}
/delay 34
/varset BuffWait 5s
/doevents MezOn
/doevents MezResist
}
}
/next i
/if (${Me.XTarget[3].ID} && ${UseAEMez} && !${AEMezzed}) /call AEMez
/if (${Me.XTarget}>1 || (${Me.XTarget}==1 && !${Me.XTarget[1].ID})) /goto :MezLoop
/return
Sub Charm(int charmid)
/if (${Me.Pet.ID}||!${UseCharm}||!${CharmGem}) /return
/declare i int local
/for i 2 to 7 {
/if (${charmid} && ${Spawn[${charmid}].Level}<=${MaxCharmLevel} && !${CharmImmuneList.Find[${Spawn[${charmid}].CleanName}) /varset i ${charmid}
/if (${Me.XTarget[${i}].ID} && ${Spawn[${Me.XTarget[${i}].ID}].Level}<=${MaxCharmLevel}&& ${Spawn[${Me.XTarget[${i}].ID}].Distance}<30 && !${CharmImmuneList.Find[${Me.XTarget[${i}]}]}) {
/tar ${Me.XTarget[${i}].ID} noalert 6
/squelch /twist off
/bc Charming ${Target.CleanName}
/squelch /twist ${CharmGem}
/delay 34
}
}
/next i
/return
Sub Initialize
|-----------------|
|-- Declares --|
|-----------------|
/declare IniFile string outer Mob_Ignore_List.ini
/declare Attacking bool outer FALSE
/declare PetAttacking bool outer FALSE
/declare AttackCheck timer outer 1s
/declare UseMelee bool outer ${Ini[MyIni,Settings,UseMelee,TRUE]}
/declare MeleeAt int outer ${Ini[MyIni,Settings,MeleeAt,90]}
/declare MyChannel string outer ${Ini[MyIni,Settings,MyChannel,bc]}
/declare UseTashOrb bool outer ${Ini[MyIni,Settings,UseTashOrb,FALSE]}
/declare UseColorEcho bool outer ${Ini[MyIni,Settings,UseColorEcho,TRUE]}
/declare EchoAnnounce bool outer ${Ini[MyIni,Settings,EchoAnnounce,TRUE]}
/declare Debuffed bool outer FALSE
/declare BuffWait timer outer 5s
|------------|
|---MISC-----|
|------------|
/declare SitTimer timer outer ${Ini[MyIni,Settings,SitTimer,10s]}
/declare MedTimer timer outer ${Ini[MyIni,Settings,MedTimer,45s]}
/declare MedAt int outer ${Ini[MyIni,Settings,MedAt,0]}
/declare Outside bool outer TRUE
/declare Raged bool outer FALSE
/declare UseSelos bool outer ${Ini[MyIni,Settings,UseSelos,FALSE]}
/declare StopMobGate bool outer ${Ini[MyIni,Settings,StopMobGate,FALSE]}
/declare XLOC float outer ${Me.X}
/declare YLOC float outer ${Me.Y}
/declare MyHeading int outer ${Me.Heading.DegreesCCW}
/declare Camp_Zone int outer ${Zone.ID}
/declare UseCamp bool outer ${Ini[MyIni,Settings,UseCamp,FALSE]}
|---------------|
|-- Play Lists--|
|---------------|
/declare PlayListTotal int outer ${Ini[MyIni,Songs,PlayListTotal]}
/declare pl int local
/for pl 1 to ${PlayListTotal} {
/declare PlayList${pl} string outer ${Ini[MyIni,Songs,PlayList${pl}]}
}
/next pl
/declare RestSongList int outer ${Ini[MyIni,Songs,RestSongList]}
/declare CombatSongList int outer ${Ini[MyIni,Songs,CombatSongList]}
/squelch /alias /anchor /echo AnchorMe
/if (${Param0}) /varset CombatSongList ${Param0}
/squelch /alias /rplay1 /echo ${SongChange} RestSongList 1
/squelch /alias /rplay2 /echo ${SongChange} RestSongList 2
/squelch /alias /rplay3 /echo ${SongChange} RestSongList 3
/squelch /alias /rplay4 /echo ${SongChange} RestSongList 4
/squelch /alias /rplay5 /echo ${SongChange} RestSongList 5
/squelch /alias /rplay6 /echo ${SongChange} RestSongList 6
/squelch /alias /cplay1 /echo ${SongChange} CombatSongList 1
/squelch /alias /cplay2 /echo ${SongChange} CombatSongList 2
/squelch /alias /cplay3 /echo ${SongChange} CombatSongList 3
/squelch /alias /cplay4 /echo ${SongChange} CombatSongList 4
/squelch /alias /cplay5 /echo ${SongChange} CombatSongList 5
/squelch /alias /cplay6 /echo ${SongChange} CombatSongList 6
/declare SongChange string outer ${Ini[MyIni,Songs,SongChange]}
/declare SongCheck string outer ${Ini[MyIni,Songs,SongCheck]}
|--------------------|
|-- Self Buff info --|
|--------------------|
|- selfbuffs
/declare SelfBuffTotal int outer ${Ini[MyIni,SelfBuffs,SelfBuffTotal]}
/declare sb int local
/for sb 1 to ${SelfBuffTotal} {
/declare SelfBuff${sb} string outer ${Ini[MyIni,SelfBuffs,SelfBuff${sb}]}
/declare SelfBuffSpell${sb} string outer ${Ini[MyIni,SelfBuffs,SelfBuffSpell${sb}]}
/declare SelfBuffGem${sb} string outer ${Ini[MyIni,SelfBuffs,SelfBuffGem${sb}]}
}
/next sb
|---------------|
|--Click items--|
|---------------|
|- OffensiveClickies
/declare ClickyNukeTotal int outer ${Ini[MyIni,OffensiveClickies,ClickyNukeTotal,0]}
/declare oc int local
/for oc 1 to ${ClickyNukeTotal} {
/declare ClickyNuke${oc} string outer ${Ini[MyIni,OffensiveClickies,ClickyNuke${oc}]}
/declare ClickyNukeTimer${oc} string outer ${Ini[MyIni,OffensiveClickies,ClickyNukeTimer${oc},30]}
/declare UseClickyNuke${oc}At int outer ${Ini[MyIni,OffensiveClickies,UseClickyNuke${oc}At,90]}
/declare StopClickyNuke${oc}At int outer ${Ini[MyIni,OffensiveClickies,StopClickyNuke${oc}At,25]}
/declare NamedOnlyClickyNuke${oc} bool outer ${Ini[MyIni,OffensiveClickies,NamedOnlyClickyNuke${oc},FALSE]}
}
/next oc
|-------------------|
|-----Mez infos-----|
|-------------------|
/declare aemezcount int outer 0
/declare UseAEMez bool outer ${Ini[MyIni,Songs,UseAEMez,FALSE]}
/declare AEMezSong string outer ${Ini[MyIni,Songs,AEMezSong,Wave of Dreams Rk. II]}
/declare AEMezGem int outer ${Ini[MyIni,Songs,AEMezGem]}
/declare AEMezzed timer outer 290
/declare AEMezRange int outer ${Ini[MyIni,Songs,AEMezRange,50]}
/declare UseSlow bool outer ${Ini[MyIni,Songs,UseSlow,TRUE]}
/declare SlowSong string outer ${Ini[MyIni,Songs,SlowSong,Requiem of Time]}
/declare SlowGem int outer
/declare Slowed bool outer FALSE
/declare SlowTimer timer outer 130
/declare UseMez bool outer ${Ini[MyIni,Songs,UseMez,FALSE]}
/declare MezSong string outer ${Ini[MyIni,Songs,MezSong,Slumber of the Mindshear Rk.III]}
/declare MezGem int outer
/declare MaxMezLevel int outer ${Ini[MyIni,Songs,MaxMezLevel,93]}
/declare MezDuration timer outer 140
/declare MezRange int outer ${Ini[MyIni,Songs,MezRange,200]}
/declare MezTimer timer outer 34
|-- Burn info
/declare Burning bool outer FALSE
/declare BurnOnTrigger string outer ${Ini[MyIni,Triggers,BurnOnTrigger]}
/declare BurnOffTrigger string outer ${Ini[MyIni,Triggers,BurnOffTrigger]}
/squelch /alias /burnon /echo ${BurnOnTrigger} ${BurnList}
/squelch /alias /burnoff /echo ${BurnOffTrigger}
|----------|
|--CHARM---|
|----------|
/declare UseCharm bool outer ${Ini[MyIni,Songs,UseCharm,FALSE]}
/declare CharmSong string outer ${Ini[MyIni,Songs,CharmSpell]}
/declare MaxCharmLevel int outer ${Ini[MyIni,Songs,MaxCharmLevel,88]}
/declare CharmGem int outer
/declare CharmPet int outer
/squelch /alias /charm /call Charm ${Target.ID}
|--------|
|-- AAs--|
|--------|
/declare AATotal int outer ${Ini[MyIni,AA,AATotal]}
/declare aa int local
/for aa 1 to ${AATotal} {
/declare AA${aa} string outer ${Ini[MyIni,AA,AA${aa}]}
/declare AAGem${aa} string outer ${Ini[MyIni,AA,AAGem${aa},alt]}
/declare UseAA${aa} bool outer ${Ini[MyIni,AA,UseAA${aa},FALSE]}
/declare UseAA${aa}At int outer ${Ini[MyIni,AA,UseAA${aa}At,95]}
/declare StopAA${aa}At int outer ${Ini[MyIni,AA,StopAA${aa}At,25]}
/declare NamedOnlyUseAA${aa} bool outer ${Ini[MyIni,AA,NamedOnlyUseAA${aa},FALSE]}
/declare UseAA${aa}IfNearby string outer ${Ini[MyIni,AA,UseAA${aa}IfNearby,npc]}
/declare UseAA${aa}IfNearbyAmt int outer ${Ini[MyIni,AA,UseAA${aa}IfNearbyAmt,1]}
/declare UseAA${aa}AtMyHPs int outer ${Ini[MyIni,AA,UseAA${aa}AtMyHPs,100]}
}
/next aa
|-- invis info
/declare InvisSpell string outer ${Ini[MyIni,Songs,InvisSpell]}
/declare IG string outer ${Ini[MyIni,Songs,IG]}
/declare InvisTrigger string outer ${Ini[MyIni,Songs,InvisTrigger]}
/declare InvisOffTrigger string outer ${Ini[MyIni,Songs,InvisOffTrigger]}
|---------------|
|- buff others--|
|---------------|
/declare DoBuffs bool outer ${Ini[MyIni,Buffs,DoBuffs,FALSE]}
/declare BuffTotal int outer ${Ini[MyIni,Buffs,BuffTotal]}
/declare b int local
/for b 1 to ${BuffTotal} {
/declare BuffTrigger${b} string outer ${Ini[MyIni,Buffs,BuffTrigger${b}]}
/declare BuffGem${b} string outer ${Ini[MyIni,Buffs,BuffGem${b}]}
/declare Buff${b} string outer ${Ini[MyIni,Buffs,Buff${b}]}
}
/next b
|-- Grubers --|
/declare UseGrubers bool outer ${Ini[MyIni,Songs,UseGrubers,FALSE]}
/declare GrubersHPAt int outer ${Ini[MyIni,Songs,GrubersHPAt]}
/declare GrubersManaAt int outer ${Ini[MyIni,Songs,GrubersManaAt]}
/declare GrubersName string outer ${Ini[MyIni,Songs,GrubersName]}
/declare GrubersRecourseName string outer ${Ini[MyIni,Songs,GrubersRecourseName]}
/declare GrubersMyMana int outer ${Ini[MyIni,Songs,GrubersMyMana]}
/declare GrubersGem int outer
/declare FadedTimer timer outer 5s
/declare FadeAt int outer ${Ini[MyIni,Settings,FadeAt]}
|-- DPS Stuff --|
/declare UseSmartDPS bool outer ${Ini[MyIni,Misc,UseSmartDPS,TRUE]}
/declare FightStartTime float outer
/declare FightTotalTime float outer
/declare FightRemainingTime float outer
/declare AnnounceTimeRemaining bool outer ${Ini[MyIni,Misc,AnnounceTimeRemaining,FALSE]}
/declare AnnouncedTimer timer outer ${Ini[MyIni,Misc,AnnouncedTimer]}
|- Aura
/declare UseAura1 bool outer ${Ini[MyIni,Songs,UseAura1,FALSE]}
/declare AuraName1 string outer ${Ini[MyIni,Songs,AuraName1]}
/declare AuraSong1 string outer ${Ini[MyIni,Songs,AuraSong1]}
/declare AuraGem1 string outer
/declare UseAura2 bool outer ${Ini[MyIni,Songs,UseAura2,FALSE]}
/declare AuraName2 string outer ${Ini[MyIni,Songs,AuraName2]}
/declare AuraSong2 string outer ${Ini[MyIni,Songs,AuraSong2]}
/declare AuraGem2 string outer
|- immunity / ignore checks:
/declare IgnoreList string outer ${Ini[${IniFile},"Ignores.${Zone.ShortName}","Ignore"]}
/declare StunImmuneList string outer ${Ini[${IniFile},"StunImmunes.${Zone.ShortName}","StunImmune"]}
/declare CharmImmuneList string outer ${Ini[${IniFile},"CharmImmunes.${Zone.ShortName}","CharmImmune"]}
/declare DiseaseImmuneList string outer ${Ini[${IniFile},"DiseaseImmunes.${Zone.ShortName}","DiseaseImmune"]}
/declare ColdImmuneList string outer ${Ini[${IniFile},"ColdImmunes.${Zone.ShortName}","ColdImmune"]}
/declare FireImmuneList string outer ${Ini[${IniFile},"FireImmunes.${Zone.ShortName}","FireImmune"]}
/declare MagicImmuneList string outer ${Ini[${IniFile},"MagicImmunes.${Zone.ShortName}","MagicImmune"]}
/declare PoisonImmuneList string outer ${Ini[${IniFile},"PoisonImmunes.${Zone.ShortName}","PoisonImmune"]}
/declare MezImmuneList string outer ${Ini[${IniFile},"MezImmunes.${Zone.ShortName}","MezImmune"]}
/declare SnareImmuneList string outer ${Ini[${IniFile},"SnareImmunes.${Zone.ShortName}","SnareImmune"]}
/declare SlowImmuneList string outer ${Ini[${IniFile},"SlowImmunes.${Zone.ShortName}","SlowImmune"]}
/declare MezList string outer ${Ini[${IniFile},"Mez.${Zone.ShortName}","Mez"]}
/declare SnareList string outer ${Ini[${IniFile},"Snare.${Zone.ShortName}","Snare"]}
/declare StunList string outer ${Ini[${IniFile},"Stun.${Zone.ShortName}","Stun"]}
/declare resistfire string outer Fire
/declare resistcold string outer Cold
/declare resistdisease string outer Disease
/declare resistpoison string outer Poison
/declare resistmagic string outer Magic
/if (${IgnoreList.Equal[NULL]}) {
/ini "${IniFile}" "Ignores.${Zone.ShortName}" "Ignore" "|"
/varset IgnoreList ${Ini[${IniFile},"Ignores.${Zone.ShortName}","Ignore"]}
}
/echo IgnoreList: ${IgnoreList}
/if (${StunImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "StunImmunes.${Zone.ShortName}" "StunImmune" "|"
/varset StunImmuneList ${Ini[${IniFile},"StunImmunes.${Zone.ShortName}","StunImmune"]}
}
|/echo StunImmuneList: ${StunImmuneList}
/if (${StunList.Equal[NULL]}) {
/ini "${IniFile}" "Stun.${Zone.ShortName}" "Stun" "|"
/varset StunList ${Ini[${IniFile},"Stun.${Zone.ShortName}","Stun"]}
}
|/echo StunList: ${StunList}
/if (${CharmImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "CharmImmunes.${Zone.ShortName}" "CharmImmune" "|"
/varset CharmImmuneList ${Ini[${IniFile},"CharmImmunes.${Zone.ShortName}","CharmImmune"]}
}
/echo CharmImmuneList: ${CharmImmuneList}
/if (${DiseaseImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "DiseaseImmunes.${Zone.ShortName}" "DiseaseImmune" "|"
/varset DiseaseImmuneList ${Ini[${IniFile},"DiseaseImmunes.${Zone.ShortName}","DiseaseImmune"]}
}
|/echo DiseaseImmuneList: ${DiseaseImmuneList}
/if (${ColdImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "ColdImmunes.${Zone.ShortName}" "ColdImmune" "|"
/varset ColdImmuneList ${Ini[${IniFile},"ColdImmunes.${Zone.ShortName}","ColdImmune"]}
}
|/echo ColdImmuneList: ${ColdImmuneList}
/if (${FireImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "FireImmunes.${Zone.ShortName}" "FireImmune" "|"
/varset FireImmuneList ${Ini[${IniFile},"FireImmunes.${Zone.ShortName}","FireImmune"]}
}
|/echo FireImmuneList: ${FireImmuneList}
/if (${MagicImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "MagicImmunes.${Zone.ShortName}" "MagicImmune" "|"
/varset MagicImmuneList ${Ini[${IniFile},"MagicImmunes.${Zone.ShortName}","MagicImmune"]}
}
|/echo MagicImmuneList: ${MagicImmuneList}
/if (${PoisonImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "PoisonImmunes.${Zone.ShortName}" "PoisonImmune" "|"
/varset PoisonImmuneList ${Ini[${IniFile},"PoisonImmunes.${Zone.ShortName}","PoisonImmune"]}
}
|/echo PoisonImmuneList: ${PoisonImmuneList}
/if (${MezImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "MezImmunes.${Zone.ShortName}" "MezImmune" "|"
/varset MezImmuneList ${Ini[${IniFile},"MezImmunes.${Zone.ShortName}","MezImmune"]}
}
/echo MezImmuneList: ${MezImmuneList}
/if (${MezList.Equal[NULL]}) {
/ini "${IniFile}" "Mezs.${Zone.ShortName}" "Mez" "|"
/varset MezList ${Ini[${IniFile},"Mezs.${Zone.ShortName}","Mez"]}
}
|/echo MezList: ${MezList}
/if (${SnareImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "SnareImmunes.${Zone.ShortName}" "SnareImmune" "|"
/varset SnareImmuneList ${Ini[${IniFile},"SnareImmunes.${Zone.ShortName}","SnareImmune"]}
}
/echo SnareImmuneList: ${SnareImmuneList}
/if (${SnareList.Equal[NULL]}) {
/ini "${IniFile}" "Snares.${Zone.ShortName}" "Snare" "|"
/varset SnareList ${Ini[${IniFile},"Snares.${Zone.ShortName}","Snare"]}
}
|/echo SnareList: ${SnareList}
/if (${SlowImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "SlowImmunes.${Zone.ShortName}" "SlowImmune" "|"
/varset SlowImmuneList ${Ini[${IniFile},"SlowImmunes.${Zone.ShortName}","SlowImmune"]}
}
/echo SlowImmuneList: ${SlowImmuneList}
/return
Sub PluginCheck
/if (!${Plugin[MQ2Melee].Name.Equal[MQ2Melee]}) {
/echo Loading MQ2Melee
/squelch /plugin MQ2Melee load
/delay 1s
/if (!${Plugin[MQ2Melee].Name.Equal[MQ2Melee]}) {
/beep
/echo Unable to load MQ2Melee, /end
/end
}
}
/if (!${Plugin[MQ2CEcho].Name.Equal[MQ2CEcho]} && ${UseColorEcho}) {
/echo Loading MQ2CEcho because UseColorEcho=TRUE
/squelch /plugin MQ2CEcho load
/delay 1s
/if (!${Plugin[MQ2CEcho].Name.Equal[MQ2CEcho]}) {
/beep
/echo Unable to load MQ2CEcho, using standard echo.
/varset UseColorEcho FALSE
}
}
/if (!${Plugin[MQ2Cast].Name.Equal[MQ2Cast]}) {
/echo Loading MQ2Cast
/squelch /plugin MQ2Cast load
/delay 1s
/if (!${Plugin[MQ2Cast].Name.Equal[MQ2Cast]}) {
/beep
/echo Unable to load MQ2Cast plugin, /end
/end
}
}
/if (!${Plugin[MQ2MoveUtils].Name.Equal[MQ2MoveUtils]}) {
/echo Loading MQ2MoveUtils
/squelch /plugin MQ2MoveUtils load
/delay 1s
/if (!${Plugin[MQ2MoveUtils].Name.Equal[MQ2MoveUtils]}) {
/beep
/echo Unable to load MQ2MoveUtils plugin, /end
/end
}
}
/if (!${Plugin[MQ2Twist].Name.Equal[MQ2Twist]}) {
/echo Loading MQ2Twist
/squelch /plugin MQ2Twist load
/delay 1s
/if (!${Plugin[MQ2Twist].Name.Equal[MQ2Twist]}) {
/beep
/echo Unable to load MQ2Twist plugin, /end
/end
}
}
/echo Required Plugins Verified
/return
|------------------------|
|---EVENTS BELOW HERE ---|
|------------------------|
Sub Event_Anchor
/varset YLOC ${Me.Y}
/varset XLOC ${Me.X}
/echo New anchor set: X: ${XLOC} , Y: ${YLOC}
/return
Sub Event_BurnOnTrigger
/varset Burning TRUE
/squelch /twist ${PlayList${BurnList}}
/return
Sub Event_BurnOffTrigger
/varset Burning FALSE
/return
Sub Event_Chat(string ChatType,string Sender,string ChatText)
/if ((!${ChatType.Equal[EQBC]})&&(!${ChatType.Equal[${MyChannel}]})&&(!${ChatType.Equal[TELL]})) /return
/if (${Spawn[${Sender}].ID}==${Me.ID}) /return
/if (${ChatText.Equal[${InvisTrigger}]}) /casting "${InvisSpell}" ${IG}
/if (${ChatText.Equal[${InvisOffTrigger}]}) {
/if (${Me.Buff[Camouflage].ID}) /nomodkey /notify BuffWindow Buff${Math.Calc[${Me.Buff[Camouflage].ID}-1].Int} leftmouseup
/if (${Me.Buff[Shared Camouflage].ID}) /nomodkey /notify BuffWindow Buff${Math.Calc[${Me.Buff[Shared Camouflage].ID}-1].Int} leftmouseup
/if (${Me.Buff[Sun Cloak].ID}) /nomodkey /notify BuffWindow Buff${Math.Calc[${Me.Buff[Sun Cloak].ID}-1].Int} leftmouseup
/if (${Me.Buff[${InvisSpell}].ID}) /nomodkey /notify BuffWindow Buff${Math.Calc[${Me.Buff[${InvisSpell}].ID}-1].Int} leftmouseup
/if (${Me.Buff[Group Perfected Invisibility].ID}) /nomodkey /notify BuffWindow Buff${Math.Calc[${Me.Buff[Group Perfected Invisibility].ID}-1].Int} leftmouseup
/if (${Me.Buff[Group Perfected Invisibility to Undead].ID}) /nomodkey /notify BuffWindow Buff${Math.Calc[${Me.Buff[Group Perfected Invisibility to Undead].ID}-1].Int} leftmouseup
}
/if (${ChatText.Equal[manacheck]}) /bc ${Me.CleanName} - Mana ${Me.PctMana}%
/if (!${Spawn[${Sender}].ID}) {
/echo ${Sender} is not in the Zone
/return
}
/return
Sub Event_EQBC(EQBCSay,EQBCSender,EQBCCommand)
/if (${EQBCCommand.Left[1].Equal[/]}) {
/docommand ${EQBCCommand}
} else {
/call Event_Chat "EQBC" "${EQBCSender}" "${EQBCCommand}"
}
/return
Sub Event_Gate(string Line,string MobName)
/if (${StopMobGate} && ${Target.ID}==${Me.XTarget[1].ID} && ${Me.AltAbilityReady[Boastful Bellow]} && ${Me.AltAbility[Boastful Bellow]}) {
/echo Stop gate: ${Target.CleanName}
/casting "Boastful Bellow" alt
}
/return
Sub Event_Hit
/declare q int local 0
/declare r int local 0
/declare tempID int local
/varset r ${SpawnCount[npc radius 15]}
/if (${r}) {
/for q 1 to ${r}
/varset tempID ${NearestSpawn[${q},npc radius 15].ID}
/if (!${NearestSpawn[${q},npc radius 15].ID}) /next q
/squelch /target id ${tempID}
/delay 5 ${Target.ID}==${tempID}
/delay 1
/if (${Me.TargetOfTarget.ID}==${Me.ID} && ${Target.ID} && ${Target.ID}!=${Me.ID} && (!${MezImmuneList.Find[${Target.CleanName}]} || ${MezTimer${Target.ID}} > 0)) {
/if (${Me.PctHPs}<=60 && ${Me.AltAbilityReady[Lyrical Prankster]}) /casting "Lyrical Prankster" alt
/if (${Me.PctHPs}<=50 && ${Me.AltAbility[Shield of Notes]} && ${Me.AltAbilityReady[Shield of Notes]}) /casting "Shield of Notes" alt
/if (${Me.PctHPs}<=50 && ${Me.AltAbilityReady[Last Stand]}) /casting "Last Stand" alt
/if (${Me.PctHPs}<=30) /call Fade
}
/next q
}
/return
Sub Event_InDoors
/varset Outside FALSE
/return
Sub Event_MezImmune
/bc mezimmunemob ${Target.CleanName}
/return
Sub Event_MezOn
/if (!${Defined[MezTimer${Target.ID}]}) {
/declare MezTimer${Target.ID} timer outer
}
/varset MezTimer${Target.ID} ${MezDuration}
/return
Sub Event_MezResist
/varset MezTimer${Target.ID} 0
/return
Sub Event_RageOff(string line)
/if (${line.Find[${Target.DisplayName}]}) && ${Me.Pet.ID}) {
/target ${Me.XTarget[1].ID}
/attack on
/pet attack
/varset Raged FALSE
/varset Attacking TRUE
/varset PetAttacking TRUE
}
/return
Sub Event_RageOn(string line)
/if (${line.Find[${Target.DisplayName}]}) {
/if (${Me.Pet.ID}) && !${Me.PetBuff[Master's Aura Effect].ID}) {
/echo Enrage detected! Backing pet off.
/pet back off
}
/varset Raged TRUE
/varset Attacking FALSE
/varset PetAttacking FALSE
/if (!${Me.Buff[Master's Aura Effect].ID} && !${Me.Song[Master's Aura Effect].ID} && ${UseMelee}) /attack off
}
/return
Sub Event_SongChange(string line, string listname, int listnum)
/varset ${listname} ${listnum}
/echo New list: ${listname} is now playing songs: ${PlayList${listnum}}
/return
Sub Event_SongCheck
/delcare pl int local
/for pl 1 to ${PlayListTotal} {
/echo PlayList${pl} : ${PlayList${pl}}
}
/next pl
/return
Sub Event_Zoned
/varset Outside TRUE
/if (${IgnoreList.Equal[NULL]}) {
/ini "${IniFile}" "Ignores.${Zone.ShortName}" "Ignore" "|"
/varset IgnoreList ${Ini[${IniFile},"Ignores.${Zone.ShortName}","Ignore"]}
}
/echo IgnoreList: ${IgnoreList}
/if (${StunImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "StunImmunes.${Zone.ShortName}" "StunImmune" "|"
/varset StunImmuneList ${Ini[${IniFile},"StunImmunes.${Zone.ShortName}","StunImmune"]}
}
/echo StunImmuneList: ${StunImmuneList}
/if (${StunList.Equal[NULL]}) {
/ini "${IniFile}" "Stun.${Zone.ShortName}" "Stun" "|"
/varset StunList ${Ini[${IniFile},"Stun.${Zone.ShortName}","Stun"]}
}
/echo StunList: ${StunList}
/if (${CharmImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "CharmImmunes.${Zone.ShortName}" "CharmImmune" "|"
/varset CharmImmuneList ${Ini[${IniFile},"CharmImmunes.${Zone.ShortName}","CharmImmune"]}
}
/echo CharmImmuneList: ${CharmImmuneList}
/if (${DiseaseImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "DiseaseImmunes.${Zone.ShortName}" "DiseaseImmune" "|"
/varset DiseaseImmuneList ${Ini[${IniFile},"DiseaseImmunes.${Zone.ShortName}","DiseaseImmune"]}
}
/echo DiseaseImmuneList: ${DiseaseImmuneList}
/if (${ColdImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "ColdImmunes.${Zone.ShortName}" "ColdImmune" "|"
/varset ColdImmuneList ${Ini[${IniFile},"ColdImmunes.${Zone.ShortName}","ColdImmune"]}
}
/echo ColdImmuneList: ${ColdImmuneList}
/if (${FireImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "FireImmunes.${Zone.ShortName}" "FireImmune" "|"
/varset FireImmuneList ${Ini[${IniFile},"FireImmunes.${Zone.ShortName}","FireImmune"]}
}
/echo FireImmuneList: ${FireImmuneList}
/if (${MagicImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "MagicImmunes.${Zone.ShortName}" "MagicImmune" "|"
/varset MagicImmuneList ${Ini[${IniFile},"MagicImmunes.${Zone.ShortName}","MagicImmune"]}
}
/echo MagicImmuneList: ${MagicImmuneList}
/if (${PoisonImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "PoisonImmunes.${Zone.ShortName}" "PoisonImmune" "|"
/varset PoisonImmuneList ${Ini[${IniFile},"PoisonImmunes.${Zone.ShortName}","PoisonImmune"]}
}
/echo PoisonImmuneList: ${PoisonImmuneList}
/if (${MezImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "MezImmunes.${Zone.ShortName}" "MezImmune" "|"
/varset MezImmuneList ${Ini[${IniFile},"MezImmunes.${Zone.ShortName}","MezImmune"]}
}
/echo MezImmuneList: ${MezImmuneList}
/if (${MezList.Equal[NULL]}) {
/ini "${IniFile}" "Mezs.${Zone.ShortName}" "Mez" "|"
/varset MezList ${Ini[${IniFile},"Mezs.${Zone.ShortName}","Mez"]}
}
/echo MezList: ${MezList}
/if (${SnareImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "SnareImmunes.${Zone.ShortName}" "SnareImmune" "|"
/varset SnareImmuneList ${Ini[${IniFile},"SnareImmunes.${Zone.ShortName}","SnareImmune"]}
}
/echo SnareImmuneList: ${SnareImmuneList}
/if (${SnareList.Equal[NULL]}) {
/ini "${IniFile}" "Snares.${Zone.ShortName}" "Snare" "|"
/varset SnareList ${Ini[${IniFile},"Snares.${Zone.ShortName}","Snare"]}
}
/echo SnareList: ${SnareList}
/if (${SlowImmuneList.Equal[NULL]}) {
/ini "${IniFile}" "SlowImmunes.${Zone.ShortName}" "SlowImmune" "|"
/varset SlowImmuneList ${Ini[${IniFile},"SlowImmunes.${Zone.ShortName}","SlowImmune"]}
}
/echo SlowImmuneList: ${SlowImmuneList}
/call LoadMQ2Targets
/return
Sub Event_Mez
/echo mezmob ${Target.CleanName}
/return
Sub Event_Slow
/echo slowmob ${Target.CleanName}
/return
Sub Event_Snare
/echo snaremob ${Target.CleanName}
/return
Sub Event_IgnoreMob(string line,string MobName)
/if (!${IgnoreList.Find[${MobName}]}) {
/ini "${IniFile}" "Ignores.${Zone.ShortName}" "Ignore" "${IgnoreList}${MobName}|"
/varset IgnoreList ${Ini[${IniFile},"Ignores.${Zone.ShortName}","Ignore"]}
/echo IgnoreList: ${IgnoreList}
}
/return
Sub Event_StunImmuneMob(string line,string MobName)
/if (!${StunImmuneList.Find[${MobName}]}) {
/ini "${IniFile}" "StunImmunes.${Zone.ShortName}" "StunImmune" "${StunImmuneList}${MobName}|"
/varset StunImmuneList ${Ini[${IniFile},"StunImmunes.${Zone.ShortName}","StunImmune"]}
/echo StunImmuneList: ${StunImmuneList}
}
/return
Sub Event_SnareImmuneMob(string line,string MobName)
/if (!${SnareImmuneList.Find[${MobName}]}) {
/ini "${IniFile}" "SnareImmunes.${Zone.ShortName}" "SnareImmune" "${SnareImmuneList}${MobName}|"
/varset SnareImmuneList ${Ini[${IniFile},"SnareImmunes.${Zone.ShortName}","SnareImmune"]}
/echo SnareImmuneList: ${SnareImmuneList}
}
/return
Sub Event_StunMob(string line,string MobName)
/if (!${StunList.Find[${MobName}]}) {
/ini "${IniFile}" "Stuns.${Zone.ShortName}" "Stun" "${StunList}${MobName}|"
/varset StunList ${Ini[${IniFile},"Stuns.${Zone.ShortName}","Stun"]}
/echo StunList: ${StunList}
}
/return
Sub Event_SnareMob(string line,string MobName)
/if (!${SnareList.Find[${MobName}]}) {
/ini "${IniFile}" "Snares.${Zone.ShortName}" "Snare" "${SnareList}${MobName}|"
/varset SnareList ${Ini[${IniFile},"Snares.${Zone.ShortName}","Snare"]}
/echo SnareList: ${SnareList}
}
/return
Sub Event_SlowImmuneMob(string line,string MobName)
/if (!${SlowImmuneList.Find[${MobName}]}) {
/ini "${IniFile}" "SlowImmunes.${Zone.ShortName}" "SlowImmune" "${SlowImmuneList}${MobName}|"
/varset SlowImmuneList ${Ini[${IniFile},"SlowImmunes.${Zone.ShortName}","SlowImmune"]}
/echo SlowImmuneList: ${SlowImmuneList}
}
/return
Sub Event_MezMob(string line,string MobName)
/if (!${MezList.Find[${MobName}]}) {
/ini "${IniFile}" "Mezs.${Zone.ShortName}" "Mez" "${MezList}${MobName}|"
/varset MezList ${Ini[${IniFile},"Mezs.${Zone.ShortName}","Mez"]}
/echo MezList: ${MezList}
}
/return
Sub Event_MezImmuneMob(string line,string MobName)
/if (!${MezImmuneList.Find[${MobName}]}) {
/ini "${IniFile}" "MezImmunes.${Zone.ShortName}" "MezImmune" "${MezImmuneList}${MobName}|"
/varset MezImmuneList ${Ini[${IniFile},"MezImmunes.${Zone.ShortName}","MezImmune"]}
/echo MezImmuneList: ${MezImmuneList}
}
/return
Sub Event_FireImmuneMob(string line,string MobName)
/if (!${FireImmuneList.Find[${MobName}]}) {
/ini "${IniFile}" "FireImmunes.${Zone.ShortName}" "FireImmune" "${FireImmuneList}${MobName}|"
/varset FireImmuneList ${Ini[${IniFile},"FireImmunes.${Zone.ShortName}","FireImmune"]}
/echo FireImmuneList: ${FireImmuneList}
}
/return
Sub Event_ColdImmuneMob(string line,string MobName)
/if (!${ColdImmuneList.Find[${MobName}]}) {
/ini "${IniFile}" "ColdImmunes.${Zone.ShortName}" "ColdImmune" "${ColdImmuneList}${MobName}|"
/varset ColdImmuneList ${Ini[${IniFile},"ColdImmunes.${Zone.ShortName}","ColdImmune"]}
/echo ColdImmuneList: ${ColdImmuneList}
}
/return
Sub Event_MagicImmuneMob(string line,string MobName)
/if (!${MagicImmuneList.Find[${MobName}]}) {
/ini "${IniFile}" "MagicImmunes.${Zone.ShortName}" "MagicImmune" "${MagicImmuneList}${MobName}|"
/varset MagicImmuneList ${Ini[${IniFile},"MagicImmunes.${Zone.ShortName}","MagicImmune"]}
/echo MagicImmuneList: ${MagicImmuneList}
}
/return
Sub Event_PoisonImmuneMob(string line,string MobName)
/if (!${PoisonImmuneList.Find[${MobName}]}) {
/ini "${IniFile}" "PoisonImmunes.${Zone.ShortName}" "PoisonImmune" "${PoisonImmuneList}${MobName}|"
/varset PoisonImmuneList ${Ini[${IniFile},"PoisonImmunes.${Zone.ShortName}","PoisonImmune"]}
/echo PoisonImmuneList: ${PoisonImmuneList}
}
/return
Sub Event_DiseaseImmuneMob(string line,string MobName)
/if (!${DiseaseImmuneList.Find[${MobName}]}) {
/ini "${IniFile}" "DiseaseImmunes.${Zone.ShortName}" "DiseaseImmune" "${DiseaseImmuneList}${MobName}|"
/varset DiseaseImmuneList ${Ini[${IniFile},"DiseaseImmunes.${Zone.ShortName}","DiseaseImmune"]}
/echo DiseaseImmuneList: ${DiseaseImmuneList}
}
/return
Sub Event_CharmImmuneMob(string line,string MobName)
/if (!${CharmImmuneList.Find[${MobName}]}) {
/ini "${IniFile}" "CharmImmunes.${Zone.ShortName}" "CharmImmune" "${CharmImmuneList}${MobName}|"
/varset CharmImmuneList ${Ini[${IniFile},"CharmImmunes.${Zone.ShortName}","CharmImmune"]}
/echo CharmImmuneList: ${CharmImmuneList}
}
/return