diff --git a/Condition.lua b/Condition.lua index 7c8cba1..28832e0 100644 --- a/Condition.lua +++ b/Condition.lua @@ -55,6 +55,59 @@ local rootSpellIdList = } local rootSpellList = nil +local buffSpellList = +{ + strengthagility= + { + 6673, -- Battle Shout + 8076, -- Strength of Earth + 79891 -- Horn of Winter + }, + stamina = + { + 21562, -- Fortitude TODO: vérifier + 469, -- Commanding Shout + 6307 -- Blood Pact + }, + lowerarmor= + { + 7386, -- Sunder Armor (x3) + 8647, -- Expose Armor + 770 -- Faerie Fire (x3) + }, + magicaldamagetaken= + { + 65142, -- Ebon Plague + 60433, -- Earth and Moon + 58410, -- Master Poisoner TODO: vérifier + 1490 -- Curse of the Elements + }, + -- physicaldamagetaken + lowerphysicaldamage= + { + 99, -- Demoralizing Roar + 702, -- Curse of Weakness + 1160, -- Demoralizing Shout + 67, -- Vindication + 81130, -- Scarlet Fever + }, + meleeslow= + { + 45477, --Icy Touch + 58179, --Infected Wounds + 68055, --Judgments of the just + 6343, --Thunderclap + 8042 --Earth Shock + }, + bleed= + { + 33876, --Mangle cat + 33878, --Mangle bear + 46857, -- Trauma + 16511 --Hemorrhage + } +} + local function buildRootSpellList() if (rootSpellList) then return @@ -132,6 +185,12 @@ local function compare(a, comparison, b) else return nil end + elseif comparison == "equal" then + if b == a then + return 0 + else + return nil + end else if (not a or (b~=nil and a<b)) then return 0 @@ -238,11 +297,25 @@ local function GetTargetAura(condition, filter, target) stacks = 1 end local spellId = condition[1] - local aura = Ovale:GetAura(target, filter, spellId) + local aura + if type(spellId) == "number" then + aura = Ovale:GetAura(target, filter, spellId) + elseif buffSpellList[spellId] then + for k,v in pairs(buffSpellList[spellId]) do + local newAura = Ovale:GetAura(target, filter, v) + if not aura or newAura.stacks>aura.stacks then + aura = newAura + end + end + else + Ovale:Print("unknown buff "..spellId) + Ovale.bug = true + end + if Ovale.trace then Ovale:Print("GetTargetAura = start = ".. nilstring(aura.start) .. " end = "..nilstring(aura.ending).." stacks = " ..nilstring(aura.stacks).."/"..stacks) end - + if (not condition.mine or aura.mine) and aura.stacks>=stacks then local ending if condition.forceduration then @@ -463,6 +536,10 @@ Ovale.conditions= local timeBefore = avecHate(condition[2], condition.haste) return start, addTime(ending, -timeBefore) end, + --Compare to eclipse power. <0 lunar, >0 solar + Eclipse = function(condition) + return compare(Ovale.state.eclipse, condition[1], condition[2]) + end, EffectiveMana = function(condition) local limit = GetManaTime(condition[2], true) if condition[1]=="more" then @@ -503,6 +580,9 @@ Ovale.conditions= local _,_,_,_,_,_,_,_,itemLoc = GetItemInfo(id) return testbool(itemLoc=="INVTYPE_SHIELD", condition[1]) end, + HolyPower = function(condition) + return compare(Ovale.state.holy, condition[1], condition[2]) + end, InCombat = function(condition) return testbool(Ovale.enCombat, condition[1]) end, @@ -761,6 +841,10 @@ Ovale.conditions= local target = getTarget(condition.target) return compare(UnitHealth(target), condition[1], condition[2]) end, + TargetLifeMissing = function(condition) + local target = getTarget(condition.target) + return compare(UnitHealthMax(target)-UnitHealth(target), condition[1], condition[2]) + end, -- Test if the target life is bellow/above a given value in percent -- 1 : "less" or "more" -- 2 : the limit, in percents @@ -795,7 +879,9 @@ Ovale.conditions= return compare(threatpct, condition[1], condition[2]) end, TimeInCombat = function(condition) - if condition[1] == "more" then + if not Ovale.combatStartTime then + return nil + elseif condition[1] == "more" then return Ovale.combatStartTime + condition[2] else return 0, Ovale.combatStartTime + condition[2] diff --git a/Ovale.lua b/Ovale.lua index 14dc36f..5ebfd87 100644 --- a/Ovale.lua +++ b/Ovale.lua @@ -306,6 +306,15 @@ local options = name = "Code", type = "execute", func = function() Ovale:AfficherCode() end + }, + debug = + { + name = "Debug", + type = "execute", + func = function() + --for i=1,10 do Ovale:Print(i.."="..UnitPower("player", i)) end + Ovale:Print(Ovale.state.eclipse) + end } } } @@ -629,6 +638,7 @@ function Ovale:OnEnable() self:FirstInit() end self:UNIT_AURA("","player") + self:UpdateVisibility() end @@ -866,8 +876,10 @@ function Ovale:RemplirActionIndex(i) local type, id = GetActionInfo(i); if (type=="spell") then if (id~=0) then - local spellName, spellRank = GetSpellName(id, BOOKTYPE_SPELL); - self.actionSort[spellName] = i + local spellName, spellRank = GetSpellInfo(id) -- GetSpellBookItemName(id, BOOKTYPE_SPELL); + if spellName then --TODO: bug avec le mécanisme solaire/lunaire du druide + self.actionSort[spellName] = i + end end elseif (type =="item") then self.actionObjet[id] = i @@ -1043,7 +1055,7 @@ function Ovale:AddSpellToStack(spellName, startCast, endCast, nextCast, nocd) end --Coût du sort (uniquement si dans le futur, dans le passé l'énergie est déjà dépensée) - if startCast >= self.maintenant then + if endCast >= self.maintenant then --Mana local _, _, _, cost = GetSpellInfo(spellName) if cost then @@ -1071,6 +1083,22 @@ function Ovale:AddSpellToStack(spellName, startCast, endCast, nextCast, nocd) if newSpellInfo.unholy then self:AddRune(startCast, 2, newSpellInfo.unholy) end + if newSpellInfo.eclipse then + self.state.eclipse = self.state.eclipse + newSpellInfo.eclipse + if self.state.eclipse < -100 then + self.state.eclipse = -100 + elseif self.state.eclipse > 100 then + self.state.eclipse = 100 + end + end + if newSpellInfo.holy then + self.state.holy = self.state.holy + newSpellInfo.holy + if self.state.holy < 0 then + self.state.holy = 0 + elseif self.state.holy > 3 then + self.state.holy = 3 + end + end end end @@ -1168,6 +1196,8 @@ function Ovale:InitCalculerMeilleureAction() self.spellStack.length = 0 self.state.combo = GetComboPoints("player") self.state.mana = UnitPower("player") + self.state.eclipse = UnitPower("player", 8) + self.state.holy = UnitPower("player", 9) if self.className == "DEATHKNIGHT" then for i=1,6 do self.state.rune[i].type = GetRuneType(i) diff --git a/Ovale.toc b/Ovale.toc index 20749ef..19b317d 100644 --- a/Ovale.toc +++ b/Ovale.toc @@ -1,9 +1,9 @@ -## Interface: 30300 +## Interface: 40000 ## Title: Ovale Spell Priority ## Notes: Show the icon of the next spell to cast ## Notes-frFR: Affiche l'icône du prochain sort à lancer ## Author: Sidoine -## Version: 3.3.36 +## Version: 4.0.1 ## OptionalDeps: Ace3, ButtonFacade, Recount, LibBabble-CreatureType-3.0 ## SavedVariables: OvaleDB ## SavedVariablesPerCharacter: OvaleDBPC diff --git a/OvaleCompile.lua b/OvaleCompile.lua index 514f787..d5a92da 100644 --- a/OvaleCompile.lua +++ b/OvaleCompile.lua @@ -25,7 +25,7 @@ local function ParseParameters(params) end params = string.gsub(params,"%w+=%w+","") local n=0 - for w in string.gmatch(params, "[%w_\\%.]+") do + for w in string.gmatch(params, "[-%w_\\%.]+") do if (string.match(w,"^%-?%d+%.?%d*$")) then w = tonumber(w) end @@ -208,6 +208,9 @@ local function ParseAddListItem(list,item,text, default) (paramList.glyph and not HasGlyph(paramList.glyph)) then return "" end + if paramList.mastery and paramList.mastery~=GetPrimaryTalentTree(GetActiveTalentGroup(false, false)) then + return "" + end if (not Ovale.listes[list]) then Ovale.listes[list] = {items={},default=nil} end @@ -224,6 +227,9 @@ local function ParseAddCheckBox(item, text, params) (paramList.glyph and not HasGlyph(paramList.glyph)) then return "" end + if paramList.mastery and paramList.mastery~=GetPrimaryTalentTree(GetActiveTalentGroup(false, false)) then + return "" + end Ovale.casesACocher[item] = {text = text} if paramList[1] and paramList[1]=="checked" then Ovale.casesACocher[item].checked = true @@ -291,6 +297,9 @@ local function ParseAddIcon(params, text) if masterNode.params.talent and not HasTalent(masterNode.params.talent) then return nil end + if masterNode.params.mastery and masterNode.params.mastery~=GetPrimaryTalentTree() then + return nil + end return masterNode end diff --git a/defaut/Chaman.lua b/defaut/Chaman.lua index 05ec5f9..683bd97 100644 --- a/defaut/Chaman.lua +++ b/defaut/Chaman.lua @@ -1,122 +1,121 @@ Ovale.defaut["SHAMAN"] = [[ +Define(BLOODLUST 2825) Define(CHAINLIGHTNING 421) -Define(LIGHTNINGBOLT 548) -Define(LAVABURST 51505) -Define(WATERSHIELD 52127) -Define(FLAMESHOCK 8050) -Define(FLAMETHONG 8024) -Define(WINDFURYWEAPON 8232) + SpellInfo(CHAINLIGHTNING cd=6) + SpellAddBuff(CHAINLIGHTNING MAELSTROMWEAPON=0) +Define(EARTHQUAKE 61882) Define(EARTHSHOCK 8042) -Define(STORMSTRIKE 17364) + SpellInfo(EARTHSHOCK cd=6 sharedcd=shock) +Define(ELEMENTALMASTERY 16166) +Define(FERALSPIRIT 51533) +Define(FIRENOVA 1535) + SpellInfo(FIRENOVA cd=10) +Define(FLAMESHOCK 8050) + SpellInfo(FLAMESHOCK cd=6 sharedcd=shock) + SpellAddTargetDebuff(FLAMESHOCK FLAMESHOCK=18) +Define(FLAMETHONGWEAPON 8024) +Define(FROSTSHOCK 8056) +Define(FROSTBANDWEAPON 8033) +Define(HEROISM 32182) +Define(LAVABURST 51505) + SpellInfo(LAVABURST cd=8) Define(LAVALASH 60103) + SpellInfo(LAVALASH cd=6) +Define(LIGHTNINGBOLT 403) + SpellAddBuff(LIGHTNINGBOLT MAELSTROMWEAPON=0) Define(LIGHTNINGSHIELD 324) -Define(MAELSTROMWEAPON 53817) -Define(ELEMENTALMASTERY 16166) + SpellAddBuff(LIGHTNINGSHIELD LIGHTNINGSHIELD=600) +Define(PRIMALSTRIKE 73899) +Define(ROCKBITERWEAPON 8017) Define(SHAMANISTICRAGE 30823) +Define(SPIRITWALKERSGRACE 79206) +Define(STORMSTRIKE 17364) + SpellInfo(STORMSTRIKE cd=8) Define(THUNDERSTORM 51490) -Define(FERALSPIRIT 51533) -Define(HEROISM 32182) -Define(BLOODLUST 2825) -Define(TALENTFLURRY 602) -Define(TALENTCALLOFTHUNDER 562) -Define(FIRENOVA 1535) +Define(UNLEASHELEMENTS 73680) +Define(WATERSHIELD 52127) + SpellAddBuff(WATERSHIELD WATERSHIELD=600) +Define(WINDSHEAR 57994) +Define(WINDFURYWEAPON 8232) + +#Buff +Define(MAELSTROMWEAPON 53817) #Fire -Define(TOTEMOFWRATH 30706) Define(FIREELEMENTALTOTEM 2894) -Define(FLAMETONGTOTEM 8227) -Define(FROSTRESISTANCETOTEM 8181) Define(MAGMATOTEM 8190) + SpellInfo(MAGMATOTEM cd=20) Define(SEARINGTOTEM 3599) +Define(FLAMETHONGTOTEM 8227) + +Define(TOTEMOFWRATH 30706) #Water -Define(CLEANSINGTOTEM 8170) -Define(FIRERESISTANCETOTEM 8184) Define(HEALINGSTREAMTOTEM 5394) Define(MANASPRINGTOTEM 5675) +Define(TOTEMOFTRANQUILMIND 87718) #Air Define(GROUNDINGTOTEM 8177) -Define(NATURERESISTANCETOTEM 10595) Define(WINDFURYTOTEM 8512) Define(WRATHOFAIRTOTEM 3738) #Earth +Define(STONECLAWTOTEM 5730) Define(STONESKINTOTEM 8071) Define(STRENGTHOFEARTHTOTEM 8075) Define(TREMORTOTEM 8143) AddCheckBox(aoe L(AOE)) -AddCheckBox(chain SpellName(CHAINLIGHTNING) default talent=TALENTCALLOFTHUNDER) -AddCheckBox(firenova SpellName(MAGMATOTEM)) - -SpellInfo(LAVABURST cd=8) -SpellInfo(CHAINLIGHTNING cd=6) -SpellAddBuff(LIGHTNINGBOLT MAELSTROMWEAPON=0) -SpellAddBuff(CHAINLIGHTNING MAELSTROMWEAPON=0) -SpellAddTargetDebuff(FLAMESHOCK FLAMESHOCK=18) -ScoreSpells(WATERSHIELD FLAMESHOCK LAVABURST CHAINLIGHTNING LIGHTNINGBOLT LAVALASH EARTHSHOCK LIGHTNINGSHIELD - STORMSTRIKE) -SpellInfo(EARTHSHOCK cd=6 sharedcd=shock) -SpellInfo(FLAMESHOCK cd=6 sharedcd=shock) -SpellAddBuff(LIGHTNINGSHIELD LIGHTNINGSHIELD=600) -SpellAddBuff(WATERSHIELD WATERSHIELD=600) -SpellInfo(LAVALASH cd=6) -SpellInfo(STORMSTRIKE cd=8) -SpellInfo(FIRENOVA cd=10) -SpellInfo(MAGMATOTEM cd=20) +AddCheckBox(chain SpellName(CHAINLIGHTNING) default mastery=1) -AddIcon help=main +AddIcon help=main mastery=1 { - unless TalentPoints(TALENTFLURRY more 0) + unless InCombat() { - unless InCombat() - { - if WeaponEnchantExpires(mainhand 400) Spell(FLAMETHONG) - } - if BuffExpires(WATERSHIELD 2) Spell(WATERSHIELD) - if CheckBoxOn(firenova) - { - if TotemExpires(fire) Spell(MAGMATOTEM) - unless TotemExpires(fire) Spell(FIRENOVA) - if ManaPercent(less 90) Spell(THUNDERSTORM) - } - if CheckBoxOn(aoe) Spell(CHAINLIGHTNING) - if TargetDebuffExpires(FLAMESHOCK 0 mine=1) Spell(FLAMESHOCK) - unless TargetDebuffExpires(FLAMESHOCK 1.6 haste=spell mine=1) Spell(LAVABURST) - - if CheckBoxOn(chain) and CastTime(LIGHTNINGBOLT more 1.5) and at least 0s from Spell(LAVABURST) until EndCastTime(CHAINLIGHTNING) - Spell(CHAINLIGHTNING) - Spell(LIGHTNINGBOLT) + if WeaponEnchantExpires(mainhand 400) Spell(FLAMETHONG) } - if TalentPoints(TALENTFLURRY more 0) + if BuffExpires(LIGHTNINGSHIELD 2) Spell(LIGHTNINGSHIELD) + if CheckBoxOn(aoe) { - #Changes by rsriv - unless InCombat() - { - if WeaponEnchantExpires(mainhand 400) Spell(WINDFURYWEAPON) - if WeaponEnchantExpires(offhand 400) Spell(FLAMETONGUE) - } + if TotemExpires(fire) Spell(MAGMATOTEM) + unless TotemExpires(fire) Spell(FIRENOVA) + if ManaPercent(less 90) Spell(THUNDERSTORM) + } + if CheckBoxOn(aoe) Spell(CHAINLIGHTNING) + if TargetDebuffExpires(FLAMESHOCK 0 mine=1) Spell(FLAMESHOCK) + unless TargetDebuffExpires(FLAMESHOCK 1.6 haste=spell mine=1) Spell(LAVABURST) + + if BuffPresent(LIGHTNINGSHIELD stacks=9) Spell(EARTHSHOCK) + if CheckBoxOn(chain) and CastTime(LIGHTNINGBOLT more 1.5) and at least 0s from Spell(LAVABURST) until EndCastTime(CHAINLIGHTNING) + Spell(CHAINLIGHTNING) - if CheckBoxOn(aoe) - { - if TotemExpires(fire) Spell(MAGMATOTEM) - unless TotemExpires(fire) Spell(FIRENOVA) - if BuffPresent(MAELSTROMWEAPON stacks=5) Spell(CHAINLIGHTNING) - } + Spell(LIGHTNINGBOLT) +} + +AddIcon help=main mastery=2 +{ + unless InCombat() + { + if WeaponEnchantExpires(mainhand 400) Spell(WINDFURYWEAPON) + if WeaponEnchantExpires(offhand 400) Spell(FLAMETHONGWEAPON) + } - if BuffPresent(MAELSTROMWEAPON stacks=5) Spell(LIGHTNINGBOLT) - if TargetDebuffExpires(FLAMESHOCK 2 haste=spell mine=1) Spell(FLAMESHOCK) - if TargetDebuffExpires(STORMSTRIKE) Spell(STORMSTRIKE) - if BuffExpires(LIGHTNINGSHIELD) Spell(LIGHTNINGSHIELD) + if CheckBoxOn(aoe) + { if TotemExpires(fire) Spell(MAGMATOTEM) - Spell(FERALSPIRIT) - Spell(SHAMANISTICRAGE) - Spell(EARTHSHOCK) - Spell(STORMSTRIKE) - Spell(LAVALASH) - Spell(FIRENOVA) - Spell(MAGMATOTEM priority=2) - Spell(LIGHTNINGSHIELD priority=2) + unless TotemExpires(fire) Spell(FIRENOVA) + if BuffPresent(MAELSTROMWEAPON stacks=5) Spell(CHAINLIGHTNING) } + + if BuffPresent(MAELSTROMWEAPON stacks=5) Spell(LIGHTNINGBOLT) + if TargetDebuffExpires(FLAMESHOCK 2 haste=spell mine=1) Spell(FLAMESHOCK) + if TargetDebuffExpires(STORMSTRIKE) Spell(STORMSTRIKE) + if BuffExpires(LIGHTNINGSHIELD) Spell(LIGHTNINGSHIELD) + if TotemExpires(fire) Spell(SEARINGTOTEM) + Spell(FERALSPIRIT) + Spell(SHAMANISTICRAGE) + Spell(EARTHSHOCK) + Spell(STORMSTRIKE) + Spell(LAVALASH) } AddIcon help=cd diff --git a/defaut/Chasseur.lua b/defaut/Chasseur.lua index 92d94d4..8f433f5 100644 --- a/defaut/Chasseur.lua +++ b/defaut/Chasseur.lua @@ -1,28 +1,58 @@ Ovale.defaut["HUNTER"] = [[ -Define(SERPENTSTING 1978) -Define(ARCANESHOT 3044) +#Spells Define(AIMEDSHOT 19434) -Define(MULTISHOT 2643) -Define(STEADYSHOT 56641) -Define(EXPLOSIVESHOT 53301) -Define(KILLSHOT 53351) -Define(RAPIDFIRE 3045) -Define(KILLCOMMAND 34026) + SpellInfo(AIMEDSHOT cd=10 resetcounter=ss) +Define(ARCANESHOT 3044) + SpellInfo(ARCANESHOT cd=6 resetcounter=ss) +Define(ASPECTOFTHEFOX 82661) +Define(ASPECTOFTHEHAWK 13165) Define(BESTIALWRATH 19574) -Define(HUNTERSMARK 53338) + SpellInfo(BESTIALWRATH cd=120) Define(BLACKARROW 3674) -Define(LOCKANDLOAD 56453) -Define(TALENTCHIMSHOT 2135) -Define(TALENTEXPLOSHOT 2145) + SpellInfo(BLACKARROW cd=26) + SpellAddTargetDebuff(BLACKARROW BLACKARROW=15) Define(CALLOFTHEWILD 53434) Define(CHIMERASHOT 53209) + SpellInfo(CHIMERASHOT cd=10 resetcounter=ss) +Define(COBRASHOT 77767) +Define(EXPLOSIVESHOT 53301) + SpellInfo(EXPLOSIVESHOT cd=6 buffnocd=LOCKANDLOAD) + SpellAddTargetDebuff(EXPLOSIVESHOT EXPLOSIVESHOT=2) + SpellAddBuff(EXPLOSIVESHOT LOCKANDLOAD=-1) +Define(FERVOR 82726) +Define(FOCUSFIRE 82692) +Define(KILLCOMMAND 34026) + SpellInfo(KILLCOMMAND cd=60 resetcounter=ss) +Define(KILLSHOT 53351) + SpellInfo(KILLSHOT cd=15 resetcounter=ss) +Define(HUNTERSMARK 1130) + SpellAddTargetDebuff(HUNTERSMARK HUNTERSMARK=300) +Define(MULTISHOT 2643) +Define(RAPIDFIRE 3045) + SpellAddBuff(RAPIDFIRE RAPIDFIRE=10) + SpellInfo(RAPIDFIRE cd=300 resetcounter=ss) Define(READINESS 23989) +Define(SERPENTSTING 1978) + SpellInfo(SERPENTSTING resetcounter=ss) + SpellAddTargetDebuff(SERPENTSTING SERPENTSTING=15) +Define(STEADYSHOT 56641) + SpellInfo(STEADYSHOT inccounter=ss) Define(SILENCINGSHOT 34490) -Define(ASPECTOFTHEVIPER 34074) -Define(ASPECTOFTHEDRAGONHAWK 61846) + SpellInfo(SILENCINGSHOT resetcounter=ss) + +#Buffs +Define(LOCKANDLOAD 56453) +Define(FRENZYEFFECT 19615) +Define(IMPROVEDSTEADYSHOT 53224) +Define(MARKEDFORDEATH 53243) +#Talents +Define(TALENTCHIMSHOT 2135) +Define(TALENTEXPLOSHOT 2145) Define(TALENTTRACKING 1623) + +#Trackings Define(TRACKBEASTS 1494) Define(TRACKDEMONS 19878) Define(TRACKDRAGONKIN 19879) @@ -31,50 +61,56 @@ Define(TRACKGIANTS 19882) Define(TRACKHUMANOIDS 19883) Define(TRACKUNDEAD 19884) -SpellAddTargetDebuff(EXPLOSIVESHOT EXPLOSIVESHOT=2) -SpellAddBuff(EXPLOSIVESHOT LOCKANDLOAD=-1) -SpellInfo(EXPLOSIVESHOT cd=6 buffnocd=LOCKANDLOAD) -SpellAddTargetDebuff(SERPENTSTING SERPENTSTING=15) -SpellAddTargetDebuff(BLACKARROW BLACKARROW=15) -SpellAddBuff(RAPIDFIRE RAPIDFIRE=10) -SpellInfo(BLACKARROW cd=26) -SpellInfo(KILLSHOT cd=15) -SpellInfo(AIMEDSHOT cd=10) -SpellInfo(CHIMERASHOT cd=10) -SpellInfo(RAPIDFIRE cd=300) -SpellInfo(KILLCOMMAND cd=60) -SpellInfo(BESTIALWRATH cd=120) -SpellInfo(ARCANESHOT cd=6) -SpellAddTargetDebuff(HUNTERSMARK HUNTERSMARK=300) - AddCheckBox(multi SpellName(MULTISHOT)) -AddCheckBox(arcane SpellName(ARCANESHOT) talent=TALENTCHIMSHOT default) ScoreSpells(HUNTERSMARK BLACKARROW SERPENTSTING CHIMERASHOT AIMEDSHOT MULTISHOT ARCANESHOT KILLSHOT STEADYSHOT) -AddIcon help=main +AddIcon help=main mastery=1 { - if ManaPercent(more 95) and BuffPresent(ASPECTOFTHEVIPER) Spell(ASPECTOFTHEDRAGONHAWK) - if TalentPoints(TALENTTRACKING more 0) and Tracking(TRACKBEASTS no) and Tracking(TRACKDEMONS no) and Tracking(TRACKDRAGONKIN no) - and Tracking(TRACKELEMENTALS no) and Tracking(TRACKGIANTS no) and Tracking(TRACKHUMANOIDS no) and Tracking(TRACKUNDEAD no) - Spell(TRACKBEASTS) - if TargetDebuffExpires(HUNTERSMARK 0) and TargetDeadIn(more 15) Spell(HUNTERSMARK) - if TargetDebuffExpires(BLACKARROW 0 mine=1) Spell(BLACKARROW) + if Mana(less 40) {Spell(FERVOR) Spell(STEADYSHOT)} + if TargetBuffPresent(FRENZYEFFECT stacks=5 target=pet) Spell(FOCUSFIRE) if TargetDebuffExpires(SERPENTSTING 0 mine=1) and TargetDeadIn(more 8) Spell(SERPENTSTING) - if TargetDebuffExpires(EXPLOSIVESHOT 0 mine=1) Spell(EXPLOSIVESHOT) - Spell(AIMEDSHOT) + Spell(KILLCOMMAND) + Spell(ARCANESHOT) + if CheckBoxOn(multi) Spell(MULTISHOT) + if TargetLifePercent(less 20) Spell(KILLSHOT) + Spell(STEADYSHOT) +} + +AddIcon help=main mastery=2 +{ + if Mana(less 43) or Counter(ss equal 1) Spell(STEADYSHOT) if TargetDebuffPresent(SERPENTSTING) Spell(CHIMERASHOT) + if TargetDebuffExpires(SERPENTSTING 0 mine=1) and TargetDeadIn(more 8) Spell(SERPENTSTING) + Spell(AIMEDSHOT) + Spell(ARCANESHOT) if CheckBoxOn(multi) Spell(MULTISHOT) - if TalentPoints(TALENTEXPLOSHOT less 1) and {TalentPoints(TALENTCHIMSHOT less 1) or CheckBoxOn(arcane)} Spell(ARCANESHOT) if TargetLifePercent(less 20) Spell(KILLSHOT) - if TargetDebuffExpires(HUNTERSMARK 2) and TargetDeadIn(more 20) Spell(HUNTERSMARK nored=1) - unless 1.5s before Spell(EXPLOSIVESHOT) or 0.25s before Spell(CHIMERASHOT) Spell(STEADYSHOT) + Spell(KILLCOMMAND) + unless 0.25s before Spell(CHIMERASHOT) Spell(STEADYSHOT) +} + +AddIcon help=main mastery=3 +{ + if Mana(less 44) and BuffExpires(LOCKANDLOAD) Spell(STEADYSHOT) + if Mana(more 44) and TargetDebuffExpires(BLACKARROW 0 mine=1) Spell(BLACKARROW) + if Mana(more 24) and TargetDebuffExpires(SERPENTSTING 0 mine=1) and TargetDeadIn(more 8) Spell(SERPENTSTING) + if TargetDebuffExpires(EXPLOSIVESHOT 0 mine=1) Spell(EXPLOSIVESHOT) + if CheckBoxOn(multi) Spell(MULTISHOT) + if TargetLifePercent(less 20) Spell(KILLSHOT) + Spell(KILLCOMMAND) + unless 1.5s before Spell(EXPLOSIVESHOT) Spell(STEADYSHOT) } AddIcon help=cd { + unless BuffPresent(ASPECTOFTHEHAWK) Spell(ASPECTOFTHEHAWK) + if TalentPoints(TALENTTRACKING more 0) and Tracking(TRACKBEASTS no) and Tracking(TRACKDEMONS no) and Tracking(TRACKDRAGONKIN no) + and Tracking(TRACKELEMENTALS no) and Tracking(TRACKGIANTS no) and Tracking(TRACKHUMANOIDS no) and Tracking(TRACKUNDEAD no) + Spell(TRACKBEASTS) + + if TargetDebuffExpires(HUNTERSMARK 2) and TargetDebuffExpires(MARKEDFORDEATH 0) and TargetDeadIn(more 20) Spell(HUNTERSMARK nored=1) Spell(BESTIALWRATH usable=1) - Spell(KILLCOMMAND usable=1) - Item(Trinket0Slot usable=1) + Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) Spell(CALLOFTHEWILD usable=1) Spell(RAPIDFIRE) diff --git a/defaut/Chevalier.lua b/defaut/Chevalier.lua index 123bb29..d0cf4f6 100644 --- a/defaut/Chevalier.lua +++ b/defaut/Chevalier.lua @@ -1,129 +1,135 @@ Ovale.defaut["DEATHKNIGHT"] = [[ -Define(FROSTPRESENCE 48263) -Define(RUNESTRIKE 56815) -Define(BONESHIELD 49222) -Define(ICEBOUNDFORTITUDE 48792) -Define(UNBREAKABLEARMOR 51271) -Define(DEATHANDECAY 43265) -Define(HOWLINGBLAST 49184) -Define(OBLITERATE 49020) -Define(BLOODSTRIKE 45902) +#Abilities +Define(ARMYOFTHEDEAD 42650) + SpellInfo(ARMYOFTHEDEAD cd=600) Define(BLOODBOIL 48721) -Define(BLOODPLAGUE 59879) -Define(FROSTFEVER 59921) -Define(PESTILENCE 50842)a +Define(BLOODPRESENCE 48263) +Define(BLOODSTRIKE 45902) + SpellInfo(BLOODSTRIKE blood=-1) +Define(BLOODTAP 45529) +Define(BONESHIELD 49222) #blood + SpellAddBuff(BONESHIELD BONESHIELD=300) +Define(DANCINGRUNEWEAPON 49028) #blood +Define(DARKTRANSFORMATION 63560) #unholy +Define(DEATHANDECAY 43265) +Define(DEATHCOIL 47541) +Define(DEATHSTRIKE 49998) + SpellInfo(DEATHSTRIKE unholy=-1 frost=-1) +Define(EMPOWERRUNEWEAPON 47568) +Define(FESTERINGSTRIKE 85948) #1 frost 1 blood +Define(FROSTPRESENCE 48266) +Define(FROSTSTRIKE 49143) #frost + SpellInfo(FROSTSTRIKE mana=40) +Define(HEARTSTRIKE 55050) #blood + SpellInfo(HEARTSTRIKE blood=-1) +Define(HORNOFWINTER 57330) + SpellInfo(HORNOFWINTER cd=20) +Define(HOWLINGBLAST 49184) #frost + SpellInfo(HOWLINGBLAST frost=-1 cd=8) + SpellAddTargetDebuff(HOWLINGBLAST FROSTFEVER=15 glyph=GLYPHHOWLINGBLAST) +Define(ICEBOUNDFORTITUDE 48792) + SpellAddBuff(ICEBOUNDFORTITUDE ICEBOUNDFORTITUDE=18) Define(ICYTOUCH 45477) + SpellInfo(ICYTOUCH frost=-1) + SpellAddTargetDebuff(ICYTOUCH FROSTFEVER=15) +Define(OBLITERATE 49020) + SpellInfo(OBLITERATE unholy=-1 frost=-1) +Define(OUTBREAK 77575) +Define(PESTILENCE 50842) +Define(PILLAROFFROST 51271) #frost Define(PLAGUESTRIKE 45462) -Define(HEARTSTRIKE 55050) -Define(DEATHSTRIKE 49998) -Define(TALENTDEATSTRIKE 2259) -Define(TALENTFROSTSTRIKE 1975) -Define(TALENTHEARTSTRIKE 1957) -Define(TALENTBLOODYSTRIKES 2015) -Define(SCOURGESTRIKE 55090) -Define(DEATHCOIL 47541) -Define(ARMYOFTHEDEAD 42650) -Define(DANCINGRUNEWEAPON 49028) -Define(FROSTSTRIKE 49143) -Define(HYSTERIA 49016) -Define(SUMMONGARGOYLE 49206) + SpellInfo(PLAGUESTRIKE unholy=-1) + SpellAddTargetDebuff(PLAGUESTRIKE BLOODPLAGUE=15) +Define(RAISEDEAD 46584) +Define(RUNESTRIKE 56815) + SpellInfo(RUNESTRIKE mana=20) +Define(RUNETAP 48982) #blood + SpellInfo(RUNETAP blood=-1) +Define(SCOURGESTRIKE 55090) #unholy + SpellInfo(SCOURGESTRIKE unholy=-1) +Define(SUMMONGARGOYLE 49206) #unholy + SpellInfo(SUMMONGARGOYLE cd=180) +Define(UNHOLYBLIGHT 49194) +Define(UNHOLYFRENZY 49016) + SpellInfo(UNHOLYFRENZY cd=300) +Define(UNHOLYPRESENCE 48265) +Define(VAMPIRICBLOOD 55233) #blood + SpellInfo(VAMPIRICBLOOD blood=-1) + +#Talents +#Define(TALENTDEATSTRIKE 2259) +#Define(TALENTFROSTSTRIKE 1975) +#Define(TALENTHEARTSTRIKE 1957) +#Define(TALENTBLOODYSTRIKES 2015) + +#Glyphs Define(GLYPHDISEASE 63334) Define(GLYPHHOWLINGBLAST 63335) -Define(ABOMINATIONMIGHT 53136) -Define(TALENTABOMINATIONMIGHT 2105) -Define(RAISEDEAD 46584) -Define(HORNOFWINTER 57330) -Define(STRENGTHOFEARTHTOTEM 8075) -Define(GLYPHOFRAISEDEAD 60200) -Define(BLOODTAP 45529) -Define(FREEZINGFOG 59052) + + +#Buffs and debuffs +Define(BLOODPLAGUE 59879) +Define(FROSTFEVER 59921) Define(KILLINGMACHINE 51124) AddCheckBox(rolldes SpellName(GLYPHDISEASE) default glyph=GLYPHDISEASE) -SpellInfo(ICYTOUCH frost=-1) #forcecd=DEATHCOIL -SpellAddTargetDebuff(ICYTOUCH FROSTFEVER=15) -SpellInfo(PLAGUESTRIKE unholy=-1) -SpellAddTargetDebuff(PLAGUESTRIKE BLOODPLAGUE=15) -SpellInfo(DEATHSTRIKE unholy=-1 frost=-1) -SpellInfo(HEARTSTRIKE blood=-1) -SpellInfo(HOWLINGBLAST frost=-1 cd=8) -SpellAddTargetDebuff(HOWLINGBLAST FROSTFEVER=15 glyph=GLYPHHOWLINGBLAST) -SpellInfo(BLOODSTRIKE blood=-1) -SpellInfo(SCOURGESTRIKE unholy=-1 frost=-1) -SpellInfo(OBLITERATE unholy=-1 frost=-1) -SpellInfo(RUNESTRIKE toggle=1) -SpellAddBuff(BONESHIELD BONESHIELD=300) -SpellAddBuff(UNBREAKABLEARMOR UNBREAKABLEARMOR=20) -SpellAddBuff(ICEBOUNDFORTITUDE ICEBOUNDFORTITUDE=18) -SpellInfo(HORNOFWINTER cd=20) -SpellInfo(HYSTERIA cd=300) -SpellInfo(SUMMONGARGOYLE cd=180) -SpellInfo(ARMYOFTHEDEAD cd=600) ScoreSpells(HOWLINGBLAST HEARTSTRIKE BLOODSTRIKE DEATHSTRIKE SCOURGESTRIKE OBLITERATE HEARTSTRIKE PESTILENCE ICYTOUCH PLAGUESTRIKE FROSTSTRIKE DEATHCOIL) -AddIcon help=main +AddIcon help=main mastery=1 { Spell(DANCINGRUNEWEAPON usable=1) - if BuffExpires(HORNOFWINTER 2) and BuffExpires(STRENGTHOFEARTHTOTEM 0) Spell(HORNOFWINTER) + if BuffExpires(strengthagility 2) Spell(HORNOFWINTER) if CheckBoxOn(rolldes) and Glyph(GLYPHDISEASE) and TargetDebuffPresent(FROSTFEVER mine=1) and TargetDebuffPresent(BLOODPLAGUE mine=1) and {TargetDebuffExpires(FROSTFEVER 3 mine=1) or TargetDebuffExpires(BLOODPLAGUE 3 mine=1)} Spell(PESTILENCE) + + if TargetDebuffPresent(FROSTFEVER mine=1) and TargetDebuffPresent(BLOODPLAGUE mine=1) + { + if Runes(blood 1) and {CheckBoxOff(rolldes) or Runes(blood 2)} Spell(HEARTSTRIKE) + if Runes(unholy 1 nodeath=1) and Runes(frost 1 nodeath=1) Spell(DEATHSTRIKE) + } + + if TargetDebuffExpires(FROSTFEVER 0 mine=1) and Runes(frost 1) Spell(ICYTOUCH) + if TargetDebuffExpires(BLOODPLAGUE 0 mine=1) and Runes(unholy 1) Spell(PLAGUESTRIKE) - if BuffPresent(KILLINGMACHINE) Spell(FROSTSTRIKE usable=1) + if PetPresent(no) Spell(RAISEDEAD) + Spell(RUNESTRIKE usable=1) + if Mana(more 39) Spell(DEATHCOIL usable=1) + Spell(HORNOFWINTER priority=2) +} + +AddIcon help=main mastery=2 +{ + if BuffExpires(strengthagility 2) Spell(HORNOFWINTER) + if CheckBoxOn(rolldes) and Glyph(GLYPHDISEASE) + and TargetDebuffPresent(FROSTFEVER mine=1) and TargetDebuffPresent(BLOODPLAGUE mine=1) and + {TargetDebuffExpires(FROSTFEVER 3 mine=1) or TargetDebuffExpires(BLOODPLAGUE 3 mine=1)} + Spell(PESTILENCE) + + if BuffPresent(KILLINGMACHINE) Spell(FROSTSTRIKE usable=1) + if TargetDebuffPresent(FROSTFEVER mine=1) and TargetDebuffPresent(BLOODPLAGUE mine=1) { - if TalentPoints(TALENTBLOODYSTRIKES more 0) - { - if Runes(blood 1) and {CheckBoxOff(rolldes) or Runes(blood 2)} - { - Spell(HEARTSTRIKE) - Spell(BLOODSTRIKE) - } - } - if Runes(unholy 1) and Runes(frost 1) - Spell(SCOURGESTRIKE) - - if Runes(unholy 1 nodeath=1) and Runes(frost 1 nodeath=1) - { - if TalentPoints(TALENTDEATSTRIKE more 0) Spell(DEATHSTRIKE) - Spell(OBLITERATE) - Spell(DEATHSTRIKE) - } - if Runes(blood 1) and {CheckBoxOff(rolldes) or Runes(blood 2)} - { - Spell(HEARTSTRIKE) - Spell(BLOODSTRIKE) - } + if Runes(unholy 1 nodeath=1) and Runes(frost 1 nodeath=1) Spell(OBLITERATE) + if Runes(blood 1) and {CheckBoxOff(rolldes) or Runes(blood 2)} Spell(BLOODSTRIKE) } - if CheckBoxOn(rolldes) and Glyph(GLYPHDISEASE) and TalentPoints(TALENTABOMINATIONMIGHT more 0) and BuffExpires(ABOMINATIONMIGHT 0) - Spell(DEATHSTRIKE) - if TargetDebuffExpires(FROSTFEVER 0 mine=1) and Runes(frost 1) { if Glyph(GLYPHHOWLINGBLAST) Spell(HOWLINGBLAST) unless Glyph(GLYPHHOWLINGBLAST) Spell(ICYTOUCH) } - - if TargetDebuffExpires(BLOODPLAGUE 0 mine=1) and Runes(unholy 1) - Spell(PLAGUESTRIKE) - + if TargetDebuffExpires(BLOODPLAGUE 0 mine=1) and Runes(unholy 1) Spell(PLAGUESTRIKE) Spell(FROSTSTRIKE usable=1) - if PetPresent(no) and Glyph(RAISEDEAD) Spell(RAISEDEAD) - if Mana(more 39) Spell(DEATHCOIL usable=1) - - if BuffPresent(FREEZINGFOG) Spell(HOWLINGBLAST) - + if PetPresent(no) Spell(RAISEDEAD) Spell(HORNOFWINTER priority=2) - unless Runes(frost 1) and Runes(unholy 1) Spell(BLOODTAP) - if Runes(blood 2 nodeath=1) { Spell(HEARTSTRIKE priority=2) @@ -131,9 +137,35 @@ AddIcon help=main } } -AddIcon help=offgcd +AddIcon help=main mastery=3 { - Spell(RUNESTRIKE usable=1) + if BuffExpires(strengthagility 2) Spell(HORNOFWINTER) + + if CheckBoxOn(rolldes) and Glyph(GLYPHDISEASE) + and TargetDebuffPresent(FROSTFEVER mine=1) and TargetDebuffPresent(BLOODPLAGUE mine=1) and + {TargetDebuffExpires(FROSTFEVER 3 mine=1) or TargetDebuffExpires(BLOODPLAGUE 3 mine=1)} + Spell(PESTILENCE) + + if TargetDebuffPresent(FROSTFEVER mine=1) and TargetDebuffPresent(BLOODPLAGUE mine=1) + { + if Runes(unholy 1) and Runes(frost 1) + Spell(SCOURGESTRIKE) + if Runes(unholy 1 nodeath=1) and Runes(frost 1 nodeath=1) Spell(OBLITERATE) + if Runes(blood 1) and {CheckBoxOff(rolldes) or Runes(blood 2)} Spell(BLOODSTRIKE) + } + if TargetDebuffExpires(FROSTFEVER 0 mine=1) and Runes(frost 1) Spell(ICYTOUCH) + if TargetDebuffExpires(BLOODPLAGUE 0 mine=1) and Runes(unholy 1) Spell(PLAGUESTRIKE) + + if PetPresent(no) Spell(RAISEDEAD) + if Mana(more 39) Spell(DEATHCOIL usable=1) + + Spell(HORNOFWINTER priority=2) + unless Runes(frost 1) and Runes(unholy 1) Spell(BLOODTAP) + if Runes(blood 2 nodeath=1) + { + Spell(HEARTSTRIKE priority=2) + Spell(BLOODSTRIKE priority=2) + } } AddIcon help=aoe @@ -148,16 +180,14 @@ AddIcon help=aoe AddIcon help=cd { unless BuffPresent(BONESHIELD) Spell(BONESHIELD) - if BuffPresent(FROSTPRESENCE) + if BuffPresent(BLOODPRESENCE) { + Spell(VAMPIRICBLOOD) + Spell(RUNETAP) Spell(UNBREAKABLEARMOR) Spell(ICEBOUNDFORTITUDE) } - unless BuffPresent(FROSTPRESENCE) - { - Spell(SUMMONGARGOYLE) - Spell(HYSTERIA) - } + Spell(SUMMONGARGOYLE) Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) Spell(ARMYOFTHEDEAD) diff --git a/defaut/Demoniste.lua b/defaut/Demoniste.lua index 62ed14a..f238327 100644 --- a/defaut/Demoniste.lua +++ b/defaut/Demoniste.lua @@ -1,136 +1,156 @@ Ovale.defaut["WARLOCK"]= [[ +Define(BANEOFAGONY 980) + SpellAddTargetDebuff(BANEOFAGONY BANEOFAGONY=24) +Define(BANEOFDOOM 603) + SpellAddTargetDebuff(BANEOFDOOM BANEOFDOOM=60) +Define(BANEOFHAVOC 80240) +Define(CHAOSBOLT 50796) + SpellInfo(CHAOSBOLT cd=12) +Define(CONFLAGRATE 17962) + SpellInfo(CONFLAGRATE cd=10) +Define(CORRUPTION 172) + SpellAddTargetDebuff(CORRUPTION CORRUPTION=18) Define(CURSEELEMENTS 1490) -Define(CURSEAGONY 980) -Define(CURSEDOOM 603) + SpellAddTargetDebuff(CURSEELEMENTS CURSEELEMENTS=300) Define(CURSETONGUES 1714) Define(CURSEWEAKNESS 702) -Define(UNSTABLEAFFLICTION 30108) -Define(CORRUPTION 172) -Define(TALENTUNSTABLEAFFLICTION 1670) -Define(TALENTSHADOWBOLT 944) -Define(IMMOLATE 348) -Define(TALENTIMMOLATE 961) -Define(TALENTEMBERSTORM 966) -Define(SOULFIRE 6353) -Define(SHADOWBOLT 686) -Define(HAUNT 48181) -Define(TALENTBACKDRAFT 1888) -Define(CONFLAGRATE 17962) -Define(DRAINSOUL 47855) -Define(SHADOWEMBRACE 32391) -Define(TALENTSHADOWEMBRACE 1763) -Define(METAMORPHOSIS 47241) -Define(TALENTDECIMATION 2261) -Define(SOULSHARD 6265) +Define(DARKINTENT 80398) +Define(DEATHCOIL 6789) +Define(DEMONARMOR 687) Define(DEMONICEMPOWERMENT 47193) -Define(INCINERATE 29722) -Define(DECIMATION 63167) -Define(CHAOSBOLT 50796) -Define(MOLTENCORE 47383) -Define(GLYPHOFCONFLAGRATE 56235) +Define(DEMONSOUL 77801) +Define(DRAINLIFE 689) +Define(DRAINSOUL 1120) + SpellInfo(DRAINSOUL canStopChannelling=5) Define(FELARMOR 28176) -Define(FIRESTONE 6366) -Define(SPELLSTONE 2362) -Define(GLYPHLIFETAP 63320) +Define(FELFLAME 77799) +Define(HANDOFGULDAN 71521) + SpellInfo(HANDOFGULDAN cd=12) +Define(HAUNT 48181) + SpellInfo(HAUNT cd=8) +Define(IMMOLATE 348) + SpellAddTargetDebuff(IMMOLATE IMMOLATE=15) + SpellAddBuff(IMMOLATE MOLTENCORE=-1) +Define(INCINERATE 29722) + SpellAddBuff(INCINERATE MOLTENCORE=-1) Define(LIFETAP 1454) +Define(METAMORPHOSIS 47241) +Define(SEARINGPAIN 5676) Define(SEEDOFCORRUPTION 27243) +Define(SHADOWBOLT 686) + SpellAddTargetDebuff(SHADOWBOLT SHADOWEMBRACE=12) +Define(SHADOWBURN 17877) +Define(SOULFIRE 6353) +Define(SOULBURN 74434) +Define(SUMMONFELGUARD 18540) +Define(UNSTABLEAFFLICTION 30108) + SpellAddTargetDebuff(UNSTABLEAFFLICTION UNSTABLEAFFLICTION=15) + +#Buff +Define(SHADOWEMBRACE 32386) +Define(DECIMATION 63167) +Define(MOLTENCORE 71165) +Define(EMPOWEREDIMP 47221) + +#Talent +Define(TALENTSHADOWEMBRACE 1763) + AddListItem(curse elements SpellName(CURSEELEMENTS)) -AddListItem(curse agony SpellName(CURSEAGONY)) -AddListItem(curse doom SpellName(CURSEDOOM) default) AddListItem(curse tongues SpellName(CURSETONGUES)) AddListItem(curse weakness SpellName(CURSEWEAKNESS)) +AddListItem(bane agony SpellName(BANEOFAGONY)) +AddListItem(bane doom SpellName(BANEOFDOOM)) +AddListItem(bane havoc SpellName(BANEOFHAVOC)) -SpellInfo(HAUNT cd=8) -SpellInfo(CONFLAGRATE cd=10) -SpellInfo(CHAOSBOLT cd=12) -SpellInfo(DRAINSOUL canStopChannelling=5) -SpellAddTargetDebuff(CORRUPTION CORRUPTION=18) -SpellAddTargetDebuff(CURSEAGONY CURSEAGONY=24) -SpellAddTargetDebuff(CURSEELEMENTS CURSEELEMENTS=300) -SpellAddTargetDebuff(CURSEDOOM CURSEDOOM=60) -SpellAddTargetDebuff(UNSTABLEAFFLICTION UNSTABLEAFFLICTION=15) -SpellAddTargetDebuff(IMMOLATE IMMOLATE=15) -SpellAddTargetDebuff(SHADOWBOLT SHADOWEMBRACE=12) -SpellAddBuff(INCINERATE MOLTENCORE=-1) -SpellAddBuff(IMMOLATE MOLTENCORE=-1) -SpellAddTargetDebuff(CONFLAGRATE IMMOLATE=0) -SpellAddTargetDebuff(CONFLAGRATE glyph=GLYPHOFCONFLAGRATE) - -ScoreSpells(CURSEELEMENTS SHADOWBOLT HAUNT UNSTABLEAFFLICTION IMMOLATE CONFLAGRATE CURSEDOOM CURSETONGUES CURSEWEAKNESS - CURSEAGONY CORRUPTION SOULFIRE DRAINSOUL INCINERATE SHADOWBOLT CHAOSBOLT) +ScoreSpells(CURSEELEMENTS SHADOWBOLT HAUNT UNSTABLEAFFLICTION IMMOLATE CONFLAGRATE BANEOFDOOM CURSETONGUES CURSEWEAKNESS + BANEOFAGONY CORRUPTION SOULFIRE DRAINSOUL INCINERATE SHADOWBOLT CHAOSBOLT) -AddIcon help=main +AddIcon help=main mastery=1 { + if InCombat(no) and BuffExpires(FELARMOR 400) Spell(FELARMOR) -unless InCombat() -{ - if BuffExpires(FELARMOR 400) Spell(FELARMOR) - if WeaponEnchantExpires(mainhand 400) + if List(curse elements) and TargetDebuffExpires(CURSEELEMENTS 2) and TargetDeadIn(more 8) Spell(CURSEELEMENTS) + if List(curse weakness) and TargetDebuffExpires(CURSEWEAKNESS 2) and TargetDeadIn(more 8) Spell(CURSEWEAKNESS) + + if TargetDebuffExpires(HAUNT 1.5 mine=1) Spell(HAUNT) + if TalentPoints(TALENTSHADOWEMBRACE more 0) and TargetDebuffExpires(SHADOWEMBRACE 0) Spell(SHADOWBOLT) + if TargetDebuffExpires(UNSTABLEAFFLICTION 1.5 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(UNSTABLEAFFLICTION) + if TargetDebuffExpires(CORRUPTION 0 mine=1) and TargetDebuffExpires(SEEDOFCORRUPTION 0 mine=1) and TargetDeadIn(more 9) Spell(CORRUPTION) + if TargetDebuffExpires(BANEOFDOOM 0 mine=1) and TargetDebuffExpires(BANEOFAGONY 0 mine=1) { - if TalentPoints(TALENTEMBERSTORM more 0) Spell(FIRESTONE) - Spell(SPELLSTONE) - Spell(FIRESTONE) + if List(curse doom) and TargetDeadIn(more 20) Spell(BANEOFDOOM) + if TargetDeadIn(more 10) Spell(BANEOFAGONY) } + if TargetLifePercent(less 25) Spell(DRAINSOUL) + Spell(SHADOWBOLT) } -if Glyph(GLYPHLIFETAP) and BuffExpires(LIFETAP 0) Spell(LIFETAP) -if List(curse elements) and TargetDebuffExpires(CURSEELEMENTS 2) and TargetDeadIn(more 8) Spell(CURSEELEMENTS) -if TalentPoints(TALENTSHADOWEMBRACE more 0) and TargetDebuffExpires(SHADOWEMBRACE 0) Spell(SHADOWBOLT) -if TargetDebuffExpires(HAUNT 1.5 mine=1) Spell(HAUNT) -if TargetDebuffExpires(UNSTABLEAFFLICTION 1.5 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(UNSTABLEAFFLICTION) -if TalentPoints(TALENTBACKDRAFT more 0) and TargetDebuffPresent(IMMOLATE mine=1) -{ - if TargetDebuffExpires(IMMOLATE 3 mine=1) or Glyph(GLYPHOFCONFLAGRATE) - Spell(CONFLAGRATE) -} - -if TargetDebuffExpires(IMMOLATE 1.5 mine=1 haste=spell) and TargetDebuffExpires(UNSTABLEAFFLICTION 0 mine=1) and - {TargetLifePercent(more 25) or TalentPoints(TALENTDECIMATION more 0)} and TargetDeadIn(more 8) - Spell(IMMOLATE) - -if TargetDebuffExpires(CORRUPTION 0 mine=1) and TargetDebuffExpires(SEEDOFCORRUPTION 0 mine=1) - and TargetDeadIn(more 9) and TalentPoints(TALENTEMBERSTORM less 1) Spell(CORRUPTION) - -if TargetDebuffExpires(CURSEDOOM 0) and TargetDebuffExpires(CURSETONGUES 2) and TargetDebuffExpires(CURSEWEAKNESS 2) - and TargetDebuffExpires(CURSEAGONY 0 mine=1) and TargetDebuffExpires(CURSEELEMENTS 2) +AddIcon help=cd mastery=1 { - if List(curse doom) and TargetDeadIn(more 60) Spell(CURSEDOOM) - if List(curse tongues) Spell(CURSETONGUES) - if List(curse weakness) Spell(CURSEWEAKNESS) - if TargetDeadIn(more 10) Spell(CURSEAGONY) + Spell(SUMMONFELGUARD) + Spell(SOULBURN usable=1) + Item(Trinket0Slot usable=1) + Item(Trinket1Slot usable=1) } -if BuffPresent(DECIMATION) Spell(SOULFIRE) +AddIcon help=main mastery=2 +{ + if InCombat(no) and BuffExpires(FELARMOR 400) Spell(FELARMOR) -if TargetLifePercent(less 25) and Level(more 76) and {TalentPoints(TALENTDECIMATION less 1) or ItemCount(SOULSHARD less 16)} - and TalentPoints(TALENTEMBERSTORM less 1) Spell(DRAINSOUL) + if List(curse elements) and TargetDebuffExpires(CURSEELEMENTS 2) and TargetDeadIn(more 8) Spell(CURSEELEMENTS) + if List(curse weakness) and TargetDebuffExpires(CURSEWEAKNESS 2) and TargetDeadIn(more 8) Spell(CURSEWEAKNESS) -Spell(CHAOSBOLT) -if Glyph(GLYPHLIFETAP) and BuffExpires(LIFETAP 1) Spell(LIFETAP) -if TalentPoints(TALENTEMBERSTORM more 0) or BuffPresent(MOLTENCORE) Spell(INCINERATE) -Spell(SHADOWBOLT) + if TargetDebuffExpires(IMMOLATE 2 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(IMMOLATE) + if TargetDebuffExpires(CORRUPTION 0 mine=1) and TargetDebuffExpires(SEEDOFCORRUPTION 0 mine=1) and TargetDeadIn(more 9) Spell(CORRUPTION) + if TargetDebuffExpires(BANEOFDOOM 0 mine=1) and TargetDebuffExpires(BANEOFAGONY 0 mine=1) + { + if List(curse doom) and TargetDeadIn(more 60) Spell(BANEOFDOOM) + if TargetDeadIn(more 10) Spell(BANEOFAGONY) + } + Spell(HANDOFGULDAN) + if BuffPresent(DECIMATION) Spell(SOULFIRE) + if BuffPresent(MOLTENCORE) Spell(INCINERATE) + Spell(SHADOWBOLT) } -AddIcon help=cd +AddIcon help=cd mastery=2 { Spell(METAMORPHOSIS) Spell(DEMONICEMPOWERMENT) + Spell(SUMMONFELGUARD) + Spell(SOULBURN usable=1) Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } - -AddIcon size=small nocd=1 -{ - if TargetDebuffExpires(CURSEAGONY 0 mine=1) Spell(CURSEAGONY) -} -AddIcon size=small nocd=1 + +AddIcon help=main mastery=3 { - if TargetDebuffExpires(CURSEDOOM 0 mine=1) Spell(CURSEDOOM) + if InCombat(no) and BuffExpires(FELARMOR 400) Spell(FELARMOR) + + if List(curse elements) and TargetDebuffExpires(CURSEELEMENTS 2) and TargetDeadIn(more 8) Spell(CURSEELEMENTS) + if List(curse weakness) and TargetDebuffExpires(CURSEWEAKNESS 2) and TargetDeadIn(more 8) Spell(CURSEWEAKNESS) + + if TargetDebuffPresent(IMMOLATE mine=1) Spell(CONFLAGRATE) + if TargetDebuffExpires(IMMOLATE 2 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(IMMOLATE) + if TargetDebuffExpires(CORRUPTION 0 mine=1) and TargetDebuffExpires(SEEDOFCORRUPTION 0 mine=1) and TargetDeadIn(more 9) Spell(CORRUPTION) + if TargetDebuffExpires(BANEOFDOOM 0 mine=1) and TargetDebuffExpires(BANEOFAGONY 0 mine=1) + { + if List(curse doom) and TargetDeadIn(more 60) Spell(BANEOFDOOM) + if TargetDeadIn(more 10) unless List(cure havoc) Spell(BANEOFAGONY) + } + if BuffPresent(EMPOWEREDIMP) or BuffPresent(SOULBURN) Spell(SOULFIRE) + Spell(CHAOSBOLT) + Spell(INCINERATE) } -AddIcon size=small nocd=1 + +AddIcon help=cd mastery=3 { - if TargetDebuffExpires(CORRUPTION 0 mine=1) Spell(CORRUPTION) + Spell(SUMMONFELGUARD) + Spell(SOULBURN usable=1) + Item(Trinket0Slot usable=1) + Item(Trinket1Slot usable=1) } + ]] diff --git a/defaut/Druide.lua b/defaut/Druide.lua index 78bbcdf..d17a850 100644 --- a/defaut/Druide.lua +++ b/defaut/Druide.lua @@ -1,77 +1,146 @@ Ovale.defaut["DRUID"] = [[ -Define(FAERIEFIRE 770) -Define(FAERIEFERAL 16857) -Define(MANGLEBEAR 33878) -Define(DEMOROAR 99) -Define(SWIPE 779) -Define(LACERATE 33745) -Define(MAUL 6807) -Define(RIP 1079) -Define(MANGLECAT 33876) -Define(SHRED 5221) -Define(INSECTSWARM 27013) -Define(MOONFIRE 8921) -Define(STARFIRE 2912) -Define(WRATH 5176) -Define(ECLIPSESTARFIRE 48518) #Critical strike chance of Starfire increased, fired by Wrath -Define(ECLIPSEWRATH 48517) #Damage done by Wrath increased, fired by Starfire -Define(TIGERSFURY 5217) -Define(FORCEOFNATURE 33831) -Define(RAKE 59886) -Define(SAVAGEROAR 52610) -Define(FEROCIOUSBITE 22568) -Define(BERSERK 50334) -Define(CLEARCASTING 16870) -Define(CLAW 16827) -Define(STARFALL 48505) -Define(TRAUMA 46856) +Define(BARKSKIN 22812) +Define(BERSERK 50334) #cat+bear cd buff + SpellInfo(BERSERK cd=180) +Define(CLAW 16827) #cat no positionning + SpellInfo(CLAW combo=1) +Define(DEMOROAR 99) #bear + SpellAddTargetDebuff(DEMOROAR DEMOROAR=30) +Define(ENRAGE 5229) #bear +Define(FAERIEFIRE 770) #moonkin + SpellAddTargetDebuff(FAERIEFIRE FAERIEFIRE=300) +Define(FAERIEFERAL 16857) #bear+cat + SpellAddTargetDebuff(FAERIEFERAL FAERIEFERAL=300) +Define(FEROCIOUSBITE 22568) #cat finish 35-70 mana + SpellInfo(FEROCIOUSBITE combo=-5 mana=70) +Define(FORCEOFNATURE 33831) #moonkin cd + SpellInfo(FORCEOFNATURE cd=180) +Define(FRENZIEDREGENERATION 22842) #bear +Define(INNERVATE 29166) +Define(INSECTSWARM 5570) #moonkin + SpellAddTargetDebuff(INSECTSWARM INSECTSWARM=12) +Define(LACERATE 33745) #bear bleed*3 +Define(MANGLECAT 33876) #cat bleed+debuff + SpellInfo(MANGLECAT combo=1) + SpellAddTargetDebuff(MANGLECAT MANGLECAT=12) +Define(MANGLEBEAR 33878) #bear bleed+debuff +Define(MAUL 6807) #bear +Define(MOONFIRE 8921) #moonkin + SpellAddTargetDebuff(MOONFIRE MOONFIRE=12) +Define(PULVERIZE 80313) #bear after lacerate*3 +Define(RAKE 1822) #cat bleed + SpellInfo(RAKE combo=1) + SpellAddTargetDebuff(RAKE RAKE=9) +Define(RAVAGE 6785) #cat behind+(prowling or stampede) + SpellInfo(RAVAGE combo=1) +Define(RIP 1079) #cat bleed + SpellInfo(RIP combo=-5 duration=12) + SpellInfo(RIP glyph=GLYPHOFSHRED addduration=6) + SpellInfo(RIP glyph=GLYPHOFRIP addduration=4) + SpellAddTargetDebuff(RIP RIP=12) +Define(SAVAGEROAR 52610) #cat damage buff + SpellInfo(SAVAGEROAR combo=-5) + SpellAddBuff(SAVAGEROAR SAVAGEROAR=14) +Define(SHRED 5221) #cat behind + SpellInfo(SHRED combo=1) +Define(STARFALL 48505) #moonkin cd aoe +Define(STARFIRE 2912) #moonkin + SpellInfo(STARFIRE eclipse=20) +Define(STARSURGE 78674) #moonkin 10 lunar+solar + SpellInfo(STARSURGE cd=15) +Define(SURVIVALINSTINCTS 61336) #cat+bear surv cd +Define(SWIPEBEAR 779) #bear aoe +Define(SWIPECAT 62078) #cat aoe +Define(TRASH 77758) #bear aoe bleed +Define(TIGERSFURY 5217) #cat buff + SpellInfo(TIGERSFURY cd=30) +Define(WRATH 5176) #moonkin + SpellInfo(WRATH eclipse=-13) + +#Glyphs Define(GLYPHOFSHRED 54815) Define(GLYPHOFRIP 54818) +#Buff +Define(CLEARCASTING 16870) +Define(ECLIPSELUNAR 48518) #Increased by wrath +Define(ECLIPSESOLAR 48517) #Increased by starfire +Define(SHOOTINGSTARS 93400) + AddCheckBox(multi L(AOE)) -AddCheckBox(mangle SpellName(MANGLECAT) default) -AddCheckBox(demo SpellName(DEMOROAR) default) AddCheckBox(lucioles SpellName(FAERIEFIRE) default) -AddCheckBox(wrath SpellName(WRATH)) -AddCheckBox(shred SpellName(SHRED) default) +AddCheckBox(wrath SpellName(WRATH) mastery=1) +AddCheckBox(mangle SpellName(MANGLECAT) default mastery=2) +AddCheckBox(demo SpellName(DEMOROAR) default mastery=2) +AddCheckBox(shred SpellName(SHRED) default mastery=2) ScoreSpells(FAERIEFERAL DEMOROAR MANGLEBEAR LACERATE SAVAGEROAR RIP TIGERSFURY MANGLECAT RAKE SHRED FEROCIOUSBITE INSECTSWARM MOONFIRE WRATH STARFIRE) + +AddIcon help=main mastery=1 +{ + if CheckBoxOn(lucioles) and TargetDebuffExpires(FAERIEFIRE 2) and TargetDeadIn(more 15) + Spell(FAERIEFIRE) + + if Speed(more 0) + { + if BuffPresent(SHOOTINGSTARS) Spell(STARSURGE) + Spell(MOONFIRE) + } + + if BuffPresent(SHOOTINGSTARS) and BuffExpires(SHOOTINGSTARS 3) Spell(STARSURGE) + + if BuffPresent(ECLIPSELUNAR) or Eclipse(equal -100) + { + if TargetDebuffExpires(MOONFIRE 0 mine=1) and TargetDeadIn(more 6) + Spell(MOONFIRE) + Spell(STARFIRE) + } + + if BuffPresent(ECLIPSESOLAR) or Eclipse(equal 100) + { + if TargetDebuffExpires(INSECTSWARM 0 mine=1) and TargetDeadIn(more 6) + Spell(INSECTSWARM) + Spell(WRATH) + } + + if TargetDebuffExpires(INSECTSWARM 0 mine=1) and TargetDeadIn(more 6) + Spell(INSECTSWARM) + + if TargetDebuffExpires(MOONFIRE 0 mine=1) and TargetDeadIn(more 6) + Spell(MOONFIRE) + + Spell(STARSURGE) -SpellInfo(MAUL toggle=1) -SpellAddTargetDebuff(FAERIEFERAL FAERIEFERAL=300) -SpellAddTargetDebuff(FAERIEFIRE FAERIEFIRE=300) -SpellAddTargetDebuff(DEMOROAR DEMOROAR=30) -SpellAddBuff(SAVAGEROAR SAVAGEROAR=14) -SpellAddTargetDebuff(RIP RIP=12) -SpellAddTargetDebuff(MANGLECAT MANGLECAT=12) -SpellAddTargetDebuff(RAKE RAKE=9) -SpellAddTargetDebuff(INSECTSWARM INSECTSWARM=12) -SpellAddTargetDebuff(MOONFIRE MOONFIRE=12) -SpellInfo(TIGERSFURY cd=30) -SpellInfo(BERSERK cd=180) -SpellInfo(FORCEOFNATURE cd=180) -SpellInfo(MANGLECAT combo=1) -SpellInfo(RAKE combo=1) -SpellInfo(SHRED combo=1) -SpellInfo(SAVAGEROAR combo=-5) -SpellInfo(RIP combo=-5 duration=12) -SpellInfo(FEROCIOUSBITE combo=-5) -SpellInfo(RIP glyph=GLYPHOFSHRED addduration=6) -SpellInfo(RIP glyph=GLYPHOFRIP addduration=4) -SpellInfo(CLAW combo=1) - -AddIcon help=main + if {Eclipse(equal 0) and CheckBoxOn(wrath)} or Eclipse(less 0) + Spell(WRATH) + + if {Eclipse(equal 0) and CheckBoxOff(wrath)} or Eclipse(more 0) + Spell(STARFIRE) +} + +AddIcon help=cd mastery=1 +{ + Spell(FORCEOFNATURE) + Spell(STARFALL) + Item(Trinket0Slot usable=1) + Item(Trinket1Slot usable=1) +} + +AddIcon help=main mastery=2 { if Stance(1) # bear { unless TargetDebuffExpires(LACERATE 4) and TargetDebuffPresent(LACERATE) Spell(MANGLEBEAR) - if Mana(more 10) and TargetDebuffExpires(LACERATE 4 stacks=5) + if Mana(more 10) and TargetDebuffExpires(LACERATE 4 stacks=3) Spell(LACERATE) + + if TargetDebuffPresent(LACERATE stacks=3) + Spell(PULVERIZE) if CheckBoxOn(lucioles) and TargetDebuffExpires(FAERIEFERAL 2) Spell(FAERIEFERAL) @@ -79,8 +148,9 @@ AddIcon help=main if CheckBoxOn(demo) and TargetDebuffExpires(DEMOROAR 2) Spell(DEMOROAR) + if Mana(more 50) Spell(MAUL) if CheckBoxOn(multi) - Spell(SWIPE) + Spell(SWIPEBEAR) } if Stance(3) # cat @@ -125,47 +195,10 @@ AddIcon help=main } if CheckBoxOff(shred) Spell(CLAW) } - - unless Stance(1) or Stance(3) - { - if CheckBoxOn(lucioles) and TargetDebuffExpires(FAERIEFIRE 2) and TargetDeadIn(more 15) - Spell(FAERIEFIRE) - - if TargetDebuffExpires(INSECTSWARM 0 mine=1) and TargetDeadIn(more 6) - Spell(INSECTSWARM) - if TargetDebuffExpires(MOONFIRE 0 mine=1) and TargetDeadIn(more 6) - Spell(MOONFIRE) - - if BuffPresent(ECLIPSEWRATH) - Spell(WRATH) - if BuffPresent(ECLIPSESTARFIRE) - Spell(STARFIRE) - - if CheckBoxOff(wrath) - { - if BuffGain(ECLIPSEWRATH 29) Spell(STARFIRE) - Spell(WRATH) - } - if CheckBoxOn(wrath) - { - if BuffGain(ECLIPSESTARFIRE 29) Spell(WRATH) - Spell(STARFIRE) - } - } -} - -AddIcon help=offgcd -{ - if Stance(1) - { - Spell(MAUL) - } } -AddIcon help=cd +AddIcon help=cd mastery=2 { - unless Stance(1) or Stance(3) Spell(STARFALL) - Spell(FORCEOFNATURE) Spell(BERSERK) unless BuffPresent(BERSERK) if Mana(less 40) Spell(TIGERSFURY) Item(Trinket0Slot usable=1) diff --git a/defaut/Guerrier.lua b/defaut/Guerrier.lua index e446c43..c46cef9 100644 --- a/defaut/Guerrier.lua +++ b/defaut/Guerrier.lua @@ -1,210 +1,175 @@ Ovale.defaut["WARRIOR"] = [[ -Define(THUNDERCLAP 6343) -Define(SHOCKWAVE 46968) +#Spells +Define(BATTLESHOUT 6673) + SpellAddBuff(BATTLESHOUT BATTLESHOUT=120) +Define(BATTLESTANCE 2457) +Define(BERSERKERRAGE 18499) +Define(BERSERKERSTANCE 2458) +Define(BLADESTORM 46924) +Define(BLOODTHIRST 23881) + SpellInfo(BLOODTHIRST cd=3) +Define(CHARGE 100) +Define(CLEAVE 845) + SpellInfo(CLEAVE cd=3) +Define(COLOSSSUSSMASH 86346) + SpellInfo(COLOSSSUSSMASH cd=20) +Define(COMMANDINGSHOUT 469) + SpellAddBuff(COMMANDINGSHOUT cd=60 COMMANDINGSHOUT=120) +Define(CONCUSSIONBLOW 12809) +Define(DEADLYCALM 85730) +Define(DEATHWISH 12292) + SpellInfo(DEATHWISH cd=180) +Define(DEFENSIVESTANCE 71) Define(DEMOSHOUT 1160) -Define(COMMANDSHOUT 469) -Define(BATTLESHOUT 2048) -Define(REVENGE 6572) -Define(SHIELDSLAM 23922) + SpellAddTargetDebuff(DEMOSHOUT DEMOSHOUT=45) Define(DEVASTATE 20243) -Define(VICTORY 34428) + SpellAddTargetDebuff(DEVASTATE SUNDERARMOR=30) Define(EXECUTE 5308) -Define(BLOODTHIRST 23881) -Define(WHIRLWIND 1680) -Define(SLAMBUFF 46916) -Define(SLAM 1464) -Define(MORTALSTRIKE 12294) -Define(SLAMTALENT 2233) -Define(CLEAVE 845) +Define(HEROICLEAP 6544) Define(HEROICSTRIKE 78) -Define(SUNDER 7386) -Define(CONCUSSIONBLOW 12809) -Define(REND 772) -Define(OVERPOWER 7384) -Define(SHIELDBLOCK 2565) -Define(SHIELDWALL 871) + SpellInfo(HEROICSTRIKE cd=3) +Define(HEROICTHROW 57755) +Define(HEROICFURY 60970) +Define(INTERCEPT 20252) +Define(INTERVENE 3411) Define(LASTSTAND 12975) -Define(DEATHWISH 12292) +Define(MORTALSTRIKE 12294) + SpellInfo(MORTALSTRIKE cd=4.5) +Define(OVERPOWER 7384) + SpellInfo(OVERPOWER cd=1) +Define(PUMMEL 6552) +Define(RAGINGBLOW 85288) + SpellInfo(RAGINGBLOW cd=6) Define(RECKLESSNESS 1719) -Define(BLADESTORM 46924) -Define(SUDDENDEATH 52437) +Define(REND 772) + SpellAddTargetDebuff(REND REND=15) Define(RETALIATION 20230) +Define(REVENGE 6572) + SpellInfo(REVENGE cd=5) +Define(SHATTERINGTHROW 64382) +Define(SHIELDBASH 72) +Define(SHIELDBLOCK 2565) +Define(SHIELDWALL 871) +Define(SHIELDSLAM 23922) + SpellInfo(SHIELDSLAM cd=6) +Define(SHOCKWAVE 46968) +Define(SLAM 1464) + SpellAddBuff(SLAM BLOODSURGE=-1) +Define(STRIKE 88161) + SpellInfo(STRIKE cd=3) +Define(SUNDERARMOR 7386) + SpellAddTargetDebuff(SUNDERARMOR SUNDERARMOR=30) +Define(SWEEPINGSTRIKES 12328) +Define(THUNDERCLAP 6343) + SpellAddTargetDebuff(THUNDERCLAP THUNDERCLAP=30) +Define(VICTORYRUSH 34428) +Define(WHIRLWIND 1680) + SpellInfo(WHIRLWIND cd=8) + +#Buffs +Define(BLOODSURGE 46916) Define(TASTEFORBLOOD 56636) +Define(ENRAGE 14202) +#Talents +Define(SLAMTALENT 2233) +Define(SUDDENDEATH 52437) + +#Other classes buffs Define(DEMORALIZINGROAR 48560) Define(CURSEOFWEAKNESS 50511) AddCheckBox(multi L(AOE)) AddCheckBox(demo SpellName(DEMOSHOUT)) -AddCheckBox(whirlwind SpellName(WHIRLWIND) default) -AddCheckBox(sunder SpellName(SUNDER) default) +AddCheckBox(sunder SpellName(SUNDERARMOR) default) AddListItem(shout none L(None)) AddListItem(shout battle SpellName(BATTLESHOUT)) -AddListItem(shout command SpellName(COMMANDSHOUT)) +AddListItem(shout command SpellName(COMMANDINGSHOUT)) -SpellAddTargetDebuff(THUNDERCLAP THUNDERCLAP=30) -SpellAddTargetDebuff(DEMOSHOUT DEMOSHOUT=45) -SpellAddTargetDebuff(REND REND=15) -SpellAddTargetDebuff(DEVASTATE SUNDER=30) -SpellAddTargetDebuff(SUNDER SUNDER=30) -SpellAddBuff(BATTLESHOUT BATTLESHOUT=120) -SpellAddBuff(COMMANDSHOUT COMMANDSHOUT=120) -SpellAddBuff(SLAM SLAMBUFF=-1) -SpellInfo(WHIRLWIND cd=8) -SpellInfo(BLOODTHIRST cd=4) -SpellInfo(DEATHWISH cd=180) -SpellInfo(HEROICSTRIKE toggle=1) -SpellInfo(CLEAVE toggle=1) ScoreSpells(WHIRLWIND BLOODTHIRST SLAM REND MORTALSTRIKE EXECUTE SHIELDSLAM REVENGE) -AddIcon help=main +AddIcon help=main mastery=1 { - if List(shout command) and - BuffExpires(COMMANDSHOUT 3) - Spell(COMMANDSHOUT nored=1) - - if List(shout battle) and BuffExpires(BATTLESHOUT 3) - Spell(BATTLESHOUT nored=1) - - if TargetClassification(worldboss) - and CheckBoxOn(demo) - and TargetDebuffExpires(DEMOSHOUT 2) - and TargetDebuffExpires(DEMORALIZINGROAR 0) - and TargetDebuffExpires(CURSEOFWEAKNESS 0) - Spell(DEMOSHOUT nored=1) - - if CheckBoxOn(sunder) and TargetDebuffExpires(SUNDER 2 stacks=5) and TargetDebuffPresent(SUNDER stacks=4) - { - Spell(DEVASTATE nored=1) - Spell(SUNDER nored=1) - } - - if Stance(2) #Defense - { - if TargetClassification(worldboss) - { - if TargetDebuffExpires(THUNDERCLAP 2) - Spell(THUNDERCLAP nored=1) - Spell(CONCUSSIONBLOW) - Spell(SHOCKWAVE) - } - - if CheckBoxOn(multi) - { - Spell(THUNDERCLAP) - Spell(SHOCKWAVE) - } - - Spell(REVENGE usable=1) - Spell(SHIELDSLAM) - Spell(BLOODTHIRST) - Spell(MORTALSTRIKE) - - if Mana(more 10) Spell(DEVASTATE) - } + if List(shout command) and {Mana(less 20) or BuffExpires(stamina 3)} Spell(COMMANDINGSHOUT nored=1) + if List(shout battle) and {Mana(less 20) or BuffExpires(strengthagility 3)} Spell(BATTLESHOUT nored=1) + if TargetClassification(worldboss) and CheckBoxOn(demo) and TargetDebuffExpires(lowerphysicaldamage 2) Spell(DEMOSHOUT nored=1) + if TargetDebuffExpires(SUNDERARMOR 2 stacks=3) and CheckBoxOn(sunder) and TargetDebuffExpires(lowerarmor 2) Spell(SUNDERARMOR nored=1) - if Stance(3) #berserker - { - if HasShield() Spell(SHIELDSLAM) - Spell(SHOCKWAVE) - Spell(CONCUSSIONBLOW) - - if CheckBoxOn(whirlwind) Spell(WHIRLWIND) - Spell(BLOODTHIRST) - if TargetLifePercent(less 20) Spell(EXECUTE) - Spell(VICTORY usable=1) - if BuffPresent(SLAMBUFF) - { - if BuffExpires(SLAMBUFF 2.5) - Spell(SLAM nored=1) - if BuffDuration(SLAMBUFF more 6) and 1s before Spell(BLOODTHIRST) and { 1s before Spell(WHIRLWIND) or CheckBoxOff(whirlwind) } - Spell(SLAM nored=1) - Spell(SLAM priority=2 nored=1) - } - - Spell(MORTALSTRIKE) - - if TalentPoints(SLAMTALENT more 1) - Spell(SLAM priority=2) + if Mana(less 20) Spell(DEADLYCALM) + if TargetDebuffExpires(REND) Spell(REND) + if CheckBoxOn(multi) Spell(BLADESTORM) + Spell(COLOSSUSSMASH) + Spell(MORTALSTRIKE) + Spell(OVERPOWER usable=1) + if CheckBoxOn(multi) Spell(CLEAVE) + if TargetLifePercent(less 20) Spell(EXECUTE) + if Mana(more 60) Spell(HEROICSTRIKE) + Spell(SLAM) +} - Spell(DEVASTATE) - } +AddIcon help=cd mastery=1 +{ + Item(Trinket0Slot usable=1) + Item(Trinket1Slot usable=1) +} - if Stance(1) #combat - { - #Suggestions by wikiupd - if BuffExpires(TASTEFORBLOOD 1.5) and TargetDebuffExpires(REND 0 mine=1) Spell(OVERPOWER usable=1) - if TargetDebuffExpires(REND 0 mine=1) and TargetDeadIn(more 8) Spell(REND) - unless BuffPresent(TASTEFORBLOOD) Spell(OVERPOWER usable=1) # Dodge OP - if BuffExpires(TASTEFORBLOOD 4.5) Spell(OVERPOWER usable=1) # OP w/ less than 4.5 sec - if TargetLifePercent(more 20) Spell(MORTALSTRIKE) - if BuffPresent(SUDDENDEATH) or TargetLifePercent(less 20) Spell(EXECUTE) - Spell(OVERPOWER usable=1) - Spell(VICTORY usable=1) - - if TalentPoints(SLAMTALENT more 1) - Spell(SLAM priority=2) - - #Some other specs stuff, just in case - Spell(BLOODTHIRST) - if HasShield() Spell(SHIELDSLAM) - Spell(SHOCKWAVE) - Spell(CONCUSSIONBLOW) - Spell(DEVASTATE) - } +AddIcon help=main mastery=2 +{ + if List(shout command) and {Mana(less 20) or BuffExpires(stamina 3)} Spell(COMMANDINGSHOUT nored=1) + if List(shout battle) and {Mana(less 20) or BuffExpires(strengthagility 3)} Spell(BATTLESHOUT nored=1) + if TargetClassification(worldboss) and CheckBoxOn(demo) and TargetDebuffExpires(lowerphysicaldamage 2) Spell(DEMOSHOUT nored=1) + if TargetDebuffExpires(SUNDERARMOR 2 stacks=3) and CheckBoxOn(sunder) and TargetDebuffExpires(lowerarmor 2) Spell(SUNDERARMOR nored=1) + + if CheckBoxOn(multi) Spell(WHIRLWIND) + Spell(COLOSSUSSMASH) + Spell(RAGINGBLOW usable=1) + Spell(BLOODTHIRST) + Spell(VICTORYRUSH usable=1) + if BuffPresent(BLOODSURGE) Spell(SLAM) + if TargetLifePercent(less 20) Spell(EXECUTE) + if CheckBoxOn(multi) Spell(CLEAVE) + if Mana(more 60) Spell(HEROICSTRIKE) + if BuffExpires(DEATHWISH) and BuffExpires(RECKLESSNESS) and BuffExpires(ENRAGE) Spell(BERSERKERRAGE) +} - if CheckBoxOn(sunder) and TargetDebuffExpires(SUNDER 10 stacks=5) - { - Spell(DEVASTATE priority=2 nored=1) - Spell(SUNDER priority=2 nored=1) - } +AddIcon help=cd mastery=2 +{ + Spell(DEATHWISH) + Spell(RECKLESSNESS) + Item(Trinket0Slot usable=1) + Item(Trinket1Slot usable=1) } -AddIcon help=offgcd +AddIcon help=main mastery=3 { - if CheckBoxOff(multi) + if List(shout command) and {Mana(less 20) or BuffExpires(stamina 3)} Spell(COMMANDINGSHOUT nored=1) + if List(shout battle) and {Mana(less 20) or BuffExpires(strengthagility 3)} Spell(BATTLESHOUT nored=1) + if TargetClassification(worldboss) and CheckBoxOn(demo) and TargetDebuffExpires(lowerphysicaldamage 2) Spell(DEMOSHOUT nored=1) + + if CheckBoxOn(multi) { - if Stance(2) - { - if Mana(more 66) - Spell(HEROICSTRIKE) - } - if Stance(3) - { - if Mana(more 66) - Spell(HEROICSTRIKE) - } - if Stance(1) - { - if Mana(more 94) - Spell(HEROICSTRIKE) - } - } - if Mana(more 50) and CheckBoxOn(multi) + if TargetDebuffExpires(REND mine=1) Spell(REND) + Spell(THUNDERCLAP) + Spell(SHOCKWAVE) Spell(CLEAVE) - } + } + Spell(SHIELDSLAM) + if Mana(more 60) and CheckBoxOff(multi) Spell(HEROICSTRIKE) + Spell(REVENGE usable=1) + if TargetDebuffExpires(meleeslow) Spell(THUNDERCLAP) + Spell(VICTORYRUSH usable=1) + Spell(DEVASTATE) +} -AddIcon help=cd +AddIcon help=cd mastery=3 { - if Stance(2) #Defense - { - Spell(SHIELDBLOCK) - Spell(LASTSTAND) - Spell(SHIELDWALL) - } - if Stance(3) #berserker - { - Spell(DEATHWISH) - Spell(RECKLESSNESS) - } - if Stance(1) #combat - { - Spell(BLADESTORM) - Spell(RETALIATION) - } + Spell(SHIELDBLOCK) + Spell(SHIELDWALL) + Spell(LASTSTAND) Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } + ]] diff --git a/defaut/Mage.lua b/defaut/Mage.lua index d0a8f8a..e957958 100644 --- a/defaut/Mage.lua +++ b/defaut/Mage.lua @@ -1,108 +1,106 @@ Ovale.defaut["MAGE"]= [[ -#Modified by Arconer -Define(TALENTLIVINGBOMB 1852) -Define(TALENTPIERCINGICE 61) -Define(TALENTCHILLEDTOTHEBONES 1856) -Define(TALENTARCANEBARRAGE 1847) -Define(TALENTIMPROVEDSCORSH 25) -Define(TALENTBRAINFREEZE 1854) - -Define(HOTSTREAK 48108) -Define(IMPROVEDSCORCH 22959) - -Define(PYROBLAST 11366) -Define(LIVINGBOMB 44457) -Define(SCORCH 2948) -Define(FROSTFIREBOLT 44614) -Define(FIREBALL 133) - -Define(FROSTBOLT 116) -Define(DEEPFREEZE 44572) -Define(BRAINFREEZE 57761) -Define(PUSHLIMIT 70753) -Define(FINGERFROST 44544) - -Define(ARCANEBARRAGE 44425) -Define(ARCANEMISSILES 5143) -Define(ARCANEBLAST 30451) -Define(ARCANEPOWER 12042) -Define(MISSILEBARRAGE 44401) - -Define(COMBUSTION 11129) -Define(ICYVEINS 12472) -Define(MIRRORIMAGE 55342) -Define(SUMMONWATERELEMENTAL 31687) -Define(PRESENCEOFMIND 12043) - +#Spells +Define(ARCANEBARRAGE 44425) #arcane instant +Define(ARCANEBLAST 30451) #arcane stacks*4 cost increased + SpellAddDebuff(ARCANEBLAST ARCANEBLAST=10) +Define(ARCANEMISSILES 5143) #arcane channel + SpellAddDebuff(ARCANEMISSILES ARCANEBLAST=0) +Define(ARCANEPOWER 12042) #arcane cd + SpellInfo(ARCANEPOWER cd=84) +Define(COLDSNAP 11958) #frost reset cd +Define(COMBUSTION 11129) #fire cd consume dot + SpellInfo(COMBUSTION cd=180) +Define(DEEPFREEZE 44572) #frost instant +Define(FIREBLAST 2136) #fire instant +Define(FIREBALL 133) #fire 2.5 +Define(FROSTBOLT 116) #frost +Define(FROSTFIREBOLT 44614) #frost+fire +Define(ICEARMOR 7302) +Define(ICELANCE 30455) #frost instant +Define(ICYVEINS 12472) #frost cd + SpellInfo(ICYVEINS cd=144) +Define(LIVINGBOMB 44457) #fire dot + SpellAddTargetDebuff(LIVINGBOMB LIVINGBOMB=12) Define(MAGEARMOR 6117) +Define(MIRRORIMAGE 55342) + SpellInfo(MIRRORIMAGE cd=180) Define(MOLTENARMOR 30482) -Define(ICEARMOR 7302) +Define(PRESENCEOFMIND 12043) #arcane next spell instant +Define(PYROBLAST 11366) #fire dot + SpellAddTargetDebuff(PYROBLAST PYROBLAST=12) + SpellAddBuff(PYROBLAST HOTSTREAK=0) +Define(SCORCH 2948) #fire 1.5 (cast while moving with firestarter talent) +Define(SUMMONWATERELEMENTAL 31687) #frost pet + SpellInfo(SUMMONWATERELEMENTAL cd=180) + +#Buff +Define(BRAINFREEZE 57761) #frost (instant fireball/frostfire bolt) +Define(FINGERSOFFROST 83074) #frost boost ice lance/deep freeze +Define(HOTSTREAK 48108) #fire instant pyroblast + +#Talent +Define(FIRESTARTERTALENT 1849) AddCheckBox(scorch SpellName(SCORCH) default talent=TALENTIMPROVEDSCORSH) AddCheckBox(abarr SpellName(ARCANEBARRAGE) default talent=TALENTARCANEBARRAGE) -SpellAddDebuff(PYROBLAST HOTSTREAK=0) -SpellAddDebuff(ARCANEBLAST ARCANEBLAST=10) -SpellAddDebuff(ARCANEMISSILES ARCANEBLAST=0) -SpellAddTargetDebuff(SCORCH IMPROVEDSCORCH=30) -SpellAddTargetDebuff(LIVINGBOMB LIVINGBOMB=12) -SpellInfo(MIRRORIMAGE cd=180) -SpellInfo(ARCANEPOWER cd=84) -SpellInfo(COMBUSTION cd=180) -SpellInfo(ICYVEINS cd=144) -SpellInfo(SUMMONWATERELEMENTAL cd=180) - ScoreSpells(SCORCH PYROBLAST LIVINGBOMB FROSTFIREBOLT FIREBALL SUMMONWATERELEMENTAL FROSTBOLT ARCANEBLAST ARCANEMISSILES) -AddIcon help=main +AddIcon help=main mastery=1 { - unless InCombat() - { - if BuffExpires(MAGEARMOR 400) and BuffExpires(MOLTENARMOR 400) and BuffExpires(ICEARMOR 400) - Spell(MOLTENARMOR) - } + unless InCombat() if BuffExpires(MAGEARMOR 400) and BuffExpires(MOLTENARMOR 400) and BuffExpires(ICEARMOR 400) Spell(MOLTENARMOR) + + if Speed(more 0) Spell(ARCANEBARRAGE) + if DebuffPresent(ARCANEBLAST stacks=4) + Spell(ARCANEMISSILES) + Spell(ARCANEBLAST) +} - if TalentPoints(TALENTLIVINGBOMB more 0) - { - #Fire spec - if TargetDebuffExpires(IMPROVEDSCORCH 6) and CheckBoxOn(scorch) and TargetDeadIn(more 15) Spell(SCORCH) - if BuffPresent(HOTSTREAK) Spell(PYROBLAST) - if TargetDebuffExpires(LIVINGBOMB 0 mine=1) and TargetDeadIn(more 12) Spell(LIVINGBOMB) - if TalentPoints(TALENTPIERCINGICE more 0) - Spell(FROSTFIREBOLT) - if TalentPoints(TALENTPIERCINGICE less 1) - Spell(FIREBALL) - } - - if TalentPoints(TALENTCHILLEDTOTHEBONES more 0) - { - #Frost spec - if PetPresent(no) Spell(SUMMONWATERELEMENTAL) - if BuffPresent(FINGERFROST) Spell(DEEPFREEZE) - if BuffPresent(BRAINFREEZE) and BuffExpires(PUSHLIMIT 1) Spell(FIREBALL) - Spell(FROSTBOLT) - } - - if TalentPoints(TALENTARCANEBARRAGE more 0) - { - #Arcane spec - - if BuffPresent(MISSILEBARRAGE) and DebuffPresent(ARCANEBLAST stacks=4) - Spell(ARCANEMISSILES) - Spell(ARCANEBLAST) - } +AddIcon help=main mastery=2 +{ + unless InCombat() if BuffExpires(MAGEARMOR 400) and BuffExpires(MOLTENARMOR 400) and BuffExpires(ICEARMOR 400) Spell(MOLTENARMOR) + + if Talent(FIRESTARTERTALENT) and Speed(more 0) Spell(SCORCH) + if BuffPresent(HOTSTREAK) Spell(PYROBLAST) + if TargetDebuffExpires(LIVINGBOMB 0 mine=1) and TargetDeadIn(more 12) Spell(LIVINGBOMB) + if TargetDebuffExpires(PYROBLAST 2.5 haste=spell mine=1) Spell(PYROBLAST) + Spell(FIREBALL) } -AddIcon help=cd +AddIcon help=main mastery=3 +{ + unless InCombat() if BuffExpires(MAGEARMOR 400) and BuffExpires(MOLTENARMOR 400) and BuffExpires(ICEARMOR 400) Spell(MOLTENARMOR) + + if PetPresent(no) Spell(SUMMONWATERELEMENTAL) + If BuffPresent(FINGERSOFFROST) or Speed(more 0) {Spell(DEEPFREEZE) Spell(ICELANCE)} + if BuffPresent(BRAINFREEZE) Spell(FROSTFIREBOLT) + Spell(FROSTBOLT) +} + +AddIcon help=cd mastery=1 { - Spell(MIRRORIMAGE) if DebuffPresent(ARCANEBLAST stacks=3) Spell(ARCANEPOWER) + Spell(PRESENCEOFMIND) + Item(Trinket0Slot usable=1) + Item(Trinket1Slot usable=1) + Spell(MIRRORIMAGE) +} + +AddIcon help=cd mastery=2 +{ Spell(COMBUSTION) + Item(Trinket0Slot usable=1) + Item(Trinket1Slot usable=1) + Spell(MIRRORIMAGE) +} + +AddIcon help=cd mastery=3 +{ Spell(ICYVEINS) - Spell(PRESENCEOFMIND) Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) + Spell(MIRRORIMAGE) } ]] \ No newline at end of file diff --git a/defaut/Paladin.lua b/defaut/Paladin.lua index 7fd9a49..beb666f 100644 --- a/defaut/Paladin.lua +++ b/defaut/Paladin.lua @@ -1,95 +1,89 @@ Ovale.defaut["PALADIN"] = [[ -Define(SEALRIGHTEOUSNESS 21084) -Define(SEALCOMMAND 20375) -Define(SEALVENGEANCE 31801) -Define(SEALCORRUPTION 53736) -Define(JUDGELIGHT 20271) -Define(JUDGEWISDOM 53408) +Define(AVENGERSSHIELD 31935) +Define(AVENGINGWRATH 31884) + SpellInfo(AVENGINGWRATH cd=180) Define(CONSECRATE 26573) -Define(DIVINESTORM 53385) -Define(HAMMEROFWRATH 24275) + SpellInfo(CONSECRATE cd=8) Define(CRUSADERSTRIKE 35395) -Define(HOLYSHOCK 20473) -Define(THEARTOFWAR 59578) -Define(FLASHOFLIGHT 19750) + SpellInfo(CRUSADERSTRIKE cd=4) +Define(DIVINEPLEA 54428) + SpellInfo(DIVINEPLEA cd=60) + SpellAddBuff(DIVINEPLEA DIVINEPLEA=15) +Define(DIVINEPROTECTION 498) +Define(DIVINESTORM 53385) Define(EXORCISM 879) -Define(AVENGINGWRATH 31884) -Define(SHIELDOFRIGHTEOUSNESS 53600) -Define(HOLYSHIELD 20925) + SpellAddBuff(EXORCISM THEARTOFWAR=0) +Define(HAMMEROFWRATH 24275) + SpellInfo(HAMMEROFWRATH cd=6) Define(HAMMEROFTHERIGHTEOUS 53595) + SpellInfo(HAMMEROFTHERIGHTEOUS cd=6) +Define(HOLYSHOCK 20473) + SpellInfo(HOLYSHOCK cd=6) Define(HOLYWRATH 2812) -Define(TALENTGUARDEDBYTHELIGHT 2194) -Define(DIVINEPLEA 54428) + SpellInfo(HOLYWRATH cd=30) +Define(INQUISITION 84963) +Define(JUDGEMENT 20271) +Define(SEALRIGHTEOUSNESS 20154) + SpellAddBuff(SEALRIGHTEOUSNESS SEALRIGHTEOUSNESS=1800) +Define(SEALOFTRUTH 31801) + SpellAddBuff(SEALOFTRUTH SEALOFTRUTH=1800) +Define(SHIELDOFTHERIGHTEOUS 53600) + SpellInfo(SHIELDOFTHERIGHTEOUS cd=6) +Define(TEMPLARSVERDICT 85256) +Define(ZEALOTRY 85696) -AddListItem(sceau none L(None)) -AddListItem(sceau piete SpellName(SEALRIGHTEOUSNESS)) -AddListItem(sceau autorite SpellName(SEALCOMMAND)) -AddListItem(sceau vengeance SpellName(SEALVENGEANCE) default) -AddListItem(jugement lumiere SpellName(JUDGELIGHT)) -AddListItem(jugement sagesse SpellName(JUDGEWISDOM) default) -AddCheckBox(consecration SpellName(CONSECRATE) checked) -AddCheckBox(tempete SpellName(DIVINESTORM) checked) -AddCheckBox(coleredivine SpellName(HOLYWRATH)) -ScoreSpells(SEALRIGHTEOUSNESS SEALCOMMAND SEALVENGEANCE SEALCORRUPTION HOLYSHIELD HAMMEROFTHERIGHTEOUS CRUSADERSTRIKE - HAMMEROFWRATH JUDGELIGHT JUDGEWISDOM DIVINESTORM CONSECRATE EXORCISM HOLYWRATH HOLYSHOCK SHIELDOFRIGHTEOUSNESS) +#Buff +Define(THEARTOFWAR 59578) + +AddCheckBox(aoe L(AOE)) + +AddIcon help=main mastery=2 +{ + unless InCombat() if BuffExpires(SEALRIGHTEOUSNESS 400) and BuffExpires(SEALOFTRUTH 400) Spell(SEALOFTRUTH) -SpellAddBuff(EXORCISM THEARTOFWAR=0) -SpellInfo(JUDGELIGHT cd=8 sharedcd=judge) -SpellInfo(JUDGEWISDOM cd=8 sharedcd=judge) -SpellInfo(HOLYSHIELD cd=10) -SpellAddBuff(HOLYSHIELD HOLYSHIELD=10) -SpellAddBuff(SEALVENGEANCE SEALVENGEANCE=1800) -SpellAddBuff(SEALRIGHTEOUSNESS SEALRIGHTEOUSNESS=1800) -SpellAddBuff(SEALCOMMAND SEALCOMMAND=1800) -SpellAddBuff(SEALCORRUPTION SEALCORRUPTION=1800) -SpellInfo(HAMMEROFTHERIGHTEOUS cd=6) -SpellInfo(CRUSADERSTRIKE cd=4) -SpellInfo(HAMMEROFWRATH cd=6) -SpellInfo(DIVINESTORM cd=10) -SpellInfo(SHIELDOFRIGHTEOUSNESS cd=6) -SpellInfo(DIVINEPLEA cd=60) -SpellAddBuff(DIVINEPLEA DIVINEPLEA=15) -SpellInfo(CONSECRATE cd=8) -SpellInfo(HOLYWRATH cd=30) -SpellInfo(HOLYSHOCK cd=6) -SpellInfo(AVENGINGWRATH cd=180) + if HolyPower(more 2) Spell(SHIELDOFTHERIGHTEOUS) + Spell(JUDGEMENT) + Spell(AVENGERSSHIELD) + Spell(HAMMEROFTHERIGHTEOUS) + if CheckBoxOn(aoe) + { + Spell(CONSECRATE) + Spell(HOLYWRATH) + } +} -AddIcon help=main +AddIcon help=cd mastery=2 +{ + Spell(AVENGINGWRATH) + Spell(DIVINEPROTECTION) + Item(Trinket0Slot usable=1) + Item(Trinket1Slot usable=1) +} + +AddIcon help=main mastery=3 { unless InCombat() { - if List(sceau piete) and BuffExpires(SEALRIGHTEOUSNESS 400) Spell(SEALRIGHTEOUSNESS) - if List(sceau autorite) and BuffExpires(SEALCOMMAND 400) Spell(SEALCOMMAND) - if List(sceau vengeance) - { - if BuffExpires(SEALVENGEANCE 400) Spell(SEALVENGEANCE) - if BuffExpires(SEALCORRUPTION 400) Spell(SEALCORRUPTION) - } + if BuffExpires(SEALRIGHTEOUSNESS 400) and BuffExpires(SEALOFTRUTH 400) Spell(SEALOFTRUTH) } - - if TargetTargetIsPlayer(yes) Spell(HOLYSHIELD) - Spell(HAMMEROFTHERIGHTEOUS) - - Spell(CRUSADERSTRIKE) - Spell(HAMMEROFWRATH usable=1) - if List(jugement lumiere) Spell(JUDGELIGHT) - if List(jugement sagesse) Spell(JUDGEWISDOM) - if CheckBoxOn(tempete) Spell(DIVINESTORM) - if HasShield() Spell(SHIELDOFRIGHTEOUSNESS) - if TalentPoints(TALENTGUARDEDBYTHELIGHT more 0) and BuffExpires(DIVINEPLEA 0) Spell(DIVINEPLEA) - if CheckBoxOn(consecration) Spell(CONSECRATE) + + if HolyPower(more 2) Spell(ZEALOTRY) + if HolyPower(more 0) and BuffExpires(INQUISITION) Spell(INQUISITION) + if CheckBoxOff(aoe) and HolyPower(more 2) Spell(TEMPLARSVERDICT) + if CheckBoxOn(aoe) and HolyPower(more 2) Spell(DIVINESTORM) if BuffPresent(THEARTOFWAR) Spell(EXORCISM) - if CheckBoxOn(coleredivine) Spell(HOLYWRATH) - - Spell(HOLYSHOCK) - if BuffPresent(THEARTOFWAR) Spell(FLASHOFLIGHT priority=2) + if TargetLifePercent(less 20) or BuffPresent(AVENGINGWRATH) Spell(HAMMEROFWRATH) + Spell(JUDGEMENT) + Spell(CRUSADERSTRIKE) + if CheckBoxOn(aoe) Spell(CONSECRATE) + if CheckBoxOn(aoe) Spell(HOLYWRATH) } -AddIcon help=cd +AddIcon help=cd mastery=3 { - Spell(AVENGINGWRATH) - Item(Trinket0Slot usable=1) - Item(Trinket1Slot usable=1) + Spell(AVENGINGWRATH) + Item(Trinket0Slot usable=1) + Item(Trinket1Slot usable=1) } ]] diff --git a/defaut/Pretre.lua b/defaut/Pretre.lua index c1615b2..28fc05e 100644 --- a/defaut/Pretre.lua +++ b/defaut/Pretre.lua @@ -1,92 +1,69 @@ Ovale.defaut["PRIEST"] = [[ -# Define constants for easier addressing of spells -Define(SWP 589) # Shadow Word: Pain -Define(VT 34916) # Vampiric Touch -Define(VE 15286) # Vampiric Embrace -Define(SF 15473) # Shadowform -Define(MF 15407) # Mind Flay -Define(MB 8092) # Mind Blast -Define(DP 2944) # Devouring Plague -Define(SW 15257) # Shadow Weaving -Define(IF 48168) # Inner Fire -Define(Focus 14751) # Inner Focus -Define(Dispersion 47585) -Define(Shadowfiend 34433) -Define(Bloodlust 2825) -Define(Heroism 32182) +#Spells +Define(DEVOURINGPLAGUE 2944) # Devouring Plague + SpellInfo(DEVOURINGPLAGUE duration=24 durationhaste=spell) + SpellAddTargetDebuff(DEVOURINGPLAGUE DEVOURINGPLAGUE=24) +Define(DISPERSION 47585) + SpellInfo(DISPERSION cd=120) +Define(INNERFIRE 48168) # Inner Fire + SpellAddBuff(INNERFIRE INNERFIRE=1800) +Define(MINDBLAST 8092) # Mind Blast + SpellInfo(MINDBLAST cd=5.5) + SpellAddBuff(MINDBLAST SHADOWORB=0) +Define(MINDLFAY 15407) # Mind Flay + SpellInfo(MINDLFAY canStopChannelling=3) +Define(SHADOWFIEND 34433) + SpellInfo(SHADOWFIEND cd=300) +Define(SHADOWFORM 15473) # Shadowform +Define(SHADOWWORDPAIN 589) # Shadow Word: Pain + SpellInfo(SHADOWWORDPAIN duration=18) + SpellAddTargetDebuff(SHADOWWORDPAIN SHADOWWORDPAIN=18) +Define(VAMPIRICEMBRACE 15286) # Vampiric Embrace +Define(VAMPIRICTOUCH 34914) # Vampiric Touch + SpellInfo(VAMPIRICTOUCH duration=15 durationhaste=spell) + SpellAddTargetDebuff(VAMPIRICTOUCH VAMPIRICTOUCH=15) +#Buff +Define(SHADOWORB 77487) + AddCheckBox(multidot L(multidot)) -# Spells with cast time that add buff or debuff -SpellAddTargetDebuff(SWP SWP=18) -SpellInfo(SWP duration=18) -SpellAddBuff(SWP SW=15) -SpellAddTargetDebuff(VT VT=15) -SpellInfo(VT duration=15 durationhaste=spell) -SpellAddBuff(VT SW=15) -SpellInfo(MF canStopChannelling=3) -SpellAddBuff(MF SW=15) -SpellInfo(MB cd=5.5) -SpellAddBuff(MB SW=15) -SpellAddBuff(IF IF=1800) -SpellAddTargetDebuff(DP DP=24) -SpellInfo(DP duration=24 durationhaste=spell) -SpellInfo(Focus cd=180) -SpellInfo(Dispersion cd=120) -SpellInfo(Shadowfiend cd=300) -ScoreSpells(MB SWP VT DP MF) +ScoreSpells(MINDBLAST SHADOWWORDPAIN VAMPIRICTOUCH DEVOURINGPLAGUE MINDLFAY) # Add main monitor -AddIcon help=main +AddIcon help=main mastery=3 { -unless InCombat() -{ - #Check shadowform is up - unless BuffPresent(SF) - Spell(SF) - - # Refresh inner fire - if BuffExpires(IF 400) - Spell(IF) - - if BuffExpires(VE 400) - Spell(VE) -} + unless InCombat() + { + #Check shadowform is up + unless BuffPresent(SHADOWFORM) + Spell(SHADOWFORM) + + # Refresh inner fire + if BuffExpires(INNERFIRE 400) + Spell(INNERFIRE) + + if BuffExpires(VAMPIRICEMBRACE 400) + Spell(VAMPIRICEMBRACE) + } -#if inner focus is active, cast mind blast -if BuffPresent(Focus) - Spell(MB) - -# Check if Shadow Weave is stacked 5 times -# before suggesting Shadow Word: Pain -if BuffPresent(SW stacks=5) and TargetDebuffExpires(SWP 0 mine=1) and TargetDeadIn(more 6) -{ - Spell(SWP) -} - -#Refresh VT -if TargetDebuffExpires(VT 1 mine=1 haste=spell) and TargetDeadIn(more 8) - Spell(VT) - -#cast MB if up -unless BuffPresent(Heroism) or BuffPresent(Bloodlust) - Spell(MB) + + if TargetDebuffExpires(SHADOWWORDPAIN 2 mine=1) and TargetDeadIn(more 6) Spell(SHADOWWORDPAIN) + if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH) + if BuffPresent(SHADOWORB stacks=3) Spell(MINDBLAST) -#Refresh devouring plague -unless CheckBoxOn(multidot) and OtherDebuffPresent(DP) -{ - if TargetDebuffExpires(DP 0 mine=1) and TargetDeadIn(more 8) - Spell(DP) -} - -if CheckBoxOn(multidot) and OtherDebuffExpires(SWP) - Texture(INV_Misc_Coin_01) + unless CheckBoxOn(multidot) and OtherDebuffPresent(DEVOURINGPLAGUE) + { + if TargetDebuffExpires(DEVOURINGPLAGUE 2 mine=1) and TargetDeadIn(more 8) + Spell(DEVOURINGPLAGUE) + } -#cast Mind flay if nothing else can be done -Spell(MF priority=2) + if CheckBoxOn(multidot) and OtherDebuffExpires(SHADOWWORDPAIN) + Texture(INV_Misc_Coin_01) -} # End of main monitor + Spell(MINDLFAY priority=2) +} AddIcon help=cd { @@ -95,21 +72,18 @@ AddIcon help=cd } # Add mana monitor -AddIcon help=mana { - -#if up, launch focus (and then MB since it's the first priority) -Spell(Focus usable=1) - -#Regain mana if needed and if shadowfiend is not already out -if Mana(less 4000) and PetPresent(no) +AddIcon help=mana mastery=3 { - Spell(Shadowfiend usable=1) - unless TargetDebuffExpires(VT 6 mine=1 haste=spell) Spell(Dispersion usable=1) -} + #Regain mana if needed and if shadowfiend is not already out + if Mana(less 4000) and PetPresent(no) + { + Spell(SHADOWFIEND usable=1) + unless TargetDebuffExpires(VAMPIRICTOUCH 6 mine=1 haste=spell) Spell(DISPERSION usable=1) + } } -# Add icons to monitor debuffs (will show up 5 secs before elapsed) -AddIcon size=small nocd=1 {if TargetDebuffExpires(VT 1.4 mine=1 haste=spell) Spell(VT) } # Vampiric Touch -AddIcon size=small nocd=1 {if TargetDebuffExpires(SWP 1 mine=1) Spell(SWP) } # Shadow Word: Pain -AddIcon size=small nocd=1 {if TargetDebuffExpires(DP 1 mine=1) Spell(DP) } +# Add icons to monitor debuffs +AddIcon size=small nocd=1 {if TargetDebuffExpires(VAMPIRICTOUCH 1.4 mine=1 haste=spell) Spell(VAMPIRICTOUCH) } # Vampiric Touch +AddIcon size=small nocd=1 {if TargetDebuffExpires(SHADOWWORDPAIN 1 mine=1) Spell(SHADOWWORDPAIN) } # Shadow Word: Pain +AddIcon size=small nocd=1 {if TargetDebuffExpires(DEVOURINGPLAGUE 1 mine=1) Spell(DEVOURINGPLAGUE) } ]]