Mercurial > wow > wowdb-profiler
comparison Main.lua @ 281:495108578530
Added an NPC ID mapping table for the rare oddities such as Garalon (two different IDs, one used exclusively for LFR).
author | James D. Callahan III <jcallahan@curse.com> |
---|---|
date | Mon, 01 Apr 2013 11:14:15 -0500 |
parents | e1566483082c |
children | 69ed3a28c7e6 |
comparison
equal
deleted
inserted
replaced
280:5ccdd6498c16 | 281:495108578530 |
---|---|
390 local ParseGUID | 390 local ParseGUID |
391 do | 391 do |
392 local UNIT_TYPES = private.UNIT_TYPES | 392 local UNIT_TYPES = private.UNIT_TYPES |
393 local UNIT_TYPE_BITMASK = 0x007 | 393 local UNIT_TYPE_BITMASK = 0x007 |
394 | 394 |
395 local NPC_ID_MAPPING = { | |
396 [62164] = 63191, -- Garalon | |
397 } | |
398 | |
399 | |
395 function ParseGUID(guid) | 400 function ParseGUID(guid) |
396 if not guid then | 401 if not guid then |
397 return | 402 return |
398 end | 403 end |
399 local bitfield = tonumber(guid:sub(1, 5)) | 404 local bitfield = tonumber(guid:sub(1, 5)) |
402 return UNIT_TYPES.UNKNOWN | 407 return UNIT_TYPES.UNKNOWN |
403 end | 408 end |
404 local unit_type = _G.bit.band(bitfield, UNIT_TYPE_BITMASK) | 409 local unit_type = _G.bit.band(bitfield, UNIT_TYPE_BITMASK) |
405 | 410 |
406 if unit_type ~= UNIT_TYPES.PLAYER and unit_type ~= UNIT_TYPES.PET then | 411 if unit_type ~= UNIT_TYPES.PLAYER and unit_type ~= UNIT_TYPES.PET then |
407 return unit_type, tonumber(guid:sub(6, 10), 16) | 412 local unit_idnum = tonumber(guid:sub(6, 10), 16) |
413 local id_mapping = NPC_ID_MAPPING[unit_idnum] | |
414 | |
415 if id_mapping and UnitTypeIsNPC(unit_type) then | |
416 unit_idnum = id_mapping | |
417 end | |
418 return unit_type, unit_idnum | |
408 end | 419 end |
409 return unit_type | 420 return unit_type |
410 end | 421 end |
411 | 422 |
412 private.ParseGUID = ParseGUID | 423 private.ParseGUID = ParseGUID |