- Added several options and tools for streamers and youtubers.

- Bar animation now uses delta time and speed shouldn't variate with framerate.
- Test bars got improvement!
- Fixed balance druid sometimes being detected as resto druid.

- API: added new events: COMBAT_ARENA_START, COMBAT_ARENA_END, COMBAT_MYTHICDUNGEON_START, COMBAT_MYTHICDUNGEON_END.
- API: added Details:AddColorString (player_name, class), add the player class color in the name string.
- API: added Details:AddRoleIcon (player_name, role, size), add the role icon in the name string.
- API: framework updated to v57.
This commit is contained in:
Tercio
2017-10-09 22:43:26 -03:00
parent 54cc5f5b65
commit f55511e337
17 changed files with 2353 additions and 87 deletions
+49 -2
View File
@@ -133,7 +133,7 @@ function _G._detalhes:Start()
end
self:AtualizaGumpPrincipal (-1, true)
self.atualizador = self:ScheduleRepeatingTimer ("AtualizaGumpPrincipal", _detalhes.update_speed, -1)
_detalhes:RefreshUpdater()
for index = 1, #self.tabela_instancias do
local instance = self.tabela_instancias [index]
@@ -571,6 +571,7 @@ function _G._detalhes:Start()
local segment = segmentsToMerge [i]
if (segment == _detalhes.tabela_vigente) then
_detalhes:Msg ("unhandled exception > merged trash segment is current segment > MergeTrashCleanup() is scheduled:", isFromSchedule)
--happened after killing one mob and leaving the dungeon, lots of /reload has done inside the dungeon
end
end
@@ -1040,10 +1041,27 @@ function _G._detalhes:Start()
elseif (event == "CHALLENGE_MODE_START") then
--> CHALLENGE_MODE_START does trigger every time the player enters a mythic dungeon already in progress
--> send mythic dungeon start event
local zoneName, instanceType, difficultyID, difficultyName, maxPlayers, dynamicDifficulty, isDynamic, instanceMapID, instanceGroupSize = GetInstanceInfo()
if (difficultyID == 8) then
_detalhes:SendEvent ("COMBAT_MYTHICDUNGEON_START")
end
if (newFrame.DevelopmentDebug) then
print ("Details!", event, ...)
end
--> reset spec cache if broadcaster requested
if (_detalhes.streamer_config.reset_spec_cache) then
wipe (_detalhes.cached_specs)
end
--> ignore the event if ignoring mythic dungeon special treatment
if (_detalhes.streamer_config.disable_mythic_dungeon) then
return
end
C_Timer.After (0.5, newFrame.OnChallengeModeStart)
elseif (event == "CHALLENGE_MODE_COMPLETED") then
@@ -1051,6 +1069,17 @@ function _G._detalhes:Start()
print ("Details!", event, ...)
end
--> send mythic dungeon end event
local zoneName, instanceType, difficultyID, difficultyName, maxPlayers, dynamicDifficulty, isDynamic, instanceMapID, instanceGroupSize = GetInstanceInfo()
if (difficultyID == 8) then
_detalhes:SendEvent ("COMBAT_MYTHICDUNGEON_END")
end
--> ignore the event if ignoring mythic dungeon special treatment
if (_detalhes.streamer_config.disable_mythic_dungeon) then
return
end
--> delay to wait the encounter_end trigger first
--> assuming here the party cleaned the mobs kill objective before going to kill the last boss
C_Timer.After (2, newFrame.MythicDungeonFinished)
@@ -1060,6 +1089,11 @@ function _G._detalhes:Start()
print ("Details!", event, ...)
end
--> ignore the event if ignoring mythic dungeon special treatment
if (_detalhes.streamer_config.disable_mythic_dungeon) then
return
end
if (newFrame.IsDoingMythicDungeon) then
local encounterID, encounterName, difficultyID, raidSize, endStatus = ...
if (endStatus == 1) then
@@ -1100,11 +1134,21 @@ function _G._detalhes:Start()
print ("Details!", event, ...)
print ("Zone changed and is Doing Mythic Dungeon")
end
--> ignore the event if ignoring mythic dungeon special treatment
if (_detalhes.streamer_config.disable_mythic_dungeon) then
return
end
local _, _, difficulty, _, _, _, _, currentZoneID = GetInstanceInfo()
if (currentZoneID ~= self.MythicPlus.DungeonID) then
if (newFrame.DevelopmentDebug) then
print ("Zone changed and the zone is different than the dungeon")
end
--> send mythic dungeon end event
_detalhes:SendEvent ("COMBAT_MYTHICDUNGEON_END")
--> finish the segment
newFrame.BossDefeated (true)
@@ -1450,6 +1494,9 @@ function _G._detalhes:Start()
_detalhes:OpenWelcomeWindow()
end
--> load broadcaster tools
_detalhes:LoadFramesForBroadcastTools()
--_detalhes:OpenWelcomeWindow() --debug
-- /run _detalhes:OpenWelcomeWindow()