From 32a7cc12d00675759360367e4e803e254b6fe129 Mon Sep 17 00:00:00 2001 From: Sidoine De Wispelaere Date: Tue, 8 Dec 2009 20:18:14 +0000 Subject: [PATCH] - added Tracking function - added DEEPFREEZE to frost mage cycle - fix for arm warrior - arcane mage may want to use arcane barrage git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@162 d5049fe3-3747-40f7-a4b5-f36d6801af5f --- Condition.lua | 23 ++++++++++++++++++++--- Ovale.toc | 2 +- defaut/Chasseur.lua | 12 ++++++++++++ defaut/Chevalier.lua | 4 ++-- defaut/Demoniste.lua | 3 ++- defaut/Guerrier.lua | 24 +++++++++++------------- defaut/Mage.lua | 26 ++++++++++++++++---------- 7 files changed, 64 insertions(+), 30 deletions(-) diff --git a/Condition.lua b/Condition.lua index eca50c7..48ae8da 100644 --- a/Condition.lua +++ b/Condition.lua @@ -516,22 +516,26 @@ Ovale.conditions= end end if not minTime then - return nil + return 0 end minTime = minTime - timeBefore return minTime end - return nil + return 0 end, OtherDebuffPresent = function(condition) Ovale:EnableOtherDebuffs() local otherDebuff = Ovale.otherDebuffs[GetSpellInfo(condition[1])] if otherDebuff then + local maxTime = 0 for target,expireTime in pairs(otherDebuff) do if target~=UnitGUID("target") then - return 0, expireTime + if expireTime > maxTime then + maxTime = expireTime + end end end + return 0, addTime(maxTime, -condition[2]) end return nil end, @@ -720,6 +724,19 @@ Ovale.conditions= return timeLeft end end, + Tracking = function(condition) + local what = Ovale:GetSpellInfoOrNil(condition[1]) + local numTrackingTypes = GetNumTrackingTypes() + local present = false + for i=1,numTrackingTypes do + local name, texture, active = GetTrackingInfo(i) + if name == what then + present = (active == 1) + break + end + end + return testbool(present, condition[2]) + end, WeaponEnchantExpires = function(condition) local hasMainHandEnchant, mainHandExpiration, mainHandCharges, hasOffHandEnchant, offHandExpiration, offHandCharges = GetWeaponEnchantInfo() if (condition[1] == "mainhand") then diff --git a/Ovale.toc b/Ovale.toc index 72c9c55..21d2c1a 100644 --- a/Ovale.toc +++ b/Ovale.toc @@ -3,7 +3,7 @@ ## Notes: Show the icon of the next spell to cast ## Notes-frFR: Affiche l'icône du prochain sort à lancer ## Author: Sidoine -## Version: 3.2.26 +## Version: 3.3.0 ## OptionalDeps: Ace3, ButtonFacade, Recount ## SavedVariables: OvaleDB ## SavedVariablesPerCharacter: OvaleDBPC diff --git a/defaut/Chasseur.lua b/defaut/Chasseur.lua index 148b803..47f2d6b 100644 --- a/defaut/Chasseur.lua +++ b/defaut/Chasseur.lua @@ -18,6 +18,15 @@ Define(CALLOFTHEWILD 53434) Define(CHIMERASHOT 53209) Define(READINESS 23989) +Define(TALENTTRACKING 1623) +Define(TRACKBEASTS 1494) +Define(TRACKDEMONS 19878) +Define(TRACKDRAGONKIN 19879) +Define(TRACKELEMENTALS 19880) +Define(TRACKGIANTS 19882) +Define(TRACKHUMANOIDS 19883) +Define(TRACKUNDEAD 19884) + SpellAddTargetDebuff(EXPLOSIVESHOT EXPLOSIVESHOT=2) SpellInfo(EXPLOSIVESHOT cd=6) SpellAddTargetDebuff(SERPENTSTING SERPENTSTING=15) @@ -37,6 +46,9 @@ ScoreSpells(HUNTERSMARK BLACKARROW SERPENTSTING CHIMERASHOT AIMEDSHOT MULTISHOT AddIcon help=main { + 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 8) Spell(HUNTERSMARK) if TargetDebuffExpires(BLACKARROW 0 mine=1) Spell(BLACKARROW) if TargetDebuffExpires(SERPENTSTING 0 mine=1) and TargetDeadIn(more 8) Spell(SERPENTSTING) diff --git a/defaut/Chevalier.lua b/defaut/Chevalier.lua index 5dae5ad..9ae9d30 100644 --- a/defaut/Chevalier.lua +++ b/defaut/Chevalier.lua @@ -34,7 +34,7 @@ Define(TALENTABOMINATIONMIGHT 2105) Define(RAISEDEAD 46584) Define(HORNOFWINTER 57330) -AddCheckBox(rolldes SpellName(GLYPHDISEASE)) +AddCheckBox(rolldes SpellName(GLYPHDISEASE) default) SpellAddTargetDebuff(ICYTOUCH FROSTFEVER=15) SpellAddTargetDebuff(PLAGUESTRIKE BLOODPLAGUE=15) @@ -85,7 +85,7 @@ AddIcon help=main } } - if CheckBoxOn(rolldes) and TalentPoints(TALENTABOMINATIONMIGHT more 0) and BuffExpires(ABOMINATIONMIGHT 0) + 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) diff --git a/defaut/Demoniste.lua b/defaut/Demoniste.lua index 58188a8..68d8e70 100644 --- a/defaut/Demoniste.lua +++ b/defaut/Demoniste.lua @@ -27,6 +27,7 @@ Define(DEMONICEMPOWERMENT 47193) Define(INCINERATE 29722) Define(DECIMATION 63167) Define(CHAOSBOLT 50796) +Define(MOLTENCORE 47383) AddListItem(curse elements SpellName(CURSEELEMENTS)) AddListItem(curse agony SpellName(CURSEAGONY)) @@ -74,7 +75,7 @@ if TargetLifePercent(less 25) and Level(more 76) and {TalentPoints(TALENTDECIMAT and TalentPoints(TALENTEMBERSTORM less 1) Spell(DRAINSOUL) Spell(CHAOSBOLT) -if TalentPoints(TALENTEMBERSTORM more 0) Spell(INCINERATE) +if TalentPoints(TALENTEMBERSTORM more 0) or BuffPresent(MOLTENCORE) Spell(INCINERATE) Spell(SHADOWBOLT) } diff --git a/defaut/Guerrier.lua b/defaut/Guerrier.lua index 2f24ab9..be1623f 100644 --- a/defaut/Guerrier.lua +++ b/defaut/Guerrier.lua @@ -98,20 +98,13 @@ AddIcon help=main if Stance(3) #berserker { - - if TargetLifePercent(less 20) - { - Spell(WHIRLWIND) - Spell(BLOODTHIRST) - Spell(EXECUTE) - } - 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) { @@ -130,10 +123,10 @@ AddIcon help=main if Stance(1) #combat { - if TargetDebuffExpires(REND 0 mine=1) Spell(REND) - if BuffPresent(SUDDENDEATH) or TargetLifePercent(less 20) Spell(EXECUTE) - Spell(MORTALSTRIKE) + if TargetDebuffExpires(REND 0 mine=1) and TargetDeadIn(more 8) Spell(REND) + if TargetLifePercent(more 20) Spell(MORTALSTRIKE) Spell(OVERPOWER usable=1) + if BuffPresent(SUDDENDEATH) or TargetLifePercent(less 20) Spell(EXECUTE) Spell(VICTORY usable=1) if TalentPoints(SLAMTALENT more 1) @@ -168,9 +161,14 @@ AddIcon help=offgcd if Mana(more 66) Spell(HEROICSTRIKE) } - unless Stance(2) + if Stance(3) + { + if Mana(more 66) + Spell(HEROICSTRIKE) + } + if Stance(1) { - if Mana(more 66) and TargetLifePercent(more 20) + if Mana(more 94) Spell(HEROICSTRIKE) } } diff --git a/defaut/Mage.lua b/defaut/Mage.lua index 11d19a2..16c5ff4 100644 --- a/defaut/Mage.lua +++ b/defaut/Mage.lua @@ -12,13 +12,16 @@ Define(PYROBLAST 11366) Define(LIVINGBOMB 44457) Define(SCORCH 2948) Define(FROSTFIREBOLT 44614) -Define(FROSTBOLT 116) Define(FIREBALL 133) + +Define(FROSTBOLT 116) +Define(DEEPFREEZE 44572) + Define(ARCANEBARRAGE 44425) Define(ARCANEMISSILES 5143) Define(ARCANEBLAST 30451) -Define(DEEPFREEZE 44572) Define(ARCANEPOWER 12042) +Define(MISSILEBARRAGE 44401) Define(COMBUSTION 11129) Define(ICYVEINS 12472) @@ -26,7 +29,8 @@ Define(MIRRORIMAGE 55342) Define(SUMMONWATERELEMENTAL 31687) Define(PRESENCEOFMIND 12043) -AddCheckBox(scorch SpellName(SCORCH)) +AddCheckBox(scorch SpellName(SCORCH) default) +AddCheckBox(abarr SpellName(ARCANEBARRAGE) default) SpellAddDebuff(PYROBLAST HOTSTREAK=0) SpellAddDebuff(ARCANEBLAST ARCANEBLAST=10) @@ -46,8 +50,7 @@ AddIcon help=main if TalentPoints(TALENTLIVINGBOMB more 0) { #Fire spec - if TargetDebuffExpires(IMPROVEDSCORCH 6 stacks=5) and CheckBoxOn(scorch) and TargetDeadIn(more 15) Spell(SCORCH) - #PTR if TargetDebuffExpires(IMPROVEDSCORCH 6) and CheckBoxOn(scorch) and TargetDeadIn(more 15) Spell(SCORCH) + 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) @@ -60,16 +63,19 @@ AddIcon help=main { #Frost spec Spell(SUMMONWATERELEMENTAL) - #PTR : Spell(DEEPFREEZE) + if TargetClassification(worldboss) Spell(DEEPFREEZE) Spell(FROSTBOLT) } if TalentPoints(TALENTARCANEBARRAGE more 0) { - #Arcane spec - if DebuffExpires(ARCANEBLAST 0 stacks=4) - Spell(ARCANEBLAST) - Spell(ARCANEMISSILES) + #Arcane spec + if DebuffExpires(ARCANEBLAST 0 stacks=4) + Spell(ARCANEBLAST) + if BuffPresent(MISSILEBARRAGE) + Spell(ARCANEMISSILES) + if CheckBoxOn(abarr) Spell(ARCANEBARRAGE) + Spell(ARCANEMISSILES) } } -- 1.7.9.5