vanilla-wow-addons – Rev 1
?pathlinks?
-- MetaMapZSM (ZoneShifter for German and French clients)
-- Written by MetaHawk - aka Urshurak
function MetaMapZSM_Init()
MetaMapZSM_InfoHeader:SetText(METAMAPZSM_NEW_VERSION);
for index, versions in MetaMapZSM_VersionData do
for version, value in versions do
local setButton = false;
if(GetLocale() == "deDE") then
if(DE_ZoneShift[version] ~= nil) then
setButton = true;
end
elseif(GetLocale() == "frFR") then
if(FR_ZoneShift[version] ~= nil) then
setButton = true;
end
end
if(setButton) then
getglobal("MetaMapZSM_ZoneShiftButton"..index):SetText("ZoneShift from "..value.old.." to "..value.new);
getglobal("MetaMapZSM_ZoneShiftButton"..index.."Version"):SetText(value.old);
getglobal("MetaMapZSM_ZoneShiftButton"..index):Show();
if(MetaMapOptions.ZoneShiftVersion >= value.new) then
getglobal("MetaMapZSM_ZoneShiftButton"..index):Disable();
getglobal("MetaMapZSM_ZoneShiftButton"..index.."SkipShift"):Hide();
else
getglobal("MetaMapZSM_ZoneShiftButton"..index):Enable();
getglobal("MetaMapZSM_ZoneShiftButton"..index.."SkipShift"):Show();
end
end
end
end
if(MetaMapOptions.ZoneShiftVersion == METAMAP_TOC) then
MetaMapZSM_InfoHeader:SetText(METAMAPZSM_NO_SHIFT);
MetaMapZSM_Update:Disable();
end
end
function MetaMapZSM_OnClick(id, button)
if(not IsAddOnLoaded("MetaMapWKB")) then
LoadAddOn("MetaMapWKB");
end
local newShift = MetaMapZSM_VersionData[button][id].new;
MetaMapZSM_Convert(newShift);
MetaMapOptions.ZoneShiftVersion = newShift;
MetaMapZSM_Init();
end
function MetaMapZSM_Convert(newShift)
local temp = {}
for z=1, 2, 1 do
for index, value in MetaMapNotes_Data[z] do
if(GetLocale() == "deDE" and type(z) ~= "string") then
temp[DE_ZoneShift[newShift][z][index]] = value;
elseif(GetLocale() == "frFR" and type(z) ~= "string") then
temp[FR_ZoneShift[newShift][z][index]] = value;
end
end
MetaMapNotes_Data[z] = {};
for index, value in temp do
MetaMapNotes_Data[z][index] = value;
end
temp = {};
end
temp = {};
for z=1, 2, 1 do
for index, value in MetaMapNotes_Lines[z] do
if(GetLocale() == "deDE") then
temp[DE_ZoneShift[newShift][z][index]] = value;
elseif(GetLocale() == "frFR") then
temp[FR_ZoneShift[newShift][z][index]] = value;
end
end
MetaMapNotes_Lines[z] = {};
for index, value in temp do
MetaMapNotes_Lines[z][index] = value;
end
temp = {};
end
temp = {};
if(MetaKB_Data) then
for name, continentTable in MetaKB_Data[MetaKB_dbID] do
for continent, zoneTable in continentTable do
for zone, value in zoneTable do
if(GetLocale() ~= "deDE") then
temp[DE_ZoneShift[newShift][continent][zone]] = value;
elseif(GetLocale() == "frFR") then
temp[FR_ZoneShift[newShift][continent][zone]] = value;
end
end
MetaKB_Data[MetaKB_dbID][name][continent] = {};
for index, value in temp do
MetaKB_Data[MetaKB_dbID][name][continent][index] = value;
end
temp = {};
end
end
end
MetaMapZSM_InfoHeader:SetText(format(METAMAPZSM_UPDATE_DONE, newShift));
end
MetaMapZSM_VersionData = {
[1] = {
[11000] = {
["old"] = 11000,
["new"] = 11100,
},
},
[2] = {
[11100] = {
["old"] = 11100,
["new"] = 11200,
},
},
}
-- German ZoneShift
DE_ZoneShift = {
[11000] = {
[0] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 },
[1] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 },
[2] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 },
},
[11100] = {
[0] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 },
[1] = { 1, 2, 4, 3, 14, 20, 5, 9, 6, 7, 8, 10, 11, 12, 13, 15, 17, 18, 16 ,19, 21 },
[2] = { 1, 2, 7, 10, 15, 24, 6, 13, 21, 16, 20, 3, 12, 19, 23, 25, 4, 5, 8, 9, 14, 11, 17, 18, 22 },
},
[11200] = {
[0] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 },
[1] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 },
[2] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 },
},
}
-- French ZoneShift
FR_ZoneShift = {
[11000] = {
[0] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 },
[1] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 },
[2] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 },
},
[11100] = {
[0] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 },
[1] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 },
[2] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 },
},
[11200] = {
[0] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 },
[1] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 },
[2] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 },
},
}