- Plugin 'Damage Rank': is now called 'Damage, the Game!' and was its levels adjusted to WoD.

- Plugin 'Tiny Threat': fixed player name where it was showing the realm name too.
- Plugin 'Vanguard': fixed frame details (clicking on a bar) shown behind the Vanguard panel.
- Plugin 'Vanguard': fixed a problem when clicking with right button wasn't opening the bookmark panel.
- Plugin 'Vanguard': incoming heals now count shield amount on the player too.
- Plugin 'Vanguard' Known Bug: incoming damage and melee vs avoidance seems to be inaccurate by now, we need more time to study and fix it.

- Added Twins Ogron's Charge as custom spells, one for the charge by him self and other for the copies (mythic only).

- Fixed few issues when using class text colors.
- Fixed characters name outside instances, now it replaces the realm name with a * and show the complete name on tooltip.
- Fixed damage mitigation on damage taken, this affects only specific classes like monk tank.
- Fixed auto erase poping up when the player enters on its garrison.
- Fixed segments tooltip showing trash cleanup segments inside garrisons.
- Fixed command /details disable, wasn't disabling the capture of cooldowns.
- Fixed a problem with fast dps/hps when the window is in a empty segment.
- Fixed an issue using bookmark panel where it wasn't changing the display when the window is in a plugin mode.
This commit is contained in:
Tercio
2015-01-05 23:23:25 -02:00
parent 8b0c893bde
commit faaf6380ae
18 changed files with 181 additions and 128 deletions
+28 -44
View File
@@ -27,7 +27,7 @@ local function CreatePluginFrames (data)
--local
--> default rank table
DmgRank.rank = data or {level = 1, dps = 0, dpshistory = {}, lasttry = {}, annouce = true}
DmgRank.rank = DmgRank.db
--DmgRank.rank.level = 20
--> OnEvent Table
@@ -44,7 +44,6 @@ local function CreatePluginFrames (data)
elseif (event == "COMBAT_PLAYER_TIMESTARTED") then --> combat started
--print ("recebeu event start")
local combat = select (1, ...)
--print (combat)
DmgRank:Start()
elseif (event == "PLUGIN_DISABLED") then
@@ -63,34 +62,34 @@ local function CreatePluginFrames (data)
DmgRank.TimeGoal = {
--> The 30 seconds Trial
{time = 30, damage = 1500000, name = Loc ["CHALLENGENAME_1"]}, -- Ready to Raid -- rank 2 --> -- Patrulha --> 50K DPS required
{time = 30, damage = 1800000, name = Loc ["CHALLENGENAME_2"]}, -- Damage Practice --rank 3 --> -- Soldier --> 60K DPS required
{time = 30, damage = 2100000, name = Loc ["CHALLENGENAME_3"]}, -- The Training Continue... -- rank 4 --> -- Corporal --> 70K DPS required
{time = 30, damage = 350000, name = Loc ["CHALLENGENAME_1"]}, -- Ready to Raid -- rank 2 --> -- Patrulha --> ~11K DPS required
{time = 30, damage = 420000, name = Loc ["CHALLENGENAME_2"]}, -- Damage Practice --rank 3 --> -- Soldier --> ~14K DPS required
{time = 30, damage = 500000, name = Loc ["CHALLENGENAME_3"]}, -- The Training Continue... -- rank 4 --> -- Corporal --> ~16K DPS required
--> 90 seconds bracket
{time = 90, damage = 5080000, name = Loc ["CHALLENGENAME_4"]}, -- You Just Need a Little More Time -- rank 5 --> -- Sergeant --> 56K DPS required
{time = 90, damage = 5814800, name = Loc ["CHALLENGENAME_5"]}, -- Became a Knight -- rank 6 --> -- Sergeant --> 64K DPS required
{time = 90, damage = 1601010, name = Loc ["CHALLENGENAME_4"]}, -- You Just Need a Little More Time -- rank 5 --> -- Sergeant --> ~17K DPS required
{time = 90, damage = 1666660, name = Loc ["CHALLENGENAME_5"]}, -- Became a Knight -- rank 6 --> -- Sergeant --> ~18K DPS required
--> middle bracket
{time = 120, damage = 7901760, name = Loc ["CHALLENGENAME_6"]}, -- Two Minutes -- rank 7 --> Iron Knight --> 65K DPS required
{time = 120, damage = 8442112, name = Loc ["CHALLENGENAME_7"]}, --rank 8 --> Steel Knight --> 70K DPS required
{time = 180, damage = 13452000, name = Loc ["CHALLENGENAME_8"]}, --rank 9 --> --> The High Knight --> 74K DPS required
{time = 180, damage = 14152100, name = Loc ["CHALLENGENAME_9"]}, --rank 10 --> Yes Sir! -- Thorium Knight --> 78K DPS required
{time = 180, damage = 15052100, name = Loc ["CHALLENGENAME_10"]}, --rank 11 --> Salute -- Silver Lieutenant --> 83K DPS required
{time = 120, damage = 2254120, name = Loc ["CHALLENGENAME_6"]}, -- Two Minutes -- rank 7 --> Iron Knight --> ~18K DPS required
{time = 120, damage = 2409500, name = Loc ["CHALLENGENAME_7"]}, --rank 8 --> Steel Knight --> ~20K DPS required
{time = 180, damage = 3390000, name = Loc ["CHALLENGENAME_8"]}, --rank 9 --> --> The High Knight --> ~18K DPS required
{time = 180, damage = 3499000, name = Loc ["CHALLENGENAME_9"]}, --rank 10 --> Yes Sir! -- Thorium Knight --> ~19K DPS required
{time = 180, damage = 3784051, name = Loc ["CHALLENGENAME_10"]}, --rank 11 --> Salute -- Silver Lieutenant --> ~21K DPS required
--> burst bracket
{time = 40, damage = 5000000, name = Loc ["CHALLENGENAME_11"]}, --rank 12 --> In Burst We Trust -- Gold Lieutenant --> 125K DPS required
{time = 40, damage = 5700000, name = Loc ["CHALLENGENAME_12"]}, --rank 13 --> Watch me Explode -- Stone Guardian --> 142K DPS required
{time = 40, damage = 6300000, name = Loc ["CHALLENGENAME_13"]}, --rank 14 --> T.N.T-- Fel Guardian --> 157K DPS required
{time = 40, damage = 1351144, name = Loc ["CHALLENGENAME_11"]}, --rank 12 --> In Burst We Trust -- Gold Lieutenant --> ~33K DPS required
{time = 40, damage = 1494404, name = Loc ["CHALLENGENAME_12"]}, --rank 13 --> Watch me Explode -- Stone Guardian --> ~37K DPS required
{time = 40, damage = 1569900, name = Loc ["CHALLENGENAME_13"]}, --rank 14 --> T.N.T-- Fel Guardian --> ~39K DPS required
--> long run bracket
{time = 300, damage = 35052100, name = Loc ["CHALLENGENAME_14"]}, --rank 15 --> Time is Damage My Friend -- Titan Guardian --> 116K DPS required
{time = 330, damage = 41151120, name = Loc ["CHALLENGENAME_15"]}, --rank 16 - Just a Little Patience --> Bronze Centurion --> 124K DPS required
{time = 360, damage = 47395100, name = Loc ["CHALLENGENAME_16"]}, --rank 17 --> Silver Centurion --> 131K DPS required
{time = 300, damage = 6211201, name = Loc ["CHALLENGENAME_14"]}, --rank 15 --> Time is Damage My Friend -- Titan Guardian --> ~20K DPS required
{time = 300, damage = 6842459, name = Loc ["CHALLENGENAME_15"]}, --rank 16 - Just a Little Patience --> Bronze Centurion --> ~22K DPS required
{time = 300, damage = 7511983, name = Loc ["CHALLENGENAME_16"]}, --rank 17 --> Silver Centurion --> ~25K DPS required
{time = 300, damage = 56911000, name = Loc ["CHALLENGENAME_17"]}, --rank 18 --> Flame Centurion --> ?K DPS required
{time = 360, damage = 71821980, name = Loc ["CHALLENGENAME_18"]}, --rank 19 --> Lower Vanquisher --> ?K DPS required
{time = 180, damage = 45910990, name = Loc ["CHALLENGENAME_19"]}, --rank 20 --> Middle Vanquisher --> ?K DPS required
{time = 120, damage = 4011100, name = Loc ["CHALLENGENAME_17"]}, --rank 18 --> Flame Centurion --> ~33K DPS required
{time = 120, damage = 4300000, name = Loc ["CHALLENGENAME_18"]}, --rank 19 --> Lower Vanquisher --> 35K DPS required
{time = 60, damage = 2650000, name = Loc ["CHALLENGENAME_19"]}, --rank 20 --> Middle Vanquisher --> 44K DPS required
--> end
{time = nil, damage = nil, name = ""}, --rank 21 --> none
@@ -237,23 +236,6 @@ local function CreatePluginFrames (data)
background:SetDrawLayer ("background", 1)
DmgRank.BackgroundTex = background
local AnimeFrame = CreateFrame ("frame", nil, DmgRankFrame)
AnimeFrame:SetAllPoints (DmgRankFrame)
local background2 = AnimeFrame:CreateTexture (nil, "background")
background2:SetTexture ("Interface\\AddOns\\Details_DmgRank\\solo_bgtimeattack")
background2:SetPoint ("topleft", DmgRankFrame, "topleft", 2, 0)
background2:SetPoint ("bottomright", DmgRankFrame, "bottomright", -2, 0)
DmgRank.BackgroundTex2 = background2
background2:SetDrawLayer ("background", 2)
local RotateAnimGroup = AnimeFrame:CreateAnimationGroup()
local rotate = RotateAnimGroup:CreateAnimation ("Rotation")
rotate:SetDegrees (360)
rotate:SetDuration (120)
RotateAnimGroup:SetLooping ("repeat")
RotateAnimGroup:Play()
--> next rank at display
local challengeName = DetailsFrameWork:NewLabel (DmgRankFrame, DmgRankFrame, nil, "challengeName", "", "QuestFont_Shadow_Huge")
challengeName:SetPoint ("center", DmgRankFrame, "center")
@@ -486,7 +468,7 @@ local function CreatePluginFrames (data)
DmgRank.rank.level = DmgRank.rank.level + 1
if (DmgRank.rank.annouce) then
SendChatMessage (UnitName ("player") .. " " .. Loc ["STRING_ANNOUNCE_STRING"] .. " " .. DmgRank.rank.level .. " (" .. self.Titles [DmgRank.rank.level] .. ") " .. Loc ["STRING_ANNOUNCE_ON"] .. " Details! " .. Loc ["STRING_PLUGIN_NAME"] .. ".", "GUILD")
SendChatMessage (UnitName ("player") .. " " .. Loc ["STRING_ANNOUNCE_STRING"] .. " " .. DmgRank.rank.level .. " (" .. self.Titles [DmgRank.rank.level] .. ") " .. Loc ["STRING_ANNOUNCE_ON"] .. " Details!: " .. Loc ["STRING_PLUGIN_NAME"] .. ".", "GUILD")
end
DmgRank.rank.dps = player.total
@@ -545,17 +527,19 @@ function DmgRank:OnEvent (_, event, ...)
if (_G._detalhes) then
--> create widgets
CreatePluginFrames (_detalhes_databaseDmgRank)
local MINIMAL_DETAILS_VERSION_REQUIRED = 1
local MINIMAL_DETAILS_VERSION_REQUIRED = 50
local default_config = {level = 1, dps = 0, dpshistory = {}, lasttry = {}, annouce = true}
--> Install plugin inside details
local install, saveddata = _G._detalhes:InstallPlugin ("SOLO", Loc ["STRING_PLUGIN_NAME"], "Interface\\Icons\\ACHIEVEMENT_GUILDPERK_HONORABLEMENTION_RANK2", DmgRank, "DETAILS_PLUGIN_DAMAGE_RANK", MINIMAL_DETAILS_VERSION_REQUIRED, "Details! Team", "v1.1.1")
local install, saveddata = _G._detalhes:InstallPlugin ("SOLO", Loc ["STRING_PLUGIN_NAME"], "Interface\\Icons\\ACHIEVEMENT_GUILDPERK_HONORABLEMENTION_RANK2", DmgRank, "DETAILS_PLUGIN_DAMAGE_RANK", MINIMAL_DETAILS_VERSION_REQUIRED, "Details! Team", "v1.2.0", default_config)
if (type (install) == "table" and install.error) then
print (install.error)
end
--> create widgets
CreatePluginFrames()
--> Register needed events
_G._detalhes:RegisterEvent (DmgRank, "COMBAT_PLAYER_TIMESTARTED")
+1 -2
View File
@@ -1,7 +1,6 @@
## Interface: 60000
## Title: Details DamageRank (plugin)
## Title: Details Damage, the Game! (plugin)
## Notes: Plugin for Details
## SavedVariablesPerCharacter: _detalhes_databaseDmgRank
## RequiredDeps: Details
## OptionalDeps: Ace3, LibSharedMedia-3.0, LibBossIDs-1.0, LibGraph-2.0, !ClassColors
+1 -1
View File
@@ -5,7 +5,7 @@ if (not Loc) then
end
--> Labels:
Loc ["STRING_PLUGIN_NAME"] = "Damage Rank"
Loc ["STRING_PLUGIN_NAME"] = "Damage, the Game!"
Loc ["STRING_CURRENTRANK"] = "Your current rank is:"
Loc ["STRING_ANNOUNCE"] = "announce"
Loc ["STRING_ANNOUNCE_STRING"] = "has reached the level"
+1 -1
View File
@@ -5,7 +5,7 @@ if (not Loc) then
end
--> Labels:
Loc ["STRING_PLUGIN_NAME"] = "Rank de Dano"
Loc ["STRING_PLUGIN_NAME"] = "Dano, o Jogo!"
Loc ["STRING_CURRENTRANK"] = "Seu rank atual:"
Loc ["STRING_LASTTRIES"] = "Ultimas tentativas:"
Loc ["STRING_ANNOUNCE"] = "anunciar"
@@ -52,6 +52,8 @@ local function CreatePluginFrames (data)
--> localize functions
ThreatMeter.percent_color = ThreatMeter.percent_color
ThreatMeter.GetOnlyName = ThreatMeter.GetOnlyName
--> window reference
local instance
local player
@@ -367,7 +369,6 @@ local function CreatePluginFrames (data)
pullRow:SetLeftText ("Pull Aggro At")
local realPercent = _math_floor (aggro / topThreat [6] * 100)
pullRow:SetRightText ("+" .. ThreatMeter:ToK2 (aggro - myThreat) .. " (" .. _math_floor (_math_abs ((myThreat / aggro * 100) - realPercent)) .. "%)") --
--thisRow.textleft:SetTextColor ()
pullRow:SetValue (100)
local myPercentToAggro = myThreat / aggro * 100
@@ -394,7 +395,7 @@ local function CreatePluginFrames (data)
local role = threat_actor [4]
thisRow._icon:SetTexCoord (_unpack (RoleIconCoord [role]))
thisRow:SetLeftText (threat_actor [1])
thisRow:SetLeftText (ThreatMeter:GetOnlyName (threat_actor [1]))
local pct = threat_actor [2]
+36 -19
View File
@@ -9,10 +9,12 @@ local _IsInGroup = IsInGroup --> wow api local
local _UnitAura = UnitAura --> wow api local
local _UnitName = UnitName --> wow api local
local _UnitGroupRolesAssigned = UnitGroupRolesAssigned --> wow api local
local _UnitHealth = UnitHealth --> wow api local
local _UnitHealthMax = UnitHealthMax --> wow api local
local _UnitIsPlayer = UnitIsPlayer --> wow api local
local _UnitClass = UnitClass --> wow api local
local _UnitDebuff = UnitDebuff --> wow api local
local _UnitGetIncomingHeals = UnitGetIncomingHeals
---------------------------------------------------------------------------------------------
local _cstr = string.format --> lua library local
local _table_insert = table.insert --> lua library local
@@ -22,6 +24,7 @@ local _pairs = pairs --> lua library local
local _math_floor = math.floor --> lua library local
local _math_abs = math.abs --> lua library local
local _math_min = math.min --> lua library local
local _table_sort = table.sort
---------------------------------------------------------------------------------------------
--> Create plugin Object
@@ -310,7 +313,8 @@ local function CreatePluginFrames (data)
local infoFrame = DetailsFrameWork:NewPanel (VanguardFrame, VanguardFrame, "VanguardInfoFrame", "infoFrame", 300, 100)
infoFrame:SetPoint ("topleft", VanguardFrame, "topleft")
infoFrame:Hide()
infoFrame:SetFrameLevel (5)
infoFrame:SetFrameLevel (VanguardFrame:GetFrameLevel() + 10)
VanguardFrame.InfoShown = false
infoFrame:SetBackdrop ("Interface\\DialogFrame\\UI-DialogBox-Background-Dark")
@@ -339,24 +343,33 @@ local function CreatePluginFrames (data)
ReportButton.tooltip = Loc ["STRING_REPORT_AVOIDANCE_TOOLTIP"]
infoFrame:SetHook ("OnMouseUp", function (_, button)
if (string.lower (button):find ("right")) then
--if (string.lower (button):find ("right")) then
VanguardFrame.InfoShown = false
infoFrame:Hide()
if (infoFrame.refreshTick) then
Vanguard:CancelTimer (infoFrame.refreshTick)
infoFrame.refreshTick = nil
end
end
--end
end)
local funcInfo = function()
VanguardFrame.InfoShown = true
Vanguard:VanguardRefreshInfoFrame()
local w, h = instancia:GetSize()
infoFrame.width = w
infoFrame.height = h
infoFrame:Show()
infoFrame.refreshTick = Vanguard:ScheduleRepeatingTimer ("VanguardRefreshInfoFrame", 1)
local funcInfo = function (self, button)
if (button == "LeftButton") then
VanguardFrame.InfoShown = true
Vanguard:VanguardRefreshInfoFrame()
local w, h = instancia:GetSize()
infoFrame.width = w
infoFrame.height = h
infoFrame:Show()
infoFrame.refreshTick = Vanguard:ScheduleRepeatingTimer ("VanguardRefreshInfoFrame", 1)
elseif (button == "RightButton") then
local instance = Vanguard:GetPluginInstance()
if (instance) then
_detalhes.switch:ShowMe (instance)
end
end
end
--> Info frame widgets:
@@ -456,11 +469,11 @@ local function CreatePluginFrames (data)
for actorName, _ in pairs (heal_from) do
local thisActor = Vanguard:GetActor ("current", DETAILS_ATTRIBUTE_HEAL, actorName)
local targets = thisActor.targets --> targets is a container with target classes
local amount = targets:GetAmount (_track_player_name, "total")
local amount = targets [_track_player_name] or 0
myReceivedHeal [#myReceivedHeal+1] = {actorName, amount}
end
table.sort (myReceivedHeal, Vanguard.Sort2) --> Sort2 sort by second index
_table_sort (myReceivedHeal, Vanguard.Sort2) --> Sort2 sort by second index
for i = 1, 4 do
if (myReceivedHeal[i]) then
@@ -724,7 +737,7 @@ local function CreatePluginFrames (data)
end
function Vanguard:UpdateHealth (index, unit)
local percent = UnitHealth (unit) / UnitHealthMax (unit) * 100
local percent = _UnitHealth (unit) / _UnitHealthMax (unit) * 100
Vanguard.TankFrames [index].Life (percent)
end
@@ -940,12 +953,13 @@ local function CreatePluginFrames (data)
local on_second_tick = 0
local half_second_tick = 0
-- úpdate
local onupdate = function (self, elapsed)
half_second_tick = half_second_tick + elapsed
on_second_tick = on_second_tick + elapsed
if (on_second_tick >= 1) then
if (on_second_tick >= 0.3) then
--> capture debuffs
for TankIndex, TankName in _ipairs (Vanguard.TankList) do
@@ -1008,7 +1022,7 @@ local function CreatePluginFrames (data)
on_second_tick = 0
end
if (half_second_tick > 0.5 and _track_player_object.avoidance) then
if (half_second_tick > 0.1 and _track_player_object.avoidance) then
--> capture the amount of hits and avoids
@@ -1089,8 +1103,11 @@ local function CreatePluginFrames (data)
local dmgAmt = damage_now / #damage_taken
DamageVsHeal:SetRightText (Vanguard:ToK ( _math_floor (dmgAmt)))
local IncomingHeal = UnitGetIncomingHeals (_track_player_name) or 0
DamageVsHeal:SetLeftText (Vanguard:ToK (IncomingHeal))
local shields = UnitGetTotalAbsorbs (_track_player_name) or 0
local IncomingHeal = _UnitGetIncomingHeals (_track_player_name) or 0
DamageVsHeal:SetLeftText (Vanguard:ToK (IncomingHeal + shields) .. " (|cFFFFFF55A: " .. Vanguard:ToK (shields) .. "|r)")
IncomingHeal = IncomingHeal + shields
if (dmgAmt > 0 and IncomingHeal > 0) then
if (dmgAmt > IncomingHeal) then
@@ -1125,7 +1142,7 @@ local function CreatePluginFrames (data)
local amt = 1
local hp = _UnitHealthMax (_track_player_name)/3
local last_events_table = _combat_object.player_last_events [MyName]
local last_events_table = _combat_object.player_last_events [_track_player_name or MyName] or _combat_object.player_last_events [MyName]
if (last_events_table) then
for _, tabela in _ipairs (last_events_table) do
if (tabela[1]) then