/trunk
local player = UnitName('player').."-"..realm |
local faction |
local maxlevel = 100 |
local curVersion = 6003 |
local curVersion = 6006 |
local db |
local fmt = "|c0000ff00%s|r |c00ffffff%s|r" |
local defaults = { |
['active'] = true, |
['minlevel'] = 100, |
['maxlevel'] = 100, |
},['Worldbosses'] = { |
['name'] = "Worldbosses", |
['active'] = true, |
['minlevel'] = 100, |
['maxlevel'] = 100, |
['managed'] = true, |
}, |
}, |
['worldbosses'] = {}, |
['quests'] = { |
[37255] = { |
['active'] = true, |
return db |
end |
local function update() |
--print("uo") |
if(db['quests']) then |
for questId, questData in pairs(db['quests']) do |
-- print(player..":"..questId.." "..tostring(questData['minlevel']) .. "-".. tostring(db['char_db'][player]['level'])) |
end |
end |
end |
if(db['worldbosses']) then |
db['char_db'][player]['worldbosses'] = db['char_db'][player]['worldbosses'] or {} |
wipe(db['char_db'][player]['worldbosses']) |
for i=1,GetNumSavedWorldBosses() do |
local name, worldBossID, reset = GetSavedWorldBossInfo(i) |
if(reset > 0) then |
db['worldbosses'][worldBossID] = { |
['name'] = name, |
['id'] = worldBossID, |
['expansion'] = "Worldbosses", |
} |
db['char_db'][player]['worldbosses'][worldBossID] = time() + reset; |
end |
end |
end |
end |
local function onupdate(self,dt) |
for charName, charData in pairs(db['char_db']) do |
local cn,cr = strsplit("-",charName,2) |
local cdn = db['hideRealm'] and cn or charName |
charData['worldbosses'] = charData['worldbosses'] or {} |
if(charData['level'] >= info['minlevel']) then |
local line = "" |
local nd = false |
end |
end |
end |
for worldbossId, worldbossData in pairs(db['worldbosses']) do |
if(worldbossData['expansion']==expansion) then |
if( line ~= "") then |
line = line .. "/" |
end |
local newline = line .. addon['colorize'](worldbossData['name'], (charData['worldbosses'][worldbossId] and charData['worldbosses'][worldbossId] or 0)>time() and '00ff00' or 'ff0000') |
if(strlen(newline)<=(db['wraplength'] or 200)) then |
line = newline |
else |
if(line ~= "" and (((db['sameRealm'] and cr == realm) and true or false) or not db['sameRealm'])) then |
GameTooltip:AddDoubleLine(nd and " " or (addon['classcolor'](cdn,(charData['class']))), line) |
end |
nd = true |
line = "" |
end |
end |
end |
if(line ~= "" and (((db['sameRealm'] and cr == realm) and true or false) or not db['sameRealm'])) then |
GameTooltip:AddDoubleLine(nd and " " or (addon['classcolor'](cdn,(charData['class']))),(line)) |
end |
addon['AddConfigEntry'](addon,childName,'input','name_'..expansion,"Name","Display Name of the expansion",2,nil,nil,nil,nil,menu) |
addon['AddConfigEntry'](addon,childName,'input','minlevel_'..expansion,"Min Level","Minimum level to complete the quest",3,nil,nil,nil,nil,menu) |
addon['AddConfigEntry'](addon,childName,'input','maxlevel_'..expansion,"Max Level","Maximum level to display the quest",4,nil,nil,nil,nil,menu) |
addon['AddConfigEntry'](addon,childName,'header','head1',"Add Quest","",5,nil,nil,nil,nil,menu) |
addon['AddConfigEntry'](addon,childName,'input','add_'..expansion,"Add Id","Add QuestId - Keep in mind that some quests are factionspecific.",6,nil,nil,nil,nil,menu) |
for quest, qTab in pairs(db['quests'] or {}) do |
if(qTab['expansion'] == expansion) then |
local submenu = addon['AddConfigMenu'](addon,{ |
['name'] = addon['colorize'](qTab['name'],(qTab['active'] and "ffffff" or "ff0000")), |
['order'] = 7, |
['childGroups'] = 'tree', |
['args'] = {}, |
['menuGet'] = getQuestPref, |
['menuSet'] = setQuestPref, |
}, menu) |
addon['AddConfigEntry'](addon,childName,'toggle','active_'..quest,"Active","",1,nil,nil,nil,nil,submenu) |
addon['AddConfigEntry'](addon,childName,'select','qtype_'..quest,"Type","",2,{"Default","Location"},nil,nil,nil,submenu) |
if(qTab['location']) then |
addon['AddConfigEntry'](addon,childName,'input','location_'..quest,"Location","AreaId for the coords, check http://wowpedia.org/MapID",3,nil,nil,nil,nil,submenu) |
addon['AddConfigEntry'](addon,childName,'input','x_'..quest,"X-Coord","",4,nil,nil,nil,nil,submenu) |
addon['AddConfigEntry'](addon,childName,'input','y_'..quest,"Y-Coord","",5,nil,nil,nil,nil,submenu) |
if(not tab['managed']) then |
addon['AddConfigEntry'](addon,childName,'header','head1',"Add Quest","",5,nil,nil,nil,nil,menu) |
addon['AddConfigEntry'](addon,childName,'input','add_'..expansion,"Add Id","Add QuestId - Keep in mind that some quests are factionspecific.",6,nil,nil,nil,nil,menu) |
for quest, qTab in pairs(db['quests'] or {}) do |
if(qTab['expansion'] == expansion) then |
local submenu = addon['AddConfigMenu'](addon,{ |
['name'] = addon['colorize'](qTab['name'],(qTab['active'] and "ffffff" or "ff0000")), |
['order'] = 7, |
['childGroups'] = 'tree', |
['args'] = {}, |
['menuGet'] = getQuestPref, |
['menuSet'] = setQuestPref, |
}, menu) |
addon['AddConfigEntry'](addon,childName,'toggle','active_'..quest,"Active","",1,nil,nil,nil,nil,submenu) |
addon['AddConfigEntry'](addon,childName,'select','qtype_'..quest,"Type","",2,{"Default","Location"},nil,nil,nil,submenu) |
if(qTab['location']) then |
addon['AddConfigEntry'](addon,childName,'input','location_'..quest,"Location","AreaId for the coords, check http://wowpedia.org/MapID",3,nil,nil,nil,nil,submenu) |
addon['AddConfigEntry'](addon,childName,'input','x_'..quest,"X-Coord","",4,nil,nil,nil,nil,submenu) |
addon['AddConfigEntry'](addon,childName,'input','y_'..quest,"Y-Coord","",5,nil,nil,nil,nil,submenu) |
end |
addon['AddConfigEntry'](addon,childName,'input','quest_'..quest,"QuestId","",6,nil,nil,nil,nil,submenu) |
addon['AddConfigEntry'](addon,childName,'input','name_'..quest,"Questname","",7,nil,nil,nil,nil,submenu) |
addon['AddConfigEntry'](addon,childName,'input','minlevel_'..quest,"Quest Minlevel","Minimum level to accept the quest",8,nil,nil,nil,nil,submenu) |
addon['AddConfigEntry'](addon,childName,'execute','deleteQuest_'..quest,"Remove","Remove quest",9,removeQuest,nil,nil,nil,submenu) |
end |
addon['AddConfigEntry'](addon,childName,'input','quest_'..quest,"QuestId","",6,nil,nil,nil,nil,submenu) |
addon['AddConfigEntry'](addon,childName,'input','name_'..quest,"Questname","",7,nil,nil,nil,nil,submenu) |
addon['AddConfigEntry'](addon,childName,'input','minlevel_'..quest,"Quest Minlevel","Minimum level to accept the quest",8,nil,nil,nil,nil,submenu) |
addon['AddConfigEntry'](addon,childName,'execute','deleteQuest_'..quest,"Remove","Remove quest",9,removeQuest,nil,nil,nil,submenu) |
end |
end |
addon['AddConfigEntry'](addon,childName,'header','head2',"Remove Expansion","",8,nil,nil,nil,nil,menu) |
[6003] = { |
['quests'] = {37255,37308,37309,37310,37307,35788,37305,35786,36055,36834,37462,37463,37464,37465,37675,37460,37672,37673,37461,37681,37682,37683,37684,37639,37306,35787,37284,36395,36397,36398,36399,36400,36401}, |
['expansions'] = {'WoD','WoD-Seals'} |
}, |
[6005] = { |
['expansions'] = {'Worldbosses'}, |
['worldbosses'] = { |
} |
} |
} |
for a,b in pairs(steps) do |
if(a > db['version']) then |
db['quests'] = db['quests'] or {} |
for _,expansion in pairs(b['expansions']) do |
db['expansions'][expansion] = CopyTable(defaults['expansions'][expansion]) |
db['worldbosses'] = db['worldbosses'] or {} |
if(b['expansions']) then |
for _,expansion in pairs(b['expansions']) do |
db['expansions'][expansion] = CopyTable(defaults['expansions'][expansion]) |
end |
end |
for _,quest in pairs(b['quests']) do |
db['quests'][tonumber(quest)] = CopyTable(defaults['quests'][tonumber(quest)]) |
if(b['quests']) then |
for _,quest in pairs(b['quests']) do |
db['quests'][tonumber(quest)] = CopyTable(defaults['quests'][tonumber(quest)]) |
end |
end |
if(b['worldbosses']) then |
for _,wb in pairs(b['worldbosses']) do |
if(defaults['worldbosses'][tonumber(wb)]) then |
db['worldbosses'][tonumber(wb)] = CopyTable(defaults['worldbosses'][tonumber(wb)]) |
end |
end |
end |
end |
end |
db['version'] = curVersion |
end) |
end |
addon['updatePrefs']() |
addon['RegisterFunc']({"PLAYER_REGEN_DISABLED","PLAYER_REGEN_ENABLED","QUEST_COMPLETE","QUEST_FINISHED"},"OnEvent", event) |
local self = addon['RegisterFunc']({"PLAYER_REGEN_DISABLED","PLAYER_REGEN_ENABLED","QUEST_COMPLETE","QUEST_FINISHED"},"OnEvent", event) |
self:SetScript("OnUpdate", onupdate) |
end |
addon['startup'](addon, name, childName, init, true, defaults) |