Mercurial > wow > askmrrobot
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 = {} |
