Mercurial > wow > wowdb-profiler
comparison Main.lua @ 351:e7cbe43d8418 WoD
Fixed bugs with timber loot recording and restricted its recording to only one object for each tree size.
author | MMOSimca <MMOSimca@gmail.com> |
---|---|
date | Sun, 05 Oct 2014 17:35:53 -0400 |
parents | 37c27a7509c4 |
children | 2776c8b1e253 |
comparison
equal
deleted
inserted
replaced
350:37c27a7509c4 | 351:e7cbe43d8418 |
---|---|
45 local PLAYER_CLASS = _G.select(2, _G.UnitClass("player")) | 45 local PLAYER_CLASS = _G.select(2, _G.UnitClass("player")) |
46 local PLAYER_FACTION = _G.UnitFactionGroup("player") | 46 local PLAYER_FACTION = _G.UnitFactionGroup("player") |
47 local PLAYER_GUID | 47 local PLAYER_GUID |
48 local PLAYER_NAME = _G.UnitName("player") | 48 local PLAYER_NAME = _G.UnitName("player") |
49 local PLAYER_RACE = _G.select(2, _G.UnitRace("player")) | 49 local PLAYER_RACE = _G.select(2, _G.UnitRace("player")) |
50 | |
51 local TIMBER_ITEM_ID = 114781 | |
50 | 52 |
51 -- Ignoring NPC casts of the following spells | 53 -- Ignoring NPC casts of the following spells |
52 local CHI_WAVE_SPELL_ID = 132464 | 54 local CHI_WAVE_SPELL_ID = 132464 |
53 local DISGUISE_SPELL_ID = 121308 | 55 local DISGUISE_SPELL_ID = 121308 |
54 | 56 |
1399 [AF.NPC] = function(item_id, quantity) | 1401 [AF.NPC] = function(item_id, quantity) |
1400 Debug("CHAT_MSG_LOOT: AF.NPC %d (%d)", item_id, quantity) | 1402 Debug("CHAT_MSG_LOOT: AF.NPC %d (%d)", item_id, quantity) |
1401 end, | 1403 end, |
1402 [AF.OBJECT] = function(item_id, quantity) | 1404 [AF.OBJECT] = function(item_id, quantity) |
1403 Debug("CHAT_MSG_LOOT: AF.OBJECT %d (%d)", item_id, quantity) | 1405 Debug("CHAT_MSG_LOOT: AF.OBJECT %d (%d)", item_id, quantity) |
1404 for timber_variant = 1, #private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[last_timber_spell_id] do | 1406 --for timber_variant = 1, #private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[last_timber_spell_id] do |
1405 -- Check for top level object data | 1407 -- Check for top level object data |
1406 local object_entry = DBEntry("objects", ("OPENING:%s"):format(private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[last_timber_spell_id][timber_variant])) | 1408 local object_entry = DBEntry("objects", ("OPENING:%s"):format(private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[last_timber_spell_id])) |
1407 local difficulty_token = InstanceDifficultyToken() | 1409 local difficulty_token = InstanceDifficultyToken() |
1408 if object_entry[difficulty_token] then | 1410 if object_entry[difficulty_token] then |
1409 -- Increment loot count | 1411 -- Increment loot count |
1410 object_entry[difficulty_token]["opening_count"] = object_entry[difficulty_token]["opening_count"] or 0 + 1 | 1412 object_entry[difficulty_token]["opening_count"] = object_entry[difficulty_token]["opening_count"] or 0 + 1 |
1411 | 1413 |
1412 -- Add drop data | 1414 -- Add drop data |
1413 object_entry[difficulty_token]["opening"] = entry[difficulty_token]["opening"] or {} | 1415 object_entry[difficulty_token]["opening"] = object_entry[difficulty_token]["opening"] or {} |
1414 table.insert(object_entry[difficulty_token]["opening"], ("%d:%d"):format(item_id, quantity)) | 1416 table.insert(object_entry[difficulty_token]["opening"], ("%d:%d"):format(item_id, quantity)) |
1415 else | 1417 else |
1416 Debug("CHAT_MSG_LOOT: When handling timber, the top level loot data was missing for objectID %s.", private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[last_timber_spell_id][timber_variant]) | 1418 Debug("CHAT_MSG_LOOT: When handling timber, the top level loot data was missing for objectID %s.", private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[last_timber_spell_id]) |
1417 end | 1419 end |
1418 end | 1420 --end |
1419 end, | 1421 end, |
1420 [AF.ZONE] = function(item_id, quantity) | 1422 [AF.ZONE] = function(item_id, quantity) |
1421 Debug("CHAT_MSG_LOOT: AF.ZONE %d (%d)", item_id, quantity) | 1423 Debug("CHAT_MSG_LOOT: AF.ZONE %d (%d)", item_id, quantity) |
1422 InitializeCurrentLoot() | 1424 InitializeCurrentLoot() |
1423 current_loot.list[1] = ("%d:%d"):format(item_id, quantity) | 1425 current_loot.list[1] = ("%d:%d"):format(item_id, quantity) |
2311 | 2313 |
2312 if not unit_name then | 2314 if not unit_name then |
2313 return | 2315 return |
2314 end | 2316 end |
2315 local unit_type, unit_id = ParseGUID(_G.UnitGUID("questnpc")) | 2317 local unit_type, unit_id = ParseGUID(_G.UnitGUID("questnpc")) |
2316 | 2318 Debug("UpdateQuestJuncture: Updating quest juncture for %s.", ("%s:%d"):format(private.UNIT_TYPE_NAMES[unit_type], unit_id)) |
2317 if unit_type == private.UNIT_TYPES.OBJECT then | 2319 if unit_type == private.UNIT_TYPES.OBJECT then |
2318 UpdateDBEntryLocation("objects", unit_id) | 2320 UpdateDBEntryLocation("objects", unit_id) |
2319 end | 2321 end |
2320 local quest = DBEntry("quests", _G.GetQuestID()) | 2322 local quest = DBEntry("quests", _G.GetQuestID()) |
2321 quest[point] = quest[point] or {} | 2323 quest[point] = quest[point] or {} |
2638 private.previous_spell_id = spell_id | 2640 private.previous_spell_id = spell_id |
2639 | 2641 |
2640 -- Handle Logging spell casts | 2642 -- Handle Logging spell casts |
2641 if private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[spell_id] then | 2643 if private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[spell_id] then |
2642 last_timber_spell_id = spell_id | 2644 last_timber_spell_id = spell_id |
2643 for timber_variant = 1, #private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[spell_id] do | 2645 --for timber_variant = 1, #private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[spell_id] do |
2644 UpdateDBEntryLocation("objects", ("OPENING:%s"):format(private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[spell_id][timber_variant])) | 2646 UpdateDBEntryLocation("objects", ("OPENING:%s"):format(private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[spell_id])) |
2645 end | 2647 --end |
2646 return | 2648 return |
2647 end | 2649 end |
2648 | 2650 |
2649 -- Handle Loot Toast spell casts | 2651 -- Handle Loot Toast spell casts |
2650 if private.LOOT_SPELL_ID_TO_ITEM_ID_MAP[spell_id] then | 2652 if private.LOOT_SPELL_ID_TO_ITEM_ID_MAP[spell_id] then |