From a40cbb24517bda5044625cb1ef7cefd407ab50de Mon Sep 17 00:00:00 2001 From: Peter Eliasson Date: Mon, 12 Jan 2015 20:03:32 +0100 Subject: [PATCH] Some changes to highscore; * Added LFR to database for now. Might remove if too much data. * Bugfix, duration was not sent to AddEncounterParseForPlayer. --- highscore.lua | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/highscore.lua b/highscore.lua index 3aee5bc..66c21b3 100644 --- a/highscore.lua +++ b/highscore.lua @@ -22,6 +22,7 @@ addon.dbDefaults.realm.modules["highscore"] = { ["**"] = { playerParses = {} -- List of objects "{playerInfo, role, dps, hps}" }, + ["LFR"] = {}, ["Normal"] = {}, ["Heroic"] = {}, ["Mythic"] = {} @@ -46,6 +47,7 @@ function highscore:GetOrCreateEncounterTable(zoneId, zoneName, encounterId, enco zone.encounters[encounterId] = { encounterName = encounterName, difficulties = { + LFR = {playerParses = {}}, Normal = {playerParses = {}}, Heroic = {playerParses = {}}, Mythic = {playerParses = {}} @@ -60,10 +62,12 @@ function highscore:GetOrCreateEncounterTable(zoneId, zoneName, encounterId, enco end end -function highscore:AddEncounterParseForPlayer(zoneId, zoneName, encounterId, encounterName, difficultyName, player) +function highscore:AddEncounterParseForPlayer(zoneId, zoneName, encounterId, encounterName, difficultyName, duration, player) local encounterTable = self:GetOrCreateEncounterTable(zoneId, zoneName, encounterId, encounterName, difficultyName); + self:Debug(format("AddEncounterParseForPlayer (%s, %s, %s, %s)", zoneName, encounterName, difficultyName, player.name)); + if encounterTable then local parse = { playerId = player.id, @@ -73,7 +77,7 @@ function highscore:AddEncounterParseForPlayer(zoneId, zoneName, encounterId, enc itemLevel = player.itemLevel, damage = player.damage, healing = player.healing, - duration = encounter.duration + duration = duration } tinsert(encounterTable.playerParses, parse); end @@ -85,12 +89,14 @@ function highscore:AddEncounterParsesForPlayers(encounter, players) local encounterId = encounter.id; local encounterName = encounter.name; local difficultyName = encounter.difficultyName; + local duration = encounter.duration; assert(zoneId and zoneId > 1) assert(zoneName) assert(encounterId) assert(encounterName) assert(difficultyName) + assert(duration) assert(players) if not tContains(trackedZoneIds, zoneId) then @@ -99,8 +105,7 @@ function highscore:AddEncounterParsesForPlayers(encounter, players) end for _, player in ipairs(players) do - self:AddEncounterParseForPlayer(zoneId, zoneName, - encounterId, encounterName, difficultyName, player) + self:AddEncounterParseForPlayer(zoneId, zoneName, encounterId, encounterName, difficultyName, duration, player) end end -- 1.7.9.5