Mercurial > wow > askmrrobot
comparison Core.lua @ 139:c229c759a125 v65
Update to support multiple setups per spec.
| author | yellowfive |
|---|---|
| date | Mon, 05 Nov 2018 16:06:00 -0800 |
| parents | 6dc0e8e9f960 |
| children | 55823e37403b |
comparison
equal
deleted
inserted
replaced
| 138:45e467335a1b | 139:c229c759a125 |
|---|---|
| 40 | 40 |
| 41 -- initialize the database | 41 -- initialize the database |
| 42 local function initializeDb() | 42 local function initializeDb() |
| 43 | 43 |
| 44 local defaults = { | 44 local defaults = { |
| 45 char = { | 45 char = { |
| 46 LastVersion = 0, -- used to clean out old stuff | |
| 46 FirstUse = true, -- true if this is first time use, gets cleared after seeing the export help splash window | 47 FirstUse = true, -- true if this is first time use, gets cleared after seeing the export help splash window |
| 47 Talents = {}, -- for each spec, selected talents | 48 Talents = {}, -- for each spec, selected talents |
| 48 Equipped = {}, -- for each spec, slot id to item info | 49 Equipped = {}, -- for each spec, slot id to item info |
| 49 BagItems = {}, -- list of item info for bags | 50 BagItems = {}, -- list of item info for bags |
| 50 BankItems = {}, -- list of item info for bank | 51 BankItems = {}, -- list of item info for bank |
| 51 BagItemsAndCounts = {}, -- used mainly for the shopping list | 52 BagItemsAndCounts = {}, -- used mainly for the shopping list |
| 52 BankItemsAndCounts = {}, -- used mainly for the shopping list | 53 BankItemsAndCounts = {}, -- used mainly for the shopping list |
| 53 GearSets = {}, -- imported gear sets | 54 GearSetups = {}, -- imported gear sets |
| 54 ExtraEnchantData = {}, -- enchant id to enchant display information and material information | 55 ExtraEnchantData = {}, -- enchant id to enchant display information and material information |
| 55 Logging = { -- character logging settings | 56 Logging = { -- character logging settings |
| 56 Enabled = false, -- whether logging is currently on or not | 57 Enabled = false, -- whether logging is currently on or not |
| 57 LastZone = nil, -- last zone the player was in | 58 LastZone = nil, -- last zone the player was in |
| 58 LastDiff = nil, -- last difficulty for the last zone the player was in | 59 LastDiff = nil, -- last difficulty for the last zone the player was in |
| 75 Auto = {} -- for each instanceId, for each difficultyId, true if auto-logging enabled | 76 Auto = {} -- for each instanceId, for each difficultyId, true if auto-logging enabled |
| 76 } | 77 } |
| 77 }, | 78 }, |
| 78 global = { | 79 global = { |
| 79 Region = nil, -- region that this user is in, all characters on the same account should be the same region | 80 Region = nil, -- region that this user is in, all characters on the same account should be the same region |
| 80 Shopping = {}, -- shopping list data stored globally for access on any character | 81 Shopping2 = {}, -- shopping list data stored globally for access on any character |
| 81 Logging = { -- a lot of log data is stored globally for simplicity, can only be raiding with one character at a time | 82 Logging = { -- a lot of log data is stored globally for simplicity, can only be raiding with one character at a time |
| 82 Wipes = {}, -- times that a wipe was called | 83 Wipes = {}, -- times that a wipe was called |
| 83 PlayerData = {}, -- player data gathered at fight start | 84 PlayerData = {}, -- player data gathered at fight start |
| 84 PlayerExtras = {} -- player extra data like auras, gathered at fight start | 85 PlayerExtras = {} -- player extra data like auras, gathered at fight start |
| 85 } | 86 } |
| 120 byDiff[difficultyId] = true | 121 byDiff[difficultyId] = true |
| 121 end | 122 end |
| 122 end | 123 end |
| 123 end | 124 end |
| 124 | 125 |
| 126 -- upgrade old gear set info to new format | |
| 127 if Amr.db.char.GearSets then | |
| 128 Amr.db.char.GearSets = nil | |
| 129 end | |
| 130 | |
| 131 if not Amr.db.char.GearSetups then | |
| 132 Amr.db.char.GearSetups = {} | |
| 133 end | |
| 134 | |
| 135 if Amr.db.global.Shopping then | |
| 136 Amr.db.global.Shopping = nil | |
| 137 end | |
| 125 | 138 |
| 126 Amr.db.RegisterCallback(Amr, "OnProfileChanged", "RefreshConfig") | 139 Amr.db.RegisterCallback(Amr, "OnProfileChanged", "RefreshConfig") |
| 127 Amr.db.RegisterCallback(Amr, "OnProfileCopied", "RefreshConfig") | 140 Amr.db.RegisterCallback(Amr, "OnProfileCopied", "RefreshConfig") |
| 128 Amr.db.RegisterCallback(Amr, "OnProfileReset", "RefreshConfig") | 141 Amr.db.RegisterCallback(Amr, "OnProfileReset", "RefreshConfig") |
| 129 end | 142 end |
| 135 Amr:RegisterChatCommand("amr", "SlashCommand") | 148 Amr:RegisterChatCommand("amr", "SlashCommand") |
| 136 | 149 |
| 137 _icon:Register(Amr.ADDON_NAME, _amrLDB, self.db.profile.minimap) | 150 _icon:Register(Amr.ADDON_NAME, _amrLDB, self.db.profile.minimap) |
| 138 | 151 |
| 139 -- listen for inter-addon communication | 152 -- listen for inter-addon communication |
| 140 self:RegisterComm(Amr.ChatPrefix, "OnCommReceived") | 153 self:RegisterComm(Amr.ChatPrefix, "OnCommReceived") |
| 141 end | 154 end |
| 142 | 155 |
| 143 local _enteredWorld = false | 156 local _enteredWorld = false |
| 144 local _pendingInit = false | 157 local _pendingInit = false |
| 158 | |
| 159 -- upgrade some stuff from old to new formats | |
| 160 local function upgradeFromOld() | |
| 161 | |
| 162 local currentVersion = tonumber(GetAddOnMetadata(Amr.ADDON_NAME, "Version")) | |
| 163 if Amr.db.char.LastVersion < 65 then | |
| 164 for i = 1,GetNumSpecializations() do | |
| 165 local _, specName = GetSpecializationInfo(i) | |
| 166 if specName then | |
| 167 print("AMR " .. specName) | |
| 168 local setid = C_EquipmentSet.GetEquipmentSetID("AMR " .. specName) | |
| 169 if setid then | |
| 170 C_EquipmentSet.DeleteEquipmentSet(setid) | |
| 171 end | |
| 172 end | |
| 173 end | |
| 174 end | |
| 175 Amr.db.char.LastVersion = currentVersion | |
| 176 | |
| 177 end | |
| 145 | 178 |
| 146 local function finishInitialize() | 179 local function finishInitialize() |
| 147 | 180 |
| 148 -- record region, the only thing that we still can't get from the log file | 181 -- record region, the only thing that we still can't get from the log file |
| 149 Amr.db.global.Region = Amr.RegionNames[GetCurrentRegion()] | 182 Amr.db.global.Region = Amr.RegionNames[GetCurrentRegion()] |
| 153 Amr.Wait(5, function() | 186 Amr.Wait(5, function() |
| 154 Amr:InitializeVersions() | 187 Amr:InitializeVersions() |
| 155 Amr:InitializeGear() | 188 Amr:InitializeGear() |
| 156 Amr:InitializeExport() | 189 Amr:InitializeExport() |
| 157 Amr:InitializeCombatLog() | 190 Amr:InitializeCombatLog() |
| 191 | |
| 192 upgradeFromOld() | |
| 158 end) | 193 end) |
| 159 end | 194 end |
| 160 | 195 |
| 161 local function onPlayerEnteringWorld() | 196 local function onPlayerEnteringWorld() |
| 162 | 197 |
