WoWInterface SVN MorgDKP

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 29 to Rev 30
    Reverse comparison

Rev 29 → Rev 30

trunk/MorgDKP/Hooks.lua
45,7 → 45,7
local orig, linkFunc = key,value -- I cant leave this out, dont ask me why.
local func = function(tooltip,a,b,c)
self:ParseTooltip(tooltip,linkFunc(a,b,c))
return
return
end
self:SecureHook(GameTooltip,orig,func)
end
57,7 → 57,7
 
local _, _, tid = string.find(link, "item:(%d+):%d+:%d+:%d+")
local id = tonumber(tid)
 
 
if link == self.link then
self:DrawTooltip(frame)
return
120,7 → 120,7
local iteminfo = GetLootSlotLink(index)
MorgDKP:MakeDewDropMenu(UIParent, iteminfo)
return
end
end
end
--return self.hooks.HandleModifiedItemClick(button)
end
133,7 → 133,7
end
end
 
return
return
--self.hooks.SetItemRef(link, text, button)
end
 
trunk/MorgDKP/BidQuery.lua
21,7 → 21,7
local POOL = self:CheckPool(id)
for qname in pairs(needquery) do
self:PointsPoolExists(qname, POOL)
local dkppoints = self:PointsFormat(qname, POOL)
local dkppoints = self:PointsFormat(qname, POOL)
if self.db.account.defaults.random or self.random[id] then dkppoints = "NONE" end
if self.db.account.defaults.bidwar then
MaxBid[id] = 0
43,30 → 43,30
if mclass ~= "All" and value then mainstring = mainstring .. mclass .. ", " end
end
for aclass, value in pairs(self.db.account.items[id].altclasses) do
if aclass ~= "All" and value then
altstring = altstring .. aclass .. ", "
if aclass ~= "All" and value then
altstring = altstring .. aclass .. ", "
isaltstring = 1
end
end
for qname in pairs(needquery) do
qclass = needquery[qname].class
qclass = needquery[qname].class
self:PointsPoolExists(qname, POOL)
local points
local points
local priority = needquery[qname].priority
if not self.db.account.defaults.bidwar then points = self:PointsFormat(qname, POOL) end
if self.db.account.defaults.bidwar or self.db.account.defaults.random or self.random[id] then points = 0 end
table.insert(t, {qname, qclass, "PENDING", points, priority})
end
if self.db.account.defaults.bidwar then
if self.db.account.defaults.bidwar then
SendChatMessage(string.format(L["auctionbegin"], link, id), "RAID")
SendChatMessage(L["bidformat"], "RAID")
else
SendChatMessage(string.format(L["rollingbegin"], link, id, itempoints), "RAID")
else
SendChatMessage(string.format(L["rollingbegin"], link, id, itempoints), "RAID")
mainstring = string.sub(mainstring, 1, -3)
SendChatMessage(mainstring, "RAID")
if isaltstring then
SendChatMessage(mainstring, "RAID")
if isaltstring then
altstring = string.sub(altstring, 1, -3)
SendChatMessage(altstring, "RAID")
SendChatMessage(altstring, "RAID")
end
end
self.querytooltips[id] = t
74,7 → 74,7
local item = "item"..id
if self.db.account.defaults.bidwar then local hint = L["BidWarBar_Hint"]
else local hint = L["Bar_Hint"] end
qso = { PENDING = 2, NEED = 4, TAKE = 3, PASS = 1 }
qso = { PENDING = 2, NEED = 4, TAKE = 3, PASS = 1 }
self:CreateQueryTooltip(id, item, sName, hint)
end
 
89,7 → 89,7
local class = BC[data.class]
self:PointsPoolExists(name, POOL)
points = self:PointsFormat(name, self.db.account.defaults.raid)
table.insert(t, {name, class, "NONE", points})
table.insert(t, {name, class, "NONE", points})
end
end
local title = L["mvquery"]
109,7 → 109,7
name = loot.Player
local class = "Unknown"
if self.db.account.raidlog[self.db.account.defaults.raidnum].playerinfo[name] then class = self.db.account.raidlog[self.db.account.defaults.raidnum].playerinfo[name].class end
ItemLink = "|c"..loot.Color.."[|Hitem:"..loot.ItemID.."|h"..loot.ItemName.."|h]|r"
ItemLink = "|c"..loot.Color.."[|Hitem:"..loot.ItemID.."|h"..loot.ItemName.."|h]|r"
points = loot.Costs
table.insert(t, {ItemLink, class, name, points})
end
131,18 → 131,18
local numitems = 0
if self.items then numitems = #self.items end
if id then
if numitems < 6 then x = xoffset[numitems]
if numitems < 6 then x = xoffset[numitems]
else x = 0 end
y = 60
elseif item == "waitlist" then x ,y = -500,50
elseif item == "listdkp" then x,y = -240,100
else x,y = 0,0 end
tablet:Register(item,
else x,y = 0,0 end
tablet:Register(item,
'detachedData', { offsetx = x, offsety= y },
'children', function()
'children', function()
tablet:SetTitle(title)
tablet:SetHint(hint)
self:UpdateQueryTooltip(id, item)
self:UpdateQueryTooltip(id, item)
end,
'clickable', true,
'cantAttach', true,
150,9 → 150,9
'showHintWhenDetached', true,
'hideWhenEmpty', true,
'strata', "HIGH",
'menu', function()
'menu', function()
dewdrop:Close()
if id then
if id then
self.querytooltips[id] = nil
tablet:Attach("item"..id)
else
173,51 → 173,51
table.sort(t, function(a,b)
local ao = qso[a[3]] or 0
local bo = qso[b[3]] or 0
if ao == bo then
if ao == bo then
if a[5] == b[5] then
if a[4] == b[4] then
return a[2]>b[2]
else
else
return a[4]>b[4]
end
else
return a[5]<b[5]
end
else
return ao>bo
return ao>bo
end
end)
end
for i,v in ipairs(t) do
if item == "history" then
if item == "history" then
r,g,b = 0,0,0
r2,g2,b2 = BC:GetColor(v[2])
r3,g3,b3 = 0,1,0
elseif item == "listdkp" then
elseif item == "listdkp" then
if v[2] == 2 then r,g,b = 1,1,1
elseif v[2] == 1 then r,g,b = 0,1,0
else r,g,b = 1,0,0 end
r2,g2,b2 = BC:GetColor(v[3])
elseif item == "waitlist" then
if v[2] then
elseif item == "waitlist" then
if v[2] then
r,g,b = BC:GetColor(v[3])
r2,g2,b2 = r,g,b
else
else
r,g,b = 1,1,1
r2,g2,b2 = r,g,b
end
r3,g3,b3 = 0,1,0
elseif item == "sync" then
elseif item == "sync" then
r,g,b = 1,1,1
if v[3] == "PW" then r2,g2,b2 = 0,1,0
else r2,g2,b2 = 1,0,0 end
if v[4] < self.version then r3,g3,b3 = 1,1,0
else r3,g3,b3 = 0,1,0 end
else
else
r,g,b = BC:GetColor(v[2])
r3,g3,b3 = MorgDKP.db.account.info[v[1]].raidloot, MorgDKP.db.account.info[v[1]].raidloot and 1, 0
if (v[3] == "NONE") or (v[3] == "PENDING") then r2,g2,b2 = 1,1,0
elseif (v[3] == "PASS") then r2,g2,b2 = 1,0,0
elseif (v[3] == "PASS") then r2,g2,b2 = 1,0,0
else r2,g2,b2 = 0,1,0 end
end
local colortog = 0
236,14 → 236,14
'text3G', g3,
'text3B', b3,
'func', function() self:ShowResults(id, item, v[1]) end,
'onEnterFunc', function()
'onEnterFunc', function()
GameTooltip:SetOwner(this, "ANCHOR_LEFT")
self:ShowTooltip(id, item, v[1])
self:ShowTooltip(id, item, v[1])
end,
'onLeaveFunc', function() GameTooltip:Hide() end
)
end
end
end
 
function MorgDKP:ShowResults(id, item, historyitem)
if id and self.db.account.defaults.bidwar then
316,7 → 316,7
for i,v in ipairs(self.querytooltips[item]) do
if v[1] == sender then
v[3] = args[1]
if self.db.account.defaults.bidwar and args[1] ~= "PASS" then
if self.db.account.defaults.bidwar and args[1] ~= "PASS" then
local bid = tonumber(args[3])
local overbid = self.db.account.info[sender][self.db.account.items[item].pool].points + self.db.account.defaults.overbid
if bid > overbid then
324,10 → 324,10
SendChatMessage(string.format(L["exceedoverbid"], self.db.account.defaults.overbid), "WHISPER", nil, sender)
end
v[4] = bid
if bid > MaxBid[item] and AuctionStatus[item] then
if bid > MaxBid[item] and AuctionStatus[item] then
MaxBid[item] = bid
self:BidWarQueryNeeded(item, sender)
elseif bid == MaxBid[item] and AuctionStatus[item] then
elseif bid == MaxBid[item] and AuctionStatus[item] then
self:BidWarQueryNeeded(item, " ")
end
end
370,7 → 370,7
if not match then
table.insert(self.querytooltips['sync'], {sender, items, pass, morgdkpdata})
end
if needtab then
if needtab then
local title = L["syncquery"]
local item = "sync"
local hint = L["Bar_Hint_Sync"]
435,11 → 435,11
local membercount = 0
if not self.db.account.info then self.db.account.info = { } end
for name, data in pairs(self.syncdkp) do
if not self.db.account.info[name] then
self.db.account.info[name] = data
if not self.db.account.info[name] then
self.db.account.info[name] = data
membercount = membercount + 1
if self.db.account.info[name].aliases then self:IsNewAlias(name) end
else
else
if self:TimeDiff(self.db.account.info[name].lastupdate, data.lastupdate) > 0 then
for item, itemdata in pairs(data) do
if item == "aliases" then
457,7 → 457,7
table.insert(self.db.account.defaults.eqDKP[self.db.account.defaults.raid].Aliases, {alt = newaliasdata.alt, main = name})
end
end
else
else
self.db.account.info[name][item] = itemdata
end
else self.db.account.info[name][item] = itemdata
525,7 → 525,7
 
function MorgDKP:OutputResults(dkpitem, tabletname, clickedname)
Lootitem, ItemLink, iQuality, _, _, _, _, _, _, _ = GetItemInfo(dkpitem)
local itempoints = self.db.account.items[dkpitem].points
local itempoints = self.db.account.items[dkpitem].points
SendAddonMessage("MORGBID","CLOSE "..dkpitem, "RAID")
AuctionStatus[dkpitem] = nil
local spaces = " "
533,35 → 533,35
Lootwinner = nil
if self.db.account.defaults.bidwar then
if self.db.account.defaults.justenough and #self.querytooltips[dkpitem] > 1 then
if self.querytooltips[dkpitem][2][4] > 0 then
itempoints = self.querytooltips[dkpitem][2][4]
if self.querytooltips[dkpitem][2][4] > 0 then
itempoints = self.querytooltips[dkpitem][2][4]
self.querytooltips[dkpitem][1][4] = itempoints
end
else itempoints = self.querytooltips[dkpitem][1][4]
end
self.db.account.items[dkpitem].points = itempoints
end
if ItemLink and itempoints then
if self.db.account.defaults.random or self.random[dkpitem] then SendChatMessage(L["doresult"]..ItemLink, "RAID")
if ItemLink and itempoints then
if self.db.account.defaults.random or self.random[dkpitem] then SendChatMessage(L["doresult"]..ItemLink, "RAID")
else SendChatMessage(L["doresult"]..ItemLink.." DKP= "..itempoints, "RAID") end
end
for i,v in ipairs(self.querytooltips[dkpitem]) do
if i == 1 then
if v[3] ~= "PASS" then Lootwinner = string.upper(string.sub(v[1],1,1))..string.sub(v[1],2,-1) end
end
local message = string.upper(v[1])
end
local message = string.upper(v[1])
message = message ..string.sub(spaces,1,(40 - self:CalcSpaces(string.upper(v[1]))))..string.upper(v[2])
message = message ..string.sub(spaces,1,(self:CalcSpaces(string.upper(v[2]))))..string.upper(v[3])
message = message ..string.sub(spaces,1,(self:CalcSpaces(string.upper(v[3]))))..string.sub(spaces,1,numspace[string.len(v[4])])..v[4]
SendChatMessage(message , "RAID")
SendChatMessage(message , "RAID")
if i == 10 then break end
if self.db.account.defaults.silent and self.db.account.defaults.bidwar and i == 1 then break end
end
self.given = true
if not Lootwinner then
if not Lootwinner then
Lootwinner = self.db.account.defaults.disenchanter
self.given = nil
elseif Lootwinner ~= clickedname then Lootwinner = clickedname
elseif Lootwinner ~= clickedname then Lootwinner = clickedname
end
if (GetNumLootItems()>0) and Lootitem and Lootwinner then
StaticPopup_Show ("MorgLoot", ItemLink, Lootwinner)
625,15 → 625,15
local POOL = self.db.account.defaults.raid
local main = self:CheckforAlias(sender, POOL)
if action == "WAIT" or action == "WAIT+" then
if member then
self:AddTwink(sender .. " " .. member)
if member then
self:AddTwink(sender .. " " .. member)
main = string.upper(string.sub(member,1,1))..string.lower(string.sub(member,2,-1))
end
self:AddWait(main)
SendChatMessage(L["waitadd"], "WHISPER", nil, sender)
SendChatMessage(L["waitadd"], "WHISPER", nil, sender)
elseif action == "WAIT-" then
self:SubWait(main)
SendChatMessage(L["waitsub"], "WHISPER", nil, sender)
SendChatMessage(L["waitsub"], "WHISPER", nil, sender)
end
end
 
643,8 → 643,8
if string.find(string.upper(args[2]), "WAIT") then self:OnWaitWhisper(sender, args[2], args[3]) return end
if #args < 3 then SendChatMessage(L["invalidformat"], "WHISPER", nil, sender) return end
local item = tonumber(args[2])
if not AuctionStatus[item] then
SendChatMessage(L["noauction"], "WHISPER", nil, sender)
if not AuctionStatus[item] then
SendChatMessage(L["noauction"], "WHISPER", nil, sender)
return
end
if not self.querytooltips[item] then
661,7 → 661,7
end
end
else
if self.db.account.defaults.bidwar then
if self.db.account.defaults.bidwar then
local bid = tonumber(args[3])
if bid and bid > 0 then
for i,v in ipairs(self.querytooltips[item]) do
676,12 → 676,12
bid = overbid
SendChatMessage(string.format(L["exceedoverbid"], self.db.account.defaults.overbid), "WHISPER", nil, sender)
end
v[4] = bid
if bid > MaxBid[item] then
MaxBid[item] = bid
v[4] = bid
if bid > MaxBid[item] then
MaxBid[item] = bid
SendChatMessage(string.format(L["bidaccepted"], bid), "WHISPER", nil, sender)
self:BidWarQueryNeeded(item, sender)
elseif bid == MaxBid[item] then
elseif bid == MaxBid[item] then
SendChatMessage(string.format(L["bidaccepted"], bid), "WHISPER", nil, sender)
self:BidWarQueryNeeded(item, " ")
end
691,16 → 691,16
end
end
tablet:Refresh("item"..item)
end
end
 
function MorgDKP:BidWarQueryNeeded(id, bidder)
self.db.account.items[id].points = MaxBid[id]
local POOL = self.db.account.items[id].pool
if self.db.account.defaults.silent then return end
local _, Link, _, _, _, _, _, _,_, _ = GetItemInfo(id)
local _, Link, _, _, _, _, _, _,_, _ = GetItemInfo(id)
SendChatMessage(string.format(L["highbidder"], Link, bidder, MaxBid[id]), "RAID")
for i,v in ipairs(self.querytooltips[id]) do
if v[3] == "TAKE" and v[1] ~= bidder then
if v[3] == "TAKE" and v[1] ~= bidder then
v[3] = "PENDING"
SendAddonMessage("MORGBID", "BIDWAR "..id.." "..MaxBid[id].." "..v[1].." "..self.db.account.info[v[1]][POOL].points.." "..self.db.account.defaults.bidstep.." "..self.db.account.defaults.overbid, "RAID")
end
709,7 → 709,7
end
 
function MorgDKP:ShowTooltip(itemid, tooltiptype, itemlink)
if tooltiptype == "history" then
if tooltiptype == "history" then
GameTooltip:SetHyperlink(itemlink)
GameTooltip:Show()
elseif itemid ~= nil then
734,7 → 734,7
for index, name in pairs(self.db.account.defaults.Waitlist.members) do
class = nil
if self.db.account.info[name].class then class = self.db.account.info[name].class end
table.insert(waitlist, {name, class, class or "Unknown", (self.db.account.info[name][POOL].points or 0)})
table.insert(waitlist, {name, class, class or "Unknown", (self.db.account.info[name][POOL].points or 0)})
end
local item = "waitlist"
local title = L["waitlist"]
754,16 → 754,16
for num, name in pairs(self.db.account.defaults.Waitlist.members) do
if name == addname then wait = true break end
end
if not wait then
if not wait then
table.insert(self.db.account.defaults.Waitlist.members, addname)
self.db.account.defaults.Waitlist.join[addname] = ttime
DEFAULT_CHAT_FRAME:AddMessage(L["add"] .. addname .. L["to"] .. L["waitlist"])
self:PlayerinDB(addname)
if self.db.account.defaults.InRaid then self:AddIndividualWait(addname) end
if self.querytooltips["waitlist"] then
if self.querytooltips["waitlist"] then
if self.db.account.info[addname].class then class = self.db.account.info[addname].class end
table.insert(self.querytooltips["waitlist"], {addname, class, class or "Unknown", (self.db.account.info[addname][POOL].points or 0)})
tablet:Refresh("waitlist")
tablet:Refresh("waitlist")
end
end
end
784,14 → 784,14
break
end
end
tablet:Refresh("waitlist")
tablet:Refresh("waitlist")
end
end
 
function MorgDKP:InformOnlineAlias(main, Onlinemembers)
local pool = self.db.account.defaults.raid
for _, data in pairs(self.db.account.defaults.eqDKP[pool].Aliases) do
if data.main == main then
if data.main == main then
if Onlinemembers[data.alt] then SendChatMessage(L["waitmain"], "WHISPER", nil, data.alt) break end
end
end
trunk/MorgDKP/DKPtracker.lua
540,4 → 540,4
if event.trash == 1 then return id end
end
return false
end
\ No newline at end of file +end
trunk/MorgDKP/MorgDKPFu.lua
170,7 → 170,7
local MLstatustext = L["statusoff"]
local attstatus = L["pending"]
local dkpstatus = L["normal"]
local Quality = {[1] = "|c009d9d9dPoor|r", [2] = "|c00ffffffCommon|r", [3] = "|c001eff00Uncommon|r", [4] = "|c000070ddRare|r", [5] = "|c00a335eeEpic|r", [6] = "|c00ff8000Legendary|r", [7] = "|c00e6cc80Artifact|r"}
local Quality = {[1] = L["Poor"], [2] = L["Common"], [3] = L["Uncommon"], [4] = L["Rare"], [5] = L["Epic"], [6] = L["Legendary"], [7] = L["Artifact"]}
if not inraid or not MorgDKP.db.account.defaults.mlooter then colortog = 1 end
if MorgDKP.MLmode then MLstatustext = L["statuson"] end
if MorgDKP.db.account.defaults.relational and MorgDKP.db.account.defaults.zerosum then dkpstatus = L["enablerelationaldkp"] .. " & " .. L["enablezerosum"]
trunk/MorgDKP/MorgDKP-deDE.lua
3,294 → 3,531
L:RegisterTranslations("deDE", function() return {
cmd1 = "/mdkp",
cmd2 = "/MorgDKP",
 
Bar_Hint = "L-Klick: Ank\195\188ndigen.\nR-Klick: Schlie\195\159en.",
Bar_Hint_DKPlist = "L-Click: Send to raid.\nR-Click: Close tablet.",
Bar_Hint_Version = "L-Klick: Sendet tells.\nR-Klick: Fenster schlie\195\159en.",
BidWarBar_Hint = "L-Klick: Ank\195\188ndigen.\nR-Klick: Fenster schlie\195\159en.",
add = "Hinzugef/195/188gt ",
adddkp = "DKP hinzuf\195\188gen",
adddkpdesc = "Einem Mitglied DKP hinzufügen. \nFormat: <charname> <punkte>",
addnewchar = "Neuen Charakter angelegt ",
aliasadd = "Alias hinzugef/195/188gt: ",
attadded = " teilnehmer hinzugef/195/188gt.",
attend = " Teilnehmer.",
bosskill = " get/195/182tet um ",
 
VoidCrystal = "|cffa335ee|Hitem:22450:0:0:0:0:0:0:0|h[Kristall der Leere]|h|r",
BadgeofJustice = "|cffa335ee|Hitem:29434:0:0:0:0:0:0:0|h[Abzeichen der Gerechtigkeit]|h|r",
ElementiumOre = "|cffa335ee|Hitem:18562:0:0:0:0:0:0:0|h[Elementiumerz]|h|r",
SmallPrismaticShard = "|cff0070dd|Hitem:22448:0:0:0:0:0:0:0|h[Kleiner Prismasplitter]|h|r",
LargePrismaticShard = "|cff0070dd|Hitem:22449:0:0:0:0:0:0:0|h[Großer Prismasplitter]|h|r",
LargeBrilliantShard = "|cff0070dd|Hitem:14344:0:0:0:0:0:0:0|h[Großer glänzender Splitter]|h|r",
CosmicInfuser = "|cffff8000|Hitem:30317:0:0:0:0:0:0:0|h[Kosmische Macht]|h|r",
Devastation = "|cffff8000|Hitem:30316:0:0:0:0:0:0:0|h[Macht der Verwüstung]|h|r",
InfinityBlade = "|cffff8000|Hitem:30312:0:0:0:0:0:0:0|h[Klinge der Unendlichkeit]|h|r",
NetherstrandLongbow = "|cffff8000|Hitem:30318:0:0:0:0:0:0:0|h[Netherbespannter Langbogen]|h|r",
StaffofDisintegration = "|cffff8000|Hitem:30313:0:0:0:0:0:0:0|h[Stab der Auflösung]|h|r",
WarpSlicer = "|cffff8000|Hitem:30311:0:0:0:0:0:0:0|h[Warpschnitter]|h|r",
PhaseshiftBulwark = "|cffff8000|Hitem:30314:0:0:0:0:0:0:0|h[Phasenverschobenes Bollwerk]|h|r",
BundleofNetherSpikes = "|cffff8000|Hitem:30320:0:0:0:0:0:0:0|h[Bündel mit Netherstacheln]|h|r",
NetherSpike = "|cffff8000|Hitem:30319:0:0:0:0:0:0:0|h[Netherstachel]|h|r",
 
Poor = "|c009d9d9dSchlecht|r",
Common = "|c00ffffffVerbreitet|r",
Uncommon = "|c001eff00Selten|r",
Rare = "|c000070ddRar|r",
Epic = "|c00a335eeEpisch|r",
Legendary = "|c00ff8000Legendär|r",
Artifact = "|c00e6cc80Artefact|r",
 
Bar_Hint = "|c000070ddL-Klick:|r Verlautbaren.\n|c000070ddR-Klick:|r Schließe Tabelle.",
--Bar_Hint_DKPlist = "|c000070ddL-Klick:|r Invite.\n|c000070ddSHIFT-Klick:|r Output.\n|c000070ddCTRL-Klick:|r Delete Character.\n|c000070ddALT-Klick:|r Add to waitlist.\n|c000070ddR-Klick:|r Schließe Tabelle.",
Bar_Hint_DKPlist = "|c000070ddL-Klick:|r Einladen.\n|c000070ddSHIFT-Klick:|r Verlautbaren.\n|c000070ddCTRL-Klick:|r Lösche Charakter.\n|c000070ddALT-Klick:|r Zur Warteliste hinzufügen.\n|c000070ddR-Klick:|r Schließe Tabelle.",
Bar_Hint_Version = "|c000070ddL-Klick:|r zuflüstern.\n|c000070ddR-Klick:|r Schließe Tabelle.",
Bar_Hint_Sync = "|c000070ddL-Klick:|r Sync mit.\n|c000070ddSHIFT-Klick:|r Sync alle.\n|c000070ddR-Klick:|r Schließe Tabelle.",
Bar_Hint_Waitlist = "|c000070ddL-Klick:|r Einladen.\n|c000070ddCTRL-Klick:|r Entfernen.\n|c000070ddR-Klick:|r Schließe Tabelle.",
BidWarBar_Hint = "|c000070ddL-Klick:|r Benede Auktion.\n|c000070ddR-Klick:|r Schließe Tabelle.",
--AcceptSYNC = "Accept sync data from %s?",
AcceptSYNC = "Synchronisationsdaten von %s akzeptieren?",
--AcceptLeaderRequest = "%s is requesting leader status. Disable your MorgDKP?",
AcceptLeaderRequest = "%s beansprucht Anführer Status. Soll dein MorgDKP abgeschaltet werden?",
ad = "Add",
--add = "Added ",
add = " hinzugefügt",
--adddkp = "Add DKP",
adddkp = "DKP hinzufügen",
--adddkpdesc = "Add DKP to a raid member. \nFormat: <charname> <points>",
adddkpdesc = "Fügt DKP einem Raid Teilnehmer hinzu. \nFormat: <Charname> <Punkte>",
--addnewchar = "Added new character ",
addnewchar = "Neuen Charakter hinzugefügt: ",
alias = "Aliases",
--aliasadd = "Added alias: ",
aliasadd = "Neuen Alias hinzugefügt: ",
--aliasexists = "Alias name already exihists",
aliasexists = "Alias Name existiert bereits",
All = "All",
--alreadybid = "Sorry this is a silent Auktion and you have already placed your bid.",
alreadybid = "<MorgDKP> Das ist eine stille Auktion und du hast bereits dein Gebot abgegeben.",
--attadded = " attendees added.",
attadded = " Teilnehmer hinzugefügt.",
--attend = " attendees.",
attend = " Teilnehmer",
--Auktionbegin = "Beginning Auktion for %s: ID = %s",
auctionbegin = "Beginne Auktion für %s: ID = %s",
autozone = "Autozone",
--autozonedesc = "Automatically start a raid when zoning into a trackable zone.",
autozonedesc = "Startet automatisch einen Raid, wenn in eine trackbare Zone gewechselt wird.",
--badformat = "Can't add an event with incomplete information.",
badformat = "Kann kein Event hinzufügen mit unvollständigen Angaben.",
--bidaccepted = "Your response has been accepted: %s",
bidaccepted = "<MorgDKP> Deine Antwort wurde akzeptiert: %s",
--bidformat = "Bid Format = mbid ID [need/take/passe/bid value]",
bidformat = "Gebots Format = mbid [ID] [need/take/pass/Gebotswert] z.B.: mbid 12345 need need = die Hälfte deiner DKP, take = MindestDKP",
bidwaroptions = "BidWar Einstellungen",
bidwaroptionsdesc = "Verschiedene BidWar Einstellungen.",
bossattemptmode = "Boss Versuchs Modus",
--bossattemptmodedesc = "Enable's a mode where a boss attempt is recorded when you die via a confirmation dialogue.",
bossattemptmodedesc = "Aktiviert einen Modus, um einen Boos Versuch über ein Bestätigungsfeld aufzuzeichen wenn du stirbst.",
--bosskill = " recorded at ",
bosskill = " aufgezeichnet um ",
--broadlead = "Broadcast Leader",
broadlead = "Verlautbare Raidleader",
--broadleaddesc = "Broadcast leader status to raid.",
broadleaddesc = "Meldet den Leader Status zum Raid.",
--bwarsteps = "BidWar Step",
bwarsteps = "BidWar Schritte",
bwarstepsdesc = "Legt die H/195/182he der DKP Schritte fest f/195/188r den BidWar Modus. Gibt den Wert an die MorgBid Clients weiter.",
charpoints = "Du musst den String korrekt formatieren: <Charakter> <Punkte>",
--bwarstepsdesc = "Changes the DKP step for BidWar mode. Passes this value to MorgBid clients.",
bwarstepsdesc = "Ändert die DKP Schritte im BidWar Modus. Übergibt den Wert an die MorgBid Klienten",
--changedcost = "Changed item cost from %s to %s for %s.",
changedcost = "Gegenstandswert von %s zu %s für %s wurde verändert.",
charpoints = "Du mußt die Eingabe richtig Formatieren: <character> <points>",
--classlist = "Classes",
classlist = "Klassen",
closemenu = "schlie/195/159en",
--classmain = "Main",
--classalt = "Offspec",
classmain = "Primär",
classalt = "Sekundär",
--cleardb = "Clear raid Datenbank?",
cleardb = "Bereinige die Raid Datenbank?",
--clearraid = "Clear Raid DB",
clearraid = "Bereinige Raid DB",
--clearraiddesc = "Clear the raid Datenbank.",
clearraiddesc = "Bereinige die Raid Datenbank.",
--cleared = "Cleared the MorgDKP Raid Datenbank.",
cleared = "MorgDKP Datenbank wurde bereinigt.",
--convert = "Convert DB",
convert = "Konvertiere DB",
--convertdesc = "Convert pre MorgDKP 6.0 Datenbank to work with MorgDKP 6.0 and above.",
convertdesc = "Konvertiert eine vor MorgDKP 6.0 Datenbank um mit MorgDKP 6.0 und höher zu funktionieren.",
--converted = "Converted old MorgDKP Datenbank.",
converted = "Alte MorgDKP Datenbank wurde konvertiert",
--closemenu = "Close",
closemenu = "Schließen",
--complete = "COMPLETED",
complete = "FERTIGGESTELLT",
--custom = "Custom event",
custom = "Benutzerdefinierter Event",
--customdesc = "Add a custom raid event. This will record all attendees when you Klick the event menu by adding Attempt to the end of the boss name you have targeted. You can change event name value through raid tracker.",
customdesc = "Fügt einen benutzerdefinierten Raid Event hinzu. Das wird alle Teilnehmer aufzeichnen wenn du auf das Eventmenü klickst während du Versuch am Ende des Bossnamens hinzufügst welchen du anvisiert hast. Du kannst den Wert im Raid Tracker ändern.",
--customname = "Custom name",
customname = "Benutzerdefinierter Name",
--deletechar = "Deleting %s from MorgDKP Datenbank.",
deletechar = "Lösche %s von der MorgDKP Datenbank.",
--deleteimportfile = "Please delete the ItemData.lua file from the MorgDKP directory now.",
deleteimportfile = "Bitte lösche jetzt die ItemData.lua aus dem MorgDKP Verzeichniss",
--denchanter = "Disenchanter",
denchanter = "Entzauberer",
denchanterdesc = "Der Spieler, der Items entzaubert.",
--denchanterdesc = "Person assigned to be disenchanter.",
denchanterdesc = "Person welcher als Entzauberer eingeteilt ist.",
--devmode = "Developer mode",
devmode = "Entwickler Modus",
--disablemod = "Disable MOD",
disablemod = "MorgDKP abschalten",
--disablemoddesc = "Send MorgDKP to STANDBY mode.",
disablemoddesc = "Versetzt MorgDKP in den Bereitschafts Modus.",
dkpword = " DKP ",
--dkp = "DKP Functions",
dkp = "DKP Funktionen",
dkpdesc = "Funktionen im Zusammenhang mit DKP-Tracking.",
dkpp = " DKP Punkte: ",
dkpstand = "DKP Stand f/195/188r ",
doresult = "Ergebnisse f/195/188r: ",
--dkpaward = "DKP Award/Time",
dkpaward = "DKP Bonus/Time",
--dkpawarddesc = "Enable DKP awarding per unit of time in minutes to raid members who have been present at least for that amount of time.",
dkpawarddesc = "Schaltet Bonus DKP pro Zeiteinheit für jene Mitglieder ein, welche eine bestimmte Zeit im Raid sind.",
--dkpchange = "Adjust DKP",
dkpchange = "DKP angleichen",
--dkpdesc = "Functions related to tracking DKP.",
dkpdesc = "Funktionen bezogen auf die DKP Aufzeichnung.",
--dkplisten = "DKP Listener",
dkplisten = "DKP lauscher",
--dkplistendesc = "When you are in a tracked zone you will track DKP but you will not get the loot popup window or link to raid. You will act like a backup raidlog.",
dkplistendesc = "Wenn du in einer aufzeichnenden Zone bist, wirst du DKP zwar aufzeichnen aber du wirst kein Beutefenster zur Beutezuweisung bekommen. Du wirst vielmehr wie ein zusätzlicher Raidlog handeln.",
--dkpp = " DKP Points: ",
dkpp = " DKP Punkte: ",
--dkpstand = "DKP Standings for ",
dkpstand = "DKP Stand für ",
dkpsys = "DKP System",
--dkptypes = "DKP Types",
dkptypes = "DKP Typen",
--dkptypesdesc = "Different DKP variations.",
dkptypesdesc = "Verschiedene DKP Variationen.",
--doresult = "Results for: ",
doresult = "Resultate für: ",
enablebidwar = "BidWar",
enablebidwardesc = "Aktiviert BidWar Modus. Dieser Modus erlaubt Spieler, um Items zu bieten. Die MorgDKP Tafel benutzt Gebote auch f\195\188r NICHT-Mitglieder DKP.",
enablemlde = "PM/VZ Mode aktivieren",
enablemldedesc = "Ist diese Option aktiviert, wird kein Loot f\195\188r den Pl\195\188ndermeister und Verzauberer aufgezeichnet.",
enablerelationaldkp = "Relationales DKP",
enablerelationaldkpdesc = "Aktiviert RDKP zur Berechnung des Bekommen/Verbraucht Anteils.",
enablezerosum = "0-Summe",
enablezerosumdesc = "Aktiviert Nullsummen DKP Systeme.",
--enablebidwardesc = "Enable BidWar mode. This mode changes the MorgBid query to allow players to bid on items. Also the MorgDKP tablet uses bids after this NOT member DKP.",
enablebidwardesc = "Schaltet BidWar Modus ein.Dieser Modus ändert die MorgBid abfragen damit die Spieler auf gegenstände bieten können. Also the MorgDKP tablet uses bids after this NOT member DKP.",
--enablejustenough = "Just Enough",
enablejustenough = "gerade Genug",
--enablejustenoughdesc = "Enable BidWar mode where the winner is charged the 2nd highest bid value for the item.",
enablejustenoughdesc = "Schaltet BidWar Modus ein, wobei der Gewinner mit dem 2. höchsten Gebot belastet wird.",
--enablemlde = "Enable ML/DE mode",
enablemlde = "ML/DE Modus einschalten",
--enablemldedesc = "If ML/DE Mode is on then no loot will be recorded for the master looter or disenchanter defined by the mod.",
enablemldedesc = "Wenn der ML/DE Modus eingeschaltet ist, wird keine beute für den Plündermeister oder Entzauberer aufgezeichnet.",
--enablepercent = "Percent",
enablepercent = "Prozent",
--enablepercentdesc = "Enable percent DKP system. Items will cost a percentage of the members total DKP.",
enablepercentdesc = "Schaltet Prozent DKP System ein. Die gegenstände werden einen einstellbaren Prozentanteil des jeweiligen Mitglieder DKP kosten.",
--enablerandom = "Random",
enablerandom = "Zufällig",
--enablerandomdesc = "Enable random rolling for items.",
enablerandomdesc = "Schaltet den zufälligen Würfeln Modus ein.",
--enablerelationaldkp = "Relational DKP",
enablerelationaldkp = "Relational DKP",
--enablerelationaldkpdesc = "Enable RDKP for calculating the earned/spent dkp ratio.",
enablerelationaldkpdesc = "Schaltet den Relationalen Modus ein wobei das verdient/ausgegeben Verhältniss berechnet wird.",
--enablesilentauction = "Silent Auktion",
enablesilentauction = "Stille Auktion",
--enablesilentauctiondesc = "Enable BidWar mode with only one round of bidding and no reporting to raid chat.",
enablesilentauctiondesc = "Schaltet den BidWar Modus ein, wobei nur EINE Runde geboten wird und die Ergebnisse NICHT in den Chat ausgegeben werden.",
enableskall = "SK Biete-alles",
enableskalldesc = "Schalte Suicide Kings 'biete alles' (spend all) DKP ein.",
--enablewait = "Award DKP",
enablewait = "DKP zuerkennen",
--enablewaitdesc = "Award DKP to the current members of the waitlist.",
enablewaitdesc = "DKP zu die Mitglieder zuerkennen, welche sich auf der Warteliste befinden.",
--enablewhisper = "Whisper System",
enablewhisper = "Flüstersystem",
--enablewhisperdesc = "Enable whisper system - sends whispers to everyone (even if they have MorgBid) so they can reply and bid using whispers.",
enablewhisperdesc = "Schaltet das Flüsternsystem ein - sendet ein Flüstern zu jedem (auch wenn sie MorgBid haben) so das diese Antworten und Bieten können.",
--enablezerosum = "0-sum",
enablezerosum = "0-summmen",
--enablezerosumdesc = "Enables the zero sum DKP system.",
enablezerosumdesc = "Schaltet das Null-Summen System ein.",
--endbidding = "Bidding is now closed.",
endbidding = "Das Abgeben von Geboten ist nun beendet.",
--endraid = "End Raid",
endraid = "Beende Raid",
endraiddesc = "Schlie\195\159t die Raid Datenbank und gibt den DKP string f\195\188r Bosskills und erlangten Loot aus.",
fubarhint = "CLICK: MorgBid Base query.\nSHIFT-CLICK: Toggle active.\nALT-CLICK: Toggle ML/DE\nCTRL-CLICK: Raid Tracker.",
giveboe = "BOE zuweisen",
giveboedesc = "Gibt einem Spieler im Raid ein BOE Item und zeichnet dies in der Raid Loot Datenbank auf.",
itemhistory = "Item History",
itemhistorydesc = "Zeigt alle Items, die in diesem Raid gelootet wurden. \nAchtung: Nur seit der letzte Raid gestartet worden ist.",
joinraid = " ist dem Raid beigetreten um ",
leftraid = " hat den Raid verlassen um ",
listdkp = "List DKP",
listdkpdesc = "Lists the DKP of the selected classes in tablet.",
logquality = "Aufzeichnungsqualit\195\164t",
logqualitydesc = "Alles unter diesem Qualit\195\164tsstand wird NICHT aufgezeichnet.",
lootdistro = "W/195/164hlbare Items:",
lootquery = "%s an %s geben, bist du sicher?",
manualitem = "Item h/195/182ndisch hinzuf/195/188gen",
manualitemdesc = "F/195/188gt ein Item aus dem Inventar hinzu. N/195/188tzlich f/195/188r manche BOE Items und Items die du nicht looten kannst.",
mloot = "Pl\195\188ndermeister",
mlootdesc = "Der Spieler, die Pl\195\188ndermeister ist. Das Addon versucht es automatisch einzustellen.",
--endraiddesc = "Close the raid Datenbank for the current raid.",
endraiddesc = "Beendet die Aufzeichnung und schließt die Datenbank für den momentanen Raid .",
--endraidadd = "End %s",
endraidadd = "Beende %s",
--endandadd = "and add these attendees < %s min?",
endandadd = "und füge diese Mitglieder < %s Minuten hinzu?",
--eventformat = "Event format",
eventformat = "Ereignissformatierung",
--eventformatdesc = "Format for the event names that are automatically recorded. Format = <[zone]> - <[boss]>. Choose one or two in any order. Example: [zone] - [boss]",
eventformatdesc = "Formatierung für die Eventnamen die automatisch aufgezeichnet werden. Format = <[zone]> - <[boss]>. Wähle ein oder zwei in beliebiger Reihenfolge. Example: [zone] - [boss]",
--exceedoverbid = "You have exceeded the overbid amount of %s. Your bid has been reset to the maximum.",
exceedoverbid = "Du hast den Überbietwert von %s überschritten. Dein Gebot wurde auf das erlaubte maximum reduziert.",
events = "Events",
from = " von ",
--fubarhint = "|c000070ddKlick:|r MorgBid Base query.\n|c000070ddALT-Klick:|r Toggle ML/DE\n|c000070ddSHIFT-Klick:|r Invite & Waitlist.\n|c000070ddCTRL-Klick:|r Raid Tracker.\n|c000070ddCTRL-Klick Itemlink:|r Ignore item.",
fubarhint = "|c000070ddKlick:|r MorgBid Basis Abfrage.\n|c000070ddALT-Klick:|r ML/DE wechseln\n|c000070ddSHIFT-Klick:|r Einladen und Warteliste.\n|c000070ddSTRG-Klick:|r Raid Tracker.\n|c000070ddSTRG-Klick Itemlink:|r Ignoriere Gegenstand.",
--fubarhintdisabled = "On STANDBY.\n|c000070ddKlick:|r to enable.",
fubarhintdisabled = "Auf BEREITSCHAFT.\n|c000070ddKlick:|r um einzuschalten.",
--fubaropts = "Fubar Options",
fubaropts = "Fubar Einstellungen",
--giveboe = "Give BOE",
giveboe = "Vergebe BOE",
--giveboedesc = "Give a player in the raid a BOE and record in the raid loot Datenbank.",
giveboedesc = "Gibt einem Spieler im Raid einen BOE Gegenstand und zeichnet die Beute in der Datenbank auf.",
--highbidder = "New high bidder for %s: %s = %s",
highbidder = "Neues höchstes Gebot für %s: %s hat %s geboten.",
--ignorelist = "Ignored items",
ignorelist = "Ignorierte Gegenstände",
--ignorelistdesc = "List of currently ignored items. Klick to remove ignored item.",
ignorelistdesc = "Liste von den momentanen ignorierten gegenständen. Klicke auf einen gegenstand um es von der Liste zu entfernen",
--ImportdefaultDB = "Import saved item Datenbank?",
ImportdefaultDB = "Gegenstandsdatenbank importieren?",
--invalidformat = "Sorry your response format is incorrect or no item with that ID is up for bidding. Format = mbid ID [need/take/passe/bid value]",
invalidformat = "<MorgDKP:Automatische Nachricht> Deine Antwort ist nicht richtig oder deine angegebene Item-ID ist falsch. Format = mbid [ID] [need/take/pass/DKP-Wert]",
--itemhistory = "Item History",
itemhistory = "Gegenstandsliste",
--itemhistorydesc = "Show history of items looted in this raid. \nNote: Since you last started a new raid.",
itemhistorydesc = "Zeigt die bisher geplünderten Gegenstände des Raids. \nInfo: Seit der letzte Raid gestartet wurde.",
--joinraid = " joined the raid at ",
joinraid = " hat sich der Schlachtgruppe angeschlossen um ",
--leftraid = " left the raid at ",
leftraid = " hat die Schlachtgruppe verlassen um ",
--listdkp = "List DKP",
listdkp = "DKP auflisten",
--listdkpdesc = "Lists the DKP of the selected classes in tablet.",
listdkpdesc = "Listet die DKP der gewählten Klassen in einer Tabelle.",
--logquality = "Log Quality",
logquality = "Aufzeichnungsqualität",
--logqualitydesc = "Anything below this quality level will NOT be logged.",
logqualitydesc = "Alle Gegenstände geringer als diese Qualität werden NICHT aufgezeichnet.",
--lootdistro = "Eligible Items:",
lootdistro = "Auswählbare Gegenstände:",
--lootquery = "Give %s to %s, are you sure?",
lootquery = "Gebe %s an %s, bist du sicher?",
--manualitem = "Add manual item",
manualitem = "Gegenstand von Hand zufügen",
--manualitemdesc = "Add an item for distribution from your inventory. Useful for some BOE's and items you can not loot.",
manualitemdesc = "Fügt einen Gegenstand aus deinem Inventar zur Zuweisung hinzu. Brauchbar für manche BOE Gegenstände die du nicht plündern kannst.",
--Menu = "FuBar Options",
Menu = "FuBar Einstellungen",
--mldefunc = "ML/DE mode",
mldefunc = "ML/DE Modus",
--mloot = "Master Looter",
mloot = "Plündermeister",
--mlootdesc = "Person assigned to be master looter. The mod will determine this automatically if it can.",
mlootdesc = "Person welche als Plündermeister eingeteilt wurde. Das Addon wird versuchen das automatisch festzustellen.",
--morgbidcheck = "MorgBid Base",
morgbidcheck = "MorgBid Basis",
morgbidcheckdesc = "Ermittelt die MorgBid User Basis. \nAuch n\195\188tzlich um die DKP auf Twinks zu checken.",
--morgbidcheckdesc = "Determine MorgBid user base. \nAlso useful to check DKP for alts.",
morgbidcheckdesc = "Ermittelt MorgBid Anwender Basis. \nAuch nützlich um die DKP der Twinks festzustellen.",
--morgbidmaxwhisper = "Current bid for ID: %s = %s (Reply format: mbid ID [passe/bid value])",
morgbidmaxwhisper = "Momentanes Gebot für ID: %s = %s (Antworte bitte mit: mbid ID [pass/Gebotswert]) z.B.: mbid 12345 35",
--morgbidwhisper = "%s: ID = %s DKP/Bid value = %s (Reply format: mbid ID [need/take/pass/bid value])",
morgbidwhisper = "Willst du auf %s: ID = %s bieten? Antworte bitte mit: mbid [ID] [need/take/pass]. need = hälfte DKP, take = %s DKP z.B: mbid 12345 take",
morgtitle = "MorgDKP",
mvquery = "MorgBid Version Abfrage",
needraid = "Du kannst diese Funktion nicht au/195/159erhalb eine Raidgruppe verwenden.",
newdkp = " Neue DKP: ",
noitem = "Item existiert nicht!",
nolootrec = "PM Modus ist aktiviert, damit wird kein Loot f/195/188r PM/VZ aufgezeichnet.",
nomain = "Dieser Mainchar existiert nicht. Keine /195/132nderungen wurden durchgef/195/188hrt.",
noquery = "Entweder sind keine Klassen selektiert oder kein Mitglied braucht dieses Item.",
noraid = "Es existiert gerade kein Raid.",
notexi = " existiert nicht.",
olddkp = ": Alte DKP: ",
playfrom = " Spieler von ",
pointsto = " Punkte jedem ",
query = "abfragen",
queryraid = "Raid Abfrage",
queryraiddesc = "Fragt die Raidmitglieder, ob Interesse an dem Item besteht.",
querysent = "MorgBid Anfrage gesendet: ",
raidatt = " Raidteilnehmer.",
raidstartadd = " teilnehmer bei Raidstart.",
receive = "erh/195/164lt ",
removed = "Entfernt ",
rightclickclose = "Rechtsklick zum schlie\195\159en.",
roundbid = "Gebote f/195/188r diese Runde: ",
setitempoints = "Item Punkte festsetzen",
setitempointsdesc = "DKP Kosten f\195\188r das gew\195\164hlte Item.",
startraid = "Starte Raid",
startraiddesc = "Resettet die Raid Datenbank, um eine neue Raidaufzeichnung zu beginnen. \nGibt auch den DKP string f\195\188r den Start Bonus aus.",
sub = "Entfernt ",
subdkp = "DKP entfernen",
subdkpdesc = "Entfernt DKP von einem Raidmitglied. \nFormat: <charname> <punkte>",
to = " an ",
transfer = "/195/188bertragen ",
twinkaltmain = "Du musst den String korrekt formatieren: <twinkalt> <twinkmain>",
twinks = "Twink hinzuf\195\188gen",
twinksdesc = "F\195\188gt einen Spieler zum Raid hinzu, der mit einem Twink dabei ist und mit dem Main DKP Punkte hat. \n Format: <twink> <main>",
updatedkp = "Update DKP PunkteÂ…",
updatemorgbid = "Bitte MorgBid updaten. http://www3.telus.net/MorgDKP/MorgBid3.6.exe. Danke :)",
validname = "Du musst einen g/195/188ltigen Namen eingeben.",
valuehint = "Mausrad hoch/Linksklick - Betrag erh/195/182hen.\nMausrad runter/Rechtsklick - Betrag verringern.\nSHIFT-Taste - Betrag um +/-1 /195/164ndern\nALT-Taste - Betrag um +/-20 /195/164ndern",
--need loc
Bar_Hint_Sync = "|c000070ddL-Click:|r Sync with.\n|c000070ddSHIFT-Click:|r Sync all.\n|c000070ddR-Click:|r Close tablet.",
Bar_Hint_Waitlist = "|c000070ddL-Click:|r Invite.\n|c000070ddCTRL-Click:|r Remove.\n|c000070ddR-Click:|r Close tablet.",
AcceptLeaderRequest = "%s is requesting leader status. Disable your MorgDKP?",
AcceptSYNC = "Accept sync data from %s?",
ad = "Add",
alias = "Aliases",
aliasexists = "Alias name already exihists",
All = "All",
alreadybid = "Sorry this is a silent auction and you have already placed your bid.",
auctionbegin = "Beginning auction for %s: ID = %s",
autozone = "Autozone",
autozonedesc = "Automatically start a raid when zoning into a trackable zone.",
badformat = "Can't add an event with incomplete information.",
bidaccepted = "Your response has been accepted: %s",
bidformat = "Bid Format = mbid ID [need/take/pass/bid value]",
bidwaroptions = "BidWar Options",
bidwaroptionsdesc = "Different BidWar options.",
bossattemptmode = "Boss Attempt Mode",
bossattemptmodedesc = "Enable's a mode where a boss attempt is recorded when you die via a confirmation dialogue.",
bosstime = " took %s:%s to defeat!",
broadlead = "Broadcast Leader",
broadleaddesc = "Broadcast leader status to raid.",
changedcost = "Changed item cost from %s to %s for %s.",
classmain = "Main",
classalt = "Offspec",
cleardb = "Clear raid database?",
clearraid = "Clear Raid DB",
clearraiddesc = "Clear the raid database.",
cleared = "Cleared the MorgDKP Raid database.",
convert = "Convert DB",
convertdesc = "Convert pre MorgDKP 6.0 database to work with MorgDKP 6.0 and above.",
converted = "Converted old MorgDKP Database.",
complete = "COMPLETED",
custom = "Custom event",
customdesc = "Add a custom raid event. This will record all attendees when you click the event menu by adding Attempt to the end of the boss name. You can change event name value through raid tracker.",
customname = "Custom name",
deletechar = "Deleting %s from MorgDKP database.",
deleteimportfile = "Please delete the ItemData.lua file from the MorgDKP directory now.",
devmode = "Developer mode",
disablemod = "Disable MOD",
disablemoddesc = "Send MorgDKP to STANDBY mode.",
dkpaward = "DKP Award/Time",
dkpawarddesc = "Enable DKP awarding per unit of time in minutes to raid members who have been present at least for that amount of time.",
dkpchange = "DKP Changes",
dkplisten = "DKP Listener",
dkplistendesc = "When you are in a tracked zone you will track DKP but you will not get the loot popup window or link to raid. You will act like a backup raidlog.",
dkpsys = "Adjust DKP",
dkptypes = "DKP Types",
dkptypesdesc = "Different DKP variations.",
dkpword = " DKP ",
enablejustenough = "Just Enough",
enablejustenoughdesc = "Enable BidWar mode where the winner is charged the 2nd highest bid value for the item.",
enablepercent = "Percent",
enablepercentdesc = "Enable percent DKP system. Items will cost a percentage of the members total DKP.",
enablerandom = "Random",
enablerandomdesc = "Enable random rolling for items.",
enablesilentauction = "Silent Auction",
enablesilentauctiondesc = "Enable BidWar mode with only one round of bidding and no reporting to raid chat.",
enableskall = "SK Spend-all",
enableskalldesc = "Enable Suicide Kings spend all DKP.",
enablewait = "Award DKP",
enablewaitdesc = "Award DKP to the current members of the waitlist.",
enablewhisper = "Bidding Whispers",
enablewhisperdesc = "Enable whisper system - sends whispers to everyone (even if they have MorgBid) so they can reply and bid using whispers.",
endraidadd = "End %s",
endandadd = "and add these attendees?",
endbidding = "Bidding is now closed.",
eventformat = "Event format",
eventformatdesc = "Format for the event names that are automatically recorded. Format = <zone> <boss>. Choose one or two in any order.",
events = "Events",
exceedoverbid = "You have exceeded the overbid amount of %s. Your bid has been reset to the maximum.",
from = " from ",
fubarhintdisabled = "On STANDBY.\n|c000070ddClick:|r to enable.",
fubaropts = "Fubar Options",
highbidder = "New high bidder for %s: %s = %s",
ignorelist = "Ignored items",
ignorelistdesc = "List of currently ignored items. Click to remove ignored item.",
importdkp = "Import DKP",
importdkpdesc = "Import DKP string from website. Note: UI will be reloaded.",
ImportdefaultDB = "Import saved item database?",
invalidformat = "Sorry your response format is incorrect or no item with that ID is up for bidding. Format = mbid ID [need/take/pass/bid value]",
Menu = "FuBar Options",
mldefunc = "ML/DE mode",
morgbidmaxwhisper = "Current bid for ID: %s = %s (Reply format: mbid ID [pass/bid value])",
morgbidwhisper = "%s: ID = %s DKP/Bid value = %s (Reply format: mbid ID [need/take/pass/bid value])",
multi = "multiPool",
multidesc = "Enable more than one DKP pool for rolling on items. When starting auction you have to choose the alternate pool to use or it will be main pool that is used.",
noauction = "This item is not currently up for bid.",
multidesc = "Enable more than one DKP pool for rolling on items. When starting Auktion you have to choose the alternate pool to use or it will be main pool that is used.",
--mvquery = "MorgBid Version Query",
mvquery = "MorgBid Versions Abfrage",
--needraid = "You can not use this function out of a raid group.",
needraid = "Du kannst diese Funktion nicht auserhalb einem Raid nutzen.",
--newdkp = " New DKP: ",
newdkp = " neue DKP: ",
--noAuktion = "This item is not currently up for bid.",
noauction = "Um diesen Gegenstand wird zur Zeit nicht geboten.",
--noitem = "Item does not exist!",
noitem = "öhm.. sorry, aber der Gegenstand existiert nicht!",
--nolootrec = "ML Mode is currently on so no loot will be recorded for ML/DE.",
nolootrec = "ML Modus ist eingeschaltet. Es wird keine Beute für ML/DE aufgezeichnet.",
--nomain = "This main character does not exhist. No changes made.",
nomain = "Dieser Mainchar existiert nicht. Es wurden keine Änderungen durchgeführt.",
--noquery = "Either no classes are selected or no members need this item.",
noquery = "Entweder sind keine Klassen ausgewählt oder niemand benötigt diesen Gegenstand.",
--noraid = "No current raid exists.",
noraid = "Es existieren keine laufenden Raids.",
normal = "Standard",
--notexi = " does not exist.",
notexi = " existiert nicht.",
option = "Einstellungen",
--olddkp = ": Old DKP: ",
olddkp = ": alte DKP: ",
onerun = "Single Run event",
onerundesc = "Use one event for entire raid. Boss kills will not be tracked separately.",
option = "Options",
otheroptions = "Other Options",
otheroptionsdesc = "Miscellaneous DKP/tracking options.",
overbidmax = "Overbid",
overbidmaxdesc = "Maximum to allow members to bid above their present DKP.",
pending = "PENDING...",
percenttake = "% Take Mode",
percenttakedesc = "When using the percent DKP system this option enables TAKE looting. This means if the winning member rolled TAKE he will not be charged x% DKP he will instead be charged the base price of the item (Set using original itempoints.",
pool = "DKP Pool",
pooldesc = "Set DKP Pool to be primary (or only if not multiPool) DKP pool.",
--onerundesc = "Use one event for entire raid. Boss kills will not be tracked separately.",
onerundesc = "Verwende ein Event für den gesammten Raid. Boss kills werden nicht seperat aufgezeichnet.",
--otheroptions = "Other Options",
otheroptions = "andere Einstellungen",
--otheroptionsdesc = "Miscellaneous DKP/tracking options.",
otheroptionsdesc = "Verschiedene DKP/Aufzeichnungs Einstellungen.",
--overbidmax = "Overbid",
overbidmax = "Überbieten",
--overbidmaxdesc = "Maximum to allow members to bid above their present DKP.",
overbidmaxdesc = "Maxiamaler erlaubter Wert um über die vorhandenen DKP zu bieten.",
--pending = "PENDING...",
pending = "AUSSTEHEND...",
--percenttake = "% take Mode",
percenttake = "% take (gier) Modus",
--percenttakedesc = "When using the percent DKP system this option enables TAKE looting. This means if the winning member rolled TAKE (Gier) he will not be charged x% DKP he will instead be charged the base price of the item (Set using original itempoints.",
percenttakedesc = "Wenn das Prozentsystem genutzt wird, schaltet diese Option den TAKE (Gier) Modus ein. Das bedeutet, das wenn der Gewinner TAKE ausgewählt hat, werden ihm nicht x% DKP abgezogen, sondern der minimum Wert des Gegenstands",
--playfrom = " players from ",
playfrom = " Mitglieder von ",
--pointsto = " points each to ",
pointsto = " Punkte jeweils zu ",
pool = "Main DKP Pool",
--pooldesc = "Set DKP Pool to be primary (or only if not multiPool) DKP pool.",
pooldesc = "Setzt den DKP Pool zum primären (oder einzigen wenn nicht MultiDKP) DKP pool.",
pooluse = "Pool",
poolusedesc = "Choose DKP pool to use for this item roll.",
pools = "Currently loaded DKP pools....",
raiddbfunc = "Import DKP standings",
--poolusedesc = "Choose DKP pool to use for this item roll.",
poolusedesc = "Wähle den zu verwendenden DKP pool für diesen Gegenstand.",
--pools = "Currently loaded DKP pools....",
pools = "Zur Zeit geladene DKP Pools....",
--query = "Query",
query = "Anfragen",
--queryraid = "Query Raid",
queryraid = "Raidabfrage",
--queryraiddesc = "Query raid members interest in the given item.",
queryraiddesc = "Frage raid teilnehmer ab ob sie interesse an dem Gegenstand haben.",
--querysent = "MorgBid query sent: ",
querysent = "MorgBid Anfrage gesendet: ",
--raidatt = " raid attendees.",
raidatt = " Raid Teilnehmer.",
raids = "Raids",
raidtrack = "Raid Tracking",
raidtrackdesc = "Opens the raid tracking functions window.",
recordbossattempt = "Record boss attempt for %s?",
requestsync = "Requesting database sync...",
rollingbegin = "Now querying for %s ID = %s DKP %s....",
rundkp = "Export Raid",
rundkpdesc = "Output raid data for Morgimport\nDatabase reset is recommended after or raid logs may get large.",
runevent = "Sorry deleteing the run event is not allowed as trash drops are recorded in this event.",
runrewardtime = "Minimum Run Time",
runrewardtimedesc = "Minimum time in minutes a member must be in the raid before they recieve run DKP. ie 30 min",
sentsync = "Transmitted item database over sync channel.",
--raidstartadd = " attendees to raid start.",
raidstartadd = " Teilnehmer zum Start Raid",
--raidtrack = "Raid Tracking",
raidtrack = "Raid Aufzeichnung",
--raidtrackdesc = "Opens the raid tracking functions window.",
raidtrackdesc = "Öffnet das Raidaufzeichnungs Fenster.",
--receive = " Receives ",
receive = " bekommt ",
--recordbossattempt = "Record boss attempt for %s?",
recordbossattempt = "Boss Versuch aufzeichnen für %s?",
--removed = "Removed ",
removed = " entfernt",
--requestsync = "Requesting Datenbank sync from %s...",
requestsync = "Frage für Datenbank sync von %s an...",
--rightKlickclose = "|c000070ddKlick:|r Edit item value. |c000070ddR-Klick|r to close.",
rightclickclose = "|c000070ddKlick:|r Editiere Gegenstandswert. |c000070ddR-Klick|r um zu schließen.",
--rollingbegin = "Now querying for %s ID = %s DKP %s....",
rollingbegin = "Frage jetzt für %s ID = %s ( Mindest DKP = %s ) ab....",
--roundbid = "Bids for this round:",
roundbid = "Gebote für diese Runde:",
--rundkp = "Export Raid",
rundkp = "Exportiere Raid",
--rundkpdesc = "Output raid data for Morgimport\nDatenbank reset is recommended after or raid logs may get large.",
rundkpdesc = "Ausgabe der Raid Daten für Morgimport\nEs wird empfohlen danach die Datenbank zurückzusetzten da die Raid Aufzeichnung sehr groß werden kann.",
--runevent = "Sorry deleteing the run event is not allowed as trash drops are recorded in this event.",
runevent = "Das Löschen des run Ereignisses funktioniert nicht, solange trash Beute in diesem Ereigniss aufgezeichnet ist.",
--runrewardtime = "Minimum Run Time",
runrewardtime = "Mindestzeit",
--runrewardtimedesc = "Minimum time in minutes a member must be in the raid before they recieve run DKP. ie 30 min",
runrewardtimedesc = "Mindestzeit, die ein Teilnehmer im Raid sein muß um run DKP zu bekommen. z.B.: 30 min",
--sentsync = "Transmitted item Datenbank over sync channel to %s.",
sentsync = "Gegenstandsdatenbank wurde über den Sync Kanal an %s übermittelt.",
--setitempoints = "Set Item Points",
setitempoints = "Gegenstandswert setzten",
--setitempointsdesc = "DKP charge for selected item.",
setitempointsdesc = "DKP Kosten für den gewählten Gegenstand.",
startformat = "Start format",
startformatdesc = "Format of start event name: <[zone]> <text>. Example: [zone] Start",
--startformatdesc = "Format of start event name: <[zone]> <text>. Example: [zone] Start",
startformatdesc = "Format des Start Ereignisses: <[zone]> <text>. Beispiel: [zone] Start",
startraid = "Start Raid",
--startraiddesc = "Starts a new raid Datenbank to begin tracking a raid.",
startraiddesc = "Beginnt eine neue Raid-Datenbank um die Aufzeichnung eines Raids zu starten.",
--startruntrack = "Start Event",
startruntrack = "Start Event",
startruntrackdesc = "Track raidstart event.",
statusoff = "|c009d9d9dOFF|r",
statuson = "|c001eff00ON|r",
syncdb = "Sync Item DB",
syncdbdesc = "Sync your item database with another MorgDKP user. Note: replaces your item database and any values you have added. Use with caution.",
syncdone = "Database transfer complete and %s items were transferred.",
--startruntrackdesc = "Track raidstart event.",
startruntrackdesc = "zeichnet das Raidstart Ereigniss auf.",
statusoff = "|c009d9d9dAUS|r",
statuson = "|c001eff00EIN|r",
--sub = "Subtracted ",
sub = "abgezogen ",
--subdkp = "Remove DKP",
subdkp = "DKP abziehen",
--subdkpdesc = "Remove DKP from a raid member. \nFormat: <charname> <points>",
subdkpdesc = "Zieht DKP von einem Raidteilnehmer ab. \nFormat: <Charname> <Punkte>",
syncdb = "Sync DB",
--syncdbdesc = "Sync your Datenbank with another MorgDKP user.\nAdds new items to your DB does not overwrite already present items.\n Also adds new players to your Datenbank and overwrites DKP values, class, and aliases if sync data is newer.",
syncdbdesc = "Synchronisiert deine Datenbank mit einem anderen MorgDKP Anwender.\nFügt neue Gegenstände deiner DB hinzu OHNE vorhandene gegenstände zu überschreiben.\nEs werden auch neue Spieler deiner DB hinzugefügt und überschreibt dabei die DKP Werte, Klasse und Twinks falls die Sync Daten neuer sind.",
--syncdone = "Datenbank transfer complete. %s items were transferred and %s members updated.",
syncdone = "Datenbanktransfer abgeschlossen. %s Gegenstände wurden transferiert und %s Mitglieder aktualisiert.",
syncquery = "SYNC",
syncrequest = "%s has requested a database sync.",
syncstart = "Querying MorgDKP databases available...",
syncwait = "Waiting for sync data from %s",
transferitem = "Transferred item from %s to %s: Cost = %s.",
--syncrequest = "%s has requested your Datenbank information.",
syncrequest = "%s hat deine Datenbankinformationen angefragt.",
--syncstart = "Querying MorgDKP Datenbanks available in %s channel...",
syncstart = "Suche nach verfügbaren MorgDKP Datenbanken im %s Kanal...",
--syncwait = "Waiting for sync data from %s...",
syncwait = "Warte auf Synchronisierungsdaten von %s...",
to = " zur ",
to2 = " zu ",
--transfer = "Transferred ",
transfer = " übertragen: ",
--transferitem = "Transferred item from %s to %s: Cost = %s.",
transferitem = "Gegenstand wurde von %s zu %s übertragen: Kosten = %s.",
trashformat = "Trash format",
trashformatdesc = "Format of trash event name: <[zone]> <text>. Example: [zone] Run",
waitadd = "Added you to the waitlist.",
waitbossamt = "Waitlist boss DKP",
waitbossamtdesc = "Amount of DKP to award to the waitlist per boss kill.",
waitmain = "Please log on to your main for an invite to the raid. Whisper me when online.",
waitoptsdesc = "Options related to the waitlist.",
waitsub = "Removed you from the waitlist.",
waitlist = "Waitlist",
waitlistdesc = "Options related to the waitlist.",
waitstartamt = "Waitlist start DKP",
waitstartamtdesc = "Amount of start bonus DKP to award to the waitlist at the start of the run.",
waitrunamt = "Waitlist run DKP",
waitrunamtdesc = "Amount of run DKP to award to the waitlist. Applied at start of run.",
waitotimeamt = "Waitlist DKP/time",
waitotimeamtdesc = "Amount of DKP/time to award to the waitlist. Note: Only works if you are awarding DKP/time to the raid.",
--trashformatdesc = "Format of trash event name: <[zone]> <text>. Example: [zone] Run",
trashformatdesc = "Formatierung des trash events: <[zone]> <text>. Beispiel: [zone] Run",
--twinkaltmain = "You must format the string correctly: <twinkalt> <twinkmain>",
twinkaltmain = "Du mußt die Eingabe richtig Formatieren: <twinkalt> <twinkmain>",
--twinks = "Add Twink",
twinks = "Twink hinzufügen",
--twinksdesc = "Add a player to this raid who is on an alt with DKP under a main. The mod will remember this.\n Format: <alt> <main>",
twinksdesc = "Fügt einen Spieler hinzu welcher auf einen Twink ist wobei der Main Char DKP besitzt. Das Addon wird dies speichern. \n Format: <Twink> <Main>",
--updatedkp = "Updating DKP Points..",
updatedkp = "Aktualisiere DKP..",
--updatemorgbid = "Please update your MorgBid. http://www3.telus.net/MorgDKP/MorgBid3.6.exe or check in the vent chat window. Thank-you:)",
updatemorgbid = "<MorgDKP:Automatische Nachricht> Bitte update, oder installiere dir MorgBid: http://www3.telus.net/MorgDKP/MorgBid3.6.zip Danke :-) (gibt es auch bei wow Ace updater)",
--validname = "You must enter a valid name.",
validname = "Du mußt einen gültigen Namen eingeben",
--valuehint = "|c000070ddMousewheel up/Klick|r - Increase value.\n|c000070ddMousewheel down/R-Klick|r - decrease value.\n|c000070ddSHIFT|r - change value by +/-1\n|c000070ddALT|r - change value by +/-20",
valuehint = "|c000070ddMausrad nach oben/Klick|r - Wert erhöhen.\n|c000070ddMausrad nach unten/R-Klick|r - Wert veringern.\n|c000070ddSHIFT|r - Wertänderung um +/-1\n|c000070ddALT|r - Wertänderung +/-20",
--waitlist = "Waitlist",
waitlist = "Warteliste",
--waitadd = "Added you to the waitlist.",
waitadd = "<MorgDKP:Automatische Nachricht> Du wurdest zur Warteliste des Raids hinzugefügt.",
--waitbossamt = "Waitlist boss DKP",
waitbossamt = "Warteliste Boss DKP",
--waitbossamtdesc = "Amount of DKP to award to the waitlist per boss kill.",
waitbossamtdesc = "Menge der DKP welche jenen zugesprochen werden, die bei einem Bosskill die auf der Warteliste sind.",
--waitlistdesc = "Options related to the waitlist.",
waitlistdesc = "Einstellungen für die Warteliste.",
--waitmain = "Please log on to your main for an invite to the raid. Whisper me when online.",
waitmain = "<MorgDKP> Bitte logge auf deinen Hauptchar, damit du in den Raid eingeladen werden kannst. Flüstere mich an wenn du Online bist.",
--waitsub = "Removed you from the waitlist.",
waitsub = "<MorgDKP:Automatische Nachricht> Du wurdest von der Warteliste entfernt.",
--waitstartamt = "Waitlist start DKP",
waitstartamt = "Warteliste Raidstart DKP",
--waitstartamtdesc = "Amount of start bonus DKP to award to the waitlist at the start of the run.",
waitstartamtdesc = "Menge der DKP welche jenen zugesprochen werden, die beim Satrt des Raids auf der Warteliste sind.",
--waitrunamt = "Waitlist run DKP",
waitrunamt = "Warteliste run DKP",
--waitrunamtdesc = "Amount of run DKP to award to the waitlist. Applied at start of run.",
waitrunamtdesc = "Menge der DKP welche jenen zugesprochen werden die auf der Warteliste sind. Bezogen auf den Raidstart.",
--waitotimeamt = "Waitlist DKP/time",
waitotimeamt = "Warteliste DKP/Zeit",
--waitotimeamtdesc = "Amount of DKP/time to award to the waitlist. Note: Only works if you are awarding DKP/time to the raid.",
waitotimeamtdesc = "Menge der DKP die der Warteliste zugesprochen werden. Funktioniert nur wenn auch für den Raid ZeitDKP vergeben werden.",
--whisperformat = "Please whisper: dkplist [poolname] [class] [class] .... [all]",
whisperformat = "Please whisper: dkplist [poolname] [class] [class] .... [all]",
MORGTRACKER_LADYVASHJP2_YELL = "The time is now! Leave none standing!",
MORGTRACKER_LADYVASHJP3_YELL = "You may want to take cover.",
MORGTRACKER_RAGEENTERS_YELL = "The Legion's final conquest has begun! Once again the subjugation of this world is within our grasp. Let none survive!",
MORGTRACKER_ANETHERONENTERS_YELL = "You are defenders of a doomed world! Flee here, and perhaps you will prolong your pathetic lives!",
MORGTRACKER_KAZROGALENTERS_YELL = "Cry for mercy! Your meaningless lives will soon be forfeit.",
MORGTRACKER_AZGALORENTERS_YELL = "Abandon all hope! The legion has returned to finish what was begun so many years ago. This time there will be no escape!",
MORGTRACKER_ERADOR_YELL = "These are the hallmarks...",
 
--need loc
localizedclasses = "dkplist Paladin Hexenmeister Hexenmeisterin Druide Druidin Magier Magierin Priester Priesterin Schurke Schurkin Jäger Jägerin Krieger Kriegerin Schamane Schamanin",
PALADIN = "PALADIN",
WARLOCK = "HEXENMEISTER",
DRUID = "DRUIDE",
MAGE = "MAGIER",
PRIEST = "PRIESTER",
ROGUE = "SCHURKE",
HUNTER = "JÄGER",
WARRIOR = "KRIEGER",
SHAMAN = "SCHAMANE",
 
Romulo = "Romulo",
Julianne = "Julianne",
RomuloandJulianne = "Romulo & Julianne",
Chessevent = "Schach Event",
DEFAULTBOSS = "Trash mob",
WorldBoss = "World Boss",
NEW = "NEW",
NONE = "NONE",
 
MORGTRACKER_MAJORDOMO_YELL = "Unm\195\182glich! Haltet ein, Sterbliche... Ich gebe auf! Ich gebe auf!",
MORGTRACKER_ROMULO_YELL="Welch' Teufel bist du, dass du mich so folterst?",
MORGTRACKER_CHESS_EMOTE = "The halls of Karazhan shake, as the curse binding the doors of the Gamesman's Hall is lifted.", --need loc
MORGTRACKER_LOOT_RECEIVES1 = "([^%s]+) bekommt Beute: (.+)%.",
MORGTRACKER_LOOT_RECEIVES1_COUNT = "([^%s]+) erh\195\164lt Beute: (|c%x+|Hitem:%d+:%d+:%d+:%d+|h%[.-%]|h|r)x(%d+)%.",
MORGTRACKER_LOOT_RECEIVES2 = "Ihr erhaltet Beute: (.+)%.",
MORGTRACKER_LOOT_RECEIVES2_COUNT = "Ihr erhaltet Beute: (|c%x+|Hitem:%d+:%d+:%d+:%d+|h%[.-%]|h|r)x(%d+)%.",
 
NEW = "NEU",
NONE = "KEINE",
 
MORGTRACKER_MAJORDOMO_YELL = "Unmöglich! Haltet ein, Sterbliche... Ich gebe auf! Ich gebe auf!",
MORGTRACKER_ROMULO_YELL= "Welch' Teufel bist du, dass du mich so folterst?",
MORGTRACKER_CHESS_EMOTE = "Als sich der Fluch, der auf den Türen der Halle der Spiele lastete, löst, beginnen die Mauern von Karazhan zu beben.", --need loc
MORGTRACKER_LADYVASHJP2_YELL = "Die Zeit ist gekommen! Lasst keinen am Leben!",
MORGTRACKER_LADYVASHJP3_YELL = "Geht besser in Deckung!",
MORGTRACKER_RAGEENTERS_YELL = "Der letzte Krieg der Legion hat begonnen! Und wieder steht die Unterwerfung dieser Welt kurz bevor. Niemand soll überleben!",
MORGTRACKER_ANETHERONENTERS_YELL = "Ihr verteidigt eine verlorene Welt! Flieht! Vielleicht verlängert dies Euer erbärmliches Leben!",
MORGTRACKER_KAZROGALENTERS_YELL = "Fleht um Gnade! Euer bedeutungsloses Leben ist schon bald verwirkt!",
MORGTRACKER_AZGALORENTERS_YELL = "Gebt alle Hoffnung auf! Die Legion ist zurück, um zu beenden, was vor so vielen Jahren begonnen hat. Dieses Mal gibt es kein Entrinnen!",
MORGTRACKER_ERADOR_YELL = "These are the hallmarks...",
MORGTRACKER_LOOT_RECEIVES1 = "([^%s]+) bekommt Beute: (|c%x+|Hitem:%d+:%d+:%d+:%d+:%d+:%d+:(%-?%d+):(%-?%d+)|h%[.-%]|h|r)%.",
MORGTRACKER_LOOT_RECEIVES1_COUNT = "([^%s]+) erhält Beute: (|c%x+|Hitem:%d+:%d+:%d+:%d+:%d+:%d+:(%-?%d+):(%-?%d+)|h%[.-%]|h|r)x(%d+)%.",
MORGTRACKER_LOOT_RECEIVES2 = "Ihr erhaltet Beute: (|c%x+|Hitem:%d+:%d+:%d+:%d+:%d+:%d+:(%-?%d+):(%-?%d+)|h%[.-%]|h|r)%.",
MORGTRACKER_LOOT_RECEIVES2_COUNT = "Ihr erhaltet Beute: (|c%x+|Hitem:%d+:%d+:%d+:%d+:%d+:%d+:(%-?%d+):(%-?%d+)|h%[.-%]|h|r)x(%d+)%.",
 
 
 
MorgTracker_IgnoreMobs = {
["Sohn der Flamme"] = true,
["Onyxia-Welpe"] = true,
["Kil'rek"] = true,
["Amani Dragonhawk Spirit"] = true,
},
 
 
classcount = {
["PALADIN"] = 8,
["HEXENMEISTER"] = 7,
["MAGIER"] = 13,
["DRUID"] = 12,
["KRIEGER"] = 7,
["J\195\132GER"] = 9,
["PRIESTER"] = 11,
["SCHURKE"] = 11,
["SCHAMANE"] = 8,
["NEED"] = 10,
["TAKE"] = 10,
["PASS"] = 11,
["HEXENMEISTERIN"] = 5,
["HEXENMEISTER"] = 7,
["PRIESTERIN"] = 10,
["SCHAMANIN"] = 10,
["KRIEGERIN"] = 12,
["MAGIERIN"] = 13,
["PRIESTER"] = 13,
["SCHURKIN"] = 13,
["SCHAMANE"] = 13,
["PALADIN"] = 15,
["JÄGERIN"] = 15,
["DRUIDIN"] = 15,
["KRIEGER"] = 15,
["SCHURKE"] = 15,
["MAGIER"] = 17,
["DRUIDE"] = 17,
["JÄGER"] = 18,
["NEED"] = 10,
["TAKE"] = 10,
["PASS"] = 10,
["PENDING"] = 5
},
 
} end)
trunk/MorgDKP/MorgDKP.lua
16,7 → 16,7
 
MorgDKP = AceLibrary("AceAddon-2.0"):new("AceEvent-2.0", "AceHook-2.1", "AceConsole-2.0","AceComm-2.0", "AceDB-2.0")
 
MorgDKP.version = "6.95"
MorgDKP.version = "6.96"
MorgDKP.commPrefix = "MorgDKP"
MorgDKP.commVersion = 6.2
 
163,12 → 163,12
[7] = BB["Shade of Aran"],
[8] = BB["Terestian Illhoof"],
[9] = BB["The Curator"],
[10] = BB["Romulo & Julianne"],
[11] = BB["The Big Bad Wolf"],
[12] = BB["The Crone"],
[13] = BB["Chess Event"],
[14] = BB["Rokad the Ravager"],
[15] = BB["Hyakiss the Lurker"],
[10] = BB["Romulo & Julianne"],
[11] = BB["The Big Bad Wolf"],
[12] = BB["The Crone"],
[13] = BB["Chess Event"],
[14] = BB["Rokad the Ravager"],
[15] = BB["Hyakiss the Lurker"],
[16] = BB["Shadikith the Glider"]},
[BZ["Serpentshrine Cavern"]] = {[1] = BB["Hydross the Unstable"],
[2] = BB["Fathom-Lord Karathress"],
205,7 → 205,7
[3] = BB["Ysondre"],
[4] = BB["Taerar"],
[5] = BB["Azuregos"],
[6] = BB["Doom Lord Kazzak"],
[6] = BB["Doom Lord Kazzak"],
[7] = BB["Doomwalker"]},
[BZ["Onyxia's Lair"]] = {[1] = BB["Onyxia"]},
[BZ["Gruul's Lair"]] = {[1] = BB["High King Maulgar"],[2] = BB["Gruul the Dragonkiller"]},
223,7 → 223,7
MorgDKP:RegisterDefaults('account', {
items = { },
info = { },
defaults = {
defaults = {
zerosum = nil,
bidwar = nil,
whisper = nil,
272,16 → 272,23
restoreautozone = nil,
devmode = nil,
SKall = nil,
ignore = { [1] = "|cffa335ee|Hitem:22450:0:0:0:0:0:0:0|h[Void Crystal]|h|r", [2] = "|cffa335ee|Hitem:29434:0:0:0:0:0:0:0|h[Badge of Justice]|h|r",
[3] = "|cffa335ee|Hitem:18562:0:0:0:0:0:0:0|h[Elementium Ore]|h|r", [4] = "|cff0070dd|Hitem:22448:0:0:0:0:0:0:0|h[Small Prismatic Shard]|h|r",
[5] = "|cff0070dd|Hitem:22449:0:0:0:0:0:0:0|h[Large Prismatic Shard]|h|r", [6] = "|cff0070dd|Hitem:14344:0:0:0:0:0:0:0|h[Large Brilliant Shard]|h|r",
[7] = "|cffff8000|Hitem:30317:0:0:0:0:0:0:0|h[Cosmic Infuser]|h|r", [8] = "|cffff8000|Hitem:30316:0:0:0:0:0:0:0|h[Devastation]|h|r",
[9] = "|cffff8000|Hitem:30312:0:0:0:0:0:0:0|h[Infinity Blade]|h|r",[10] = "|cffff8000|Hitem:30318:0:0:0:0:0:0:0|h[Netherstrand Longbow]|h|r",
[11] = "|cffff8000|Hitem:30313:0:0:0:0:0:0:0|h[Staff of Disintegration]|h|r", [12] = "|cffff8000|Hitem:30311:0:0:0:0:0:0:0|h[Warp Slicer]|h|r",
[13] = "|cffff8000|Hitem:30314:0:0:0:0:0:0:0|h[Phaseshift Bulwark]|h|r", [14] = "|cffff8000|Hitem:30320:0:0:0:0:0:0:0|h[Bundle of Nether Spikes]|h|r",
[15] = "|cffff8000|Hitem:30319:0:0:0:0:0:0:0|h[Nether Spike]|h|r" }
ignore = { [1] = L["VoidCrystal"],
[2] = L["BadgeofJustice"],
[3] = L["ElementiumOre"],
[4] = L["SmallPrismaticShard"],
[5] = L["LargePrismaticShard"],
[6] = L["LargeBrilliantShard"],
[7] = L["CosmicInfuser"],
[8] = L["Devastation"],
[9] = L["InfinityBlade"],
[10] = L["NetherstrandLongbow"],
[11] = L["StaffofDisintegration"],
[12] = L["WarpSlicer"],
[13] = L["PhaseshiftBulwark"],
[14] = L["BundleofNetherSpikes"],
[15] = L["NetherSpike"] }
},
raidlog = {
raidlog = {
raidstart = L["pending"],
raidend = L["pending"],
raidexport = L["pending"],
316,27 → 323,27
['GameFontNormal'] = {['Font'] = { GameFontNormal:GetFont() }},
['GameFontNormalSmall'] = {['Font'] = { GameFontNormalSmall:GetFont() }},
}
if self.db.account.defaults.dbupdated ~= 3 then
if self.db.account.defaults.dbupdated ~= 3 then
self:ConvertDB()
self.db.account.defaults.dbupdated = 3
end
if MorgDKP_Items then StaticPopup_Show ("MorgImport") end
self:ToggleDKPAward()
if UnitInRaid("player") and self.db.account.defaults.InRaid then
if UnitInRaid("player") and self.db.account.defaults.InRaid then
if not self:IsEventScheduled("MorgDKP_Attendance") then self:ScheduleRepeatingEvent("MorgDKP_Attendance", self.CheckAttendance, 60, self ) end
end
if self.db.account.defaults.restoreautozone then
self.db.account.defaults.autozone = true
end
if self.db.account.defaults.restoreautozone then
self.db.account.defaults.autozone = true
self.db.account.defaults.restoreautozone = nil
end
self:UpdateRaidlist()
self:PrepareRaidmembers()
self:TogglePlayerDies(self.db.account.defaults.attemptmode)
self:TogglePlayerDies(self.db.account.defaults.attemptmode)
self:RegisterEvent("CHAT_MSG_ADDON", "OnAddonMsg")
self:RegisterEvent("CHAT_MSG_LOOT", "OnLootMsg")
self:RegisterEvent("LOOT_OPENED", "OnOpen")
self:RegisterEvent("RosterLib_UnitChanged", "ProcessRosterChange")
self:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED", "CombatLogEvent")
self:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED", "CombatLogEvent")
self:RegisterEvent("CHAT_MSG_MONSTER_YELL", "HostileYell")
self:RegisterEvent("CHAT_MSG_MONSTER_EMOTE", "HostileEmote")
self:RegisterEvent("GUILD_ROSTER_UPDATE", "GuildUpdate")
355,7 → 362,7
end
 
function MorgDKP:TogglePlayerDies(switch)
if switch then self:RegisterEvent("PLAYER_DEAD", "LeaderDied")
if switch then self:RegisterEvent("PLAYER_DEAD", "LeaderDied")
elseif self:IsEventRegistered("PLAYER_DEAD") then self:UnregisterEvent("PLAYER_DEAD") end
end
 
375,7 → 382,7
end
 
function MorgDKP:IsRaided()
if not UnitInRaid("player") then
if not UnitInRaid("player") then
DEFAULT_CHAT_FRAME:AddMessage(L["needraid"])
return false
end
390,38 → 397,38
self.db.account.defaults.multiPool = nil
self.db.account.defaults.percent = 0
end
if self.db.account.defaults.bidwar or self.db.account.defaults.relational or self.db.account.defaults.zerosum or self.db.account.defaults.multiPool or self.db.account.defaults.percent > 0 then return true
if self.db.account.defaults.bidwar or self.db.account.defaults.relational or self.db.account.defaults.zerosum or self.db.account.defaults.multiPool or self.db.account.defaults.percent > 0 then return true
else return false end
end
 
function MorgDKP:PlayerinDB(playname, playclass)
if not self.db.account.info[playname] then
if not self.db.account.info[playname] then
self.db.account.info[playname] = { }
self.db.account.info[playname][self.db.account.defaults.raid] = {points = 0, earned = 0, spent = 0}
self.db.account.info[playname].raidloot = 0
self.db.account.info[playname].lastupdate = self:GetServerTime()
end
if not self.db.account.info[playname].aliases then self.db.account.info[playname].aliases = { } end
if playclass and not self.db.account.info[playname].class then
self.db.account.info[playname].class = playclass
if playclass and not self.db.account.info[playname].class then
self.db.account.info[playname].class = playclass
self.db.account.info[playname].lastupdate = self:GetServerTime()
end
end
 
function MorgDKP:PointsPoolExists(playname, pool)
self:PlayerinDB(playname)
if not self.db.account.info[playname][pool] then
if not self.db.account.info[playname][pool] then
self.db.account.info[playname][pool] = {points = 0, earned = 0, spent = 0}
self.db.account.info[playname].lastupdate = self:GetServerTime()
end
end
 
function MorgDKP:IteminDB(item)
if not self.db.account.items[item] then
if not self.db.account.items[item] then
self.db.account.items[item] = {points = 0, classes = {}, altclasses = {} }
end
if not self.db.account.items[item].points then self.db.account.items[item].points = 0 end
if not self.db.account.items[item].pool then self.db.account.items[item].pool = self.db.account.defaults.raid end
if not self.db.account.items[item].points then self.db.account.items[item].points = 0 end
if not self.db.account.items[item].pool then self.db.account.items[item].pool = self.db.account.defaults.raid end
end
 
function MorgDKP:GiveOutLoot()
429,7 → 436,7
if GetMasterLootCandidate(ci) == Lootwinner then
for li = 1, GetNumLootItems() do
local lootIcon, lootName, lootQuantity, rarity = GetLootSlotInfo(li)
if lootName == Lootitem then
if lootName == Lootitem then
GiveMasterLoot(li, ci)
return
end
441,15 → 448,15
function MorgDKP:MakeDewDropMenu(frame, itemlink)
if itemlink == nil then return end
_, _, qid = string.find(itemlink, "Hitem:(%d+)")
local id = tonumber(qid)
local id = tonumber(qid)
if( id ) then
-- make sure it's there
self:IteminDB(id)
 
 
-- get cursor pos
local x,y = GetCursorPosition()
myid, mylink = id,itemlink
 
 
-- build the menu
self.hasitem = 1
dewdrop:Open(frame,
461,11 → 468,11
)
end
end
 
 
function MorgDKP:GiveBOE(id, link)
if not self.db.account.items[id] then DEFAULT_CHAT_FRAME:AddMessage(L["noitem"]); return end
if not charstring then DEFAULT_CHAT_FRAME:AddMessage(L["validname"]) return end
if self.MLmode and (charstring == self.db.account.defaults.mlooter or charstring == self.db.account.defaults.disenchanter) then
if self.MLmode and (charstring == self.db.account.defaults.mlooter or charstring == self.db.account.defaults.disenchanter) then
DEFAULT_CHAT_FRAME:AddMessage(L["nolootrec"])
return
end
474,8 → 481,8
 
function MorgDKP:CheckRaid(namequery)
for pname, data in pairs(roster) do
if pname == namequery then
return true
if pname == namequery then
return true
end
end
return nil
484,16 → 491,16
function MorgDKP:CheckPool(item)
local POOL = self.db.account.defaults.raid
if self.db.account.defaults.multiPool then
if self.db.account.items[item] then
if self.db.account.items[item] then
POOL = self.db.account.items[item].pool
end
end
return POOL
end
 
 
function MorgDKP:AddTwink(twinkstring)
_, _, twink2, twink1 = string.find(twinkstring, "(%a+) (%a+)")
if twink1 == nil or twink2 == nil then
if twink1 == nil or twink2 == nil then
DEFAULT_CHAT_FRAME:AddMessage(L["twinkaltmain"])
return
end
504,21 → 511,21
if self.db.account.info[twinkmain] then mainpoints = self.db.account.info[twinkmain][POOL].points
else DEFAULT_CHAT_FRAME:AddMessage(L["nomain"]) return end
for _, data in pairs(self.db.account.defaults.eqDKP[self.db.account.defaults.raid].Aliases) do
if data.alt == twinkalt then
if data.alt == twinkalt then
DEFAULT_CHAT_FRAME:AddMessage(L["aliasexists"])
return
end
end
local var = nil
if self.db.account.info[twinkalt] then
DEFAULT_CHAT_FRAME:AddMessage(L["transfer"]..tostring(mainpoints)..L["dkpp"]..twinkmain..L["to"]..twinkalt)
if self.db.account.info[twinkalt] then
DEFAULT_CHAT_FRAME:AddMessage(tostring(mainpoints)..L["dkpword"]..L["transfer"]..twinkmain..L["to2"]..twinkalt)
var = 1
end
if not var then
end
if not var then
DEFAULT_CHAT_FRAME:AddMessage(L["addnewchar"]..twinkalt.." with "..tostring(mainpoints)..L["dkpp"])
end
self:PlayerinDB(twinkalt)
self.db.account.info[twinkalt][POOL] = { points = mainpoints,
self.db.account.info[twinkalt][POOL] = { points = mainpoints,
earned = self.db.account.info[twinkmain][POOL].earned,
spent = self.db.account.info[twinkmain][POOL].spent}
self.db.account.info[twinkalt].raidloot = 0
532,7 → 539,7
eqdkp = self.db.account.defaults.eqDKP[self.db.account.defaults.raid].eqDKPsite,
action = "ADD" })
table.insert(self.db.account.defaults.eqDKP[self.db.account.defaults.raid].Aliases, {alt = twinkalt, main = twinkmain})
end
end
 
function MorgDKP:EventFormat(formatstring)
if not formatstring then return end
540,7 → 547,7
self.db.account.defaults.eventformat = formatstring
return
end
DEFAULT_CHAT_FRAME:AddMessage(L["eventformatdesc"])
DEFAULT_CHAT_FRAME:AddMessage(L["eventformatdesc"])
end
 
function MorgDKP:StartFormat(formatstring)
554,7 → 561,7
end
 
function MorgDKP:SetRunTime(amttime)
local seconds = math.floor(tonumber(amttime) * 60)
local seconds = math.floor(tonumber(amttime) * 60)
if seconds > 0 and seconds < 21600 then
self.db.account.defaults.runrewardtime = seconds
end
565,36 → 572,36
local POOL = self.db.account.defaults.raid
local Runname = self.db.account.raidlog[self.db.account.defaults.raidnum].bosskills[self:GetRunEvent()].note
local _, _, char, points = string.find(charstring, "(%a+) (%d+)")
if char == nil or points == nil then
if char == nil or points == nil then
DEFAULT_CHAT_FRAME:AddMessage(L["charpoints"])
return
end
local character = string.upper(string.sub(char,1,1))..string.sub(char,2,-1)
local pointval = tonumber(points)
local type = L["add"]
if MorgDKP.db.account.info[character] then
if MorgDKP.db.account.info[character] then
mainpoints = MorgDKP.db.account.info[character][POOL].points
oldmainpoints = mainpoints
if adding then mainpoints = mainpoints + pointval
else mainpoints = mainpoints - pointval
type = L["sub"]
if adding then mainpoints = mainpoints + pointval
else mainpoints = mainpoints - pointval
type = L["sub"]
pointval = 0 - pointval
end
DEFAULT_CHAT_FRAME:AddMessage(type..points..L["dkpp"]..character..L["olddkp"]..tostring(oldmainpoints)..L["newdkp"]..tostring(mainpoints))
self.db.account.info[character][POOL].points = mainpoints
self.db.account.info[character].lastupdate = self:GetServerTime()
if not self.db.account.raidlog.dkpevents[POOL] then self.db.account.raidlog.dkpevents[POOL] = { } end
table.insert(self.db.account.raidlog.dkpevents[POOL], { name = character,
value = pointval,
members = {[1] = character},
table.insert(self.db.account.raidlog.dkpevents[POOL], { name = character,
value = pointval,
members = {[1] = character},
eqdkp = self.db.account.defaults.eqDKP[self.db.account.defaults.raid].eqDKPsite,
prefix = self.db.account.defaults.eqDKP[POOL].prefix,
addtype = "individual",
addtype = "individual",
event = Runname})
return
end
DEFAULT_CHAT_FRAME:AddMessage(character..L["notexi"])
end
end
 
function MorgDKP:GetPlayersNeedItem(item)
if not UnitInRaid("player") then return end
611,7 → 618,7
return a.points>b.points
else return a.priority < b.priority
end
end)
end)
return reportpoints
end
 
625,15 → 632,15
"WristSlot",
"HandsSlot",
"WaistSlot",
"LegsSlot",
"LegsSlot",
"FeetSlot",
"Finger0Slot",
"Finger1Slot",
"Trinket0Slot",
"Trinket0Slot",
"Trinket1Slot",
"MainHandSlot",
"SecondaryHandSlot",
"RangedSlot"
"RangedSlot"
}
 
for i = 1, GetNumRaidMembers() do
648,7 → 655,7
if itemLink then
local _, _, itemCode = strfind(itemLink, "(%d+):")
itemCode = tonumber(itemCode)
if not self:ItemRecorded(itemCode, name) then
if not self:ItemRecorded(itemCode, name) then
table.insert(self.db.account.info[name].items, itemCode)
if self.db.account.defaults.devmode then
self:Print("Added ".. name .. " slot: ".. slot ..";item ".. itemLink ..";ID: " .. itemCode)
664,7 → 671,7
 
function MorgDKP:ItemRecorded(item, name)
for _, ID in pairs(self.db.account.info[name].items) do
if item == ID then
if item == ID then
return true
end
end
692,7 → 699,7
itemCount = 1
end
-- Make sure there is a link
if self.MLmode and (sPlayer == self.db.account.defaults.mlooter or sPlayer == self.db.account.defaults.disenchanter) and not self.given then return
if self.MLmode and (sPlayer == self.db.account.defaults.mlooter or sPlayer == self.db.account.defaults.disenchanter) and not self.given then return
else self.given = nil end
if not MorgDKP:CheckRaid(sPlayer) then return end
if sLink and sPlayer then
713,7 → 720,7
if (not b or b == "") then return a; end
if (not strfind(b or "", sep)) then return a, b; end
return a, self:Explode(b, sep)
end
end
 
function MorgDKP:RecordLoot(item, player)
if self.db.account.defaults.raidnum < 1 then DEFAULT_CHAT_FRAME:AddMessage(L["noraid"]) return end
733,17 → 740,17
local lastboss = self.db.account.raidlog[self.db.account.defaults.raidnum].lastboss
local lastmob = self.db.account.raidlog[self.db.account.defaults.raidnum].lastmob
local BossMob
if self.db.account.raidlog.lootbuffer and self.db.account.raidlog.lootbuffer[sName] ~= nil then
BossMob = self.db.account.raidlog.lootbuffer[sName]
else
if self.db.account.raidlog.lootbuffer and self.db.account.raidlog.lootbuffer[sName] ~= nil then
BossMob = self.db.account.raidlog.lootbuffer[sName]
else
if lastboss == lastmob then BossMob = lastboss
else BossMob = lastmob end
end
local match = nil
for _, bossname in pairs(MorgTracker_ZoneBosses[self.db.account.defaults.menuzone]) do
if BossMob == bossname then
if BossMob == bossname then
match = 1
break
break
end
end
if not BossMob or self.db.account.defaults.OneEvent or not match then BossMob = L["DEFAULTBOSS"] end
755,7 → 762,7
itempoints = self.db.account.items[itemId].points or 0
if self.db.account.defaults.percent > 0 then
itempoints = math.floor((points * self.db.account.defaults.percent/100) + 0.5)
if self.db.account.defaults.percenttake then
if self.db.account.defaults.percenttake then
if self.querytooltips[itemId] then
for i,v in pairs(self.querytooltips[itemId]) do
if v[1] == player then
774,7 → 781,7
["ItemLink"] = iLink,
["Quality"] = iQuality,
["ID"] = itemId,
["Icon"] = iconGIF,
["Icon"] = iconGIF,
["Class"] = class,
["SubClass"] = subclass,
["Color"] = sColor,
789,13 → 796,13
}
)
points = points - itempoints
self.db.account.info[player][POOL].points = points
self.db.account.info[player][POOL].points = points
self.db.account.info[player][POOL].spent = self.db.account.info[player][POOL].spent + itempoints
self.db.account.info[player].raidloot = 1
self.db.account.info[player].raidloot = 1
self.db.account.info[player].lastupdate = self:GetServerTime()
if self.db.account.defaults.zerosum and (tonumber(itempoints) > 0) then self:AddZeroSumPoints(itempoints, POOL) end
DEFAULT_CHAT_FRAME:AddMessage(player..L["receive"]..item.." for "..tostring(itempoints).." DKP")
if iEquipLoc ~="" then
if iEquipLoc ~="" then
if not self.db.account.info[player].items then
self.db.account.info[player].items = { }
end
821,20 → 828,20
table.insert(self.db.account.defaults.raidmembers, name)
end
MorgDKP:ReclaimAll()
 
 
--Update ML
local lootmethod, masterlooterPartyID, masterlooterRaidID = GetLootMethod()
local lootmaster
if lootmethod == "master" then
if lootmethod == "master" then
if masterlooterPartyID then
if masterlooterPartyID == 0 then lootmaster = UnitName("player")
else lootmaster = UnitName("party"..masterlooterPartyID) end
else lootmaster = UnitName("raid"..masterlooterRaidID)
else lootmaster = UnitName("raid"..masterlooterRaidID)
end
self.db.account.defaults.mlooter = lootmaster
self.lootmaster = lootmaster
else self.db.account.defaults.mlooter = lootmethod
end
else self.db.account.defaults.mlooter = lootmethod
end
self:ReclaimML()
end
 
845,7 → 852,7
for name in pairs(roster) do
if name and name ~= "" and name ~= "UNKNOWN" then
local tbl = roster[name]
if tbl.class ~= "PET" and tbl.oldclass ~= "PET" then
if tbl.class ~= "PET" and tbl.oldclass ~= "PET" then
self.db.account.info[name][pool].points = self.db.account.info[name][pool].points + addpoints
self.db.account.info[name][pool].earned = self.db.account.info[name][pool].earned + addpoints
self.db.account.info[name].lastupdate = update
868,7 → 875,7
self:Onlinemembers(true)
self:CreateQueryTooltip(id, item, title, hint)
end
 
 
function MorgDKP:Onlinemembers(skip)
local Onlinemembers = self:GetOnlineGuildMembers()
for i = 1, GetNumRaidMembers() do
907,7 → 914,7
end
end
if string.find(string.upper(txt), "ALL") then
txt = "dkplist Paladin Warlock Druid Mage Priest Rogue Hunter Warrior Shaman"
txt = L["localizedclasses"]
end
if senderclass then
if not string.find(string.upper(txt), string.upper(senderclass)) then
915,15 → 922,15
end
end
local args = {self:Explode(txt, " ")}
numargs = #args
numargs = #args
for i = 2, numargs do
local class = string.upper(args[i])
if raided then
if raided then
for pname, data in pairs(roster) do
if data.class ~= "PET" then
pclass = BC[string.upper(string.sub(data.class,1,1))..string.lower(string.sub(data.class,2,-1))]
local realClass = BC[data.class]
if string.upper(pclass) == class then
local realClass = BC[string.upper(string.sub(data.class,1,1))..string.lower(string.sub(data.class,2,-1))]
if string.upper(pclass) == class then
self:PointsPoolExists(pname, POOL)
local points = self:PointsFormat(pname, POOL) or 0
table.insert(dkplist, {pname, pclass, realClass, points})
941,7 → 948,7
end
end
table.sort(dkplist, function(a,b)
if a[4] > b[4] then return true
if a[4] > b[4] then return true
else return false end
end)
if sender then SendChatMessage(L["dkpstand"]..POOL..":", "WHISPER", nil, sender) end
950,7 → 957,7
 
function MorgDKP:PointsFormat(name, POOL)
local points
if self.db.account.defaults.relational then
if self.db.account.defaults.relational then
if self.db.account.info[name][POOL].spent == 0 then self.db.account.info[name][POOL].spent = 1 end
if self.db.account.info[name][POOL].earned == 0 then self.db.account.info[name][POOL].earned = 1 end
points = string.format("%.2f", (self.db.account.info[name][POOL].earned /self.db.account.info[name][POOL].spent ))
966,4 → 973,4
counter = counter + 1
end
SendChatMessage(L["whisperformat"], "WHISPER", nil, sender)
end
\ No newline at end of file +end
trunk/MorgDKP/MorgDKP.toc
1,6 → 1,6
## Interface: 20400
## Author: Morgalm & Fryguy
## Title: MorgDKP - |cffffffffv|r|cff00ff006.95|r
## Title: MorgDKP - |cffffffffv|r|cff00ff006.96|r
## Notes: Inspects all members of raid and saves in database, as well as lists people's dkp values
## DefaultState: 1
## SavedVariables: MorgDKPDB, MorgDKPFuBarDB
trunk/MorgDKP/RaidFunctions.lua
464,7 → 464,7
self.db.account.info[name][POOL].points = self.db.account.info[name][POOL].points + eventvalue
self.db.account.info[name][POOL].earned = self.db.account.info[name][POOL].earned + eventvalue
self.db.account.info[name].lastupdate = update
DEFAULT_CHAT_FRAME:AddMessage(L["add"]..tostring(eventvalue)..L["dkpword"] .."to "..name)
DEFAULT_CHAT_FRAME:AddMessage(L["add"]..tostring(eventvalue)..L["dkpword"] .."to2 "..name)
end
end
for name, _ in pairs(oldattend) do
474,6 → 474,7
self.db.account.info[name][POOL].earned = self.db.account.info[name][POOL].earned - eventvalue
self.db.account.info[name].lastupdate = update
DEFAULT_CHAT_FRAME:AddMessage(L["removed"]..tostring(eventvalue)..L["dkpword"] ..L["from"]..name)
 
end
end
end
988,7 → 989,7
spent = self.db.account.info[main][self.editpool].spent}
local update = self:GetServerTime()
self.db.account.info[alt].lastupdate = update
DEFAULT_CHAT_FRAME:AddMessage(L["transfer"]..tostring(self.db.account.info[main][self.editpool].points)..L["dkpp"]..main..L["to"]..alt)
DEFAULT_CHAT_FRAME:AddMessage(tostring(self.db.account.info[main][self.editpool].points)..L["dkpp"]..L["transfer"]..main..L["to2"]..alt)
if not self:DoesAliasExist(main, alt, self.editpool) then table.insert(self.db.account.info[main].aliases, {raid = self.editpool, alt = alt}) end
table.insert(self.db.account.defaults.eqDKP[self.editpool].Aliases, {alt = alt, main = main})
table.insert(self.db.account.raidlog.aliases[self.editpool], { alt = alt,
trunk/MorgDKP/LootTablet.lua
30,24 → 30,24
local _,_, itemId = string.find(link, "item:(%d+):")
itemId = tonumber(itemId)
local lootIcon, lootName, _, rarity = GetLootSlotInfo(slot)
if rarity >= self.db.account.defaults.quality and not IGNORE[itemId] then
if rarity >= self.db.account.defaults.quality and not IGNORE[itemId] then
if nitems == 2 or nitems == 4 or nitems == 6 or nitems == 8 then
needlinks = needlinks + 1
raidlink[needlinks] = ""
end
raidlink[needlinks] = raidlink[needlinks] .. link
nitems = nitems + 1
self:AddItemforQuery(link, itemId, lootIcon, lootName, nitems)
self:AddItemforQuery(link, itemId, lootIcon, lootName, nitems)
self.db.account.raidlog.lootbuffer[lootName] = target
end
end
end
if not self.db.account.defaults.dkplistener then
if nitems > 0 and not self.f then
if nitems > 0 and not self.f then
for _, v in pairs(raidlink) do
SendChatMessage(v , "RAID")
SendChatMessage(v , "RAID")
end
self:ShowTablet()
self:ShowTablet()
end
end
end
64,23 → 64,23
f:EnableMouse(1)
f:RegisterForDrag("LeftButton")
f:SetScript("OnDragStart", function() f:StartMoving() end)
f:SetScript("OnDragStop", function()
f:StopMovingOrSizing()
f:SetScript("OnDragStop", function()
f:StopMovingOrSizing()
self.db.account.defaults.lootframex = f:GetLeft()
self.db.account.defaults.lootframey = f:GetTop()
end)
f:ClearAllPoints()
f:SetPoint("TOPLEFT", UIParent, "BOTTOMLEFT", self.db.account.defaults.lootframex, self.db.account.defaults.lootframey)
 
 
f.title = f:CreateFontString()
f.title:SetPoint("CENTER", f, "TOP", 0, -15)
f.title:SetTextColor(1.0, 0.819, 0.0)
f.title:SetWidth(150)
f.title:SetFontObject(GameFontNormal)
f.title:SetText(L["lootdistro"])
 
 
f.close = CreateFrame("Button", "CloseButton", f)
f.close:SetScript("OnClick", function()
f.close:SetScript("OnClick", function()
f:Hide()
self.f = nil
self.items = nil
94,7 → 94,7
f.close:SetPoint("TOPRIGHT", f, "TOPRIGHT", 3, 3)
f.close:SetHitRectInsets(5, 5, 5, 5)
f.close:Show()
 
 
f.menu = CreateFrame("Button", "MenuButton", f)
f.menu:SetScript("OnClick", function() self:ShowMainMenu(f) end)
f.menu:SetWidth(24)
106,12 → 106,12
f.menu:SetPoint("TOPLEFT", f, "TOPLEFT", 4, -3)
f.menu:SetHitRectInsets(5, 5, 5, 5)
f.menu:Show()
 
 
f:SetBackdrop({ bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", tile = true, tileSize = 16, edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", edgeSize = 16, insets = { left = 3, right = 3, top = 3, bottom = 3 } })
f:SetBackdropColor(.25, .25, .25, .75)
f:SetBackdropBorderColor(1, 1, 1, 1)
end
 
 
function MorgDKP:ShowTablet()
if self.f then return end
self:CreateLootFrame()
131,7 → 131,7
f.class[item]:SetPoint("LEFT", f, "TOPLEFT", 18, -50 * item)
f.class[item]:SetScript("OnClick", function() MorgDKP:ShowClassMenu(this:GetParent(), this:GetName()) end)
f.class[item]:Show()
 
 
f.altclass[item] = CreateFrame("Button", "AltClassFrame"..item, f, "UIPanelButtonTemplate")
f.altclass[item]:SetWidth(60)
f.altclass[item]:SetHeight(20)
140,7 → 140,7
f.altclass[item]:SetPoint("TOPLEFT", f.class[item], "BOTTOMLEFT", 0, -2)
f.altclass[item]:SetScript("OnClick", function() MorgDKP:ShowAltClassMenu(this:GetParent(), this:GetName()) end)
f.altclass[item]:Show()
 
 
f.icon[item] = CreateFrame("Button", "LootIcon"..item, f)
f.icon[item]:SetWidth(45)
f.icon[item]:SetHeight(45)
154,7 → 154,7
end)
f.icon[item]:SetScript("OnLeave", function() GameTooltip:Hide() end)
f.icon[item]:Show()
 
 
f.value[item] = CreateFrame("Button", "LootValue"..item, f)
f.value[item]:EnableMouseWheel(1)
f.value[item]:SetWidth(38)
173,7 → 173,7
end)
f.value[item]:SetScript("OnLeave", function() GameTooltip:Hide() end)
f.value[item]:Show()
 
 
local offset = 0
if self.db.account.defaults.multiPool then
f.multi[item] = CreateFrame("Button", "MultiFrame"..item, f, "UIPanelButtonTemplate")
186,7 → 186,7
f.multi[item]:Show()
offset = 10
end
 
 
f.query[item] = CreateFrame("Button", "QueryButton"..item, f, "UIPanelButtonTemplate")
f.query[item]:SetWidth(60)
f.query[item]:SetHeight(20)
250,29 → 250,29
)
end
 
function MorgDKP:SetRollPool(pool)
function MorgDKP:SetRollPool(pool)
self.f.multi[self.poolindex]:SetText(pool)
self.db.account.items[self.items[self.poolindex].id].pool = pool
end
 
 
function MorgDKP:SetValue(frame, name, button)
_, _, index = string.find(name, "LootValue(%d+)")
index = tonumber(index)
local value = self.db.account.items[self.items[index].id].points
local value = self.db.account.items[self.items[index].id].points
local step = 5
if IsShiftKeyDown() then step = 1 end
if IsAltKeyDown() then step = 20 end
if button == 1 then value = value + step
elseif button == -1 then value = value - step
elseif button == "LeftButton" then value = value + step
elseif button == "RightButton" then value = value - step
if button == 1 then value = value + step
elseif button == -1 then value = value - step
elseif button == "LeftButton" then value = value + step
elseif button == "RightButton" then value = value - step
end
frame.value[index]:SetText(value)
self.db.account.items[self.items[index].id].points = value
if self.db.account.raidlog.loot then
for num, loot in pairs(self.db.account.raidlog.loot) do
if loot.ID == self.items[index].id then
loot.Costs = value
if loot.ID == self.items[index].id then
loot.Costs = value
loot.Note = string.gsub(loot.Note, "%d+.00 DKP", tostring(value)..".00 DKP")
end
end
285,12 → 285,12
if not self.items[index] then return end
id = self.items[index].id
link = self.items[index].link
if IsShiftKeyDown() then
if IsShiftKeyDown() then
self.random[id] = true
end
self:StartQuery(id, link)
table.remove(self.items, index)
if #self.items > 0 then
if #self.items > 0 then
self.f:Hide()
self.f = nil
self:ShowTablet()
300,22 → 300,22
self.f = nil
self.items = nil
end
 
 
function MorgDKP:ManualItem(id, link)
local index
if not self.items then
self.items = { }
if not self.items then
self.items = { }
index = 1
else index = #self.items + 1 end
local sName, _, _, _, _, _, _, _, _, iconGIF = GetItemInfo(id)
self:AddItemforQuery(link, id, iconGIF, sName, index)
if self.f then
if self.f then
self.f:Hide()
self.f = nil
end
self:ShowTablet()
end
 
 
function MorgDKP:AddItemforQuery(link, id, icon, name, index)
self:IteminDB(id)
self.items[index] = {
325,4 → 325,3
icon = icon
}
end
 
\ No newline at end of file
trunk/MorgDKP/MorgDKP-enUS.lua
4,6 → 4,30
cmd1 = "/mdkp",
cmd2 = "/MorgDKP",
 
VoidCrystal = "|cffa335ee|Hitem:22450:0:0:0:0:0:0:0|h[Void Crystal]|h|r",
BadgeofJustice = "|cffa335ee|Hitem:29434:0:0:0:0:0:0:0|h[Badge of Justice]|h|r",
ElementiumOre = "|cffa335ee|Hitem:18562:0:0:0:0:0:0:0|h[Elementium Ore]|h|r",
SmallPrismaticShard = "|cff0070dd|Hitem:22448:0:0:0:0:0:0:0|h[Small Prismatic Shard]|h|r",
LargePrismaticShard = "|cff0070dd|Hitem:22449:0:0:0:0:0:0:0|h[Large Prismatic Shard]|h|r",
LargeBrilliantShard = "|cff0070dd|Hitem:14344:0:0:0:0:0:0:0|h[Large Brilliant Shard]|h|r",
CosmicInfuser = "|cffff8000|Hitem:30317:0:0:0:0:0:0:0|h[Cosmic Infuser]|h|r",
Devastation = "|cffff8000|Hitem:30316:0:0:0:0:0:0:0|h[Devastation]|h|r",
InfinityBlade = "|cffff8000|Hitem:30312:0:0:0:0:0:0:0|h[Infinity Blade]|h|r",
NetherstrandLongbow = "|cffff8000|Hitem:30318:0:0:0:0:0:0:0|h[Netherstrand Longbow]|h|r",
StaffofDisintegration = "|cffff8000|Hitem:30313:0:0:0:0:0:0:0|h[Staff of Disintegration]|h|r",
WarpSlicer = "|cffff8000|Hitem:30311:0:0:0:0:0:0:0|h[Warp Slicer]|h|r",
PhaseshiftBulwark = "|cffff8000|Hitem:30314:0:0:0:0:0:0:0|h[Phaseshift Bulwark]|h|r",
BundleofNetherSpikes = "|cffff8000|Hitem:30320:0:0:0:0:0:0:0|h[Bundle of Nether Spikes]|h|r",
NetherSpike = "|cffff8000|Hitem:30319:0:0:0:0:0:0:0|h[Nether Spike]|h|r",
 
Poor = "|c009d9d9dPoor|r",
Common = "|c00ffffffCommon|r",
Uncommon = "|c001eff00Uncommon|r",
Rare = "|c000070ddRare|r",
Epic = "|c00a335eeEpic|r",
Legendary = "|c00ff8000Legendary|r",
Artifact = "|c00e6cc80Artifact|r",
 
Bar_Hint = "|c000070ddL-Click:|r Announce.\n|c000070ddR-Click:|r Close tablet.",
Bar_Hint_DKPlist = "|c000070ddL-Click:|r Invite.\n|c000070ddSHIFT-Click:|r Output.\n|c000070ddCTRL-Click:|r Delete Character.\n|c000070ddALT-Click:|r Add to waitlist.\n|c000070ddR-Click:|r Close tablet.",
Bar_Hint_Version = "|c000070ddL-Click:|r Send tells.\n|c000070ddR-Click:|r Close tablet.",
215,6 → 239,7
syncstart = "Querying MorgDKP databases available in %s channel...",
syncwait = "Waiting for sync data from %s...",
to = " to ",
to2 = " to ",
transfer = "Transferred ",
transferitem = "Transferred item from %s to %s: Cost = %s.",
trashformat = "Trash format",
240,7 → 265,17
waitotimeamt = "Waitlist DKP/time",
waitotimeamtdesc = "Amount of DKP/time to award to the waitlist. Note: Only works if you are awarding DKP/time to the raid.",
whisperformat = "Please whisper: dkplist [poolname] [class] [class] .... [all]",
 
localizedclasses = "dkplist Paladin Warlock Druid Mage Priest Rogue Hunter Warrior Shaman",
PALADIN = "PALADIN",
WARLOCK = "WARLOCK",
DRUID = "DRUID",
MAGE = "MAGE",
PRIEST = "PRIEST",
ROGUE = "ROGUE",
HUNTER = "HUNTER",
WARRIOR = "WARRIOR",
SHAMAN = "SHAMAN",
 
Romulo = "Romulo",
Julianne = "Julianne",
RomuloandJulianne = "Romulo & Julianne",
264,7 → 299,8
MORGTRACKER_LOOT_RECEIVES1_COUNT = "([^%s]+) receives loot: (|c%x+|Hitem:%d+:%d+:%d+:%d+|h%[.-%]|h|r)x(%d+)%.",
MORGTRACKER_LOOT_RECEIVES2 = "You receive loot: (.+)%.",
MORGTRACKER_LOOT_RECEIVES2_COUNT = "You receive loot: (|c%x+|Hitem:%d+:%d+:%d+:%d+|h%[.-%]|h|r)x(%d+)%.",
 
 
 
MorgTracker_IgnoreMobs = {
["Son of Flame"] = true,
["Onyxian Whelp"] = true,
287,4 → 323,5
["PASS"] = 11,
["PENDING"] = 5
},
} end)
 
} end)
\ No newline at end of file
trunk/MorgDKP/Points.lua
19,8 → 19,8
end
local skipupdate = 1
local timestamp
if not self.db.account.Timestamp or self:TimeStampDiff(temp[1].Timestamp, self.db.account.Timestamp) then
skipupdate = nil
if not self.db.account.Timestamp or self:TimeStampDiff(temp[1].Timestamp, self.db.account.Timestamp) then
skipupdate = nil
timestamp = tostring(temp[1].Timestamp)
if string.len(timestamp) < 12 then timestamp = "0" .. timestamp end
self.db.account.Timestamp = timestamp
32,9 → 32,9
self.db.account.defaults.raidlist = { }
if not self.db.account.defaults.raid or self.db.account.defaults.raid == "Export your DKP!" then self.db.account.defaults.raid = temp[1].Pool end
for i, dkpray in pairs(temp) do
if dkpray.Pool then
self.db.account.defaults.raidlist[i] = dkpray.Pool
self.db.account.defaults.eqDKP[dkpray.Pool] = { }
if dkpray.Pool then
self.db.account.defaults.raidlist[i] = dkpray.Pool
self.db.account.defaults.eqDKP[dkpray.Pool] = { }
self.db.account.defaults.eqDKP[dkpray.Pool]["eqDKPsite"] = dkpray.eqdkpsite
self.db.account.defaults.eqDKP[dkpray.Pool]["prefix"] = dkpray.prefix
if dkpray.Events then
69,20 → 69,20
local count = 0
for name, v in pairs(dkpray.Points) do
if not self.db.account.info[name] then self.db.account.info[name] = { } end
self.db.account.info[name][dkpray.Pool] = {earned = v.earn + v.adj, spent = v.spent, points = v.bal }
self.db.account.info[name][dkpray.Pool] = {earned = v.earn + v.adj, spent = v.spent, points = v.bal }
if self.db.account.defaults.devmode then self:Print(name.." and "..v.bal) end
self.db.account.info[name].raidloot = 0
self.db.account.info[name].lastupdate = timestamp
count = count + 1
if self.db.account.info[name].aliases then
if self.db.account.info[name].aliases then
for m = 1, #self.db.account.info[name].aliases do
if self.db.account.info[name].aliases[m].raid == self.db.account.defaults.raid then
local alt = self.db.account.info[name].aliases[m].alt
local mainpoints = self.db.account.info[name][dkpray.Pool].points
if not self.db.account.info[alt] then self.db.account.info[alt] = { } end
self.db.account.info[alt][dkpray.Pool] = { points = mainpoints,
earned = self.db.account.info[name][dkpray.Pool].earned,
spent = self.db.account.info[name][dkpray.Pool].spent }
self.db.account.info[alt][dkpray.Pool] = { points = mainpoints,
earned = self.db.account.info[name][dkpray.Pool].earned,
spent = self.db.account.info[name][dkpray.Pool].spent }
self.db.account.info[alt].raidloot = 0
self.db.account.info[alt].lastupdate = timestamp
if self.db.account.defaults.devmode then self:Print(L["aliasadd"]..alt.." of "..name.." with "..mainpoints.." DKP.") end
91,7 → 91,8
end
end
DEFAULT_CHAT_FRAME:AddMessage(L["add"]..tostring(count)..L["playfrom"]..dkpray.Pool)
end
DEFAULT_CHAT_FRAME:AddMessage(tostring(count)..L["playfrom"]..dkpray.Pool..L["add"])
end
end
MorgDKP_DKP1 = nil
MorgDKP_DKP2 = nil
170,7 → 171,7
DEFAULT_CHAT_FRAME:AddMessage(L["deleteimportfile"])
MorgDKP_Items = nil
end
 
 
function MorgDKP:ImportItemDB(items)
local itemcount = 0
if not self.db.account.items then self.db.account.items = { } end
186,26 → 187,26
function MorgDKP:AdjustDKPPoints(new, old, pool, newcost, oldcost)
local update = self:GetServerTime()
if new ~= old then
self.db.account.info[old][pool].points = self.db.account.info[old][pool].points + newcost
self.db.account.info[old][pool].points = self.db.account.info[old][pool].points + newcost
self.db.account.info[old][pool].spent = self.db.account.info[old][pool].spent - newcost
self.db.account.info[old].raidloot = 0
self.db.account.info[old].raidloot = 0
self.db.account.info[old].lastupdate = update
self.db.account.info[new][pool].points = self.db.account.info[new][pool].points - newcost
self.db.account.info[new][pool].points = self.db.account.info[new][pool].points - newcost
self.db.account.info[new][pool].spent = self.db.account.info[new][pool].spent + newcost
self.db.account.info[new].raidloot = 1
self.db.account.info[new].lastupdate = update
DEFAULT_CHAT_FRAME:AddMessage(string.format(L["transferitem"], old, new, newcost))
DEFAULT_CHAT_FRAME:AddMessage(string.format(L["transferitem"], old, new, newcost))
else
local costdiff
if not newcost then
if not newcost then
costdiff = oldcost
newcost = 0
self.db.account.info[old].raidloot = 0
self.db.account.info[old].raidloot = 0
else costdiff = oldcost - newcost end
self.db.account.info[old][pool].points = self.db.account.info[old][pool].points + costdiff
self.db.account.info[old][pool].points = self.db.account.info[old][pool].points + costdiff
self.db.account.info[old][pool].spent = self.db.account.info[old][pool].spent - costdiff
self.db.account.info[old].lastupdate = update
DEFAULT_CHAT_FRAME:AddMessage(string.format(L["changedcost"], oldcost, newcost, old))
DEFAULT_CHAT_FRAME:AddMessage(string.format(L["changedcost"], oldcost, newcost, old))
end
end
 
222,7 → 223,7
local diff
if new then
diff = new - old
elseif old == 0 then return
elseif old == 0 then return
else diff = old end
local counter = 0
for _, name in pairs(attendees) do
233,10 → 234,10
counter = counter + 1
end
if not quiet then
if wait then DEFAULT_CHAT_FRAME:AddMessage(L["add"]..tostring(diff)..L["dkpword"] .."to ".. L["waitlist"] ..L["attend"])
if wait then DEFAULT_CHAT_FRAME:AddMessage(L["add"]..tostring(diff)..L["dkpword"] ..L["to2"].. L["waitlist"] ..L["attend"])
else
if #attendees == 1 then DEFAULT_CHAT_FRAME:AddMessage(L["add"]..tostring(diff)..L["dkpword"] .."to "..attendees[1])
else DEFAULT_CHAT_FRAME:AddMessage(L["add"]..tostring(diff)..L["dkpword"] .."to "..tostring(counter)..L["attend"])
if #attendees == 1 then DEFAULT_CHAT_FRAME:AddMessage(L["add"]..tostring(diff)..L["dkpword"] ..L["to2"]..attendees[1])
else DEFAULT_CHAT_FRAME:AddMessage(L["add"]..tostring(diff)..L["dkpword"] ..L["to2"]..tostring(counter)..L["attend"])
end
end
end
255,8 → 256,8
for num, name in pairs(self.db.account.defaults.Waitlist.members) do
table.insert(self.db.account.raidlog[self.db.account.defaults.raidnum].bosskills[eventnum].attendees, name)
end
else
self:AwardWaitotimeDKP(self.db.account.defaults.waitboss, POOL, Boss, self.db.account.defaults.Waitlist.members, "Group", "Group")
else
self:AwardWaitotimeDKP(self.db.account.defaults.waitboss, POOL, Boss, self.db.account.defaults.Waitlist.members, "Group", "Group")
end
self:AwardDKP(nil, self.db.account.defaults.waitboss, POOL, self.db.account.defaults.Waitlist.members, 1)
elseif id == 1 then
265,18 → 266,18
for num, name in pairs(self.db.account.defaults.Waitlist.members) do
table.insert(self.db.account.raidlog[self.db.account.defaults.raidnum].bosskills[1].attendees, name)
end
else
self:AwardWaitotimeDKP(self.db.account.defaults.waitstart, POOL, Boss, self.db.account.defaults.Waitlist.members, "Group", "Group")
else
self:AwardWaitotimeDKP(self.db.account.defaults.waitstart, POOL, Boss, self.db.account.defaults.Waitlist.members, "Group", "Group")
end
self:AwardDKP(nil, self.db.account.defaults.waitstart, POOL, self.db.account.defaults.Waitlist.members, 1)
end
end
end
 
function MorgDKP:AwardWaitotimeDKP(value, POOL, eventname, attendees, name, type)
self:Initialisedkpevents()
table.insert(self.db.account.raidlog.dkpevents[POOL], {name = name,
value = value,
members = attendees,
table.insert(self.db.account.raidlog.dkpevents[POOL], {name = name,
value = value,
members = attendees,
eqdkp = self.db.account.defaults.eqDKP[POOL].eqDKPsite,
prefix = self.db.account.defaults.eqDKP[POOL].prefix,
addtype = type,
289,7 → 290,7
if self.db.account.defaults.waitstart > 0 and id then
if self.db.account.defaults.waitstart == self.db.account.raidlog[self.db.account.defaults.raidnum].bosskills[id].value then
table.insert(self.db.account.raidlog[self.db.account.defaults.raidnum].bosskills[id].attendees, name)
else self:AwardWaitotimeDKP(self.db.account.defaults.waitstart, POOL, self.db.account.raidlog[self.db.account.defaults.raidnum].bosskills[id].name, {[1] = name}, name, "individual")
else self:AwardWaitotimeDKP(self.db.account.defaults.waitstart, POOL, self.db.account.raidlog[self.db.account.defaults.raidnum].bosskills[id].name, {[1] = name}, name, "individual")
end
self:AwardDKP(nil, self.db.account.defaults.waitstart, POOL, {[1] = name}, 1)
end
309,7 → 310,7
 
function MorgDKP:TimeDiff(time1, time2) --time1 is join time, time2 is current time
local hours1, hours2, min1, min2, sec1, sec2, day1, day2, total1, total2, timediff
 
 
if time1 and time2 then
local _, _, day1, hours1, min1, sec1 = string.find(time1, "%d+/(%d+)/%d+ (%d+):(%d+):(%d+)")
local _, _, day2, hours2, min2, sec2 = string.find(time2, "%d+/(%d+)/%d+ (%d+):(%d+):(%d+)")
317,18 → 318,18
total1 = ((( hours1 * 60 ) + min1) *60) + sec1
total2 = ((( hours2 * 60 ) + min2) *60) + sec2
if day2 ~= day1 then
if day2 > day1 then total2 = total2 + 86400
if day2 > day1 then total2 = total2 + 86400
else total1 = total1 + 86400 end
end
timediff = total2 - total1
return timediff
end
return 0
end
end
 
function MorgDKP:TimeStampDiff(time1, time2)
function MorgDKP:TimeStampDiff(time1, time2)
local hours1, hours2, min1, min2, day1, day2, month1, month2, year1, year2, total1, total2, timediff
 
 
if time1 and time2 then
time1 = tostring(time1)
time2 = tostring(time2)
338,13 → 339,13
local _, _, day2, month2, year2, hours2, min2 = string.find(time2, "(%d%d)(%d%d)(%d%d%d%d)(%d%d)(%d%d)")
total1 = ((((((month1 * 30) + day1) * 24) + hours1) * 60 ) + min1)
total2 = ((((((month2 * 30) + day2) * 24) + hours2) * 60 ) + min2)
if year1 > year2 then return true
if year1 > year2 then return true
elseif total1 > total2 then return true
else return false
end
end
end
return false
end
end
 
function MorgDKP:GetServerTime()
--get UTC time