Necro dot + nuke linking
Here is an example of how to link necro dots, nukes, and their twincast dot AA called Gift of Deathly Resolve. Additionally, this necro example is set to use 3 swift dots if in a group of more than 3, and to use 6 dots if in a group 3 or less. It will ForceMemDots in case of a named and use up to 11 dots in that case.
AA: let's get the AA to fire if it is a named target
Code:
[AA]
AATotal=1
AAAnnounce=FALSE
AAUse1=TRUE
AASpellName1=Gift of Deathly Resolve
AAUseAtMobPctHP1=98
AAStopAtMobPctHP1=1
AARecast1=1s
AANamedOnly1=[COLOR=yellow]TRUE[/COLOR]
AAConditions1=${Spell[Gift of Deathly Resolve].Stacks}
Nukes: <-- Note that I am making reference to actual variable names of dots using ${DotSpellName1} etc. This is how I am linking them to each other.
Code:
[Nuke]
NukeTotal=5
NukeTotalIfNamed=5
ForceMemNuke=FALSE
NukeAnnounce=FALSE
NukeUse1=TRUE
[COLOR=lime]NukeSpellName1[/COLOR]=Scintillate Bones
NukeSpellGem1=gem12
NukeUseAtMobPctHP1=99
NukeStopAtMobPctHP1=15
NukeRecast1=1s
NukeConditions1=((${DebuffUse1} && !${Debuff1${Target.ID}})||(${Me.GemTimer[${DotSpellName1}]} && ${Me.GemTimer[${DotSpellName2}]} && ${Me.GemTimer[${DotSpellName3}]})||(!${Me.Song[Deathly Resolve].ID} && ${Me.Buff[Gift of Deathly Resolve].ID}))
NukeUse2=TRUE
NukeSpellName2=Impel for Blood
NukeSpellGem2=gem5
NukeUseAtMobPctHP2=96
NukeStopAtMobPctHP2=15
NukeRecast2=1s
NukeConditions2=((${Me.GemTimer[${DotSpellName1}]} && ${Me.GemTimer[${DotSpellName2}]} && ${Me.GemTimer[${DotSpellName3}]})||(!${Me.Song[Deathly Resolve].ID} && ${Me.Buff[Gift of Deathly Resolve].ID}))
NukeUse3=TRUE
NukeSpellName3=Dissolving Venin
NukeSpellGem3=gem10
NukeUseAtMobPctHP3=15
NukeStopAtMobPctHP3=1
NukeRecast3=1s
NukeConditions3=(${Target.PctHPs}<15||(${Me.GemTimer[${DotSpellName1}]} && ${Me.GemTimer[${DotSpellName2}]} && ${Me.GemTimer[${DotSpellName3}]})||(!${Me.Song[Deathly Resolve].ID} && ${Me.Buff[Gift of Deathly Resolve].ID}))
NukeUse4=TRUE
NukeSpellName4=Call Skeleton Throng
NukeSpellGem4=gem6
NukeUseAtMobPctHP4=96
NukeStopAtMobPctHP4=15
NukeRecast4=1s
NukeConditions4=((!${Me.Song[Deathly Resolve].ID} && ${Me.Buff[Gift of Deathly Resolve].ID})||(!${Me.Song[Deathly Resolve].ID} && ((${DotOn1}||${Me.GemTimer[4]}) && (${DotOn2}||${Me.GemTimer[3]}) && (${DotOn3}||${Me.GemTimer[2]}))||(!${Me.Song[Deathly Resolve].ID} && ${Target.PctHPs}<30)))
NukeUse5=TRUE
NukeSpellName5=Mind Strip
NukeSpellGem5=gem12
NukeUseAtMobPctHP5=96
NukeStopAtMobPctHP5=1
NukeRecast5=1s
NukeConditions5=((${Me.GemTimer[${DotSpellName1}]} && ${Me.GemTimer[${DotSpellName2}]} && ${Me.GemTimer[${DotSpellName3}]})||(!${Me.Song[Deathly Resolve].ID} && ${Me.Buff[Gift of Deathly Resolve].ID}))
So what is happening in that code is that I actually have 3 nukes memmed, even though the total is set to 5. I dont have ForceMemNuke=TRUE, so it will only use what is memorized.
I ONLY want the nukes to fire if all 3 swift dots are on, except NukeSpellName1 (NukeSpellName1 makes the mob undead, allowing me to slow it, so if I have DebuffUse1=TRUE, then I want the nuke to fire so I can slow the mob). OR, if I am running the twincast dot AA "Gift of Deathly Resolve" and I dont have the twincast song icon on me, i need to cast a nuke to trigger twincast song.
Dots: <-- as mentioned, I use 3 dots if in a group of 4-6, 6 dots if in a group of 1-3, and 11 dots if the target is named.
Code:
[Dot]
DotTotal=${If[${Group}>3,3,6]}
DotTotalIfNamed=11
ForceMemDot=TRUE
DotAnnounce=FALSE
DotUse1=TRUE
DotSpellName1=Osalur's Flashblaze
DotSpellGem1=gem4
DotUseAtMobPctHP1=99
DotStopAtMobPctHP1=5
DotRecast1=1s
DotMaxTries1=2
DotConditions1=((!${DebuffUse1}||${Debuff1${Target.ID}}||!${Me.AltAbilityReady[Death's Malaise]} && ${Me.GemTimer[[COLOR=lime]${NukeSpellName1}[/COLOR]]}||${Me.GemTimer[[COLOR=lime]${NukeSpellName1}[/COLOR]]} && !${Target.Body.Name.NotEqual[undead]}) && (!${Me.Song[Deathly Resolve].ID} && (${Target.Named}||${Target.Name.Find[#]}||${Target.PctHPs}>20)))
DotUse2=TRUE
DotSpellName2=Itkari's Swift Lifedraw
DotSpellGem2=gem3
DotUseAtMobPctHP2=99
DotStopAtMobPctHP2=5
DotRecast2=1s
DotMaxTries2=2
DotConditions2=((!${DebuffUse1}||${Debuff1${Target.ID}}||!${Me.AltAbilityReady[Death's Malaise]} && ${Me.GemTimer[[COLOR=lime]${NukeSpellName1}[/COLOR]]}||${Me.GemTimer[[COLOR=lime]${NukeSpellName1}[/COLOR]]} && !${Target.Body.Name.NotEqual[undead]}) && (!${Me.Song[Deathly Resolve].ID} && (${Target.Named}||${Target.Name.Find[#]}||${Target.PctHPs}>20)))
DotUse3=TRUE
DotSpellName3=Bora's Swift Sickness
DotSpellGem3=gem2
DotUseAtMobPctHP3=99
DotStopAtMobPctHP3=5
DotRecast3=1s
DotMaxTries3=2
DotConditions3=((!${DebuffUse1}||${Debuff1${Target.ID}}||!${Me.AltAbilityReady[Death's Malaise]} && ${Me.GemTimer[[COLOR=lime]${NukeSpellName1}[/COLOR]]}||${Me.GemTimer[[COLOR=lime]${NukeSpellName1}[/COLOR]]} && !${Target.Body.Name.NotEqual[undead]}) && (!${Me.Song[Deathly Resolve].ID} && (${Target.Named}||${Target.Name.Find[#]}||${Target.PctHPs}>20)))
DotUse4=TRUE
DotSpellName4=Pyre of Marnek
DotSpellGem4=gem12
DotUseAtMobPctHP4=98
DotStopAtMobPctHP4=30
DotRecast4=1s
DotMaxTries4=2
DotConditions4=((!${DebuffUse1}||${Debuff1${Target.ID}}||!${Me.AltAbilityReady[Death's Malaise]} && ${Me.GemTimer[[COLOR=lime]${NukeSpellName1}[/COLOR]]}) && (!${Me.Buff[Gift of Deathly Resolve].ID} && (${Target.Named}||${Target.Name.Find[#]}||${Target.PctHPs}>30))||${Me.Song[Deathly Resolve].ID})
DotUse5=TRUE
DotSpellName5=Termination
DotSpellGem5=gem7
DotUseAtMobPctHP5=98
DotStopAtMobPctHP5=10
DotRecast5=1s
DotMaxTries5=2
DotConditions5=((!${Me.Buff[Gift of Deathly Resolve].ID} && (${Target.Named}||${Target.Name.Find[#]}||${Target.PctHPs}>30))||${Me.Song[Deathly Resolve].ID})
DotUse6=TRUE
DotSpellName6=Ignite Thoughts
DotSpellGem6=gem12
DotUseAtMobPctHP6=98
DotStopAtMobPctHP6=20
DotRecast6=1s
DotMaxTries6=2
DotConditions6=((!${DebuffUse1}||${Debuff1${Target.ID}}||!${Me.AltAbilityReady[Death's Malaise]} && ${Me.GemTimer[${NukeSpellName1}]}) && (!${Me.Buff[Gift of Deathly Resolve].ID} && (${Target.Named}||${Target.Name.Find[#]}||${Target.PctHPs}>30))||${Me.Song[Deathly Resolve].ID})
DotUse7=TRUE
DotSpellName7=Coruscating Shadow
DotSpellGem7=gem12
DotUseAtMobPctHP7=96
DotStopAtMobPctHP7=10
DotRecast7=1s
DotMaxTries7=2
DotConditions7=((!${DebuffUse1}||${Debuff1${Target.ID}}||!${Me.AltAbilityReady[Death's Malaise]} && ${Me.GemTimer[${NukeSpellName1}]}) && (!${Me.Buff[Gift of Deathly Resolve].ID} && (${Target.Named}||${Target.Name.Find[#]}||${Target.PctHPs}>30))||${Me.Song[Deathly Resolve].ID})
DotUse8=TRUE
DotSpellName8=Pernicious Wounds
DotSpellGem8=gem12
DotUseAtMobPctHP8=95
DotStopAtMobPctHP8=10
DotRecast8=1s
DotMaxTries8=2
DotConditions8=((!${DebuffUse1}||${Debuff1${Target.ID}}||!${Me.AltAbilityReady[Death's Malaise]} && ${Me.GemTimer[${NukeSpellName1}]}) && (!${Me.Buff[Gift of Deathly Resolve].ID} && (${Target.Named}||${Target.Name.Find[#]}||${Target.PctHPs}>90))||${Me.Song[Deathly Resolve].ID})
DotUse9=TRUE
DotSpellName9=Pyre of the Forsaken
DotSpellGem9=gem12
DotUseAtMobPctHP9=96
DotStopAtMobPctHP9=10
DotRecast9=1s
DotMaxTries9=2
DotConditions9=((!${Me.Buff[Gift of Deathly Resolve].ID} && (${Target.Named}||${Target.Name.Find[#]}||${Target.PctHPs}>30))||${Me.Song[Deathly Resolve].ID})
DotUse10=TRUE
DotSpellName10=Dissolution
DotSpellGem10=gem12
DotUseAtMobPctHP10=96
DotStopAtMobPctHP10=10
DotRecast10=1s
DotMaxTries10=2
DotConditions10=((!${Me.Buff[Gift of Deathly Resolve].ID} && (${Target.Named}||${Target.Name.Find[#]}||${Target.PctHPs}>30))||${Me.Song[Deathly Resolve].ID})
DotUse11=TRUE
DotSpellName11=Halstor's Pallid Haze
DotSpellGem11=gem12
DotUseAtMobPctHP11=96
DotStopAtMobPctHP11=10
DotRecast11=1s
DotMaxTries11=2
DotConditions11=((!${Me.Buff[Gift of Deathly Resolve].ID} && (${Target.Named}||${Target.Name.Find[#]}||${Target.PctHPs}>30))||${Me.Song[Deathly Resolve].ID})
These conditions tell it to not use dots if I have DebuffUse1=TRUE so i can land a slow, it also says to dot to a lower amount of the target is a named. and finally, it prioritizes long duration nukes over the short duration nukes if the twincast dot AA "Gift of Deathly Resolve" is running and I have the twincast song icon on me.
That is a basic linking.
Well Ok, now I want to do something with that DebuffUse1 I was talking about. Let's take a look at how I can link that in.
Debuff: First thing's first. This is a slow, so if i have a shaman or enc, and maybe a beast/bard, I dont want to use this spell because they will use it. It is a really good slow, better than beast/bard.. so I only want to NOT use it if a sham/enc is in group.
Code:
[Debuff]
DontDebuffConColor=|GREY|GREEN|
DebuffAdds=FALSE
DebuffTotal=1
DebuffTotalIfNamed=1
ForceMemDebuff=FALSE
DebuffAnnounce=FALSE
DebuffUse1=${If[(${SpawnCount[group shm]}||${SpawnCount[group enc]}),FALSE,TRUE]}
DebuffSpellName1=Death's Malaise
DebuffSpellGem1=alt
DebuffUseAtMobPctHP1=96
DebuffStopAtMobPctHP1=1
DebuffRecast1=5m
DebuffMaxTries1=2
DebuffConditions1=${Me.GemTimer[[COLOR=lime]${NukeSpellName1}[/COLOR]].Seconds}>6 && ${Target.Body.Name.Equal[Undead]}
Reminder that the spell ONLY works on undead, and the spell Scintillate Bones (${NukeSpellName1}) only makes something undead for 12 seconds.. so I have to make sure that the target is undead and that the spell just fired recently or else it wont land.
Ok, but I get even fancier here. I dont care about slowing trash mobs. So i only want to slow on named. I will make use of the custom section for this to toggle using it from TRUE to FALSE if it is a named or not.
Custom:
Code:
[Custom]
CustomCombatTotal=2
CustomCombat1=/if (!${Target.Named} && !${Target.Name.Find[#]}||${Target.Level}<${Me.Level}) /varset DebuffUse1 FALSE
CustomCombat2=/if (${Target.Named}||${Target.Name.Find[#]} && ${Target.Level}>${Me.Level}) /varset DebuffUse1 TRUE
So now that will toggle it if target is named, or target is probably named and it is a higher level than I am. I could change that to be my level minus 5 levels perhaps, or whatever other check I want.