vanilla-wow-addons – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | local MAJOR_VERSION = "Zone 1.1" |
2 | local MINOR_VERSION = tonumber(string.sub("$Revision: 1536 $", 12, -3)) |
||
3 | |||
4 | if BabbleLib and BabbleLib.versions[MAJOR_VERSION] and BabbleLib.versions[MAJOR_VERSION].minor >= MINOR_VERSION then |
||
5 | return |
||
6 | end |
||
7 | |||
8 | local locale = GetLocale and GetLocale() or "enUS" |
||
9 | if locale ~= "frFR" and locale ~= "deDE" and locale ~= "zhCN" then |
||
10 | locale = "enUS" |
||
11 | end |
||
12 | |||
13 | local initZones, zones |
||
14 | if locale == "enUS" then |
||
15 | function initZones() |
||
16 | zones = { |
||
17 | ALTERAC_MOUNTAINS = "Alterac Mountains", |
||
18 | ALTERAC_VALLEY = "Alterac Valley", |
||
19 | ARATHI_BASIN = "Arathi Basin", |
||
20 | ARATHI_HIGHLANDS = "Arathi Highlands", |
||
21 | ASHENVALE = "Ashenvale", |
||
22 | AZSHARA = "Azshara", |
||
23 | BADLANDS = "Badlands", |
||
24 | BARRENS = "The Barrens", |
||
25 | BLACKFATHOM_DEEPS = "Blackfathom Deeps", |
||
26 | BLACKROCK_DEPTHS = "Blackrock Depths", |
||
27 | BLACKROCK_MOUNTAIN = "Blackrock Mountain", |
||
28 | BLACKROCK_SPIRE = "Blackrock Spire", |
||
29 | BLACKWING_LAIR = "Blackwing Lair", |
||
30 | BLASTED_LANDS = "Blasted Lands", |
||
31 | BOOTY_BAY = "Booty Bay", |
||
32 | BURNING_STEPPES = "Burning Steppes", |
||
33 | CAVERNS_OF_TIME = "Caverns of Time", |
||
34 | DARKSHORE = "Darkshore", |
||
35 | DARNASSUS = "Darnassus", |
||
36 | DEADMINES = "The Deadmines", |
||
37 | DEADWIND_PASS = "Deadwind Pass", |
||
38 | DEEPRUN_TRAM = "Deeprun Tram", |
||
39 | DESOLACE = "Desolace", |
||
40 | DIRE_MAUL = "Dire Maul", |
||
41 | DUN_MOROGH = "Dun Morogh", |
||
42 | DUROTAR = "Durotar", |
||
43 | DUSKWOOD = "Duskwood", |
||
44 | DUSTWALLOW_MARSH = "Dustwallow Marsh", |
||
45 | EASTERN_PLAGUELANDS = "Eastern Plaguelands", |
||
46 | ELWYNN_FOREST = "Elwynn Forest", |
||
47 | FELWOOD = "Felwood", |
||
48 | FERALAS = "Feralas", |
||
49 | FORBIDDING_SEA = "The Forbidding Sea", |
||
50 | GADGETZAN = "Gadgetzan", |
||
51 | GNOMEREGAN = "Gnomeregan", |
||
52 | GREAT_SEA = "The Great Sea", |
||
53 | HALL_OF_LEGENDS = "Hall of Legends", |
||
54 | HILLSBRAD_FOOTHILLS = "Hillsbrad Foothills", |
||
55 | HINTERLANDS = "The Hinterlands", |
||
56 | HYJAL = "Hyjal", |
||
57 | IRONFORGE = "Ironforge", |
||
58 | LOCH_MODAN = "Loch Modan", |
||
59 | MARAUDON = "Maraudon", |
||
60 | MOLTEN_CORE = "Molten Core", |
||
61 | MOONGLADE = "Moonglade", |
||
62 | MULGORE = "Mulgore", |
||
63 | ONYXIAS_LAIR = "Onyxia's Lair", |
||
64 | ORGRIMMAR = "Orgrimmar", |
||
65 | RATCHET = "Ratchet", |
||
66 | RAGEFIRE_CHASM = "Ragefire Chasm", |
||
67 | RAZORFEN_DOWNS = "Razorfen Downs", |
||
68 | RAZORFEN_KRAUL = "Razorfen Kraul", |
||
69 | REDRIDGE_MOUNTAINS = "Redridge Mountains", |
||
70 | RUINS_OF_AHN_QIRAJ = "Ruins of Ahn'Qiraj", |
||
71 | SCARLET_MONASTERY = "Scarlet Monastery", |
||
72 | SCHOLOMANCE = "Scholomance", |
||
73 | SEARING_GORGE = "Searing Gorge", |
||
74 | SHADOWFANG_KEEP = "Shadowfang Keep", |
||
75 | SILITHUS = "Silithus", |
||
76 | SILVERPINE_FOREST = "Silverpine Forest", |
||
77 | STOCKADE = "The Stockade", |
||
78 | STONETALON_MOUNTAINS = "Stonetalon Mountains", |
||
79 | STORMWIND_CITY = "Stormwind City", |
||
80 | STORMWIND_CITY_ALT = "Stormwind", |
||
81 | STRANGLETHORN_VALE = "Stranglethorn Vale", |
||
82 | STRATHOLME = "Stratholme", |
||
83 | SWAMP_OF_SORROWS = "Swamp of Sorrows", |
||
84 | TANARIS = "Tanaris", |
||
85 | TELDRASSIL = "Teldrassil", |
||
86 | TEMPLE_OF_AHN_QIRAJ = "Temple of Ahn'Qiraj", |
||
87 | TEMPLE_OF_ATAL_HAKKAR = "The Temple of Atal'Hakkar", |
||
88 | THOUSAND_NEEDLES = "Thousand Needles", |
||
89 | THUNDER_BLUFF = "Thunder Bluff", |
||
90 | TIRISFAL_GLADES = "Tirisfal Glades", |
||
91 | ULDAMAN = "Uldaman", |
||
92 | UN_GORO_CRATER = "Un'Goro Crater", |
||
93 | UNDERCITY = "Undercity", |
||
94 | UNDERCITY_ALT = "The Undercity", |
||
95 | WAILING_CAVERNS = "Wailing Caverns", |
||
96 | WARSONG_GULCH = "Warsong Gulch", |
||
97 | WESTERN_PLAGUELANDS = "Western Plaguelands", |
||
98 | WESTFALL = "Westfall", |
||
99 | WETLANDS = "Wetlands", |
||
100 | WINTERSPRING = "Winterspring", |
||
101 | ZUL_FARRAK = "Zul'Farrak", |
||
102 | ZUL_GURUB = "Zul'Gurub", |
||
103 | } |
||
104 | end |
||
105 | elseif locale == "deDE" then |
||
106 | function initZones() |
||
107 | zones = { |
||
108 | ALTERAC_MOUNTAINS = "Das Alteracgebirge", |
||
109 | ALTERAC_VALLEY = "Alteractal", |
||
110 | ARATHI_BASIN = "Arathibecken", |
||
111 | ARATHI_HIGHLANDS = "Das Arathihochland", |
||
112 | ASHENVALE = "Ashenvale", |
||
113 | AZSHARA = "Azshara", |
||
114 | BADLANDS = "Das \195\150dland", |
||
115 | BARRENS = "Das Brachland", |
||
116 | BLACKFATHOM_DEEPS = "Blackfathom-Tiefe", |
||
117 | BLACKROCK_DEPTHS = "Blackrocktiefen", |
||
118 | BLACKROCK_MOUNTAIN = "Der Blackrock", |
||
119 | BLACKROCK_SPIRE = "Blackrockspitze", |
||
120 | BLACKWING_LAIR = "Pechschwingenhort", |
||
121 | BLASTED_LANDS = "Die verw\195\188steten Lande", |
||
122 | BOOTY_BAY = "Booty Bay", |
||
123 | BURNING_STEPPES = "Die brennende Steppe", |
||
124 | CAVERNS_OF_TIME = "Die H\195\182hlen der Zeit", |
||
125 | DARKSHORE = "Dunkelk\195\188ste", |
||
126 | DARNASSUS = "Darnassus", |
||
127 | DEADMINES = "Die Todesminen", |
||
128 | DEADWIND_PASS = "Der Gebirgspass der Totenwinde", |
||
129 | DEEPRUN_TRAM = "Die Tiefenbahn", |
||
130 | DESOLACE = "Desolace", |
||
131 | DIRE_MAUL = "D\195\188sterbruch", |
||
132 | DUN_MOROGH = "Dun Morogh", |
||
133 | DUROTAR = "Durotar", |
||
134 | DUSKWOOD = "Duskwood", |
||
135 | DUSTWALLOW_MARSH = "Die Marschen von Dustwallow", |
||
136 | EASTERN_PLAGUELANDS = "Die \195\182stlichen Pestl\195\164nder", |
||
137 | ELWYNN_FOREST = "Der Wald von Elwynn", |
||
138 | FELWOOD = "Teufelswald", |
||
139 | FERALAS = "Feralas", |
||
140 | FORBIDDING_SEA = "Das verbotene Meer", |
||
141 | GADGETZAN = "Gadgetzan", |
||
142 | GNOMEREGAN = "Gnomeregan", |
||
143 | GREAT_SEA = "Das grosse Meer", |
||
144 | HALL_OF_LEGENDS = "Halle der Legenden", |
||
145 | HILLSBRAD_FOOTHILLS = "Die Vorgebirge von Hillsbrad", |
||
146 | HINTERLANDS = "Das Hinterland", |
||
147 | HYJAL = "Hyjal", |
||
148 | IRONFORGE = "Ironforge", |
||
149 | LOCH_MODAN = "Loch Modan", |
||
150 | MARAUDON = "Maraudon", |
||
151 | MOLTEN_CORE = "Geschmolzener Kern", |
||
152 | MOONGLADE = "Moonglade", |
||
153 | MULGORE = "Mulgore", |
||
154 | ONYXIAS_LAIR = "Onyxias Hort", |
||
155 | ORGRIMMAR = "Orgrimmar", |
||
156 | RATCHET = "Ratchet", |
||
157 | RAGEFIRE_CHASM = "Ragefireabgrund", |
||
158 | RAZORFEN_DOWNS = "Die H\195\188gel von Razorfen", |
||
159 | RAZORFEN_KRAUL = "Der Kral von Razorfen", |
||
160 | REDRIDGE_MOUNTAINS = "Das Redridgegebirge", |
||
161 | RUINS_OF_AHN_QIRAJ = "Ruinen von Ahn'Qiraj", |
||
162 | SCARLET_MONASTERY = "Das Scharlachrote Kloster", |
||
163 | SCHOLOMANCE = "Scholomance", |
||
164 | SEARING_GORGE = "Die sengende Schlucht", |
||
165 | SHADOWFANG_KEEP = "Burg Shadowfang", |
||
166 | SILITHUS = "Silithus", |
||
167 | SILVERPINE_FOREST = "Der Silberwald", |
||
168 | STOCKADE = "Das Verlies", |
||
169 | STONETALON_MOUNTAINS = "Das Steinkrallengebirge", |
||
170 | STORMWIND_CITY = "Stormwind", |
||
171 | STRANGLETHORN_VALE = "Stranglethorn", |
||
172 | STRATHOLME = "Stratholme", |
||
173 | SWAMP_OF_SORROWS = "Die S\195\188mpfe des Elends", |
||
174 | TANARIS = "Tanaris", |
||
175 | TELDRASSIL = "Teldrassil", |
||
176 | TEMPLE_OF_AHN_QIRAJ = "Tempel von Ahn'Qiraj", |
||
177 | TEMPLE_OF_ATAL_HAKKAR = "Der Tempel von Atal'Hakkar", |
||
178 | THOUSAND_NEEDLES = "Thousand Needles", |
||
179 | THUNDER_BLUFF = "Thunder Bluff", |
||
180 | TIRISFAL_GLADES = "Tirisfal", |
||
181 | ULDAMAN = "Uldaman", |
||
182 | UN_GORO_CRATER = "Der Un'Goro Krater", |
||
183 | UNDERCITY = "Undercity", |
||
184 | WAILING_CAVERNS = "Die H\195\182hlen des Wehklagens", |
||
185 | WARSONG_GULCH = "Warsongschlucht", |
||
186 | WESTERN_PLAGUELANDS = "Die westlichen Pestl\195\164nder", |
||
187 | WESTFALL = "Westfall", |
||
188 | WETLANDS = "Das Sumpfland", |
||
189 | WINTERSPRING = "Winterspring", |
||
190 | ZUL_FARRAK = "Zul'Farrak", |
||
191 | ZUL_GURUB = "Zul'Gurub", |
||
192 | } |
||
193 | end |
||
194 | elseif locale == "frFR" then |
||
195 | function initZones() |
||
196 | zones = { |
||
197 | ALTERAC_MOUNTAINS = "Montagnes d'Alterac", |
||
198 | ALTERAC_VALLEY = "Vall\195\169e d'Alterac", |
||
199 | ARATHI_BASIN = "Bassin d'Arathi", |
||
200 | ARATHI_HIGHLANDS = "Hautes-terres d'Arathi", |
||
201 | ASHENVALE = "Ashenvale", |
||
202 | AZSHARA = "Azshara", |
||
203 | BADLANDS = "Terres ingrates", |
||
204 | BARRENS = "Les Tarides", |
||
205 | BLACKFATHOM_DEEPS = "Profondeurs de Brassenoire", |
||
206 | BLACKROCK_DEPTHS = "Profondeurs de Blackrock", |
||
207 | BLACKROCK_MOUNTAIN = "Mont Blackrock", |
||
208 | BLACKROCK_SPIRE = "Pic Blackrock", |
||
209 | BLACKWING_LAIR = "Repaire de l'Aile noire", |
||
210 | BLASTED_LANDS = "Terres foudroy\195\169es", |
||
211 | BOOTY_BAY = "Baie-du-Butin", |
||
212 | BURNING_STEPPES = "Steppes Ardentes", |
||
213 | CAVERNS_OF_TIME = "Grottes du temps", |
||
214 | DARKSHORE = "Sombrivage", |
||
215 | DARNASSUS = "Darnassus", |
||
216 | DEADMINES = "Les mortemines", |
||
217 | DEADWIND_PASS = "D\195\169fil\195\169 de Deuillevent", |
||
218 | DEEPRUN_TRAM = "Tram des profondeurs", |
||
219 | DESOLACE = "D\195\169solace", |
||
220 | DIRE_MAUL = "Hache-Tripes", |
||
221 | DUN_MOROGH = "Dun Morogh", |
||
222 | DUROTAR = "Durotar", |
||
223 | DUSKWOOD = "Bois de la p\195\169nombre", |
||
224 | DUSTWALLOW_MARSH = "Mar\195\169cage d'\195\130prefange", |
||
225 | EASTERN_PLAGUELANDS = "Maleterres de l'est", |
||
226 | ELWYNN_FOREST = "For\195\170t d'Elwynn", |
||
227 | FELWOOD = "Gangrebois", |
||
228 | FERALAS = "Feralas", |
||
229 | FORBIDDING_SEA = "La Mer interdite", |
||
230 | GADGETZAN = "Gadgetzan", -- CHECK |
||
231 | GNOMEREGAN = "Gnomeregan", |
||
232 | GREAT_SEA = "La Grande mer", |
||
233 | HALL_OF_LEGENDS = "Hall des L\195\169gendes", |
||
234 | HILLSBRAD_FOOTHILLS = "Contreforts d'Hillsbrad", |
||
235 | HINTERLANDS = "Les Hinterlands", |
||
236 | HYJAL = "Hyjal", -- CHECK |
||
237 | IRONFORGE = "Ironforge", |
||
238 | LOCH_MODAN = "Loch Modan", |
||
239 | MARAUDON = "Maraudon", |
||
240 | MOLTEN_CORE = "C\221\181r du Magma", |
||
241 | MOONGLADE = "Reflet-de-lune", |
||
242 | MULGORE = "Mulgore", |
||
243 | ONYXIAS_LAIR = "Repaire d'Onyxia", |
||
244 | ORGRIMMAR = "Orgrimmar", |
||
245 | RATCHET = "Ratchet", |
||
246 | RAGEFIRE_CHASM = "Gouffre de Ragefeu", |
||
247 | RAZORFEN_DOWNS = "Souilles de Tranchebauge", |
||
248 | RAZORFEN_KRAUL = "Kraal de Tranchebauge", |
||
249 | REDRIDGE_MOUNTAINS = "Les Carmines", |
||
250 | RUINS_OF_AHN_QIRAJ = "Ruines d'Ahn'Qiraj", |
||
251 | SCARLET_MONASTERY = "Monast\195\168re Ecarlate", |
||
252 | SCHOLOMANCE = "Scholomance", |
||
253 | SEARING_GORGE = "Gorge des Vents br\195\187lants", |
||
254 | SHADOWFANG_KEEP = "Donjon d'Ombrecroc", |
||
255 | SILITHUS = "Silithus", |
||
256 | SILVERPINE_FOREST = "For\195\170t des pins argent\195\169s", |
||
257 | STOCKADE = "La Prison", |
||
258 | STONETALON_MOUNTAINS = "Les Serres-Rocheuses", |
||
259 | STORMWIND_CITY = "Cit\195\169 de Stormwind", |
||
260 | STRANGLETHORN_VALE = "Vall\195\169e de Strangleronce", |
||
261 | STRATHOLME = "Stratholme", |
||
262 | SWAMP_OF_SORROWS = "Marais des Chagrins", |
||
263 | TANARIS = "Tanaris", |
||
264 | TELDRASSIL = "Teldrassil", |
||
265 | TEMPLE_OF_AHN_QIRAJ = "Le temple d'Ahn'Qiraj", |
||
266 | TEMPLE_OF_ATAL_HAKKAR = "Le Temple d'Atal'Hakkar", |
||
267 | THOUSAND_NEEDLES = "Mille pointes", |
||
268 | THUNDER_BLUFF = "Thunder Bluff", |
||
269 | TIRISFAL_GLADES = "Clairi\195\168res de Tirisfal", |
||
270 | ULDAMAN = "Uldaman", |
||
271 | UN_GORO_CRATER = "Crat\195\168re d'Un'Goro", |
||
272 | UNDERCITY = "Undercity", |
||
273 | WAILING_CAVERNS = "Cavernes des lamentations", |
||
274 | WARSONG_GULCH = "Goulet des Warsong", |
||
275 | WESTERN_PLAGUELANDS = "Maleterres de l'ouest", |
||
276 | WESTFALL = "Marche de l'Ouest", |
||
277 | WETLANDS = "Les Paluns", |
||
278 | WINTERSPRING = "Berceau-de-l'Hiver", |
||
279 | ZUL_FARRAK = "Zul'Farrak", |
||
280 | ZUL_GURUB = "Zul'Gurub", |
||
281 | } |
||
282 | end |
||
283 | elseif locale == "zhCN" then |
||
284 | function initZones() |
||
285 | zones = { |
||
286 | ALTERAC_MOUNTAINS = "\229\165\165\231\137\185\229\133\176\229\133\139\229\177\177\232\132\137", |
||
287 | ALTERAC_VALLEY = "\229\165\165\231\137\185\229\133\176\229\133\139\229\177\177\232\176\183", |
||
288 | ARATHI_BASIN = "\233\152\191\230\139\137\229\184\140\231\155\134\229\156\176", |
||
289 | ARATHI_HIGHLANDS = "\233\152\191\230\139\137\229\184\140\233\171\152\229\156\176", |
||
290 | ASHENVALE = "\231\129\176\232\176\183", |
||
291 | AZSHARA = "\232\137\190\232\144\168\230\139\137", |
||
292 | BADLANDS = "\232\141\146\232\138\156\228\185\139\229\156\176", |
||
293 | BARRENS = "\232\180\171\231\152\160\228\185\139\229\156\176", |
||
294 | BLACKFATHOM_DEEPS = "\233\187\145\230\154\151\230\183\177\230\184\138", |
||
295 | BLACKROCK_DEPTHS = "\233\187\145\231\159\179\230\183\177\230\184\138", |
||
296 | BLACKROCK_MOUNTAIN = "\233\187\145\231\159\179\229\177\177", |
||
297 | BLACKROCK_SPIRE = "\233\187\145\231\159\179\229\161\148", |
||
298 | BLACKWING_LAIR = "\233\187\145\231\191\188\228\185\139\229\183\162", |
||
299 | BLASTED_LANDS = "\232\175\133\229\146\146\228\185\139\229\156\176", |
||
300 | BOOTY_BAY = "Booty Bay", -- CHECK |
||
301 | BURNING_STEPPES = "\231\135\131\231\131\167\229\185\179\229\142\159", |
||
302 | CAVERNS_OF_TIME = "\230\151\182\229\133\137\228\185\139\231\169\180", |
||
303 | DARKSHORE = "\233\187\145\230\181\183\229\178\184", |
||
304 | DARNASSUS = "\232\190\190\231\186\179\232\139\143\230\150\175", |
||
305 | DEADMINES = "\230\173\187\228\186\161\231\159\191\228\186\149", |
||
306 | DEADWIND_PASS = "\233\128\134\233\163\142\229\176\143\229\190\132", |
||
307 | DEEPRUN_TRAM = "\231\159\191\239\191\189?\239\191\189\229\156\176\239\191\189?", -- CHECK |
||
308 | DESOLACE = "\229\135\132\229\135\137\228\185\139\229\156\176", |
||
309 | DIRE_MAUL = "\229\142\132\232\191\144\228\185\139\230\167\140", |
||
310 | DUN_MOROGH = "\228\184\185\232\142\171\231\189\151", |
||
311 | DUROTAR = "\230\157\156\233\154\134\229\161\148\229\176\148", |
||
312 | DUSKWOOD = "\230\154\174\232\137\178\230\163\174\230\158\151", |
||
313 | DUSTWALLOW_MARSH = "\229\176\152\230\179\165\230\178\188\230\179\189", |
||
314 | EASTERN_PLAGUELANDS = "\228\184\156\231\152\159\231\150\171\228\185\139\229\156\176", |
||
315 | ELWYNN_FOREST = "\232\137\190\229\176\148\230\150\135\230\163\174\230\158\151", |
||
316 | FELWOOD = "\232\180\185\228\188\141\229\190\183\230\163\174\230\158\151", |
||
317 | FERALAS = "\239\191\189?\239\191\189\230\139\137\230\150\175", -- CHECK |
||
318 | FORBIDDING_SEA = "The Forbidding Sea", |
||
319 | GADGETZAN = "Gadgetzan", -- CHECK |
||
320 | GNOMEREGAN = "\232\175\186\232\142\171\231\145\158\230\160\185", |
||
321 | GREAT_SEA = "The Great Sea", -- CHECK |
||
322 | HALL_OF_LEGENDS = "Hall of Legends", -- CHECK |
||
323 | HILLSBRAD_FOOTHILLS = "\229\184\140\229\176\148\230\150\175\229\184\131\232\142\177\229\190\183\228\184\152\233\153\181", |
||
324 | HINTERLANDS = "\232\190\155\231\137\185\229\133\176", |
||
325 | HYJAL = "Hyjal", -- CHECK |
||
326 | IRONFORGE = "\233\147\129\231\130\137\229\160\161", |
||
327 | LOCH_MODAN = "\230\180\155\229\133\139\232\142\171\228\184\185", |
||
328 | MARAUDON = "\231\142\155\230\139\137\233\161\191", |
||
329 | MOLTEN_CORE = "\231\134\148\231\129\171\228\185\139\229\191\131", |
||
330 | MOONGLADE = "\230\156\136\229\133\137\230\158\151\229\156\176", |
||
331 | MULGORE = "\232\142\171\233\171\152\233\155\183", |
||
332 | ONYXIAS_LAIR = "\229\165\165\229\166\174\229\133\139\232\165\191\228\186\154\231\154\132\229\183\162\231\169\180", |
||
333 | ORGRIMMAR = "\229\165\165\230\160\188\231\145\158\231\142\155", |
||
334 | RATCHET = "Ratchet", -- CHECK |
||
335 | RAGEFIRE_CHASM = "\230\128\146\231\132\176\232\163\130\232\176\183", |
||
336 | RAZORFEN_DOWNS = "\229\137\131\229\136\128\233\171\152\229\156\176", |
||
337 | RAZORFEN_KRAUL = "\229\137\131\229\136\128\230\178\188\230\179\189", |
||
338 | REDRIDGE_MOUNTAINS = "\232\181\164\232\132\138\229\177\177", |
||
339 | RUINS_OF_AHN_QIRAJ = "\229\174\137\229\133\182\230\139\137\229\186\159\229\162\159", |
||
340 | SCARLET_MONASTERY = "\232\161\128\232\137\178\228\191\174\233\129\147\233\153\162", |
||
341 | SCHOLOMANCE = "\233\128\154\231\129\181\229\173\166\233\153\162", -- CHECK |
||
342 | SEARING_GORGE = "\231\129\188\231\131\173\229\179\161\232\176\183", |
||
343 | SHADOWFANG_KEEP = "\229\189\177\231\137\153\229\159\142\229\160\161", |
||
344 | SILITHUS = "\229\184\140\229\136\169\239\191\189?\230\150\175", -- CHECK |
||
345 | SILVERPINE_FOREST = "\233\147\182\239\191\189?\239\191\189\230\163\174\230\158\151", -- CHECK |
||
346 | STOCKADE = "\230\154\180\233\163\142\229\159\142\231\155\145\231\139\177", |
||
347 | STONETALON_MOUNTAINS = "\231\159\179\231\136\170\229\177\177\232\132\137", |
||
348 | STORMWIND_CITY = "\230\154\180\233\163\142\229\159\142", |
||
349 | STRANGLETHORN_VALE = "\232\141\134\230\163\152\232\176\183", |
||
350 | STRATHOLME = "\230\150\175\229\157\166\231\180\162\229\167\134", |
||
351 | SWAMP_OF_SORROWS = "\230\130\178\228\188\164\230\178\188\230\179\189", |
||
352 | TANARIS = "\229\161\148\231\186\179\229\136\169\230\150\175", |
||
353 | TELDRASSIL = "\230\179\176\232\190\190\229\184\140\229\176\148", |
||
354 | TEMPLE_OF_AHN_QIRAJ = "\229\174\137\229\133\182\230\139\137\231\165\158\230\174\191", |
||
355 | TEMPLE_OF_ATAL_HAKKAR = "\233\152\191\229\161\148\229\147\136\239\191\189?\239\191\189\231\165\158\229\186\153", -- CHECK |
||
356 | THOUSAND_NEEDLES = "\239\191\189?\239\191\189\233\146\136\231\159\179", -- CHECK |
||
357 | THUNDER_BLUFF = "\233\155\183\233\156\134\229\180\150", |
||
358 | TIRISFAL_GLADES = "\230\143\144\231\145\158\230\150\175\230\179\149\230\158\151\229\156\176", |
||
359 | ULDAMAN = "\229\165\165\232\190\190\230\155\188", |
||
360 | UN_GORO_CRATER = "\231\142\175\229\158\139\229\177\177", |
||
361 | UNDERCITY = "\229\185\189\230\154\151\229\159\142", |
||
362 | WAILING_CAVERNS = "\229\147\128\229\154\142\230\180\158\231\169\180", |
||
363 | WARSONG_GULCH = "\230\136\152\230\173\140\229\179\161\232\176\183", |
||
364 | WESTERN_PLAGUELANDS = "\232\165\191\231\152\159\231\150\171\228\185\139\229\156\176", |
||
365 | WESTFALL = "\232\165\191\233\131\168\232\141\146\233\135\142", |
||
366 | WETLANDS = "\230\185\191\229\156\176", |
||
367 | WINTERSPRING = "\229\134\172\230\179\137\232\176\183", |
||
368 | ZUL_FARRAK = "\231\165\150\229\176\148\230\179\149\230\139\137\229\133\139", |
||
369 | ZUL_GURUB = "\231\165\150\229\176\148\230\160\188\230\139\137\229\184\131", |
||
370 | } |
||
371 | end |
||
372 | end |
||
373 | |||
374 | -------------IRIEL'S-STUB-CODE-------------- |
||
375 | local stub = {}; |
||
376 | |||
377 | -- Instance replacement method, replace contents of old with that of new |
||
378 | function stub:ReplaceInstance(old, new) |
||
379 | for k,v in pairs(old) do old[k]=nil; end |
||
380 | for k,v in pairs(new) do old[k]=v; end |
||
381 | end |
||
382 | |||
383 | -- Get a new copy of the stub |
||
384 | function stub:NewStub() |
||
385 | local newStub = {}; |
||
386 | self:ReplaceInstance(newStub, self); |
||
387 | newStub.lastVersion = ''; |
||
388 | newStub.versions = {}; |
||
389 | return newStub; |
||
390 | end |
||
391 | |||
392 | -- Get instance version |
||
393 | function stub:GetInstance(version) |
||
394 | if (not version) then version = self.lastVersion; end |
||
395 | local versionData = self.versions[version]; |
||
396 | if (not versionData) then |
||
397 | message("Cannot find library instance with version '" |
||
398 | .. version .. "'"); |
||
399 | return; |
||
400 | end |
||
401 | return versionData.instance; |
||
402 | end |
||
403 | |||
404 | -- Register new instance |
||
405 | function stub:Register(newInstance) |
||
406 | local version,minor = newInstance:GetLibraryVersion(); |
||
407 | self.lastVersion = version; |
||
408 | local versionData = self.versions[version]; |
||
409 | if (not versionData) then |
||
410 | -- This one is new! |
||
411 | versionData = { instance = newInstance, |
||
412 | minor = minor, |
||
413 | old = {} |
||
414 | }; |
||
415 | self.versions[version] = versionData; |
||
416 | newInstance:LibActivate(self); |
||
417 | return newInstance; |
||
418 | end |
||
419 | if (minor <= versionData.minor) then |
||
420 | -- This one is already obsolete |
||
421 | if (newInstance.LibDiscard) then |
||
422 | newInstance:LibDiscard(); |
||
423 | end |
||
424 | return versionData.instance; |
||
425 | end |
||
426 | -- This is an update |
||
427 | local oldInstance = versionData.instance; |
||
428 | local oldList = versionData.old; |
||
429 | versionData.instance = newInstance; |
||
430 | versionData.minor = minor; |
||
431 | local skipCopy = newInstance:LibActivate(self, oldInstance, oldList); |
||
432 | table.insert(oldList, oldInstance); |
||
433 | if (not skipCopy) then |
||
434 | for i, old in ipairs(oldList) do |
||
435 | self:ReplaceInstance(old, newInstance); |
||
436 | end |
||
437 | end |
||
438 | return newInstance; |
||
439 | end |
||
440 | |||
441 | -- Bind stub to global scope if it's not already there |
||
442 | if (not BabbleLib) then |
||
443 | BabbleLib = stub:NewStub(); |
||
444 | end |
||
445 | |||
446 | -- Nil stub for garbage collection |
||
447 | stub = nil; |
||
448 | -----------END-IRIEL'S-STUB-CODE------------ |
||
449 | |||
450 | local lib = {} |
||
451 | local localZones |
||
452 | |||
453 | function lib:GetEnglish(zone) |
||
454 | return localZones[zone] or zone |
||
455 | end |
||
456 | |||
457 | function lib:GetLocalized(zone) |
||
458 | return zones[zone] or zone |
||
459 | end |
||
460 | |||
461 | function lib:GetIterator() |
||
462 | return pairs(zones) |
||
463 | end |
||
464 | |||
465 | function lib:GetReverseIterator() |
||
466 | return pairs(localZones) |
||
467 | end |
||
468 | |||
469 | function lib:HasZone(zone) |
||
470 | return (zones[zone] or localZones[zone]) and true or false |
||
471 | end |
||
472 | |||
473 | function lib:GetLibraryVersion() |
||
474 | return MAJOR_VERSION, MINOR_VERSION |
||
475 | end |
||
476 | |||
477 | function lib:LibActivate(stub, oldLib, oldList) |
||
478 | initZones() |
||
479 | initZones = nil |
||
480 | |||
481 | localZones = {} |
||
482 | for english, localized in pairs(zones) do |
||
483 | if string.sub(english, -4) == "_ALT" then |
||
484 | localZones[localized] = string.sub(english, 0, -5) |
||
485 | elseif string.sub(english, -5, -2) == "_ALT" then |
||
486 | localZones[localized] = string.sub(english, 0, -6) |
||
487 | else |
||
488 | localZones[localized] = english |
||
489 | end |
||
490 | end |
||
491 | end |
||
492 | |||
493 | function lib:LibDeactivate() |
||
494 | zones, localZones, initZones = nil |
||
495 | end |
||
496 | |||
497 | BabbleLib:Register(lib) |
||
498 | lib = nil |