comparison AskMrRobot-Serializer/AskMrRobot-Serializer.lua @ 91:b8e9664d3229 v43

option to disable equipment manager sets, minor artifact/talent bug fixes
author yellowfive
date Wed, 21 Sep 2016 00:14:22 -0700
parents 6bbe64d587b4
children 177391341e26
comparison
equal deleted inserted replaced
90:db63475ef5d4 91:b8e9664d3229
1 -- AskMrRobot-Serializer will serialize and communicate character data between users. 1 -- AskMrRobot-Serializer will serialize and communicate character data between users.
2 -- This is used primarily to associate character information to logs uploaded to askmrrobot.com. 2 -- This is used primarily to associate character information to logs uploaded to askmrrobot.com.
3 3
4 local MAJOR, MINOR = "AskMrRobot-Serializer", 42 4 local MAJOR, MINOR = "AskMrRobot-Serializer", 43
5 local Amr, oldminor = LibStub:NewLibrary(MAJOR, MINOR) 5 local Amr, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
6 6
7 if not Amr then return end -- already loaded by something else 7 if not Amr then return end -- already loaded by something else
8 8
9 -- event and comm used for player snapshotting on entering combat 9 -- event and comm used for player snapshotting on entering combat
145 ["Alliance"] = 1, 145 ["Alliance"] = 1,
146 ["Horde"] = 2 146 ["Horde"] = 2
147 } 147 }
148 148
149 Amr.InstanceIds = { 149 Amr.InstanceIds = {
150 Auchindoun = 1182, 150 EmeraldNightmare = 1094,
151 BloodmaulSlagMines = 1175, 151 Nighthold = 1530
152 GrimrailDepot = 1208,
153 IronDocks = 1195,
154 ShadowmoonBurialGrounds = 1176,
155 Skyreach = 1209,
156 TheEverbloom = 1279,
157 UpperBlackrockSpire = 1358,
158 Highmaul = 1228,
159 BlackrockFoundry = 1205,
160 HellfireCitadel = 1448
161 } 152 }
162 153
163 -- instances that AskMrRobot currently supports logging for 154 -- instances that AskMrRobot currently supports logging for
164 Amr.SupportedInstanceIds = { 155 Amr.SupportedInstanceIds = {
165 --[1182] = true, 156 [1094] = true,
166 --[1175] = true, 157 [1088] = true
167 --[1208] = true,
168 --[1195] = true,
169 --[1176] = true,
170 --[1209] = true,
171 --[1279] = true,
172 --[1358] = true,
173 [1228] = true,
174 [1205] = true,
175 [1448] = true
176 } 158 }
177 159
178 -- just to make life easier, maps ID of each artifact weapon to the spec number (1-4) 160 -- just to make life easier, maps ID of each artifact weapon to the spec number (1-4)
179 Amr.ArtifactIdToSpecNumber = { 161 Amr.ArtifactIdToSpecNumber = {
180 [128402] = 1, -- DK 162 [128402] = 1, -- DK
745 return ret 727 return ret
746 end 728 end
747 729
748 -- returns true if this is an instance that AskMrRobot supports for logging 730 -- returns true if this is an instance that AskMrRobot supports for logging
749 function Amr.IsSupportedInstanceId(instanceMapID) 731 function Amr.IsSupportedInstanceId(instanceMapID)
732 for k,v in pairs(Amr.SupportedInstanceIds) do
733 local instanceId = GetAreaMapInfo(k)
734 if instanceId == tonumber(instanceMapID) then
735 return true
736 end
737 end
738 return false
739 --[[
750 if Amr.SupportedInstanceIds[tonumber(instanceMapID)] then 740 if Amr.SupportedInstanceIds[tonumber(instanceMapID)] then
751 return true 741 return true
752 else 742 else
753 return false 743 return false
754 end 744 end
745 ]]
755 end 746 end
756 747
757 -- returns true if currently in a supported instance for logging 748 -- returns true if currently in a supported instance for logging
758 function Amr.IsSupportedInstance() 749 function Amr.IsSupportedInstance()
759 local zone, _, difficultyIndex, _, _, _, _, instanceMapID = GetInstanceInfo() 750 local zone, _, difficultyIndex, _, _, _, _, instanceMapID = GetInstanceInfo()
1131 table.insert(fields, data.ActiveSpec) 1122 table.insert(fields, data.ActiveSpec)
1132 for spec = 1, 4 do 1123 for spec = 1, 4 do
1133 if data.Specs[spec] and (complete or spec == data.ActiveSpec) then 1124 if data.Specs[spec] and (complete or spec == data.ActiveSpec) then
1134 table.insert(fields, ".s" .. spec) -- indicates the start of a spec block 1125 table.insert(fields, ".s" .. spec) -- indicates the start of a spec block
1135 table.insert(fields, data.Specs[spec]) 1126 table.insert(fields, data.Specs[spec])
1136 table.insert(fields, data.Talents[spec]) 1127 table.insert(fields, data.Talents[spec] or "")
1137 1128
1138 local powerids = {} 1129 local powerids = {}
1139 local powerranks = {} 1130 local powerranks = {}
1140 local reliclinks = {} 1131 local reliclinks = {}
1141 1132
1183 -- if doing a complete export, include reputations and bank/bag items too 1174 -- if doing a complete export, include reputations and bank/bag items too
1184 if complete then 1175 if complete then
1185 1176
1186 -- export reputations 1177 -- export reputations
1187 local reps = {} 1178 local reps = {}
1179 table.insert(reps, "_")
1180 --[[
1188 local noreps = true 1181 local noreps = true
1189 if data.Reputations then 1182 if data.Reputations then
1190 for k, v in pairs(data.Reputations) do 1183 for k, v in pairs(data.Reputations) do
1191 noreps = false 1184 noreps = false
1192 table.insert(reps, k .. ":" .. v) 1185 table.insert(reps, k .. ":" .. v)
1193 end 1186 end
1194 end 1187 end
1195 if noreps then 1188 if noreps then
1196 table.insert(reps, "_") 1189 table.insert(reps, "_")
1197 end 1190 end
1198 1191 ]]
1192
1199 table.insert(fields, ".r") 1193 table.insert(fields, ".r")
1200 table.insert(fields, table.concat(reps, ",")) 1194 table.insert(fields, table.concat(reps, ","))
1201 1195
1202 -- export bag and bank 1196 -- export bag and bank
1203 local itemObjects = {} 1197 local itemObjects = {}