WoWInterface SVN NeedyGreedy

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /trunk
    from Rev 98 to Rev 99
    Reverse comparison

Rev 98 → Rev 99

NeedyGreedy.lua
637,154 → 637,69
end
end
 
function NeedyGreedy:CHAT_MSG_LOOT(event, msg)
local me = UnitName("player")
local player, link, number
local CHAT_MSG_TABLE = {
{LOOT_ROLL_YOU_WON, "RecordAwarded", {1, "me", nil, nil}},
{LOOT_ROLL_WON, "RecordAwarded", {2, 1, nil, nil}},
{LOOT_ROLL_ALL_PASSED, "RecordAwarded", {1, "---", nil, nil}},
{LOOT_ROLL_PASSED_AUTO, "RecordChoice", {2, 1, nil, "pass"}},
{LOOT_ROLL_PASSED_AUTO_FEMALE, "RecordChoice", {2, 1, nil, "pass"}},
{LOOT_ROLL_NEED_SELF, "RecordChoice", {1, "me", nil, "need"}},
{LOOT_ROLL_GREED_SELF, "RecordChoice", {1, "me", nil, "greed"}},
{LOOT_ROLL_PASSED_SELF, "RecordChoice", {1, "me", nil, "pass"}},
{LOOT_ROLL_PASSED_SELF_AUTO, "RecordChoice", {1, "me", nil, "pass"}},
{LOOT_ROLL_NEED, "RecordChoice", {2, 1, nil, "need"}},
{LOOT_ROLL_GREED, "RecordChoice", {2, 1, nil, "greed"}},
{LOOT_ROLL_PASSED, "RecordChoice", {2, 1, nil, "pass"}},
{LOOT_ROLL_DISENCHANT_SELF, "RecordChoice", {1, "me", nil, "disenchant"}},
{LOOT_ROLL_DISENCHANT, "RecordChoice", {2, 1, nil, "disenchant"}},
{LOOT_ROLL_ROLLED_NEED, "RecordRoll", {2, 3, 1, nil}},
{LOOT_ROLL_ROLLED_GREED, "RecordRoll", {2, 3, 1, nil}},
{LOOT_ROLL_ROLLED_DE, "RecordRoll", {2, 3, 1, nil}},
{LOOT_ITEM_PUSHED_SELF, "RecordReceived", {1, "me", nil, nil}},
{LOOT_ITEM_PUSHED_SELF_MULTIPLE, "RecordReceived", {1, "me", nil, nil}},
{LOOT_ITEM_SELF, "RecordReceived", {1, "me", nil, nil}},
{LOOT_ITEM_SELF_MULTIPLE, "RecordReceived", {1, "me", nil, nil}},
{LOOT_ITEM, "RecordReceived", {2, 1, nil, nil}},
{LOOT_ITEM_MULTIPLE, "RecordReceived", {2, 1, nil, nil}},
}
 
link = self:unformat(LOOT_ROLL_YOU_WON, msg)
if link then
self:RecordAwarded(link, me)
return
end
function NeedyGreedy:CHAT_MSG_LOOT(event,msg)
local functionName, link, player, roll, type
local stringValues, inputs
 
player, link = self:unformat(LOOT_ROLL_WON, msg)
if player then
self:RecordAwarded(link, player)
return
for _, message in ipairs(CHAT_MSG_TABLE) do
stringValues = {self:unformat(message[1], msg)}
if #stringValues > 0 then
functionName = message[2]
inputs = message[3]
link = stringValues[inputs[1]]
if inputs[2] == "me" then
player = UnitName("player")
elseif inputs[2] == "---" then
player = "---"
else
player = stringValues[inputs[2]]
end
if inputs[3] then roll = stringValues[inputs[3]] end
type = inputs[4]
self:RecordParser(functionName, link, player, roll, type)
break
end
end
end
 
link = self:unformat(LOOT_ROLL_ALL_PASSED, msg)
if link then
self:RecordAwarded(link, "---")
return
end
 
player, link = self:unformat(LOOT_ROLL_PASSED_AUTO, msg)
if player then
self:RecordChoice(link, player, "pass")
return
end
 
player, link = self:unformat(LOOT_ROLL_PASSED_AUTO_FEMALE, msg)
if player then
self:RecordChoice(link, player, "pass")
return
end
 
link = self:unformat(LOOT_ROLL_NEED_SELF, msg)
if link then
self:RecordChoice(link, me, "need")
return
end
 
link = self:unformat(LOOT_ROLL_GREED_SELF, msg)
if link then
self:RecordChoice(link, me, "greed")
return
end
 
link = self:unformat(LOOT_ROLL_PASSED_SELF, msg)
if link then
self:RecordChoice(link, me, "pass")
return
end
 
link = self:unformat(LOOT_ROLL_PASSED_SELF_AUTO, msg)
if link then
self:RecordChoice(link, me, "pass")
return
end
 
player, link = self:unformat(LOOT_ROLL_NEED, msg)
if player then
self:RecordChoice(link, player, "need")
return
end
 
player, link = self:unformat(LOOT_ROLL_GREED, msg)
if player then
self:RecordChoice(link, player, "greed")
return
end
 
player, link = self:unformat(LOOT_ROLL_PASSED, msg)
if player then
self:RecordChoice(link, player, "pass")
return
end
 
number, link, player = self:unformat(LOOT_ROLL_ROLLED_NEED, msg)
if number then
self:RecordRoll(link, player, number)
return
end
 
number, link, player = self:unformat(LOOT_ROLL_ROLLED_GREED, msg)
if number then
self:RecordRoll(link, player, number)
return
end
 
link = self:unformat(LOOT_ITEM_PUSHED_SELF, msg)
if link then
self:RecordReceived(link, me)
return
end
 
link, number = self:unformat(LOOT_ITEM_PUSHED_SELF_MULTIPLE, msg)
if link then
self:RecordReceived(link, me)
return
end
 
link = self:unformat(LOOT_ITEM_SELF, msg)
if link then
self:RecordReceived(link, me)
return
end
 
link, number = self:unformat(LOOT_ITEM_SELF_MULTIPLE, msg)
if link then
self:RecordReceived(link, me)
return
end
 
player, link = self:unformat(LOOT_ITEM, msg)
if player then
function NeedyGreedy:RecordParser(functionName, link, player, roll, type)
if functionName == "RecordAwarded" then
self:RecordAwarded(link, player)
elseif functionName == "RecordChoice" then
self:RecordChoice(link, player, type)
elseif functionName == "RecordRoll" then
self:RecordRoll(link, player, roll)
elseif functionName == "RecordReceived" then
self:RecordReceived(link, player)
return
else
self:Print("Unrecognised function name: " .. tostring(functionName))
end
 
player, link, number = self:unformat(LOOT_ITEM_MULTIPLE, msg)
if player then
self:RecordReceived(link, player)
return
end
 
-- To handle new disenchant rules
link = self:unformat(LOOT_ROLL_DISENCHANT_SELF, msg)
if link then
self:RecordChoice(link, me, "disenchant")
return
end
 
player, link = self:unformat(LOOT_ROLL_DISENCHANT, msg)
if link then
self:RecordChoice(link, player, "disenchant")
return
end
 
player, link = self:unformat(LOOT_ROLL_DISENCHANT, msg)
if link then
self:RecordChoice(link, player, "disenchant")
return
end
 
number, link, player = self:unformat(LOOT_ROLL_ROLLED_DE, msg)
if number then
self:RecordRoll(link, player, number)
return
end
end
 
function NeedyGreedy:RecordChoice(link, player, choice)