Commit 33d673d7 authored by Ivaria's avatar Ivaria
Browse files

Misc resto Druid fixes for WoD - closes CurseForge tickets 340, 341.

parent 1d5f888e
......@@ -246,6 +246,7 @@ function VUHDO_aoeUpdateSpellAverages()
tInfo["avg"] = floor((tInfo["base"] + tBonus * tSpellModi) + 0.5);
end
tInfo["thresh"] = VUHDO_CONFIG["AOE_ADVISOR"]["config"][tName]["thresh"];
--print("VUHDO_aoeUpdateSpellAverages(): name = " .. tName .. ", avg = floor((base + bonus * spellMod) + 0.5) | " .. tInfo["avg"] .. " = floor((" .. tInfo["base"] .. " + " .. tBonus .. " * " .. tSpellModi .. ") + 0.5)");
end
end
......@@ -263,12 +264,11 @@ local function VUHDO_isAoeSpellEnabled(aSpell)
end
-- MOP:
-- Priester: Circle of Healing Ein Ziel mehr (42396)
-- Priester: ???Heilige Nova, neuer Zauber Heilung max. 5 um 4950 (42401)
-- Schamane: Kettenbildung Sprungreichweite +100% (41552)
-- Paladin: Light of Dawn, -2 Ziele 25% mehr Heilung (41109)
-- Druide: Wild Growth, + 1 Ziel (45602)
-- AoE glyphs:
-- Priest: Circle of Healing, +1 target (42396)
-- Shaman: Chain Heal, +100% range (41552)
-- Paladin: Light of Dawn, -2 targets +25% healing (41109)
-- Druid: Wild Growth, +1 target (45602)
--
function VUHDO_aoeUpdateTalents()
......@@ -441,7 +441,7 @@ end
--
local tUnitForAoe = { [0] = {}, [1] = {}, [2] = {}, [3] = {}, [4] = {}, [5] = {}, [6] = {}, [7] = {}, [8] = {} };
local function VUHDO_abgleichVorherBesserInGruppen(anAoeName, aGroupNum, aUnit, anAoeHealed, ...)
local function VUHDO_setBestUnitsForAoeInGroups(anAoeName, aGroupNum, aUnit, anAoeHealed, ...)
for tCnt = 1, select('#', ...) do
if (tUnitForAoe[select(tCnt, ...)][aUnit] or 0) >= anAoeHealed then
return;
......@@ -479,10 +479,10 @@ function VUHDO_aoeUpdateAll()
tUnit = tUnitInfo["u"];
if tUnit then
if 0 == tIndex then -- Raidweit => Besser vorher in irgendeiner Gruppen oder Raid?
VUHDO_abgleichVorherBesserInGruppen(tName, tIndex, tUnit, tUnitInfo["h"], 0, 1, 2, 3, 4, 5, 6, 7, 8);
else -- je Gruppe => Besser vorher in eigener Gruppe oder Raid?
VUHDO_abgleichVorherBesserInGruppen(tName, tIndex, tUnit, tUnitInfo["h"], 0, tIndex);
if 0 == tIndex then -- raid wide => best units in all groups or the raid?
VUHDO_setBestUnitsForAoeInGroups(tName, tIndex, tUnit, tUnitInfo["h"], 0, 1, 2, 3, 4, 5, 6, 7, 8);
else -- per group => best units in this group or the raid?
VUHDO_setBestUnitsForAoeInGroups(tName, tIndex, tUnit, tUnitInfo["h"], 0, tIndex);
end
end
......@@ -508,4 +508,4 @@ end
--
function VUHDO_getAoeAdviceForUnit(aUnit)
return VUHDO_AOE_FOR_UNIT[aUnit];
end
\ No newline at end of file
end
......@@ -475,7 +475,20 @@ function VUHDO_hotBouquetCallback(aUnit, anIsActive, anIcon, aTimer, aCounter, a
VUHDO_updateHotIcons(aUnit, "BOUQUET_" .. (aBouquetName or ""), aTimer, aCounter, anIcon, aDuration, 0, aColor, aBuffName, aClipL, aClipR, aClipT, aClipB);
end
--
local tTalentRampantGrowthSpellId;
local tIsTalentSelected;
function VUHDO_hasTalentRampantGrowth()
if "DRUID" ~= VUHDO_PLAYER_CLASS then
return false
end
tTalentRampantGrowthSpellId = 155834
_, _, _, tIsTalentSelected, _ = GetTalentInfoById(tTalentRampantGrowthSpellId)
return tIsTalentSelected
end
--
local tOtherHotCnt;
......@@ -541,17 +554,22 @@ local function VUHDO_updateHots(aUnit, anInfo)
end
end
tIsCastByPlayer = tCaster == "player" or tCaster == VUHDO_PLAYER_RAID_ID;
if sIsPlayerKnowsSwiftmend and not sIsSwiftmend then
if VUHDO_SPELL_ID.REGROWTH == tBuffName or VUHDO_SPELL_ID.REJUVENATION == tBuffName then
if VUHDO_SPELL_ID.REGROWTH == tBuffName or VUHDO_SPELL_ID.REJUVENATION == tBuffName or VUHDO_SPELL_ID.GERMINATION == tBuffName then
tStart, tSmDuration, tEnabled = GetSpellCooldown(VUHDO_SPELL_ID.SWIFTMEND);
if tEnabled ~= 0 and (tStart == nil or tSmDuration == nil or tStart <= 0 or tSmDuration <= 1.6) then
sIsSwiftmend = true;
if not tIsCastByPlayer and VUHDO_hasTalentRampantGrowth() then
sIsSwiftmend = false;
else
sIsSwiftmend = true;
end
end
end
end
if (tExpiry or 0) == 0 then tExpiry = (tNow + 9999); end
tIsCastByPlayer = tCaster == "player" or tCaster == VUHDO_PLAYER_RAID_ID;
tHotFromBuff = sBuffs2Hots[tBuffName .. tBuffIcon] or sBuffs2Hots[tSpellId];
if tHotFromBuff == "" or VUHDO_IGNORE_HOT_IDS[tSpellId] then -- non hot buff
......
......@@ -315,6 +315,8 @@ VUHDO_HEALING_HOTS = {
[VUHDO_SPELL_ID.LIFEBLOOM] = true,
[VUHDO_SPELL_ID.WILD_GROWTH] = true,
[VUHDO_SPELL_ID.CENARION_WARD] = true,
[VUHDO_SPELL_ID.GENESIS] = true,
[VUHDO_SPELL_ID.GERMINATION] = true,
-- Shaman
[VUHDO_SPELL_ID.RIPTIDE] = true,
[VUHDO_SPELL_ID.EARTHLIVING] = true,
......
......@@ -41,6 +41,8 @@ VUHDO_SPELL_ID.FLASH_HEAL = VUHDO_getSpellInfo(2061);
VUHDO_SPELL_ID.FLASH_OF_LIGHT = VUHDO_getSpellInfo(19750);
VUHDO_SPELL_ID.FROSTBOLT_VOLLEY = VUHDO_getSpellInfo(72905);
VUHDO_SPELL_ID.GIFT_OF_THE_NAARU = VUHDO_getSpellInfo(59547);
VUHDO_SPELL_ID.GENESIS = VUHDO_getSpellInfo(162359);
VUHDO_SPELL_ID.GERMINATION = VUHDO_getSpellInfo(155777);
VUHDO_SPELL_ID.GRACE = VUHDO_getSpellInfo(47517);
VUHDO_SPELL_ID.GUARDIAN_SPIRIT = VUHDO_getSpellInfo(47788);
VUHDO_SPELL_ID.HEAL = VUHDO_getSpellInfo(2060);
......@@ -65,7 +67,6 @@ VUHDO_SPELL_ID.MEND_PET = VUHDO_getSpellInfo(136);
VUHDO_SPELL_ID.MISDIRECTION = VUHDO_getSpellInfo(34477);
VUHDO_SPELL_ID.MOONKIN_FORM = VUHDO_getSpellInfo(24858);
VUHDO_SPELL_ID.NATURES_CURE = VUHDO_getSpellInfo(88423);
VUHDO_SPELL_ID.NOURISH = VUHDO_getSpellInfo(50464);
VUHDO_SPELL_ID.PAIN_SUPPRESSION = VUHDO_getSpellInfo(33206);
VUHDO_SPELL_ID.PALA_CLEANSE = VUHDO_getSpellInfo(4987);
VUHDO_SPELL_ID.POWER_WORD_BARRIER = VUHDO_getSpellInfo(62618);
......@@ -351,4 +352,4 @@ VUHDO_NATIVE_ASSIGN_SPELLS = {
[VUHDO_SPELL_ID.SOULSTONE] = true, -- wirkt auf tote und lebendige
[VUHDO_SPELL_ID.SURGING_MIST] = true, -- wird instant bei soothing mist
[VUHDO_SPELL_ID.ENVELOPING_MIST] = true,
};
\ No newline at end of file
};
......@@ -60,6 +60,8 @@ VUHDO_SPELLS = {
[VUHDO_SPELL_ID.LIFEBLOOM] = { ["isHot"] = true },
[VUHDO_SPELL_ID.WILD_GROWTH] = { ["isHot"] = true },
[VUHDO_SPELL_ID.CENARION_WARD] = { ["isHot"] = true },
[VUHDO_SPELL_ID.GENESIS] = { ["isHot"] = true },
[VUHDO_SPELL_ID.GERMINATION] = { ["isHot"] = true },
-- Hunter
[VUHDO_SPELL_ID.MEND_PET] = { ["isHot"] = true },
......@@ -92,6 +94,10 @@ function VUHDO_initFromSpellbook()
VUHDO_PLAYER_HOTS[#VUHDO_PLAYER_HOTS + 1] = VUHDO_SPELL_ID.ECHO_OF_LIGHT;
end
if "DRUID" == VUHDO_PLAYER_CLASS then
VUHDO_PLAYER_HOTS[#VUHDO_PLAYER_HOTS + 1] = VUHDO_SPELL_ID.GERMINATION;
end
twipe(VUHDO_ACTIVE_HOTS);
twipe(VUHDO_ACTIVE_HOTS_OTHERS);
......
......@@ -36,25 +36,40 @@ Improvements:
-- Added new Priest spell Clarity of Will as pumpable absorb
-- Added new Hunter aspect Aspect of the Fox
-- Added new Mage raid cooldown Amplify Magic
-- Added new Druid spell Rejuvenation (Germination) as HoT icon
-- Added new Druid spell Genesis as HoT icon
-- Added custom debuffs for 6.0 raid content
Changes:
-- Updated TOC for 6.0
-- TODO: Added custom debuffs for 6.0 raid content
-- TODO: Added Priest spell Holy Nova support for AOE advisor
-- TODO: Added Priest spell Holy Nova support for cluster indicator
-- TODO: Updated combat log event processing for multistrike
-- TODO: Added new instance difficulties
-- TODO: Updated incoming heal estimation spell bases
-- TODO: Updated overhealing estimation spell bases
-- TODO: Updated AOE advisor spell bases
-- TODO: Updated AOE advisor glyph item IDs
-- TODO: Updated AOE advisor Glyph of Light of Dawn support
-- Updated Swiftmendable check to include units with Rejuvenation (Germination)
-- Updated Swiftmendable check to exclude others HoTs when Rampant Growth is selected
-- Updated toolbox helper function for GetTalentInfo API changes
Features:
-- Minor update for Warlords of Draenor
TODO:
-- Added Priest spell Holy Nova support for AOE advisor
-- Added Priest spell Holy Nova support for cluster indicator
-- Updated combat log event processing for multistrike
-- SWING_DAMAGE/SPELL_DAMAGE/SPELL_PERIODIC_DAMAGE has new params after crushing (isOffHand, multistrike)
-- SPELL_HEAL/SPELL_PERIODIC_HEAL has new param after critical (multistrike)
-- SPELL_MISSED/SPELL_PERIODIC_MISSED/RANGE_MISSED/SWING_MISSED has new param after isOffHand (multistrike)
-- Added new instance difficulties
-- Updated incoming/over heal estimation
-- Not a bug in VuhDo - UnitGetIncomingHeals appears to return bogus values on beta
-- Updated AOE advisor spell bases
-- Healing spell base values have been removed (eg. H = Cx + B is now H = Cx)
-- Need to empirically test coefficients shown on beta tooltips
-- Use Hamlet's updated spreadsheet for WoD?
-- Updated AOE advisor glyph item IDs
-- Updated AOE advisor Glyph of Light of Dawn support
--------------------------------------------------------------
Version 3.53.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment